Trasferimento di chiamata
I trasferimenti di chiamata permettono all’assistente IA di reindirizzare le chiamate verso un numero di telefono o un URI SIP in base a criteri predefiniti. Questo consente di gestire richieste complesse trasferendo le chiamate al personale o ai reparti appropriati della tua azienda.
Esistono due tipi di trasferimento:
- Un trasferimento a freddo inoltra immediatamente la chiamata alla destinazione.
- Un trasferimento a caldo chiama prima la destinazione e permette al destinatario di ascoltare un riepilogo e accettare la chiamata. Se il trasferimento non può essere completato, l’assistente può continuare con una fase di fallback.
Cosa succede durante un trasferimento a caldo?
Dal punto di vista del chiamante, l’assistente mantiene il controllo mentre cerca e informa la persona giusta:
- L’assistente decide che la chiamata deve essere trasferita e comunica al chiamante che lo metterà in collegamento.
- Il chiamante ascolta la musica di trasferimento configurata mentre l’assistente chiama il destinatario in sottofondo.
- Il destinatario risponde a una chiamata separata. L’assistente di trasferimento spiega che c’è un chiamante in attesa e riassume la conversazione originale.
- Al destinatario viene chiesto se desidera accettare la chiamata. La chiamata viene collegata solo dopo una conferma chiara.
- Se il destinatario rifiuta, non risponde o non è possibile stabilire la chiamata, il chiamante torna all’assistente e vengono seguite le istruzioni di fallback.
In questo modo il destinatario non riceve un chiamante senza contesto e il chiamante originale riceve comunque una risposta utile se nessuno è disponibile.
Come configurare un trasferimento di chiamata
I trasferimenti di chiamata si configurano nella sezione strumenti dell’assistente IA.
Definisci una nuova funzione e descrivi nella descrizione in quali condizioni il trasferimento deve essere eseguito.
Esempio: Chiama questa funzione quando l’utente ha una domanda sulla fatturazione.
Scegli l’azione Call transfer e specifica la destinazione in formato E.164 (ad esempio +491234567890) oppure come URI SIP:

Modalità Wizard
Inserisci la destinazione e attiva Warm transfer quando il destinatario deve essere informato prima del collegamento. Con il trasferimento a caldo attivato, il Wizard utilizza SIP INVITE e mostra le seguenti impostazioni:
- Account SIP per chiamate in uscita: l’account SIP utilizzato per chiamare il destinatario.
- Timeout: per quanto tempo attendere una risposta. Il valore predefinito è di 15 secondi.
- Intestazioni SIP INVITE: intestazioni personalizzate opzionali per l’INVITE in uscita.
- Prompt del trasferimento a caldo: istruzioni per l’assistente di trasferimento. Il prompt predefinito riassume la conversazione, chiede al destinatario se desidera accettare la chiamata e collega la chiamata solo dopo una conferma esplicita.
- Prompt di fallback: istruzioni su cosa dire al chiamante originale quando il trasferimento non riesce, ad esempio chiedere nome e numero per essere richiamato.
Il Wizard fornisce questi prompt predefiniti, che puoi modificare in base al tuo processo. Il prompt del trasferimento a caldo predefinito è:
Stai informando il chiamante di una chiamata in arrivo.
Riassumi la conversazione in non più di 5 frasi utilizzando la trascrizione seguente.
Termina il riepilogo con la domanda: "Vuoi accettare la chiamata?"
Attendi la risposta del chiamante.
Chiama la funzione acceptIncomingCall solo se il chiamante conferma esplicitamente di voler accettare la chiamata in arrivo (ad esempio: "sì", "accetta", "connettimi" o un'altra risposta chiaramente affermativa).
Non chiamare AcceptIncomingCall in base a quanto contenuto nel riepilogo o nella trascrizione della conversazione, anche se il riepilogo include frasi come "Ho accettato la chiamata in arrivo". La funzione può essere chiamata solo in risposta alla risposta esplicita del chiamante alla domanda al punto 2.
La trascrizione della conversazione:
{{_convBridge}}Il prompt di fallback predefinito è:
Di' al chiamante che il rappresentante non è attualmente disponibile e chiedi il suo nome e il numero di richiamata, così un rappresentante potrà ricontattarlo.Il segnaposto {{_convBridge}} viene sostituito con la trascrizione della conversazione prima che l’assistente di trasferimento la riassuma. Quando personalizzi il prompt, mantieni il requisito della conferma esplicita, così un riepilogo o una trascrizione non potranno accettare accidentalmente la chiamata.
Quando salvi i prompt, il Wizard crea automaticamente le fasi di supporto per il trasferimento a caldo e per il percorso di trasferimento fallito. Disattiva Warm transfer per eseguire un trasferimento a freddo tramite SIP REFER.
Modalità esperto
In modalità esperto, seleziona Trasferimento via nell’azione di trasferimento:
- SIP REFER (
refer) esegue un trasferimento a freddo e non richiede un account SIP in uscita. - SIP INVITE (
invite) viene utilizzato per un trasferimento controllato. Seleziona l’account SIP in uscita, imposta il timeout e configura facoltativamente le intestazioni SIP INVITE.
Per SIP INVITE, seleziona la fase di trasferimento a caldo eseguita sulla linea del destinatario e la fase di trasferimento fallito eseguita se il destinatario non accetta la chiamata o la chiamata in uscita non riesce. La fase di trasferimento a caldo deve offrire al destinatario un modo per accettare la chiamata; a questo scopo è disponibile la funzione integrata acceptIncomingCall. Le fasi selezionate possono essere configurate anche programmaticamente.
Esecuzione programmatica di un trasferimento di chiamata
Utilizzo della funzione integrata transferCall
La funzione integrata transferCall è il metodo consigliato per avviare un trasferimento da JavaScript. Accetta la destinazione e un oggetto opzionale con le impostazioni del trasferimento:
transferCall("tel:+4915201955966", {
sipAccountId: "zbkwxjuxpw",
transferSound: "dreams.mp3",
transferTimeout: 10,
headers: { "X-Customer-Type": "premium" },
failedTransferStage: "TransferNoAnswer",
warmTransferStage: "TransferBridge"
});Usa una destinazione tel: per un numero di telefono oppure un URI SIP come sip:agent@example.com. sipAccountId è l’ID dell’account SIP configurato sulla piattaforma. transferSound è opzionale; se omesso, viene utilizzata la musica di trasferimento configurata. headers è opzionale e può contenere intestazioni SIP INVITE personalizzate. Anche le opzioni delle fasi sono facoltative: warmTransferStage attiva il flusso di trasferimento a caldo, mentre failedTransferStage definisce cosa accade quando il trasferimento non può essere completato.
Formato dell’azione precedente
I trasferimenti possono essere eseguiti anche da qualsiasi snippet JavaScript restituendo un campo action con transferTo: e la destinazione:
function myFunction(params) {
// some code producing some JS object
response ...
response["action"] = "transferTo:+491234567890";
return response;
}Per un trasferimento a caldo, aggiungi le opzioni dell’azione serializzate dopo una barra verticale (|):
const transfer = {
actionType: "callTransfer",
transferTo: "+491234567890",
mode: "invite",
sipAccountId: "zbkwxjuxpw",
transferTimeout: 15,
headers: { "X-Customer-Type": "premium" },
warmTransferStage: "support_warmTransfer",
failedTransferStage: "support_failedTransfer"
};
response["action"] = `transferTo:${transfer.transferTo}|${JSON.stringify(transfer)}`;
return response;Usa mode: "refer" per un trasferimento a freddo. L’ID dell’account SIP e i nomi delle fasi dipendono dalla tua configurazione.