Changes for page Transfer Property
From version 1.1
edited by administrator BDP
on 2018/01/11 17:46
on 2018/01/11 17:46
Change comment:
Changed document syntax from [XWiki 2.1] to [xwiki/2.1].
To version 2.1
edited by administrator BDP
on 2018/01/11 17:46
on 2018/01/11 17:46
Change comment:
Created by office importer.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,0 +1,173 @@ 1 += Introduzione__[[ >>path:#Introduzione_5]]__ = 2 + 3 +Le **Transfer Property** sono variabili utilizzate per trasferire dati da un __[[servizio del Messenger>>path:../input/hashphones.messenger-configurator-servizi]]__ ad un altro. Dal punto di vista dell'utente, tuttavia le transfer property assumono la forma di coppie formate dal nome della proprietà seguito dal valore ad essa assegnato. Le transfer property possono essere utilizzate soltanto dai __[[servizi del Messenger>>path:../input/hashphones.messenger-configurator-servizi]]__ appartenenti alla stessa __[[campagna di #phones>>path:../input/hashphones.campagne]]__. Esistono due tipi di transfer property: 4 + 5 +* __[[transfer property di sistema>>path:#tp-sistema]]__ 6 +* __[[transfer property personalizzate (create dall'utente)>>path:#tp-custom]]__ 7 + 8 += Le transfer property di sistema__[[ >>path:#Le_transfer_property_di_sistema_6]]__ = 9 + 10 +Le transfer property di sistema vengono create dal __[[Messenger>>path:../input/hashphones.messenger]]__ ed alcune possono ricevere soltanto dei valori specifici, ossia compresi all'interno di un arco ben definito. 11 + 12 +|**Transfer Property**|**Valore**|**Descrizione** 13 +|**~_~_CallerParty**|Numero di telefono|Contiene il numero del chiamante se disponibile dalla rete pubblica. E' il numero che #phones passa nel CallData ExternalParty. 14 +|**~_~_CalledParty**|Numero di telefono|Contiene il numero composto dal chiamante, ma è disponibile solo con schede di flusso e se la centrale lo mette a disposizione. 15 +|**~_~_CallMediaType**|1 = audio 16 +2 = @Phones 17 +5 = video|Specifica il tipo di chiamata in corso. 18 +|**~_~_RecognizeResult~_~_**|vvpMaxNonSilence = 4 19 +vvpMaxSilence = 3 20 +vvpRunTimeError = -1 21 +vvpStopped = 1 22 +vvpTermDigit = 2 23 +vvpTimeOut = 6 24 +vvpEngineUnavailable = 18 25 +vvpNotRecognized = 19|Contiene l'esito dell'ultima operazione di riconoscimento vocale (ASR). 26 +|**_ASR_Source**|ASR o DTMF|Indica la modalità di riconoscimento: ASR o DTMF. 27 +|**~_~_CallForwardingResult~_~_**|0 se l'operazione è andata a buon fine; 28 +1 se l'operazione ha generato un errore|Esito del CallForwarding. 29 +|**~_~_CallForwardingCallGuid~_~_**|GUID|Contiene la GUID della chiamata outbound emessa a seguito della richiesta di CallForwarding. 30 +|**~_~_CallForwardingCallID~_~_**|CallID|Contiene la CallID di #phones della chiamata outbound emessa a seguito della richiesta di CallForwarding. 31 +|**~_~_CallForwardingCallResult~_~_**|Numero intero|Se la chiamata outbound fallisse, riporta la causa dell'errore (__[[Codice fallimento>>path:../input/hashphones.phonebar-oggetti-interfaccia-programmazione#fallimento]]__). 32 +|**~_~_CallForwardingCallProtocolSpecificCause~_~_**|Numero intero|Se la chiamata outbound fallisse, la transfer property riporterebbe la causa dell'errore connessa al protocollo usato (__[[Cause di disconnessione SIP>>path:../input/hashphones.phonebar-oggetti-interfaccia-programmazione#causedsconnessione]]__, __[[Cause di disconnessione ISDN>>path:../input/hashphones.phonebar-oggetti-interfaccia-programmazione#ISDN]]__). 33 +|**~_~_CallForwardingReportingError~_~_**|0: operazione eseguita; 34 +1: operazione fallita|Il CallForwarding può salvare l'esito dentro un database; la transfer property //~_~_CallForwardingReportingError~_~_// contiene il risultato dell'operazione di salvataggio dentro il database. 35 + 36 + 37 +Le transfer property di sistema tipicamente sono in sola lettura, vengono create e valorizzate dal __[[Messenger>>path:../input/hashphones.messenger]]__ e sono usate all'interno dei __[[servizio del Messenger>>path:../input/hashphones.messenger-configurator-servizi]]__, siano essi i __[[servizi base del Messenger>>path:../input/hashphones.messenger-configurator-servizi#Base]]__ o i __[[servizi del Messenger personalizzati>>path:../input/hashphones.messenger-configurator-servizi#Personalizzati]]__. 38 + 39 +== Esempio__[[ >>path:#Esempio_3]]__ == 40 + 41 +Ipotizziamo un __[[servizio di #phones>>path:../input/hashphones.servizi]]__, creato con il __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__, concepito per acquisire un codice alfanumerico immesso __[[dall'utente del contact center>>path:../input/hashphones.glossario#Cliente]]__. Il codice alfanumerico può essere fornito in due modi differenti: 42 + 43 +* tramite tastiera 44 +* o in forma vocale 45 + 46 + 47 +Il __[[servizio di #phones>>path:../input/hashphones.servizi]]__ deve essere in grado di individuare il meccanismo appropriato di acquisizione, ossia __[[toni DTMF>>path:../input/hashphones.glossario#_Dualtonemultiplefrequencydetection_]]__ o __[[ASR>>path:../input/hashphones.glossario#_ASR-automaticspeechrecognition_]]__. 48 + 49 +|[[image:hashphones.messenger-le-transfer-property.html_html_m36a08770.png||height="342" width="642"]] 50 + 51 + 52 +Nell'immagine precedente è raffigurato un grafo nel quale è presente una __[[campagna di #phones>>path:../input/hashphones.campagne]]__ contenente due blocchetti (ossia due __[[servizi del Messenger>>path:../input/hashphones.messenger-configurator-servizi]]__): 53 + 54 +* __[[GetAlfaNumCode>>path:../input/hashphones.messenger-configurator-servizi-base#_Cgetalfanumcode_]]__ 55 +* __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__ 56 + 57 + 58 +Poiché si tratta di un esempio, il __[[port "Failure">>path:#BlockConnection]]__ del blocchetto __[[GetAlfaNumCode>>path:../input/hashphones.messenger-configurator-servizi-base#_Cgetalfanumcode_]]__ si limita ad eseguire un servizio contenuto nel blocchetto __[[PlayBack>>path:../input/hashphones.messenger-configurator-servizi-base#_Cplayback_]]__, il quale di fatto recita un messaggio ed esce. 59 + 60 +|[[image:hashphones.messenger-le-transfer-property.html_html_m5eb524cc.png||height="401" width="533"]] 61 + 62 + 63 +Il blocchetto __[[GetAlfaNumCode>>path:../input/hashphones.messenger-configurator-servizi-base#_Cgetalfanumcode_]]__ è concepito per identificare un codice fornito __[[dall'utente del contact center>>path:../input/hashphones.glossario#Cliente]]__. Questo codice può essere inserito attraverso la tastiera telefonica (__[[toni DTMF>>path:../input/hashphones.glossario#_Dualtonemultiplefrequencydetection_]]__) oppure __[[l'utente del contact center>>path:../input/hashphones.glossario#Cliente]]__ può letteralmente recitarlo. A seconda del segnale individuato, il blocchetto __[[GetAlfaNumCode>>path:../input/hashphones.messenger-configurator-servizi-base#_Cgetalfanumcode_]]__, all'interno della __[[transfer property di sistema _ASR_Source>>path:../input/hashphones.messenger-le-transfer-property#tp-sistema]]__, registra un valore che indica appunto il tipo di riconoscimento effettuato; il valore __[[della transfer property di sistema _ASR_Source>>path:../input/hashphones.messenger-le-transfer-property#tp-sistema]]__ potrà dunque assumere uno dei seguenti valori: 64 + 65 +* **DTMF**: se il riconoscimento è stato effettuato tramite i __[[toni DTMF>>path:../input/hashphones.glossario#_Dualtonemultiplefrequencydetection_]]__; 66 +* **ASR**: se il riconoscimento è stato effettuato tramite l'__[[ASR>>path:../input/hashphones.glossario#_ASR-automaticspeechrecognition_]]__. 67 + 68 + 69 +In un secondo momento, la __[[transfer property di sistema _ASR_Source>>path:../input/hashphones.messenger-le-transfer-property#tp-sistema]]__, valorizzata dal blocchetto __[[GetAlfaNumCode>>path:../input/hashphones.messenger-configurator-servizi-base#_Cgetalfanumcode_]]__, viene //passata// al blocchetto successivo, che nell'esempio illustrato è appunto il blocchetto __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__. Quest'ultimo utilizza il valore della __[[transfer property di sistema _ASR_Source>>path:../input/hashphones.messenger-le-transfer-property#tp-sistema]]__ per selezionare il __[[port>>path:#BlockConnection]]__ di uscita: 70 + 71 +* se //DTMF// (__[[tono DTMF>>path:../input/hashphones.glossario#_Dualtonemultiplefrequencydetection_]]__): verrà usato il __[[port>>path:#BlockConnection]]__ denominato **DTMF** 72 +* se //ASR// (__[[ASR>>path:../input/hashphones.glossario#_ASR-automaticspeechrecognition_]]__): verrà usato il __[[port>>path:#BlockConnection]]__ denominato **ASR**. 73 + 74 + 75 +Per comprendere questo comportamento è necessario aprire la finestra delle proprietà del blocchetto __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__, come raffigurato nell'immagine seguente. 76 +\\Nella scheda **Tipo oggetto** impostare **Transfer Property**: questa attiva la scheda **Transfer Property** (immagine successiva). 77 + 78 +|[[image:hashphones.messenger-le-transfer-property.html_html_6f04bbf8.png||height="511" width="400"]] 79 + 80 + 81 +Nella sezione **Transfer Property** va inserito il nome della __[[transfer property>>path:../input/hashphones.messenger-le-transfer-property]]__ della quale si intendono utilizzare i valori; in questo caso la __[[transfer property di sistema _ASR_Source>>path:../input/hashphones.messenger-le-transfer-property#tp-sistema]]__ (immagine precedente). 82 + 83 +|[[image:hashphones.messenger-le-transfer-property.html_html_m1146f627.png||height="511" width="400"]] 84 + 85 + 86 +Affinché il blocchetto __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__ operi correttamente, è necessario inserire i __[[port>>path:#BlockConnection]]__ che intendiamo usare. 87 +\\Nella sezione **Associazioni** possiamo associare (appunto) il valore contenuto __[[nella transfer property di sistema _ASR_Source>>path:../input/hashphones.messenger-le-transfer-property#tp-sistema]]__ ad un __[[port>>path:#BlockConnection]]__ specifico. Infatti come illustrato nell'immagine, i due valori possibili della __[[transfer property>>path:../input/hashphones.messenger-le-transfer-property]]__, ossia //DTMF// e //ASR//, contenuti nel campo **Valore**, sono associati al __[[port>>path:#BlockConnection]]__ indicato nel campo **Port**. 88 + 89 +|[[image:hashphones.messenger-le-transfer-property.html_html_7a0e058d.png||height="511" width="400"]] 90 + 91 + 92 +Il risultato di questa operazione è visibile nel blocchetto __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__ raffigurato nell'immagine all'inizio di questo paragrafo. 93 +\\\\ 94 + 95 += Le transfer property personalizzate__[[ >>path:#Le_transfer_property_personalizzate_7]]__ = 96 + 97 +Le **transfer property personalizzate** sono delle transfer property create dall'utente; ma come le __[[transfer property di sistema>>path:#tp-sistema]]__, possono essere usate in tutti i __[[servizi del Messenger>>path:../input/hashphones.messenger-configurator-servizi]]__: __[[servizi base>>path:../input/hashphones.messenger-configurator-servizi#Base]]__ o __[[servizi personalizzati>>path:../input/hashphones.messenger-configurator-servizi#Personalizzati]]__. Ciò che differenzia le transfer property tra loro, è la definizione del nome. Quello delle __[[transfer property di sistema>>path:#tp-sistema]]__ è definito dal sistema stesso, come i loro valori, mentre il nome delle transfer property personalizzate è imposto dall'utente. 98 + 99 +== Esempio__[[ >>path:#Esempio_4]]__ == 100 + 101 +Immaginiamo un __[[servizio di #phones>>path:../input/hashphones.servizi]]__, creato con il __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__, concepito per leggere dei dati dalla tabella di un database e trasferirli dentro una transfer property personalizzata. 102 + 103 +|[[image:hashphones.messenger-le-transfer-property.html_html_m230054ff.png||height="289" width="642"]] 104 + 105 + 106 +Il __[[servizio di #phones>>path:../input/hashphones.servizi]]__, rappresentato nell'immagine, contiene la __[[campagna di #phones>>path:../input/hashphones.campagne]]__ **TP-Custom**, la quale si compone dei seguenti __[[blocchetti>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__: 107 + 108 +* __[[SetStoreProperty>>path:../input/hashphones.messenger-configurator-servizi-base#_Csetstoreproperty_]]__ 109 +* __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__ 110 +* __[[PlayMessage>>path:../input/hashphones.messenger-configurator-servizi-base#_CPlayBack_]]__ (__[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__ **PlayError**) 111 + 112 + 113 +Ipotizziamo un database contenente la tabella Clienti caratterizzata dai seguenti campi: 114 + 115 +* **IDCliente**: identificativo univoco del cliente 116 +* **CampoNome**: nome del cliente 117 +* **CampoCognome**: cognome del cliente 118 +* **CampoPriorita**: ipotetica priorità del client (per esempio cliente VIP), che ammette i valori "1", "2" o "3". 119 + 120 + 121 +Il blocchetto __[[SetStoreProperty>>path:../input/hashphones.messenger-configurator-servizi-base#_Csetstoreproperty_]]__ interroga la tabella del database di cui sopra e, tramite il valore della chiave //IDCliente//, ottiene un record con i valori //CampoNome//, //CampoCognome// e //CampoPriorita//; questi dati vengono salvati nelle transfer property personalizzate //Nome//, //Cognome//, //Priorita//. 122 +\\Il blocchetto __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__ legge la transfer property //Priorita//, generata nel punto precedente, ed in base al suo valore, seleziona il __[[port>>path:#BlockConnection]]__ di uscita: 123 + 124 +* se //Priorita// è uguale ad 1: **Op1** 125 +* se //Priorita// è uguale ad 2: **Op2** 126 +* se //Priorita// è uguale ad 3: **OpX**. 127 + 128 + 129 +Il blocchetto **PlayError** (__[[PlayMessage>>path:../input/hashphones.messenger-configurator-servizi-base#_CPlayBack_]]__) viene attivato soltanto se __[[SetStoreProperty>>path:../input/hashphones.messenger-configurator-servizi-base#_Csetstoreproperty_]]__ provoca un errore; in tal caso il __[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__ recita un messaggio ed esce (__[[port>>path:#BlockConnection]]__ di uscita **Err**). 130 + 131 +=== Descrizione della configurazione__[[ >>path:#Descrizione_della_configurazione_2]]__ === 132 + 133 +==== Il blocchetto SetStoreProperty__[[ >>path:#Il_blocchetto_SetStoreProperty_0]]__ ==== 134 + 135 +Nelle proprietà del blocchetto __[[SetStoreProperty>>path:../input/hashphones.messenger-configurator-servizi-base#_Csetstoreproperty_]]__ cliccare sulla scheda **Sorgente/Destinazione** e selezionare **Campo di un DB via ODBC**. 136 + 137 +|[[image:hashphones.messenger-le-transfer-property.html_html_m755891a0.jpg||height="561" width="434"]] 138 + 139 + 140 +Si attiva la nuova scheda **ODBC**. 141 + 142 +|[[image:hashphones.messenger-le-transfer-property.html_html_31695171.png||height="447" width="350"]] 143 + 144 + 145 +All'interno della sezione **Database** sono stati inseriti i valori di connessione del nostro ipotetico database, nonché il nome della tabella **Clienti**. Nella parte inferiore, nell'area **Criterio di ricerca record**, è stato inserito il nome del campo **IDCliente**, ossia il campo con la chiave univoca del singolo cliente, e l'identificativo del nostro cliente (nell'esempio //12345//) nel campo **Valore da cercare**. 146 +\\Affinché i dati ottenuti attraverso l'interrogazione del database siano salvati dentro le transfer property, è necessario che nella scheda **Operazione** sia selezionata l'opzione indicata nella figura precedente. 147 + 148 +|[[image:hashphones.messenger-le-transfer-property.html_html_90c9293.jpg||height="562" width="435"]] 149 + 150 + 151 +Nella scheda **Associazioni** avviene l'associazione tra i valori ricavati dai campi //CampoNome//, //CampoCognome// e //CampoPriorita// della tabella **Clienti** e le transfer property personalizzate. Nella figura seguente è visibile una tabella: nella colonna di sinistra, campo **Property**, sono indicate le transfer property personalizzate //Nome//, //Cognome//, //Priorita//, mentre a destra, campo **Valore**, è indicato il campo del database ad esse connesso. 152 +\\Per creare una nuova property personalizzata e per associarla al campo del database, premere il pulsante **Nuovo** per effettuare nuovi assegnazioni. 153 + 154 +|[[image:hashphones.messenger-le-transfer-property.html_html_m93f2fd6.png||height="447" width="350"]] 155 + 156 +==== Il blocchetto UserSwitch__[[ >>path:#Il_blocchetto_UserSwitch_1]]__ ==== 157 + 158 +Per poter usare le transfer property personalizzate occorre impostare anche la configurazione del blocchetto __[[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]__. 159 +\\Nella finestra delle proprietà, nella scheda **Tipo oggetto**, è necessario selezionare **Transfer Property**. 160 + 161 +|[[image:hashphones.messenger-le-transfer-property.html_html_ma1aa187.png||height="447" width="350"]] 162 + 163 + 164 +Quindi nella scheda **Transfer Property** occorre inserire il nome di una delle transfer property personalizzate definite nel blocchetto __[[SetStoreProperty>>path:../input/hashphones.messenger-configurator-servizi-base#_Csetstoreproperty_]]__, in questo caso la transfer property personalizzata **Priorita**, ossia quella che contiene il valore da utilizzare per la selezione del __[[port>>path:#BlockConnection]]__ di uscita. 165 + 166 +|[[image:hashphones.messenger-le-transfer-property.html_html_m7ce42b3a.png||height="447" width="350"]] 167 + 168 + 169 +Nella scheda **Associazioni** avviene appunto l'associazione tra il __[[port>>path:#BlockConnection]]__ ed il valore contenuto nella transfer property personalizzata **Priorita**. Come illustrato nell'immagine, a sinistra nella colonna **Valore** sono collocati i valori possibili di **Priorita**; invece a destra, sotto nella colonna **Port**, sono presenti i nomi dei __[[port>>path:#BlockConnection]]__ di uscita del __[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__. 170 + 171 +|[[image:hashphones.messenger-le-transfer-property.html_html_m3a562169.png||height="447" width="350"]] 172 + 173 +__[[Top>>path:#PageTop]]__