06 - Trasferimento Controllo Chiamata
CallForwarding (CCallForwarding)
Il blocchetto CallForwarding permette al chiamante di eseguire telefonate esterne al contact center. Può essere configurato per prendere il numero di telefono da chiamare da una Transfer Property o richiedere al chiamante di inserirne uno tramite DTMF. Una volta determinato il numero da chiamare esegue una chiamata outbound usando un canale IVR libero, cioè in stato Disponibile e, alla risposta del chiamato, lo mette in comunicazione con l'utente.
Parametri di Configurazione
Parametro | Descrizione |
---|---|
Directory dei Messaggi | Indicare il nome della cartella, contenuta nella directory base dei messaggi definita nella configurazione, da cui prelevare i file Wav da suonare. |
Nome servizio Outbound | Indicare Il servizio di outbound su cui effettuare la chiamata uscente. |
Max durata chiamata | Indicare il tempo massimo (in secondi) che può durare la chiamata effettuata; se non specificato o zero non viene imposto alcun limite. |
Usa sempre canale | È possibile indicare il numero d'ordine del canale IVR che deve essere usato per generare la chiamata outbound. |
Prefisso linea esterna | Eventuale prefisso da fare per accedere alla linea urbana esterna. |
Prefisso bloccato | Eventuale prefisso da bloccare. Ad esempio 00 per non abilitare le internazionali. |
Abilita uso di Call Progress Analysis | Se abilitato, le chiamate vengono connesse solo se c'è una risposta del chiamato, altrimenti vengono connesse subito dopo la composizione del numero destinatario. Con LightHouse, questo parametro non è usato e le chiamate sono connesse solo a seguito della risposta del chiamato. |
Abilita richiesta conferma numero digitato | Se abilitato, il sistema chiede all'utente conferma del numero telefonico digitato prima di eseguire la chiamata. Se abilitato, occorre specificare il digit che il chiamato deve premere per accettare la chiamata. |
Abilita richiesta nuova chiamata dopo la prima | Se abilitato, al termine di una chiamata il sistema chiede all'utente se ne desidera effettuare altre. |
Sovrascrivi numero chiamante con External Party | Se abilitato, la chiamata outbound verrà ricevuta dal chiamato come se provenisse dal numero dal cliente che sta usando il servizio. |
Preleva numero Tel. da chiamare da Transfer Property | Se abilitato, il sistema non chiede all'utente di specificare il numero telefonico da chiamare, ma esegue una telefonata ad un numero fisso, prelevato dalla Transfer Property il cui nome è specificato con il parametro seguente. |
Nome Transfer Property | Nome della Transfer Property da cui prelevare il numero di telefono da chiamare. |
Ritenta Forwarding su fallimento | Indica il numero di volte che il sistema deve ritentare il CallForwarding in caso di fallimento. Inserire '-1' per nessun ritentativo, '0' per ritentare all'infinito o un qualunque numero positivo per indicare il numero di ritentativi dopo il primo. Ad esempio, se si indica il valore 2, il sistema eseguirà al massimo 3 tentativi di CallForwarding: il primo (sempre eseguito) seguito da altri 2 ritentativi in caso di fallimento dei precedenti. |
Abilita richiesta accettazione chiamata | Indicare se il sistema deve suonare il messaggio registrato nel file AcceptMessage alla persona chiamata con l'invito a premere il tasto configurato per accettare la chiamata. |
Digit per accettazione chiamata | Indicare il tasto di accettazione della chiamata. |
Abilita salvataggio informazioni su DB | Se abilitato, il blocchetto salverà sul DB indicato dai parametri seguenti un record con le informazioni specificate. In questo modo risulta possibile legare nelle statistiche la chiamata entrante con le chiamate uscenti da questa generate. Sono abilitati i seguenti parametri. |
Crea record anche per le chiamate per cui non è stato richiesto il Forwarding | Se abilitato, il Messenger crea un record nel DB anche per le richieste di CallForwarding che non sono state soddisfatte a priori (senza eseguire chiamate uscenti). Ad esempio perché non c'erano canali IVR disponibili a cui richiedere la generazione della chiamata uscente o perché il numero da chiamare era verso un prefisso bloccato. |
Usa nomi tabella e campi standard | Il blocchetto permette una certa libertà nella definizione della tabella su cui scrivere le informazioni; se invece sono sufficienti le informazioni base per legare le due chiamate nei DB delle statistiche si può scegliere questa opzione liberandosi dal dover configurare le associazioni tra i campi del DB ed i valori da scrivere. Il nome di default della tabella in cui il record viene creato è CallForwarding. I campi (ed i relativi valori salvati) sono i seguenti:
|
DSN | Nome del DSN ODBC che il blocchetto deve usare per accedere al DB. |
Utente / Password | Nome dell'utente e password per l'accesso al DB. |
Tabella | Nome della tabella in cui inserire il record (default CallForwarding). |
Lista associazione campi – valori | Se si è scelto di non usare i nomi standard, in questa lista occorre definire la lista dei campi da riempire ed il valore da scrivere in ogni campo. Per la lista dei valori che possono essere associati ai campi del DB si veda la tabella seguente Valori salvabili nel DB. |
Servizio Successivo se chiamata connessa | Solo configurando il Servizio tramite Messenger Configurator. Servizio da attivare all'uscita del CallForwarding nel caso in cui la chiamata outbound si sia connessa e, se previsto dalla configurazione, accettata. |
Servizio Successivo se chiamata NON connessa | Solo configurando il Servizio tramite Messenger Configurator. Servizio da attivare all'uscita del CallForwarding nel caso in cui la chiamata outbound NON si sia connessa o, se previsto dalla configurazione, NON accettata dal chiamato. |
Valori salvabili nel DB
Nome | Tipo | Significato |
---|---|---|
01 - Agent name (IN) | String | Nome agente IVR che gestisce la chiamata inbound, ad esempio IVR0007. |
02 - Agent ID (IN) | String | Id dell'agente IVR che gestisce la chiamata inbound, ad esempio AgId0024. |
03 – Call GUID (IN) | String | GUID della chiamata inbound (comprese graffe). |
04 – Call ID #phones (IN) | Int | CallId della chiamata inbound. |
05 – Ch Extension (IN) | String | Interno del canale IVR di inbound. |
06 – Agent name (OUT) | String | Nome agente IVR che gestisce la chiamata outbound. |
07 – Agent ID (OUT) | String | Id dell'agente IVR che gestisce la chiamata outbound. |
08 – Call GUID (OUT) | String | GUID della chiamata outbound (comprese graffe). |
09 – #phones (OUT) | Int | CallId della chiamata outbound. |
10 – Ch Extension (OUT) | String | Interno del canale IVR di outbound. |
11 – MakeCall Date/Time (OUT) | Datetime | Data e ora in cui il canale outbound ha fatto una richiesta di MakeCall a #phones. |
12 – Forwarding Result (OUT) | Int | Risultato della chiamata di Forwarding. I possibili valori sono i seguenti:
|
13 – Call Failure Cause (OUT) | Int | Nel caso la chiamata outbound fallisca contiene la causa del fallimento (vedere elenco errori). |
14 – External Party (IN) | String | Numero di telefono del cliente su linea inbound. |
15 – Called number (OUT) | String | Numero di telefono chiamato su linea outbound. |
16 – StartTime Call Inbound (IN) | DateTime | Data/ora di inizio della chiamata Inbound indicata da #phones. |
17 – StartTime Call Outbound (OUT) | DateTime | Data/ora di inizio della chiamata outbound indicata da #phones. |
18 – call data Inbound (IN) | String | Permette di salvare nel DB il valore di un call data della chiamata Inbound. Il nome del call data deve essere scritto esattamente come ricevuto dall'IVR. |
19 – Transfer Property Inbound (IN) | String | Permette di salvare nel DB il valore di una Transfer Property della chiamata Inbound. Il nome della TP deve essere scritto esattamente come compare nell'IVR. |
Messaggi
Nome file | Messaggio |
InsertPhoneNum.wav | "Digitare il numero di telefono da chiamare al terminare confermare con il tasto #, oppure premere * per inserire nuovamente il numero." |
NumberToCall.wav | "Il numero selezionato è ..." |
Confirm.wav | "Premere 1 per confermare, 0 per correggere." |
AcceptCallMessage.wav | "C'è una chiamata per il servizio ... Per accettarla premere il tasto ...". |
ForwardingError.wav | "Impossibile chiamare il numero da lei richiesto." |
LocalCallRejected.wav | "Il numero da lei indicato corrisponde ad un tipo di chiamata non permessa." |
NoLineAvailable.wav | "Nessuna linea esterna è attualmente disponibile; impossibile effettuare la chiamata." |
WaitForOperator.wav | Solo per configurazione con LightHouse. Viene riprodotto in attesa della risposta della persona chiamata. Si consiglia di tenere questo messaggio il più breve possibile, per esempio: "Attendere prego". |
MakeNewCall.wav | Viene riprodotto al termine della chiamata esterna: "Premere * per fare una nuova telefonata, qualunque altro tasto per terminare". |
Se il servizio configurato in #phones Client a cui viene assegnato questo servizio base del Messenger è in grado di ricevere sia chiamate video che chiamate solo audio è possibile non indicare l'estensione del file (ad esempio InsertPhoneNum invece di InsertPhoneNum.wav ).
Nel caso in cui il salvataggio delle informazioni su DB fallisca, il Messenger scrive un file csv, nel folder _CallForwardingReportingErrors, contenente il record che ha cercato di aggiungere al DB con i campi delimitati da ‘,'. Per evitare tentativi di scrittura contemporanea sullo stesso file csv da parte di canali IVR differenti il nome del file avrà il seguente formato: yyyymmddhhnnss_ChExt – DSNName – TableName.csv.
Infine il blocchetto crea alcune Transfer Property che possono essere usate dai blocchetti successivi per prendere decisioni in base all'esito del Forwarding:
- __CallForwardingCallID__: contiene la CallId #phones della chiamata in outbound.
- __CallForwardingCallGuid__: contiene la GUID della chiamata in outbound.
- __CallForwardingCallResult__: contiene l'esito #phones della chiamata in outbound, 0 se connessa.
- __CallForwardingCallProtocolSpecificCauseResult__: contiene il codice di errore specifico del protocollo SIP.
- __CallForwardingReportingError__: contiene 1 se si è verificato un errore nella insert del record nel DB di reporting, 0 altrimenti.
CChangeCampaign
Permette di effettuare un cambio di campagna senza eseguire un trasferimento telefonico. Entrambe le campagne devono essere composte do soli IVR e correttamente definite e configurate tramite il Messenger Configurator. La chiamata continuerà ad essere gestita dallo stesso canale Dialogic.
Parametri di Configurazione
Parametro | Descrizione |
---|---|
Campagna destinazione | Nome campagna da attivare. |
Servizio da attivare | Solo configurando il Servizio tramite Messenger Configurator. Nome servizio della nuova campagna da attivare. |
CTransferToCampaign (solo in Compatibility mode)
Esegue un trasferimento, tramite #phones, della telefonata a un'altra campagna.
Parametri di Configurazione
Parametro | Descrizione |
---|---|
Directory Messaggi | Indica il nome della cartella, contenuta nella directory base dei messaggi definita nella configurazione, da cui prelevare i file Wav/Avi da riprodurre. |
Nome Campagna destinazione | Solo configurando il Servizio tramite MessengerConfigurator. Indica la campagna a cui trasferire la chiamata. |
Call Data | Eventuale stringa da inserire nei call data come (PTTcall data). |
Abilita trasferimento preferenziale ad Agente | Indica se si vuole trasferire la chiamata in modo preferenziale a un operatore specifico. (In caso che questo sia occupato va al primo operatore libero della campagna). |
Nome Agente | Indica il nome dell'operatore a cui si vuole trasferire la chiamata. |
Cognome Agente | Indica il cognome dell'operatore a cui si vuole trasferire la chiamata. |
Trasferisci obbligatoriamente all'Agente | Indica se si vuole trasferire la chiamata in modo obbligatorio all'operatore specificato in precedenza. Se questo non è disponibile, il trasferimento viene rifiutato e la chiamata abbattuta. |
Messaggi
Nome File | Messaggio |
---|---|
WaitForOperator.wav | "Resti gentilmente in attesa dell'operatore". |
NoResource.wav | "Nessun operatore è attualmente disponibile. La preghiamo di richiamare più tardi". |
DialNumber (CDialNumber)
Esegue un trasferimento della chiamata ad un numero di telefono esterno al contact center. Il trasferimento può essere sia supervisionato (Call Progress Analysis) che cieco: nel primo caso è possibile, in caso di fallimento, riprendere il controllo della chiamata oppure, in caso di trasferimento a buon fine, riprodurre un messaggio di avviso al destinatario della chiamata.
Parametri di Configurazione
Parametro | Descrizione |
---|---|
Numero di Telefono | Indica il numero di telefono a cui trasferire la chiamata. Se occorre, deve essere specificato anche il digit per l'accesso alla linea esterna. |
Timeout HangUp | Indica il tempo che, nel caso di trasferimento non supervisionato, il sistema attende prima di agganciare dopo la composizione del numero destinazione. Per numeri di rete fissa sono sufficienti 2 secondi, per trasferimento a cellulari è necessario indicare un tempo più lungo (8 secondi). |
Usa CPA | Indica il tipo di trasferimento che il sistema deve eseguire: supervisionato o meno. |
Timeout CPA | Indica il tempo massimo che il sistema deve attendere prima di dare la chiamata come non risposta. |
Attesa DialTone | Indica se il sistema deve attendere di riconoscere il DialTone prima di comporre il numero destinatario, dopo il flash. |
Codice di ripresa delle chiamate | Indica il codice per la ripresa delle chiamate messe in attesa (normalmente il flash "&"). |
Ripetizioni codice di ripresa | Numero di ripetizioni del codice di ripresa. |
Warning Message | Eventuale messaggio da riprodurre al destinatario del trasferimento. |
Servizio successivo | Solo configurando il Servizio tramite Messenger Configurator. Nome del servizio successivo da attivare nel caso di trasferimento fallito. |
Dummy
Il blocchetto Dummy consente di mantenere attiva una chiamata in caso di trasferimento con CallForwarding.
Parametri di Configurazione
Questo blocchetto non ha parametri di configurazione.
TransferConversation
Il blocchetto TransferConversation consente di gestire il trasferimento delle chiamate, con qualunque mediatype, all'eventuale operatore che ha in gestione la conversazione con il particolare utente chiamante. Il blocchetto esegue una chiamata a un WebService del BackEnd di Agent Desktop per verificare se, per la specifica chiamata, esiste una conversazione attiva e a quale specifico operatore deve essere trasferita. Questo blocchetto prevede la successiva impostazione di un blocchetto che regoli l'instradamento della chiamata.
Cliccando sulla funzionalità Proprietà del blocchetto sono visualizzate le seguenti schede:
Scheda Connessione
Contiene i parametri relativi alla connessione al WebServices.
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
EndPoint | Indicare l'url del WebService del BackEnd di Agent Desktop a cui inviare la richiesta. Il tasto Assegna Valore consente di recuperare il valore da una costante, oppure da una Transfer Property o un Call Data. |
Timeout (s) | Indicare il tempo massimo, in secondi, di attesa della risposta. Valore predefinito: 10 secondi. Il tasto Assegna Valore consente di recuperare il valore da una costante, oppure da una Transfer Property o un Call Data. |
AuthorizationKey | Indicare la chiave di autorizzazione per la richiesta. Deve corrispondere a quella configurata sull'appicazione Agent Desktop. |
Eventuale messaggio di attesa da suonare | Facoltativo e significativo solamente se il canale di comunicazione è voce. È possibile indicare un messaggio audio da riprodurre al cliente in attesa della risposta. Il tasto Assegna Valore consente di recuperare il valore da una costante, oppure da una Transfer Property o un Call Data. |
Scheda Parametri richiesta
Contiene i parametri da indicare nella richiesta, ad esempio le Transfer Property o i CallData da cui recuperarli.
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
Id Chiamante | Indicare l’identificativo univoco del chiamante. Può essere il suo numero di telefono, ad esempio per le chiamate vocali, o l’identificativo assegnato dal particolare social network, ad esempio il suo identificativo Telegram,ecc. Il tasto Assegna Valore consente di recuperare il valore da una costante, oppure da una Transfer Property o un Call Data. |
Tipo Sorgente | Selezionare dalla lista il tipo di canale su cui è attiva la comunicazione, ad esempio TEAMS, WHATSAPP, VOCE, ecc. |
Campagna destinazione | Indicare il nome della campagna a cui la chiamata deve essere trasferita, nel formato servizio/campagna, ad esempio SMG TEAMS/Agenti. Il tasto Assegna Valore consente di recuperare il valore da una costante, oppure da una Transfer Property o un Call Data. |
Scheda Risposta
Occorre selezionare le Transfer Property in cui salvare i valori restituiti.
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
Id Conversazione | Selezionare o indicare la Transfer Property in cui salvare l'identificativo univoco della conversazione. Assume 0 se non sono presenti conversazioni attive per il chiamante specifico sulla campagna. |
Nome Agente | Selezionare o indicare la Transfer Property in cui salvare l'eventuale nome dell'operatore a cui la chiamata deve essere trasferita. |
Cognome Agente | Selezionare o indicare la Transfer Property in cui salvare l'eventuale cognome dell'operatore a cui la chiamata deve essere trasferita. |
Assegna solo a questo agente | Selezionare o indicare la Transfer Property in cui salvare la modalità di trasferimento della chiamata. Se vale 1, il trasferimento all'operatore indicato è obbligatorio, altrimenti è preferenziale. |
Port di Uscita
Il blocchetto ha i seguenti port di uscita a seconda dell'esito della richiesta:
- Failure (Fallimento): nel caso in cui la richiesta fallisca o non ottenga risposta nel tempo massimo previsto. In questo caso si può decidere di trasferire la chiamata al primo operatore disponibile.
- Mandatory (Prefissato): esiste una conversazione attiva ed è stato impostato un legame obbligatorio con uno specifico operatore. Il trasferimento viene effettuato solamente all’operatore indicato.
- Preferred (Preferenziale): esiste una conversazione attiva, ma non è stato impostato un legame obbligatorio con uno specifico operatore, ma solamente una preferenza. Il trasferimento viene effettuato all’operatore indicato se disponibile, altrimenti a un altro.
- Anyone (Chiunque): nel caso in cui non vi siano conversazioni attive per quel chiamante su quella campagna.
TransferToService
Il blocchetto TransferToService consente di trasferire la chiamata alla campagna di ingresso di un altro servizio #phones.
Parametri di Configurazione
Cliccando sulla funzionalità Proprietà del blocchetto sono visualizzate le seguenti schede:
Scheda Messaggi
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
Directory dei messaggi | Indicare la directory in cui sono contenuti i file che il servizio riprodurrà al chiamante. Il tasto Selezione cartella apre una finestra che permette di selezionare la directory. |
Scheda Servizio Phones
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
Nome Campagna | Indicare il nome della campagna Phones, nel formato Servizio/Campagna, a cui la chiamata deve essere trasferita. Può essere usato anche per trasferire la chiamata ad un altro servzio, ma solo alla campagna di ingresso. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un CallData. |
Scheda Agente
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
Abilita trasferimento preferenziale ad agente | Se abilitato, il blocchetto richiede a #phones di trasferire la chiamata all’agente indicato dagli altri parametri. Si attivano i campi sottostanti. |
Nome Agente | Indicare il nome dell’agente a cui la chiamata deve essere trasferita. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un CallData. |
Cognome Agente | Indicare il cognome dell’agente a cui la chiamata deve essere trasferita. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un CallData. |
Trasferisci obbligatoriamente a questo agente | Se abilitato, è reso obbligatorio il trasferimento all’agente indicato. Se l’agente non è disponibile, il trasferimento viene rifiutato. Se non abilitato, l’indicazione dell’agente è solamente preferenziale. Se questo non è disponibile, la chiamata viene assegnata a un altro agente della stessa campagna o accodata (se previsto dalla campagna stessa). |
Scheda CallData
L'elenco dei campi visualizzati è il seguente:
Parametro | Descrizione |
---|---|
CallData | Questo campo può essere utilizzato per indicare un qualsiasi dato (ad esempio il codice cliente) che verrà salvato nel CallData chiamato PTTCallData prima del trasferimento. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un CallData. |
Port di Uscita
Il blocchetto TransferToService prevede il seguente unico port di uscita:
Port | Descrizione |
---|---|
NoResource | Da utilizzare se il trasferimento della chiamata viene rifiutato da #phones, oppure se gli agenti di #phones edella campagna di destinazione sono già tutti impegnati. |