Genesys Cloud integrazione SIP con IVR esterno, trasferire indietro la chiamata

Nell’articolo precedente abbiamo configurato un BYOC SIP Trunk su Genesys Cloud e trasferito una chiamata da un flusso Genesys ad un IVR esterno. Qui vedremo invece come far ritornare la chiamata sul flusso Genesys dopo averla gestita sull’IVR esterno.
Quindi ricapitolando, abbiamo un utente che viene accolto su un flusso vocale Architect in Genesys Cloud, l’utente viene poi trasferito via SIP ad un IVR esterno dal quale è possibile farlo rientrare in Genesys Cloud, sullo stesso flusso o su un qualsiasi altro flusso.

Configurare il Trunk per accettare la REFER

Per abilitare il trasferimento all’indietro della chiamata, dobbiamo assicurarci di aver abilitato il Take Back and Transfer sulla configurazione del SIP Trunk.

take-back-and-transfer

In questo modo il sistema è in grado di accettare la REFER dall’IVR esterno e riprendere la gestione della chiamata.

Call Flow

refer-callflow

La destinazione del trasferimento è indicata nell’header Refer-To della REFER e deve corrispondere al Destination Number su cui è attivo il flusso Architect al quale vogliamo far ritornare la chiamata. Il flusso può essere lo stesso da cui la chiamata era stata originariamente accolta e poi trasferita all’IVR, oppure può essere un qualsiasi altro flusso.
L’IVR può anche veicolare dati al flusso Genesys sfruttando lo User-To-User information da accodare sempre sull’header Refer-To (tali dati sono codificati, fare riferimento alla documentazione Genesys per i dettagli).

	
	REFER sip:xxxxxxxxxxxxxxxxxx@10.72.233.134:6060;did=c56.0f4ccd85 SIP/2.0
	Via: SIP/2.0/UDP yyyyyyyyyyyyy:5060;branch=z9hG4bK096.49c30b9dd6d37ee9854849d71e92460d.0
	Via: SIP/2.0/UDP aaaaaaaaaaaaa:5064;rport=5064;branch=z9hG4bK1216858875
	Route: <sip:18.197.177.95:5060;r2=on;transport=udp;ftag=xGPQ-Ds;lr>
	Route: <sip:10.72.11.204:5060;r2=on;transport=udp;ftag=xGPQ-Ds;lr>
	From: "ShortNumberToPMB" <sip:200221@bbbbbbbbbbbbbbbbbb>;tag=365441247
	To: "Roberto Lucchetti" <sip:xxxxxxxxxxxxxxxxxx@18.197.177.95>;tag=xGPQ-Ds
	Call-ID: f6e43cfb-4d57-4f2f-bccf-b8e16f3a36af
	CSeq: 2 REFER
	Contact: <sip:200221@aaaaaaaaaaaaa:5064>
	Max-Forwards: 69
	User-Agent: imsip ccm/7.8.0.
	Refer-to: <sip:+391001234@18.197.177.95?User-to-User=0054686973206973206d792064617461;encoding=hex>
	Content-Length: 0
	

Gestire il rientro su Genesys

Quando la chiamata rientra su Genesys, attiverà un flusso Architect dall’inizio, quindi la questione che si pone è come poter riprendere un flusso dal punto in cui lo si è lasciato nel momento in cui la chiamata è stata trasferita all’IVR esterno.
Un’idea potrebbe essere proprio quella di sfruttare la presenza dei dati UUI sulla REFER. Nel flusso Architect, infatti, il dato UUI è disponibile già decodificato sulla variabile Call.UUIData, pertanto potremmo andare a testare la presenza in generale del dato UUI o di un particolare valore UUI e decidere se il flusso debba partire dall’inizio oppure da un altro punto.

refer-callflow