Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

EnghouseToolbarSDK offre due API 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:

Code Block
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:

Code Block
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]