Wiki source code of Transfer Property


Hide last authors
administrator BDP 15.3 1 {{box cssClass="floatinginfobox" title="**Sommario**" width="300px"}}
2 {{toc start=2 depth="3"/}}
3 {{/box}}
4
administrator BDP 15.2 5 == Introduzione ==
administrator BDP 2.1 6
administrator BDP 16.2 7 Le **Transfer Property** sono variabili utilizzate per trasferire dati da un [[servizio del Messenger>>doc:MessengerConcetti.ServiziMessenger.WebHome||target="_blank"]] 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 appartenenti alla stessa [[campagna di #phones>>doc:CampagnePhones.WebHome||target="_blank"]]. Esistono due tipi di transfer property:
administrator BDP 2.1 8
administrator BDP 16.2 9 * [[transfer property di sistema>>||anchor="Letransferpropertydisistema"]]
10 * [[transfer property personalizzate (create dall'utente)>>||anchor="Letransferpropertypersonalizzate"]]
11
administrator BDP 2.1 12
administrator BDP 15.2 13 == Le transfer property di sistema ==
administrator BDP 2.1 14
administrator BDP 16.2 15 Le transfer property di sistema vengono create dal Messenger ed alcune possono ricevere soltanto dei valori specifici, ossia compresi all'interno di un arco ben definito.
administrator BDP 2.1 16
administrator BDP 16.2 17 |**Transfer Property**|(% style="width:280px" %)**Valore**|(% style="width:663px" %)**Descrizione**
18 |**~_~_CallerParty**|(% style="width:280px" %)Numero di telefono|(% style="width:663px" %)Contiene il numero del chiamante se disponibile dalla rete pubblica. E' il numero che #phones passa nel CallData ExternalParty.
19 |**~_~_CalledParty**|(% style="width:280px" %)Numero di telefono|(% style="width:663px" %)Contiene il numero composto dal chiamante, ma è disponibile solo con schede di flusso e se la centrale lo mette a disposizione.
20 |**~_~_CallMediaType**|(% style="width:280px" %)1 = audio
administrator BDP 2.1 21 2 = @Phones
administrator BDP 16.2 22 5 = video|(% style="width:663px" %)Specifica il tipo di chiamata in corso.
23 |**~_~_RecognizeResult~_~_**|(% style="width:280px" %)vvpMaxNonSilence = 4
administrator BDP 2.1 24 vvpMaxSilence = 3
25 vvpRunTimeError = -1
26 vvpStopped = 1
27 vvpTermDigit = 2
28 vvpTimeOut = 6
29 vvpEngineUnavailable = 18
administrator BDP 16.2 30 vvpNotRecognized = 19|(% style="width:663px" %)Contiene l'esito dell'ultima operazione di riconoscimento vocale (ASR).
31 |**_ASR_Source**|(% style="width:280px" %)ASR o DTMF|(% style="width:663px" %)Indica la modalità di riconoscimento: ASR o DTMF.
32 |**~_~_CallForwardingResult~_~_**|(% style="width:280px" %)(((
33 0: se l'operazione è andata a buon fine
34 1: se l'operazione ha generato un errore
35 )))|(% style="width:663px" %)Esito del CallForwarding.
36 |**~_~_CallForwardingCallGuid~_~_**|(% style="width:280px" %)GUID|(% style="width:663px" %)Contiene la GUID della chiamata outbound emessa a seguito della richiesta di CallForwarding.
37 |**~_~_CallForwardingCallID~_~_**|(% style="width:280px" %)CallID|(% style="width:663px" %)Contiene la CallID di #phones della chiamata outbound emessa a seguito della richiesta di CallForwarding.
38 |**~_~_CallForwardingCallResult~_~_**|(% style="width:280px" %)Numero intero|(% style="width:663px" %)Se la chiamata outbound fallisse, riporta la causa dell'errore ([[Codice fallimento>>path:../input/hashphones.phonebar-oggetti-interfaccia-programmazione#fallimento]]).
39 |**~_~_CallForwardingCallProtocolSpecificCause~_~_**|(% style="width:280px" %)Numero intero|(% style="width:663px" %)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]]).
40 |**~_~_CallForwardingReportingError~_~_**|(% style="width:280px" %)0: operazione eseguita
41 1: operazione fallita|(% style="width:663px" %)Il CallForwarding può salvare l'esito dentro un database; la transfer property //~_~_CallForwardingReportingError~_~_// contiene il risultato dell'operazione di salvataggio dentro il database.
42 | |(% style="width:280px" %) |(% style="width:663px" %)
administrator BDP 2.1 43
administrator BDP 15.3 44 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]].
administrator BDP 2.1 45
administrator BDP 16.1 46 === Esempio ===
administrator BDP 2.1 47
administrator BDP 15.3 48 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:
administrator BDP 2.1 49
50 * tramite tastiera
51 * o in forma vocale
52
administrator BDP 15.3 53 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_]].
administrator BDP 2.1 54
administrator BDP 15.3 55 [[image:hashphones.messenger-le-transfer-property.html_html_m36a08770.png||height="342" width="642"]]
administrator BDP 2.1 56
administrator BDP 15.3 57 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]]):
administrator BDP 2.1 58
administrator BDP 15.3 59 * [[GetAlfaNumCode>>path:../input/hashphones.messenger-configurator-servizi-base#_Cgetalfanumcode_]]
60 * [[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]
administrator BDP 2.1 61
administrator BDP 15.3 62 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.
administrator BDP 2.1 63
administrator BDP 15.3 64 [[image:hashphones.messenger-le-transfer-property.html_html_m5eb524cc.png||height="401" width="533"]]
administrator BDP 2.1 65
administrator BDP 15.3 66 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:
administrator BDP 2.1 67
administrator BDP 15.3 68 * **DTMF**: se il riconoscimento è stato effettuato tramite i [[toni DTMF>>path:../input/hashphones.glossario#_Dualtonemultiplefrequencydetection_]];
69 * **ASR**: se il riconoscimento è stato effettuato tramite l'[[ASR>>path:../input/hashphones.glossario#_ASR-automaticspeechrecognition_]].
administrator BDP 2.1 70
administrator BDP 15.3 71 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:
administrator BDP 2.1 72
administrator BDP 15.3 73 * se //DTMF// ([[tono DTMF>>path:../input/hashphones.glossario#_Dualtonemultiplefrequencydetection_]]): verrà usato il [[port>>path:#BlockConnection]] denominato **DTMF**
74 * se //ASR// ([[ASR>>path:../input/hashphones.glossario#_ASR-automaticspeechrecognition_]]): verrà usato il [[port>>path:#BlockConnection]] denominato **ASR**.
administrator BDP 2.1 75
administrator BDP 15.3 76 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.
administrator BDP 2.1 77
administrator BDP 15.3 78 Nella scheda **Tipo oggetto** impostare **Transfer Property**: questa attiva la scheda **Transfer Property** (immagine successiva).
administrator BDP 2.1 79
administrator BDP 15.3 80 [[image:hashphones.messenger-le-transfer-property.html_html_6f04bbf8.png||height="511" width="400"]]
administrator BDP 2.1 81
administrator BDP 15.3 82 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).
administrator BDP 2.1 83
administrator BDP 15.3 84 [[image:hashphones.messenger-le-transfer-property.html_html_m1146f627.png||height="511" width="400"]]
administrator BDP 2.1 85
administrator BDP 15.3 86 Affinché il blocchetto [[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]] operi correttamente, è necessario inserire i [[port>>path:#BlockConnection]] che intendiamo usare.
administrator BDP 2.1 87
administrator BDP 15.3 88 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**.
administrator BDP 2.1 89
administrator BDP 15.3 90 [[image:hashphones.messenger-le-transfer-property.html_html_7a0e058d.png||height="511" width="400"]]
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
administrator BDP 15.2 94 == Le transfer property personalizzate ==
administrator BDP 2.1 95
administrator BDP 15.3 96 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.
administrator BDP 2.1 97
administrator BDP 16.1 98 === Esempio ===
administrator BDP 2.1 99
administrator BDP 15.3 100 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.
administrator BDP 2.1 101
administrator BDP 15.3 102 [[image:hashphones.messenger-le-transfer-property.html_html_m230054ff.png||height="289" width="642"]]
administrator BDP 2.1 103
administrator BDP 15.3 104 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]]:
administrator BDP 2.1 105
administrator BDP 15.3 106 * [[SetStoreProperty>>path:../input/hashphones.messenger-configurator-servizi-base#_Csetstoreproperty_]]
107 * [[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]]
108 * [[PlayMessage>>path:../input/hashphones.messenger-configurator-servizi-base#_CPlayBack_]] ([[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]] **PlayError**)
administrator BDP 2.1 109
110 Ipotizziamo un database contenente la tabella Clienti caratterizzata dai seguenti campi:
111
112 * **IDCliente**: identificativo univoco del cliente
113 * **CampoNome**: nome del cliente
114 * **CampoCognome**: cognome del cliente
115 * **CampoPriorita**: ipotetica priorità del client (per esempio cliente VIP), che ammette i valori "1", "2" o "3".
116
administrator BDP 15.3 117 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//.
118 \\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:
administrator BDP 2.1 119
120 * se //Priorita// è uguale ad 1: **Op1**
121 * se //Priorita// è uguale ad 2: **Op2**
122 * se //Priorita// è uguale ad 3: **OpX**.
123
administrator BDP 15.3 124 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**).
administrator BDP 2.1 125
administrator BDP 16.1 126 ==== Descrizione della configurazione ====
administrator BDP 2.1 127
administrator BDP 16.1 128 (% id="HIlblocchettoSetStoreProperty" %)
129 (% style="font-size:18px" %)**Il blocchetto SetStoreProperty**
administrator BDP 2.1 130
administrator BDP 15.3 131 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**.
administrator BDP 2.1 132
administrator BDP 15.3 133 [[image:hashphones.messenger-le-transfer-property.html_html_m755891a0.jpg||height="561" width="434"]]
administrator BDP 2.1 134
135 Si attiva la nuova scheda **ODBC**.
136
administrator BDP 15.3 137 [[image:hashphones.messenger-le-transfer-property.html_html_31695171.png||height="447" width="350"]]
administrator BDP 2.1 138
139 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**.
140
administrator BDP 15.3 141 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.
administrator BDP 2.1 142
administrator BDP 15.3 143 [[image:hashphones.messenger-le-transfer-property.html_html_90c9293.jpg||height="562" width="435"]]
144
administrator BDP 2.1 145 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.
146 \\Per creare una nuova property personalizzata e per associarla al campo del database, premere il pulsante **Nuovo** per effettuare nuovi assegnazioni.
147
administrator BDP 15.3 148 [[image:hashphones.messenger-le-transfer-property.html_html_m93f2fd6.png||height="447" width="350"]]
administrator BDP 2.1 149
administrator BDP 15.2 150 ==== Il blocchetto UserSwitch ====
administrator BDP 2.1 151
administrator BDP 15.3 152 Per poter usare le transfer property personalizzate occorre impostare anche la configurazione del blocchetto [[UserSwitch>>path:../input/hashphones.messenger-configurator-servizi-base#_Cuserswitch_]].
administrator BDP 2.1 153
administrator BDP 15.3 154 Nella finestra delle proprietà, nella scheda **Tipo oggetto**, è necessario selezionare **Transfer Property**.
administrator BDP 2.1 155
administrator BDP 15.3 156 [[image:hashphones.messenger-le-transfer-property.html_html_ma1aa187.png||height="447" width="350"]]
administrator BDP 2.1 157
administrator BDP 15.3 158 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.
administrator BDP 2.1 159
administrator BDP 15.3 160 [[image:hashphones.messenger-le-transfer-property.html_html_m7ce42b3a.png||height="447" width="350"]]
administrator BDP 2.1 161
administrator BDP 15.3 162 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]].
administrator BDP 2.1 163
administrator BDP 15.3 164 [[image:hashphones.messenger-le-transfer-property.html_html_m3a562169.png||height="447" width="350"]]
165
166
administrator BDP 15.2 167