Integrazione V6 On premises (IVR e PBX)

Integrazione V6 On premises (IVR e PBX)

Con la funzione di integrazione avanzata il centralino VOIspeed è capace di invocare l’esecuzione di script esterni, tramite i quali è possibile modificare in maniera dinamica il processamento della chiamata, ma anche connettersi e gestire applicazioni di terze parti. VOIspeed non controlla l’esecuzione dello script, ma può solamente invocarlo ed eventualmente attendersi un output: è compito dello sviluppatore programmare lo script nella maniera desiderata.

VOIspeed mette a disposizione due modalità di esecuzione degli script esterni.

  1. Nella chiamata all’ingresso di un nodo di un Risponditore Automatico (IVR)
  2. Al manifestarsi di particolari eventi nel centralino

 

Nel primo caso, ad esempio, è 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.

Nel secondo caso, ad esempio, è possibile:

  • Analizzare il cambiamento di stato del centralino creando monitoraggio e diagnostiche esterne;
  • Rielaborare i dati salvati nel centralino per ottenere reportistiche personalizzate;
  • Inviare comandi al Centralino per gestire le chiamate o ricaricare gli oggetti del PBX (utenti, gruppi, ecc).

Esiste una documentazione completa a disposizione degli sviluppatori per conoscere i comandi di gestione del DB del centralino VOIspeed in ambiente MySQL. Per scaricare la documentazione dedicata all’integrazione per la piattaforma On Premises clicca qui.

Configurare l’integrazione nei Risponditori nella piattaforma OnPremises

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_ID=id  identificativo dell’entità destinazione (il parametro dipenderà dal RECIPIENT_TYPE e dalla relativa tabella del DB)
    • 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 (tabella Users)
      • 1 = Gruppo (tabella Group)
      • 2 = Gateway (tabella Gateway)
      • 3 = Risponditore (tabella IVR)
      • 4 = Riservato (per uso riservato al funzionamento interno del PBX – da non usare)
      • 5 = Riservato (per uso riservato al funzionamento interno del PBX – da non usare)
      • 6 = Riservato (per uso riservato al funzionamento interno del PBX – da non usare)
      • 7 = Riservato (per uso riservato al funzionamento interno del PBX – da non usare)
      • 8 = Utente WAN Remoto (tabella Remote_WANuser)
      • 9 = Casella vocale aziendale (tabella Voicemails), in questo caso si attiverà la casella vocale e la funzione di registrazione del messaggio;
      • 10 = Amministrazione casella vocale aziendale (tabella Voicemails), in questo caso si attiverà il menù di gestione della casella vocale;
      • 11 = Sala riunioni (tabella Meeting_room)
    • 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.

 

Configurare l’Integrazione al manifestarsi di eventi

Per configurare l’integrazione di questo tipo, entrare nel menu Configurazione – Azienda e selezionare la sezione Impostazioni (primo blocco in alto a sinistra). In fondo alla pagina si troveranno le seguenti informazioni:

URL script integrazione: permette di indicare lo script esterno da eseguire qualora fosse attiva la funzione “integrazione” con script esterni. Lo script deve ovviamente risiedere in un server web.

Notifica eventi: permette di abilitare gli eventi che innescheranno l’invocazione dello script indicato sopra. Suddivisi tra eventi del server (Sistema, per le versioni UCloud ed On Premises) ed eventi Utente (solo per la versione On Premises).

Nota: affinché gli eventi vengano innescati è necessario abilitare l’integrazione nella regola di instradamento desiderata.

SSN

Versione On Premises
1 Comment

Post A Comment

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.