Trasferimento di chiamata
EnghouseToolbarSDK offre due modalità per eseguire il trasferimento di chiamata:
Trasferimento Diretto: la chiamata viene trasferita direttamente verso la destinazione specificata (numerazione esterna, interno operatore, identificativo operatore)
Trasferimento con Consultazione: viene prima eseguita una chiamata di consultazione verso la destinazione specificata. La procedura può concludersi nelle seguenti modalità:
Viene completato il trasferimento. La chiamata principale viene quindi trasferita.
Viene annullata la consultazione. Si torna a gestire la chiamata principale.
Viene completata la consultazione creando una stanza di conference a 3 partecipanti.
Trasferimento diretto di una telefonata
Per il trasferimento diretto di un contatto telefonico viene utilizzata la seguente API:
Sub Transfer_Direct(
ContactID As String,
Destination As String,
ResourceType As String,
[CallData As String]
)
ContactID indica l’identificativo del contatto da trasferire. Se omesso verrà utilizzata la chiamata corrente.
Destination indica la destinazione, può essere utilizzata una numerazione pubblica o l’identificativo di una risorsa dell Call Center nella sua forma completa (es. fgriffi@acd.reitek.com)
ResourceType è la tipologia di risorsa verso la quale si vuole trasferire. Specificare ““ (stringa vuota) per numerazione uscente, 1.3.1
per interni SIP, 1.3.6
per operatori, 1.3.10
per Servizi di accodamento/ivr.
CallData (opzionale) rappresenta un eventuale CallData aggiuntive che si vuole creare sulla chiamata in corso. Il valore di questo parametro è una stringa contenente le coppie chiave=valore separate da ;
Dopo la richiesta di trasferimento la integrazione verrà notificata con una serie di eventi:
La telefonata principale verrà messa in attesa mediante la ricezione dell’evento HELD. La messa in attesa è eseguita automaticamente dal sistema. Si riporta un estratto della struttura Contatto passata nella callback di ciascuna integrazione:[EVENT] [HELD] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[3393669393]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]
Indipendentemente dall’esito del trasferimento (positivo nel caso in cui cliente e destinazione vengano messi in comunicazione, o negativo nel caso di rifiuto) alla integrazione verrà notificato l’evento di TRANSFERRED sulla chiamata principale.
NOTA: La trasferta diretta di fatto è un comando lancia e dimentica, l’operatore non verrà a conoscenza dell’esito del trasferimento.
[EVENT] [TRANSFERRED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]
La chiamata principale si concluderà con l’evento CONNECTIONCLEARED. Il campo reason conterrà l’esito “transferred”.[EVENT] [CONNECTIONCLEARED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]
Il contatto entrerà nella sua fase di gestione Offline (After Call Work) mediante la notifica dell’evento JOBCHANGED.[EVENT] [JOBCHANGED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[offline]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]
Una volta esitato lo Script la fase di lavorazione del Contatto si concluderà[JOBFINISHED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[finished]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]
Trasferimento di una telefonata con consultazione
Per il trasferimento con consultazione di un contatto telefonico viene utilizzata la seguente API:
Sub Transfer_Consultation(
ContactID As String
Destination As String
ResourceType As String
[CallProfileID As String],
[CallData As String]
)
Il significato dei parametri è il medesimo di quello della API Transfer_Direct
. E' inoltre possibile specificare un eventuale profilo di chiamata da utilizzare durante la consultazione.
Durante la consultazione la chiamata principale verrà messa automaticamente in attesa:[EVENT] [HELD] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]
Verrà generata una seconda telefonata manuale uscente di consultazione avente un nuovo identificativo:[EVENT] [CONNECTIONSTARTED] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[]
[EVENT] [DIALING] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[]
[EVENT] [ESTABLISHED] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[]
A questo punto si può decidere di eseguire una delle seguenti azioni:
Annullare la consultazione mediante il metodo
Hangup([ContactID As String])
specificando l’identificativo della chiamata di consultazione.Finalizzare il trasferimento mediante il metodo
Transfer_Complete(ResourceType As String, [CallData As String])
Finalizzare il trasferimento con una conference a tre partecipanti (clilente, operatore e numero consultato) mediante il metodo
Transfer_Complete_Conference(ResourceType As String)
Nel nostro esempio verrà finalizzato il trasferimento richiamanto la API Transfer_Complete.
Si riceverà l’evento di TRANSFERRED sulla chiamata principale:[EVENT] [TRANSFERRED] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]
La chiamata principale terminerà la sua fase Online venendo agganciata:[EVENT] [CONNECTIONCLEARED] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]
Verrà terminata anche la chiamata di consultazione:[EVENT] [CONNECTIONCLEARED] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[transferred]
Sulla postazione dell’operatore il contatto entrerà nella sua fase di gestione Offline (After Call Work):[EVENT] [JOBCHANGED] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[offline]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]