Changes for page Registrazione Chiamate


From version 1.1
edited by administrator BDP
on 2017/09/19 11:48
Change comment: Changed document syntax from [XWiki 2.1] to [xwiki/2.1].
To version 2.1
edited by administrator BDP
on 2017/09/19 11:48
Change comment: Created by office importer.

Summary

Details

Page properties
Content
... ... @@ -1,0 +1,189 @@
1 += Introduzione__[[ >>path:#Introduzione_8]]__ =
2 +
3 +Gli strumenti di registrazione delle chiamate telefoniche messi a disposizione da #phones permettono appunto di registrare le chiamate di tipo inbound e di tipo outbound, infine di salvarle, su file wave. Esistono due tecniche di attivazione della registrazione: la prima comprende la realizzazione di un __[[driver di PhoneBar personalizzato>>path:../input/hashphones.phonebar-sviluppo-applicativi]]__ e consente un'ampia libertà di implementazione ed utilizzo; mentre la seconda, quella che verrà trattata all'interno del presente documento, prevede l'utilizzo di un dispositivo già predisposto: l**'AudioRecordingManager**.
4 +
5 += AudioRecordingManager__[[ >>path:#AudioRecordingManager_9]]__ =
6 +
7 +L'AudioRecordingManager è un __[[servizio base del Messenger>>path:../input/hashphones.messenger-configurator-servizi#Base]]__. In quanto tale, può essere configurato in due modi:
8 +
9 +* attraverso il __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__
10 +* oppure attraverso il __[[Messenger Configurator>>path:../input/hashphones.messenger-configurator]]__; questo metodo è noto come __[[Compatibility Mode>>path:../input/hashphones.phonesenterprise-client#Compatibility]]__.
11 +
12 +
13 +La scelta del metodo dipende in particolare dal __[[modo in cui viene gestito il call flow>>path:../input/hashphones.phonesenterprise-client-call-flow#callflowconfiguration]]__.
14 +
15 += Configurazione di AudioRecordingManager attraverso il Call Designer__[[ >>path:#Configurazione_di_AudioRecordingManager]]__ =
16 +
17 +Il __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__ mette a disposizione un nuovo tipo di __[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__, appartenente alla categoria dei __[[blocchetti di sistema>>path:../input/hashphones.phonesenterprise-client-call-designer#Sistema]]__, di tipo **AudioRecordingManager**. Il nuovo __[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__ è visibile all'interno della __[[tool-box del Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer#Tool-box]]__, in particolare nella sezione **Base Messenger services**.
18 +
19 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m233861ef.png||height="477" width="642"]]
20 +
21 +
22 +Nell'immagine, evidenziato in rosso, è illustrato il comando posto all'interno della __[[tool-box del Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer#Tool-box]]__ che permette di creare un __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__ contenente il __[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__ **AudioRecordingManager**. Per creare un nuovo blocchetto, è sufficiente trascinare la voce **AudioRecordingManager** della __[[tool-box del Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer#Tool-box]]__ nel __[[workspace del Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer#Workspace]]__ nel modo descritto in __[[Creare un servizio base del Messenger>>path:../input/hashphones.phonesenterprise-client-call-designer-howto#CreareServizio]]__.
23 +\\Infine, per comprendere il processo di creazione di un __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__ con il __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__, consultare __[[#phones Client: Call Designer tutorial>>path:../input/hashphones.phonesenterprise-client-call-designer-tutorial]]__.
24 +\\\\
25 +
26 +== Le operazioni consentite dall'AudioRecordingManager__[[ >>path:#Le_operazioni_consentite_dallAudioRecor]]__ ==
27 +
28 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_485565a5.png||height="159" width="168"]]
29 +
30 +
31 +Una volta creato il blocchetto, è necessario modificare le proprietà al fine di impiegarlo nel modo ritenuto coerente col proprio __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__. Per fare ciò è sufficiente premere col tasto destro del mouse nella parte superiore del blocchetto (raffigurato nell'immagine precedente) e selezionare la voce **Properties**.
32 +
33 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_c340174.png||height="765" width="600"]]
34 +
35 +
36 +Come visibile nell'immagine precedente, le funzionalità messe a disposizione dal __[[blocchetto>>path:../input/hashphones.phonesenterprise-client-call-designer#TipiDiBlocchetti]]__ **AudioRecordingManager** sono:
37 +
38 +1. __[[Start Recording>>path:#start]]__
39 +1. __[[Stop recording>>path:#stop]]__
40 +1. __[[Set recording mute state>>path:#mute]]__
41 +1. __[[Append cue sheet>>path:#appendcue]]__
42 +
43 +=== Start Recording__[[ >>path:#Start_Recording_0]]__ ===
44 +
45 +Indica a __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ di attivare la registrazione per la chiamata in corso. Questo comando accetta solo un parametro che permette di specificare il nome, completo di path, del file wave nel quale salvare la nuova registrazione.
46 +
47 +**Nota**: il path indicato viene valutato da __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ che esegue la registrazione, quindi deve essere raggiungibile dal __[[LightHouse>>path:../input/hashphones.glossario#LH]]__. Può essere un path relativo (al folder in cui si trova l'eseguibile di __[[LightHouse>>path:../input/hashphones.glossario#LH]]__), oppure assoluto (anche di rete).
48 +
49 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_58f904d1.png||height="745" width="584"]]
50 +
51 +
52 +Nell'immagine, il nome del file deve essere inserito nel campo **File name**.
53 +
54 +**ATTENZIONE!** il **primo blocchetto AudioRecordingManager di un **__[[**call flow**>>path:../input/hashphones.phonesenterprise-client-call-flow]]__**, deve essere sempre impostato su **__[[**Start Recording**>>path:#start]]__; se fosse scelta qualunque altra opzione, cioè __[[Stop recording>>path:#stop]]__, __[[Set recording mute state>>path:#mute]]__ o __[[Append cue sheet>>path:#appendcue]]__, **AudioRecordingManager** verrebbe posto in uno stato non valido.
55 +
56 +=== Stop recording__[[ >>path:#Stop_recording_1]]__ ===
57 +
58 +Indica a __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ di fermare la registrazione. Per questo comando è possibile specificare nei parametri il path in cui spostare il file wave registrato. Se tale parametro viene lasciato vuoto, allora il file wave viene lasciato nel luogo indicato nel comando **Start Recording**. In questo caso il path è relativo al server dove risiede il __[[Messenger>>path:../input/hashphones.messenger]]__.
59 +
60 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_2d71bd3f.png||height="745" width="584"]]
61 +
62 +
63 +Nell'immagine, il nome del file deve essere inserito nel campo **Destination folder**.
64 +\\\\
65 +
66 +=== Set recording mute state__[[ >>path:#Set_recording_mute_state_2]]__ ===
67 +
68 +Questo comando permette di escludere dalla registrazione:
69 +
70 +* il canale audio del chiamante (remoto)
71 +* il canale audio dell'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__
72 +* oppure entrambi.
73 +
74 +
75 +Ciò può essere utile ad esempio per non registrare eventuali fasi in cui viene chiesta la password del chiamante. Oltre ad escludere dalla registrazione i canali audio, il blocchetto permette di specificare un __[[cue sheet>>path:../input/hashphones.glossario#cue]]__, con testo configurabile, da appendere al file wave. Così è possibile individuare il punto della registrazione in fase di riascolto.
76 +
77 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m531a73e8.png||height="745" width="584"]]
78 +
79 +
80 +Nell'immagine:
81 +
82 +* **Mute Tx Channel (IVR)**: permette di escludere il canale IVR.
83 +* **Mute Rx Channel (Remote Party)**: permette di escludere la voce del chiamante.
84 +* **Append cue sheet**: permette di specificare il testo del __[[cue sheet>>path:../input/hashphones.glossario#cue]]__ da applicare al file wavel
85 +
86 +=== Append cue sheet__[[ >>path:#Append_cue_sheet_3]]__ ===
87 +
88 +Indica a __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ di aggiungere un __[[cue sheet>>path:../input/hashphones.glossario#cue]]__, al file wave, in corso di registrazione; il testo è configurabile.
89 +
90 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_4f682014.png||height="745" width="584"]]
91 +
92 +
93 +Nell'immagine, il testo del __[[cue sheet>>path:../input/hashphones.glossario#cue]]__ deve essere inserito nel campo **Cue sheet entry**.
94 +\\\\
95 +
96 += Il call flow__[[ >>path:#Il_call_flow_11]]__ =
97 +
98 +Un blocchetto **AudioRecordingManager** può essere posto in qualunque punto del __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__, tuttavia è opportuno ricordare che il primo blocchetto **AudioRecordingManager**, cioè quello che avvia la registrazione, ovunque esso sia, deve essere **sempre **impostato su __[[Start Recording>>path:#start]]__. In caso contrario verrebbe posto in uno stato non valido, le cui conseguenze sono descritte nel paragrafo __[[Invalid state>>path:#invalid]]__.
99 +\\Come tutti gli altri blocchetti del __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__, **AudioRecordingManager** possiede dei **port** che permettono di costruire un __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__; per maggiori dettagli consultare __[[Connessioni tra i blocchetti>>path:../input/hashphones.phonesenterprise-client-call-designer#BlockConnection]]__.
100 +\\Per tutte le 4 opzioni, indicate nel paragrafo __[[Le operazioni consentite dall'AudioRecordingManage>>path:#operations]]__, si possono configurare i seguenti port di uscita:
101 +
102 +* **Success**: se la richiesta di avvio del comando __[[Start Recording>>path:#start]]__ viene eseguita con successo, viene invocato il blocchetto successivo.
103 +* **Failure**: se la richiesta di avvio del comando __[[Start Recording>>path:#start]]__ **non **viene ha successo, è invocato il blocchetto successivo.
104 +* **Invalid state**: se lo stato del servizio **AudioRecordingManager** non è valido, tipicamente a causa di un errore di configurazione oppure per le ragioni esposte nel paragrafo __[[Avvio di una registrazione all'inizio del call flow>>path:#startcallflow]]__, viene invocato il blocchetto successivo. Siccome questo port viene usato in alcune circostanze particolari, l'argomento Invalid state è stato approfondito nel paragrafo omonimo __[[Invalid state>>path:#invalid]]__.
105 +
106 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m2d1f281a.png||height="299" width="642"]]
107 +
108 +
109 +Nell'immagine precedente è raffigurato un ipotetico __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__, elaborato col __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__ in grado di registrare una chiamata a partire dal suo inizio; su di esso vanno fatte alcune importanti osservazioni.
110 +
111 +* Se la richiesta di avvio della registrazione viene eseguita con successo (port **Success**), il servizio successivo è costituito dal blocchetto **VoiceMenu**.
112 +* Se la richiesta di avvio della registrazione **non **viene eseguita con successo (port **Failure**), allora il servizio successivo è costituito dal primo blocchetto **PlayMessage**.
113 +* Se per errore **AudioRecordingManager** fosse stato impostato su __[[Stop Recording>>path:#stop]]__, allora verrebbe invocato il port **Invalid state**, e con esso il secondo blocchetto **PlayMessage**.
114 +* Infine **AudioRecordingManager** è preceduto da un blocchetto **PlayMessage**: è necessario al fine di garantire una corretta gestione del ^messenger-configurator#IVR|canale IVR]; per maggiori dettagli consultare il paragrafo __[[Avvio di una registrazione all'inizio del call flow>>path:#startcallflow]]__.
115 +
116 +
117 +Il blocchetto **AudioRecordingManager** può essere inserito in qualunque punto di un __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__, elaborato col __[[Call Designer>>path:../input/hashphones.phonesenterprise-client-call-designer]]__. Ma si ricorda che il suo comportamento dipende dalle impostazioni descritte in __[[Le operazioni consentite dall'AudioRecordingManager>>path:#operations]]__.
118 +
119 +**ATTENZIONE:** quando di intende registrare una telefonata a partire dal suo inizio, **AudioRecordingManager**, __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__, andrebbe collocato per primo; tuttavia ciò potrebbe avere delle conseguenze capaci di bloccare la registrazione, pertanto in queste circostanze devono essere seguite le indicazioni contenute nel paragrafo __[[Avvio di una registrazione all'inizio del call flow>>path:#startcallflow]]__.
120 +
121 +== Avvio di una registrazione all'inizio del call flow__[[ >>path:#Avvio_di_una_registrazione_allinizio_de]]__ ==
122 +
123 +Se si desiderasse registrare la chiamata a partire dal suo inizio, **AudioRecordingManager** andrebbe posto all'inizio del __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__. Tuttavia è opportuno sottolineare che tra il momento in cui il ^messenger-configurator#IVR|canale IVR] viene effettivamente impegnato dalla chiamata e il momento in cui __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ riceve la notifica dell'evento e pone il __[[canale IVR>>path:../input/hashphones.messenger-configurator#IVR]]__ in __[[stato di conversazione>>path:../input/hashphones.agenti#Stato]]__, possono trascorrere alcuni attimi di ritardo provocati dall'infrastruttura di rete. In linea di massima ciò non ha alcun effetto reale, ma nel caso di una registrazione con **AudioRecordingManager**, __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ potrebbe ricevere una richiesta (__[[Start Recording>>path:#start]]__) per un __[[canale IVR>>path:../input/hashphones.messenger-configurator#IVR]]__ formalmente non ancora in conversazione. Per gestire questo caso, __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ non può far altro che rispondere con un messaggio che pone il blocchetto **AudioRecordingManager** in uno stato non valido __[[Invalid state>>path:#invalid]]__. Quindi per prevenire ed eliminare del tutto la possibilità che ciò avvenga, è buona norma far precedere **AudioRecordingManager** da un altro blocchetto di tipo **PlayMessage** contenente un secondo di silenzio.
124 +\\\\
125 +
126 +== Invalid state__[[ >>path:#Invalid_state_6]]__ ==
127 +
128 +Un caso tipico di **Invalid state** è quello citato all'inizio del paragrafo __[[Il call flow>>path:#callflow]]__. Infatti in un __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__ il primo blocchetto **AudioRecordingManager** **deve **essere sempre impostato su __[[Start Recording>>path:#start]]__; in caso contrario si avrà un **Invalid state**. Ma la condizione **Invalid state** si può realizzare anche in altre circostanze; un esempio su tutti: la chiusura della registrazione può avvenire in due occasioni:
129 +
130 +* conclusione della chiamata
131 +* inserimento di un secondo blocchetto **AudioRecordingManager** impostato su __[[StopRecording>>path:#stop]]__.
132 +
133 +
134 +Il secondo caso tipicamente si realizza all'interno di __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__ complessi, ossia in presenza di servizi di vario genere. Ad esempio se il secondo blocchetto **AudioRecordingManager** fosse stato impostato per errore su __[[Start Recording>>path:#start]]__ invece che su __[[Stop Recording>>path:#stop]]__, __[[LightHouse>>path:../input/hashphones.glossario#LH]]__ rileverebbe un'incoerenza nel dispositivo, di conseguenza il secondo blocchetto **AudioRecordingManager** verrebbe posto in **Invalid state**.
135 +\\In altre parole, **Invalid state** è necessario al fine di "intercettare" e governare eventuali errori nella configurazione del __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__, oppure per gestire fallimenti che non rientrano tra quelli previsti da **Failure**. In ultima analisi, il port **Invalid state** è in grado di garantire un'uscita ordinata e controllata del __[[call flow>>path:../input/hashphones.phonesenterprise-client-call-flow]]__.
136 +
137 += Configurazione di AudioRecordingManager in Compatibility Mode__[[ >>path:#Configurazione_di_AudioRecordingManager]]__ =
138 +
139 +Il __[[Compatibility Mode>>path:../input/hashphones.phonesenterprise-client#Compatibility]]__ prevede l'utilizzo del __[[Messenger Configurator>>path:../input/hashphones.messenger-configurator]]__ ed è un metodo considerato obsoleto. Per maggiori dettagli, consultare __[[Creazione e configurazione del call flow (obsoleto)>>path:../input/hashphones.messenger-configurator#CallFlow]]__. La configurazione del __[[servizio base del Messenger>>path:../input/hashphones.messenger-configurator-servizi#Base]]__ di tipo **AudioRecordingManager** prevede un wizard le cui finestre ripropongono quanto descritto in __[[Le operazioni consentite dall'AudioRecordingManager>>path:#operations]]__.
140 +
141 +== Il wizard__[[ >>path:#Il_wizard_7]]__ ==
142 +
143 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m5688ee42.png||height="403" width="642"]]
144 +
145 +
146 +La prima finestra del wizard permette di impostare il comportamento del __[[servizio base del Messenger>>path:../input/hashphones.messenger-configurator-servizi#Base]]__:
147 +
148 +* **Avvia registrazione**: corrisponde a __[[Start Recording>>path:#start]]__;
149 +* **Interrompi registrazione**: corrisponde a __[[Stop recording>>path:#stop]]__;
150 +* **Imposta canale audio da registrare**: corrisponde a __[[Set recording mute state>>path:#mute]]__;
151 +* **Aggiungi cue sheet**: corrisponde a __[[Append cue sheet>>path:#appendcue]]__.
152 +
153 +
154 +Le finestre successive dipendono dalla scelta fatta.
155 +
156 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m519e3a7f.png||height="405" width="642"]]
157 +
158 +
159 +La finestra viene visualizzata soltanto se è stata selezionata l'opzione **Avvia registrazione**; come in __[[Start Recording>>path:#start]]__, il nome del file deve essere inserito nel campo **Nome del file**.
160 +
161 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m7490bc75.png||height="405" width="642"]]
162 +
163 +
164 +Questa finestra viene visualizzata soltanto se è stata selezionata l'opzione **Interrompi registrazione**; come in __[[Stop recording>>path:#stop]]__, deve essere indicato il folder di destinazione del file wave contenente la registrazione.
165 +
166 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_m5d1a1909.png||height="405" width="642"]]
167 +
168 +
169 +Questa finestra viene visualizzata soltanto se è stata selezionata l'opzione **Imposta canale audio da registrare**; come in __[[Stop Set recording mute state>>path:#mute]]__, possono essere indicati i canali da escludere e il testo del __[[cue sheet>>path:../input/hashphones.glossario#cue]]__ da associare al nuovo file.
170 +
171 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_63060f75.png||height="405" width="642"]]
172 +
173 +
174 +Questa finestra viene visualizzata soltanto se è stata selezionata l'opzione **Aggiungi cue sheet**; come in __[[Append cue sheet>>path:#appendcue]]__, deve essere indicato il testo del __[[cue sheet>>path:../input/hashphones.glossario#cue]]__ da associare al nuovo file.
175 +
176 +|[[image:hashphones.la-registrazione-delle-chiamate.html_html_371b358b.png||height="405" width="642"]]
177 +
178 +
179 +Infine questa finestra viene visualizzata alla fine del ciclo di configurazione. Essa possiede le stesse funzioni descritte nel __[[Il call flow>>path:#callflow]]__ e permette di definire i servizi da attivare nelle diverse circostanze:
180 +
181 +* **Servizio successivo se richiesta eseguita con successo**: se il comando **Avvia registrazione** viene eseguito con successo, viene invocato il blocchetto successivo.
182 +* **Servizio successivo se richiesta fallita**: se il comando **Avvia registrazione** fallisce, viene invocato il blocchetto successivo.
183 +* **Servizio successivo se richiesta non valida**: consultare il paragrafo __[[Invalid state>>path:#invalid]]__.
184 +
185 +
186 +Soltanto se è stata selezionata l'opzione **Aggiungi cue sheet**, come in __[[Append cue sheet>>path:#appendcue]]__, deve essere indicato il testo del __[[cue sheet>>path:../input/hashphones.glossario#cue]]__ da associare al nuovo file.
187 +\\\\\\
188 +
189 +__[[Top>>path:#PageTop]]__