How Can We Help?

Integrazione risponditore automatico (IVR) di V6 UCloud

In questo articolo vedremo le possibilità messe a disposizione dal PBX VOIspeed UCloud per gestire integrazioni lato risponditore automatico (IVR).

Questo tipo di integrazioni permette di rendere dinamico il comportamento del risponditore automatico del vostro centralino in base a vari parametri (); ovviamente, date le sue potenzialità, il risponditore può essere implementato anche dobe non strettamente necessario per permettere al centralino di avere comportamenti personalizzati peer le chiamate in ingresso.

Più in generale, tramite con l’integrazione lato IVR del VOIspeed UCloud è possibile:

  • Validare l’input utente per l’accesso a servizi dedicati o protetti;
  • Trasferire la chiamata ad entità differenti in base all’input utente;
  • Catturare l’input utente per aggiornare DB esterni;
  • Aggiornare in maniera dinamica i dati di funzionamento di un nodo per caratterizzare interamente l’instradamento delle chiamate.

 

CONFIGURARE L’INTEGRAZIONE NEI RISPONDITORI NELLA PIATTAFORMA UCLOUD

Per attivare l’integrazione con script esterni in un nodo del risponditore occorre abilitare l’azione Esegui script esterno ed indicare l’URL dello script nel campo sottostante:

PBX_IVR_script

Lo script viene eseguito alla fine del messaggio del nodo, se se presente, o alla digitazione dell’input utente richiesto. L’esecuzione dello script prevede l’invio di una GET HTTP all’URL indicato nella configurazione, alla quale sono aggiunti i seguenti parametri:

  1. companyid (identificativo dell’azienda)
  2. ivrid (ID del risponditore che si sta navigando
  3. nodeid (ID del nodo da cui abbiamo lanciato lo script)
  4. callid (ID chiamata -> lo stesso che troviamo nel monitoraggio chiamate)
  5. calling (numero chiamante)
  6. called (numero chiamato, in virtù del quale, attraverso una regola di routing, è stato selezionato il risponditore in questione
  7. tag (tag associato al nodo; se non è specificato dall’esterno con il comando 5, è sempre zero)
  8. input (sequenza dtmf digitata dall’utente conforme a quanto preconfigurato nel nodo)

Lo script deve ritornare una sequenza di parametri testuali (priva di codice HTML), ciascuno dei quali è separato dagli altri da un ritorno carrello (Es. in PHP echo “\r\n”):

  1. Ogni parametro deve rispettare la sintassi NOME_PARAMETRO=VALORE_PARAMETRO
  2. Il primo parametro deve essere sempre il comando, in assenza del comando la chiamata viene abbattuta; la sintassi del comando è COMMAND=COMMAND_TYPE dove COMMAND_TYPE può assumere uno dei seguenti valori:
  • 0 → Termina chiamata; questo comando abbatte della chiamata e non richiede alcun parametro aggiuntivo;
  • 1 → Transita a nodo figlio; questo comando farà transitare la chiamata in un nodo figlio rispetto a quello dove si trova, identificato dal parametro NODE_KEY=key_value. Se non esiste alcun nodo figlio con questa chiave, la chiamata verrà abbattuta;
  • 2 → Trasferisci chiamata a numero; questo comando innesca la ricerca e il trasferimento dell’entità destinazione, la ricerca viene eseguita a partire dal parametro RECIPIENT_NUMBER=value;
  • 3 → Trasferisci chiamata ad entità; questo comando eseguirà il trasferimento della chiamata all’entità identificata dai parametri:
    • RECIPIENT_TYPE=type; tipo dell’entità destinazione. Type può assumere i seguenti valori, ciascuno legato ad una tabella del DB di riferimento (riportata fra parentesi);
      • 0 = Utente;
      • 1 = Gruppo;
      • 2 = Gateway;
      • 3 = Risponditore;
      • 7 = Terminale;
      • 8 = Casella vocale aziendale, in questo caso si attiverà la casella vocale e la funzione di registrazione del messaggio;
      • 10 = Sala riunioni;
      • 11 = Linea parcheggio.
    • RECIPIENT_ID=id identificativo dell’entità destinazione. Il parametro dipenderà dal RECIPIENT_TYPE e, in base ad esso, sarà possibile reperirlo nei dettagli dell’entità stessa: per fare un esempio, supponendo di voler terminare la chiamata su un gruppo specifico, la coppia di parametri sarà data da:
      • RECIPIENT_TYPE = 1 (come da punto precedente);
      • RECIPIENT_ID = il valore che trovo cliccando sul simbolo “lente d’ingrandimento” relativamente al gruppo desiderato dalla sezione Configurazione–>Gruppi, come mostrato nella figura sotto:

      • RECIPIENT_NUMBER=valore_numero; dove valore_numero verrà inserito nei parametri chiamata verso l’entità destinazione e rappresenta il numero in virtù del quale l’entità scelta viene chiamata. Ad esempio:
        • Supponiamo di ricevere una chiamata sul nostro numero geografico 02XXXXXXX dal numero 392XXXXXXX. Dovendo inoltrare la chiamata ad un interno e volendo che questo veda arrivare la chiamata dal numero chiamante originale, il parametro dovrà essere settato al valore 392XXXXXXX.
        • Supponiamo di ricevere una chiamata sul nostro numero geografico 02XXXXXXX e di volerla inoltrare verso un numero esterno al centralino utilizzando un dato gateway. In questo caso il parametro deve assumere come valore il numero verso cui si intende effettuare l’inoltro mentre RECIPIENT_TYPE sarà pari a 2 (per selezionare l’entità “gateway”) e RECIPIENT_ID sarà l’id del gateway che si vuole utilizzare per effettuare la chiamata esterna.
Tags: