Wiki source code of Transfer Property


Hide last authors
administrator BDP 35.1 1 (% class="box infomessage" style="width:225px; padding: 5px; font-family:verdana; font-size:12px; color: #04ace3; background-color: #fafbfc;" %)
2 (((
3 [[image:acrobat-logo.png]] [[Scarica la pagina come pdf>>https://wiki.ifmgroup.it/bin/export/ifmhelpplatform/MessengerConcetti/TransferProperty/?format=pdf||rel="noopener noreferrer" target="new"]]
4 )))
5
administrator BDP 37.2 6 {{box cssClass="floatinginfobox" width="300px" title="**Sommario**"}}
7 {{toc start="2" depth="3"/}}
administrator BDP 15.3 8 {{/box}}
9
administrator BDP 15.2 10 == Introduzione ==
administrator BDP 2.1 11
administrator BDP 22.1 12 Le **Transfer Property** sono variabili utilizzate per trasferire dati da un [[servizio del Messenger>>doc:ifmhelpplatform.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:ifmhelpplatform.CampagnePhones.WebHome||target="_blank"]]. Esistono due tipi di transfer property:
administrator BDP 2.1 13
administrator BDP 23.1 14 * [[transfer property di sistema>>||anchor="Letransferpropertydisistema"]]
15 * [[transfer property personalizzate (create dall'utente)>>||anchor="Letransferpropertypersonalizzate"]]
administrator BDP 16.2 16
administrator BDP 2.1 17
administrator BDP 17.3 18 == Le Transfer Property di Sistema ==
administrator BDP 2.1 19
administrator BDP 37.5 20 Le //transfer property di sistema// sono create dal Messenger e alcune possono ricevere soltanto dei valori specifici, ossia compresi all'interno di un arco ben definito.
administrator BDP 37.4 21
administrator BDP 2.1 22
administrator BDP 37.5 23 (% border="1" cellpadding="5" cellspacing="1" %)
administrator BDP 37.3 24 |=(% style="width: 189px; background-color: rgb(240, 240, 240);" %)**Transfer Property**|=(% style="width: 205px; background-color: rgb(240, 240, 240);" %)**Valore**|=(% style="width: 508px; background-color: rgb(240, 240, 240);" %)**Descrizione**
administrator BDP 37.6 25 |(% style="width:189px" %)**~_~_CallerParty**|(% style="width:205px" %)Numero di telefono|(% style="width:508px" %)Contiene il numero del chiamante se disponibile dalla rete pubblica. E' il numero che #phones passa nel CallData ExternalParty.
administrator BDP 37.2 26 |(% style="width:189px" %)**~_~_CalledParty**|(% style="width:205px" %)Numero di telefono|(% style="width:508px" %)Contiene il numero composto dal chiamante, ma è disponibile solo con schede di flusso e se la centrale lo mette a disposizione.
27 |(% style="width:189px" %)**~_~_CallMediaType**|(% style="width:205px" %)1 = audio
administrator BDP 2.1 28 2 = @Phones
administrator BDP 37.2 29 5 = video|(% style="width:508px" %)Specifica il tipo di chiamata in corso.
30 |(% style="width:189px" %)**~_~_RecognizeResult~_~_**|(% style="width:205px" %)vvpMaxNonSilence = 4
administrator BDP 2.1 31 vvpMaxSilence = 3
32 vvpRunTimeError = -1
33 vvpStopped = 1
34 vvpTermDigit = 2
35 vvpTimeOut = 6
36 vvpEngineUnavailable = 18
administrator BDP 37.2 37 vvpNotRecognized = 19|(% style="width:508px" %)Contiene l'esito dell'ultima operazione di riconoscimento vocale (ASR).
38 |(% style="width:189px" %)**_ASR_Source**|(% style="width:205px" %)ASR
39 DTMF|(% style="width:508px" %)Indica la modalità di riconoscimento: ASR o DTMF.
40 |(% style="width:189px" %)**~_~_CallForwardingResult~_~_**|(% style="width:205px" %)(((
administrator BDP 16.2 41 0: se l'operazione è andata a buon fine
42 1: se l'operazione ha generato un errore
administrator BDP 37.2 43 )))|(% style="width:508px" %)Esito del CallForwarding.
44 |(% style="width:189px" %)**~_~_CallForwardingCallGuid~_~_**|(% style="width:205px" %)GUID|(% style="width:508px" %)Contiene la GUID della chiamata outbound emessa a seguito della richiesta di CallForwarding.
45 |(% style="width:189px" %)**~_~_CallForwardingCallID~_~_**|(% style="width:205px" %)CallID|(% style="width:508px" %)Contiene la CallID di #phones della chiamata outbound emessa a seguito della richiesta di CallForwarding.
46 |(% style="width:189px" %)**~_~_CallForwardingCallResult~_~_**|(% style="width:205px" %)Numero intero|(% style="width:508px" %)Se la chiamata outbound fallisse, riporta la causa dell'errore ([[Codice fallimento>>doc:03 - Sviluppo Moduli Applicativi.PhoneBar.IFMScriptControl\.OCX.OggettiInterfacciaProgram.WebHome||target="_blank"]]).
47 |(% style="width:189px" %)**~_~_CallForwardingCallProtocolSpecificCause~_~_**|(% style="width:205px" %)Numero intero|(% style="width:508px" %)Se la chiamata outbound fallisse, la transfer property riporta la causa dell'errore connessa al protocollo usato ([[Cause di disconnessione SIP>>doc:03 - Sviluppo Moduli Applicativi.PhoneBar.IFMScriptControl\.OCX.OggettiInterfacciaProgram.WebHome||target="_blank"]], [[Cause di disconnessione ISDN>>doc:03 - Sviluppo Moduli Applicativi.PhoneBar.IFMScriptControl\.OCX.OggettiInterfacciaProgram.WebHome||target="_blank"]]).
48 |(% style="width:189px" %)**~_~_CallForwardingReportingError~_~_**|(% style="width:205px" %)0: operazione eseguita
49 1: operazione fallita|(% style="width:508px" %)Il CallForwarding può salvare l'esito dentro un database. Contiene il risultato dell'operazione di salvataggio dentro il database.
50 |(% style="width:189px" %) |(% style="width:205px" %) |(% style="width:508px" %)
administrator BDP 2.1 51
52
administrator BDP 37.4 53 Le //transfer property di sistema //tipicamente sono in sola lettura, vengono create e valorizzate dal Messenger e sono usate all'interno dei servizio del Messenger, siano essi i [[servizi base del Messenger>>doc:ifmhelpplatform.MessengerServiziBase.WebHome||target="_blank"]] o i [[servizi del Messenger personalizzati>>doc:ifmhelpplatform.MessengerConcetti.ServiziMessenger.WebHome||anchor="HServizipersonalizzati" target="_blank"]].
54
administrator BDP 16.5 55 ==== Esempio ====
administrator BDP 2.1 56
administrator BDP 30.1 57 Ipotizziamo un [[servizio di #phones>>doc:ifmhelpplatform.ServiziPhones.WebHome||target="_blank"]], creato con il [[Call Designer>>doc:ifmhelpplatform.CallDesigner.WebHome||target="_blank"]], concepito per acquisire un codice alfanumerico immesso dall'utente del contact center. Il codice alfanumerico può essere fornito in due modi differenti:
administrator BDP 2.1 58
59 * tramite tastiera
60 * o in forma vocale
61
administrator BDP 17.4 62 Il servizio di #phones deve essere in grado di individuare il meccanismo appropriato di acquisizione, ossia [[toni DTMF>>doc:Glossario.WebHome||anchor="HDualToneMultipleFrequencyDetection" target="_blank"]] o [[ASR>>doc:Glossario.WebHome||anchor="HASR"]].
administrator BDP 2.1 63
administrator BDP 17.5 64 [[image:hashphones.messenger-le-transfer-property.html_html_m36a08770.png||height="342" style="margin-bottom:20px; margin-top:20px" width="642"]]
administrator BDP 2.1 65
administrator BDP 21.1 66 Nell'immagine precedente è raffigurato un grafo nel quale è presente una [[campagna di #phones>>doc:ifmhelpplatform.CampagnePhones.WebHome||target="_blank"]] contenente due blocchetti (ossia due servizi del Messenger):
administrator BDP 2.1 67
administrator BDP 27.1 68 * [[GetAlfaNumCode>>doc:ifmhelpplatform.MessengerServiziBase.VoiceRecognition.WebHome||anchor="HGetAlfaNumCode28CGetAlfaNumCode29" target="_blank"]]
administrator BDP 24.1 69 * [[UserSwitch>>doc:ifmhelpplatform.MessengerServiziBase.DiramazioneFlusso.WebHome||anchor="HUserSwitch28CUserSwitch29" target="_blank"]]
administrator BDP 2.1 70
administrator BDP 30.1 71 Poiché si tratta di un esempio, il [[port >>doc:ifmhelpplatform.CallDesigner.WebHome||anchor="HLavorareconiblocchetti"]]"Failure" del blocchetto GetAlfaNumCode si limita ad eseguire un servizio contenuto nel blocchetto [[PlayBack>>doc:ifmhelpplatform.MessengerServiziBase.TrasferimentoControlloChiamata.WebHome||anchor="HPlayBack28CPlayBack29" target="_blank"]], il quale di fatto recita un messaggio ed esce.
administrator BDP 2.1 72
administrator BDP 37.2 73 [[image:hashphones.messenger-le-transfer-property.html_html_m5eb524cc.png||data-xwiki-image-style-alignment="center" height="401" style="margin:20px 0" width="533"]]
administrator BDP 2.1 74
administrator BDP 37.2 75 Il blocchetto //GetAlfaNumCode //è concepito per identificare un codice fornito dall'utente del contact center. Questo codice può essere inserito attraverso la tastiera telefonica (toni DTMF) oppure l'utente del contact center può letteralmente recitarlo (ASR). A seconda del segnale individuato, il blocchetto //GetAlfaNumCode//, all'interno della transfer property di sistema// _ASR_Source//, registra un valore che indica appunto il tipo di riconoscimento effettuato; il valore della transfer property// _ASR_Source// potrà dunque assumere uno dei seguenti valori:
administrator BDP 2.1 76
administrator BDP 17.4 77 * **DTMF**: se il riconoscimento è stato effettuato tramite i toni DTMF
78 * **ASR**: se il riconoscimento è stato effettuato tramite l'ASR.
administrator BDP 2.1 79
administrator BDP 30.1 80 In un secondo momento, la transfer property di sistema //_ASR_Source//, valorizzata dal blocchetto //GetAlfaNumCode//, viene //passata// al blocchetto successivo, che nell'esempio illustrato è appunto il blocchetto //UserSwitch//. Quest'ultimo utilizza il valore della transfer property //_ASR_Source// per selezionare il [[port di output>>doc:ifmhelpplatform.CallDesigner.WebHome||anchor="HLavorareconiblocchetti"]]:
administrator BDP 2.1 81
administrator BDP 17.4 82 * se //DTMF// (tono DTMF): verrà usato il port denominato **DTMF**
83 * se //ASR// (ASR): verrà usato il port denominato **ASR**.
administrator BDP 2.1 84
administrator BDP 17.9 85 Per comprendere questo comportamento è necessario aprire la finestra //Proprietà //del blocchetto //UserSwitch//, come raffigurato nell'immagine seguente.
administrator BDP 2.1 86
administrator BDP 17.5 87 Nella scheda //Tipo Oggetto //impostare il tipo oggetto con **Transfer Property**: si attiva la scheda **Transfer Property** .
administrator BDP 2.1 88
administrator BDP 17.5 89 [[image:hashphones.messenger-le-transfer-property.html_html_6f04bbf8.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 90
administrator BDP 17.5 91 Nella scheda //Transfer Property// selezionare la transfer property della quale si intendono utilizzare i valori; in questo caso la transfer property di sistema //_ASR_Source//.
administrator BDP 2.1 92
administrator BDP 17.5 93 [[image:hashphones.messenger-le-transfer-property.html_html_m1146f627.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 94
administrator BDP 15.3 95 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 96
administrator BDP 17.6 97 Nella scheda //Associazioni// occorre associare il valore contenuto nella transfer property di sistema //_ASR_Source// a un port specifico. Come illustrato nell'immagine seguente, i due valori possibili della transfer property, ossia //DTMF// e //ASR//, contenuti nella colonna **Valore**, sono associati al port corrispondente indicato nella colonna **Port**.
administrator BDP 2.1 98
administrator BDP 17.5 99 [[image:hashphones.messenger-le-transfer-property.html_html_7a0e058d.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 15.3 100
administrator BDP 17.6 101 Il risultato di questa operazione è visibile nel blocchetto //UserSwitch //raffigurato nell'immagine all'inizio di questo paragrafo.
administrator BDP 15.3 102
administrator BDP 17.3 103 == Le Transfer Property Personalizzate ==
administrator BDP 2.1 104
administrator BDP 37.1 105 Le **transfer property personalizzate** sono delle transfer property create dall'utente; ma come le [[transfer property di sistema>>||anchor="HLeTransferPropertydiSistema"]], possono essere usate in tutti i servizi del Messenger: [[servizi base>>doc:ifmhelpplatform.MessengerServiziBase.WebHome||target="_blank"]] o [[servizi personalizzati>>doc:ifmhelpplatform.MessengerConcetti.ServiziMessenger.WebHome||anchor="HServizipersonalizzati"]]. Ciò che differenzia le transfer property tra loro, è la definizione del nome. Quello delle transfer property di sistema è definito dal sistema stesso, come i loro valori, mentre il nome delle transfer property personalizzate è imposto dall'utente.
administrator BDP 2.1 106
administrator BDP 16.6 107 ==== Esempio ====
administrator BDP 2.1 108
administrator BDP 17.6 109 Immaginiamo un servizio di #phones, creato tramite il Call Designer, concepito per leggere dei dati dalla tabella di un database e trasferirli dentro una transfer property personalizzata.
administrator BDP 2.1 110
administrator BDP 17.9 111 [[image:hashphones.messenger-le-transfer-property.html_html_m230054ff.png||height="289" style="margin:20px 0" width="642"]]
administrator BDP 2.1 112
administrator BDP 17.6 113 Il servizio di #phones, rappresentato nell'immagine, contiene la campagna di #phones **TP-Custom**, la quale si compone dei seguenti blocchetti:
administrator BDP 2.1 114
administrator BDP 28.1 115 * [[SetStoreProperty>>doc:ifmhelpplatform.MessengerServiziBase.WebHome||target="_blank"]]
116 * [[UserSwitch>>doc:ifmhelpplatform.MessengerServiziBase.WebHome||target="_blank"]]
117 * [[PlayMessage>>doc:ifmhelpplatform.MessengerServiziBase.WebHome]] (blocchetto **PlayError**)
administrator BDP 2.1 118
119 Ipotizziamo un database contenente la tabella Clienti caratterizzata dai seguenti campi:
120
121 * **IDCliente**: identificativo univoco del cliente
122 * **CampoNome**: nome del cliente
123 * **CampoCognome**: cognome del cliente
124 * **CampoPriorita**: ipotetica priorità del client (per esempio cliente VIP), che ammette i valori "1", "2" o "3".
125
administrator BDP 17.7 126 Il blocchetto //SetStoreProperty //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//.
127 \\Il blocchetto //UserSwitch //legge la transfer property //Priorita//, generata nel punto precedente, ed in base al suo valore, seleziona il port di uscita:
administrator BDP 2.1 128
129 * se //Priorita// è uguale ad 1: **Op1**
130 * se //Priorita// è uguale ad 2: **Op2**
131 * se //Priorita// è uguale ad 3: **OpX**.
132
administrator BDP 17.8 133 Il blocchetto **PlayMessage** (//PlayError//) si attiva soltanto se si verifica un errore con //SetStoreProperty//; in tal caso il blocchetto recita un messaggio ed esce (port di output **Err**).
administrator BDP 2.1 134
administrator BDP 16.1 135 ==== Descrizione della configurazione ====
administrator BDP 2.1 136
administrator BDP 16.1 137 (% id="HIlblocchettoSetStoreProperty" %)
138 (% style="font-size:18px" %)**Il blocchetto SetStoreProperty**
administrator BDP 2.1 139
administrator BDP 25.1 140 Nella finestra //Proprietà //del blocchetto //[[SetStoreProperty>>doc:ifmhelpplatform.MessengerServiziBase.OperazioniTransferProperties.WebHome||target="_blank"]], //cliccare sulla scheda //Sorgente/Destinazione// e selezionare il tipo di oggetto **Campo di un DB via ODBC**.
administrator BDP 2.1 141
administrator BDP 17.5 142 [[image:hashphones.messenger-le-transfer-property.html_html_m755891a0.jpg||height="388" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 143
administrator BDP 17.9 144 Si attiva la scheda //ODBC//.
administrator BDP 2.1 145
administrator BDP 17.5 146 [[image:hashphones.messenger-le-transfer-property.html_html_31695171.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 147
administrator BDP 17.9 148 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**.
administrator BDP 2.1 149
administrator BDP 17.9 150 Affinché i dati ottenuti attraverso l'interrogazione del database siano salvati dentro le transfer property, è necessario che nella scheda //Operazione //sia stata selezionata l'opzione //Salva il contenuto di una Transfer Property// come indicato nella figura seguente.
administrator BDP 2.1 151
administrator BDP 17.5 152 [[image:hashphones.messenger-le-transfer-property.html_html_90c9293.jpg||height="388" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 15.3 153
administrator BDP 17.9 154 Nella scheda //Associazioni// si imposta 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 //Property// sono indicate le transfer property personalizzate //Nome//, //Cognome//, //Priorita//, mentre nella colonna //Valore// sono indicati i campi del database ad esse associate.
administrator BDP 2.1 155 \\Per creare una nuova property personalizzata e per associarla al campo del database, premere il pulsante **Nuovo** per effettuare nuovi assegnazioni.
156
administrator BDP 17.5 157 [[image:hashphones.messenger-le-transfer-property.html_html_m93f2fd6.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 158
administrator BDP 15.2 159 ==== Il blocchetto UserSwitch ====
administrator BDP 2.1 160
administrator BDP 17.9 161 Per poter usare le transfer property personalizzate occorre impostare anche la configurazione tramite la finestra //Proprietà// del blocchetto //UserSwitch//.
administrator BDP 2.1 162
administrator BDP 17.9 163 Nella scheda //Tipo oggetto//, selezionare **Transfer Property**.
administrator BDP 2.1 164
administrator BDP 17.5 165 [[image:hashphones.messenger-le-transfer-property.html_html_ma1aa187.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 166
administrator BDP 17.9 167 Quindi nella scheda //Transfer Property// occorre selezionare una delle transfer property personalizzate definite nel blocchetto //SetStoreProperty//, in questo caso la transfer property personalizzata **Priorita**, ossia quella che contiene il valore da utilizzare per la selezione del port di uscita.
administrator BDP 2.1 168
administrator BDP 17.5 169 [[image:hashphones.messenger-le-transfer-property.html_html_m7ce42b3a.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]
administrator BDP 2.1 170
administrator BDP 17.12 171 Nella scheda //Associazioni //avviene l'associazione tra il port ed il valore contenuto nella transfer property personalizzata **Priorita**.
administrator BDP 2.1 172
administrator BDP 17.12 173 Come riportato nell'immagine seguente, a sinistra nella colonna **Valore** sono elencati i valori possibili di **Priorita**; invece a destra, nella colonna **Port**, sono elencati i port di uscita del blocchetto.
174
administrator BDP 17.5 175 [[image:hashphones.messenger-le-transfer-property.html_html_m3a562169.png||height="383" style="-moz-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); -webkit-box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); box-shadow:5px 5px 10px 0px rgba(204,204,204,0.8); margin-bottom:20px; margin-top:20px" width="300"]]