NethCTI Documentation

Transcript

NethCTI Documentation
NethCTI Documentation
Release 2.0
Nethesis
09 June 2016
Indice
1
Introduzione
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Supporto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Server
2.1 Installazione . . . . . . .
2.2 Configurazione . . . . . .
2.3 Personalizzazione servizi .
2.4 Customer card . . . . . .
3
3
4
.
.
.
.
5
5
5
13
16
3
Client
3.1 Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
4
Certificati Self-Signed
4.1 Certificato Self-Signed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
5
Nethifier
5.1 Nethifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
6
Click2Call Windows
6.1 Windows Click2Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37
7
App Mobile
7.1 App Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
39
8
Pannello operatore
8.1 Posto Operatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
41
9
Supervisore Code
9.1 Supervisore Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
45
10 Sviluppo
10.1 Sviluppo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
49
11 Appendice
11.1 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
55
12 Indici
57
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
i
ii
NethCTI Documentation, Release 2.0
NethCTI è l’applicazione che consente la visualizzazione e il controllo completo in tempo reale dell’intero sistema
telefonico attraverso una semplice e intuitiva interfaccia web.
Oltre alle funzionalità standard di gestione chiamata da PC, introduce un pannello posto operatore, un accesso alla
rubrica centralizzata, notifiche delle chiamate entranti, consultazione delle schede clienti e ulteriori servizi evoluti.
Tali schede possono contenere informazioni recuperate da qualsiasi sistema gestionale e visualizzate in base al profilo
utente (commerciale, tecnico, amministrativo, ecc...).
Contatti
• Sito
• Supporto: helpdesk.nethesis.it
Indice
1
NethCTI Documentation, Release 2.0
2
Indice
CAPITOLO 1
Introduzione
1.1 Introduzione
NethCTI è il nuovo modulo di NethVoice che oltre alle funzioni standard di gestione chiamata da PC, introduce un
pannello posto operatore, un accesso alla rubrica centralizzata, notifiche delle chiamate entranti, consultazione della
scheda cliente del chiamante e altro ancora.
Tali schede possono contenere informazioni recuperate da qualsiasi gestionale e visualizzate in base al profilo
dell’utente (commerciale, tecnico, amministrativo, ecc...).
A partire dalla versione 2.0 NethCTI è composto da cinque parti:
• un modulo per la configurazione su NethVoice
• il server
• il client
• il Posto Operatore (PO)
• il Gestore delle Code Avanzato
Il modulo di configurazione è usato per configurare il server NethCTI che a sua volta sarà utilizzato sia dal client, sia
dal Pannello Operatore, sia dal Supervisore Code.
I client sono testati su Google Chrome e Mozilla Firefox. Tutti gli altri browser non sono attualmente supportati. La
nuova versione 2.0 abbandona l’integrazione con il CRM.
Si consiglia di utilizzare i client con monitor che abbiano una risoluzione maggiore di 1024x768 pixel.
1.1.1 Requisiti Minimi
Per poter installare la versione 2 di NethCTI è NECESSARIO avere:
• NethVoice vedi qui
Altre versioni precedenti non sono supportate.
3
NethCTI Documentation, Release 2.0
1.2 Supporto
1.2.1 Prima analisi
Prima di richiedere supporto può rivelarsi utile analizzare il file di log: spesso aiuta ad individuare immediatamente il
problema. Il file di log di NethCTI é:
/var/log/asterisk/nethcti.log
1.2.2 Richiesta di supporto tecnico
Prima di richiedere supporto, assicurarsi che tutti i client si colleghino al server utilizzando il Fully Qualified Domain
Name (FQDN) e quindi che risolvano correttamente il nome del server.
Tutte le richieste possono essere inoltrate attraverso il portale di supporto. Ciascuna richiesta dovrà:
• contenere i dati per l’accesso SSH alla macchina (indispensabile per fornire assistenza)
• indicare le seguenti informazioni sul client utilizzato:
• versione del browser
• versione del sistema operativo
• se possibile, le credenziali di accesso dell’utente
• versione dei pacchetti installati:
rpm -q nethcti nethcti-server nethcti-nethvoice-module neth-oppanel neth-queueman
1.2.3 Comandi utili
Comando
tail -f /var/log/asterisk/nethcti.log
restart nethcti-server
signal-event nethcti-server-update
4
Descrizione
Mettersi in tail sul log
Riavvio del server NethCTI su NethServer Enterprise
Espansione dei templates e riavvio del server NethCTI
Capitolo 1. Introduzione
CAPITOLO 2
Server
2.1 Installazione
È possibile eseguire l’installazione tramite l’interfaccia web di NethServer Enterprise.
dall’interfaccia grafica di NethVoice, cliccare il pulsante “Applica cambiamenti”.
Successivamente,
Nota: Subito dopo la prima installazione è necessario procedere con la configurazione minima di utenti e profili.
2.1.1 Installazione chat su NethServer Enterprise
Per utilizzare la chat è necessario installare il modulo “Messaggistica istantanea” tramite l’interfaccia web di
NethServer Enterprise.
2.1.2 Migrazione da NethService 8.2
Prima di eseguire la migrazione aggiornare NethCTI su NethService all’ultima versione disponibile. Seguire quindi la
guida migrazione
2.2 Configurazione
Il pacchetto che consente la configurazione di NethCTI è nethvoice-module-nethcti e viene installato automaticamente
come dipendenza.
Al termine dell’installazione è necessario collegarsi alla pagina di configurazione di NethVoice
(http://_server_/nethvoice) e cliccare su “Applica modifiche”. Procedere quindi con la configurazione del CTI.
NethCTI 2 introduce il concetto di “Presence” che ruota attorno all’utente: ogni utente ha associati degli endpoint
(interni, e-mail, cellulare, chat, ecc) presso cui è raggiungibile. Il CTI è in grado di fornire una visione d’insieme dello
stato dell’utente.
L’autenticazione all’interno di NethCTI avviene con le credenziali dell’utente di sistema. Quindi, ogni utente che deve
accedere al CTI, è un utente di sistema.
Ciascun utente ha associato un profilo. Un profilo è composto da uno o più permessi che descrivono quello che l’utente
può fare all’interno del CTI. Ogni utente deve inoltre obbligatoriamente essere associato ad un interno telefonico.
Oltre alla lista sopra citata, ciascun utente ha dei permessi aggiuntivi che comprendono:
5
NethCTI Documentation, Release 2.0
• lista delle schede clienti personalizzate
• lista dei video in streaming (citofoni, ecc...)
• lista dei gruppi utenti del pannello operatore
Si consiglia di seguire quest’ordine per la configurazione:
• creazione dei profili comprendenti permessi, schede cliente, streaming e gruppi
• associazione dei profili a ciascun utente
• creazione delle sorgenti di streaming (opzionale)
• creazione delle customer card personalizzate (opzionale)
• creazione dei gruppi del pannello operatore (opzionale)
• configurazione della modalità di invio SMS (opzionale)
2.2.1 Telefono integrato WebRTC
NethCTI offre la possibilità di usare un softphone SIP in grado di sostituire il telefono fisico. È necessario configurare
ciascun interno che si desidera utilizzare in tale maniera tramite la configurazione di NethVoice:
• transport: WS Only
• encryption: yes
• directmedia: no
• videosupport: no
• icesupport: yes
• avpf: yes
• Avviso di Chiamata: disattivo
Nota: L’utilizzo del Telefono integrato WebRTC è possibile solo collegandosi al NethCTI in HTTPS
Le modalità “telefono fisico” e “softphone” sono mutuamente esclusive:
contemporaneamente.
non possono essere usate
Avvertimento: Per utilizzare la modalità WebRTC è necessario accettare, meglio se definitivamente, i certificati
all’indirizzi https://ip_server:8089/ws ed http://nome_server.dominio:8089/ws
Dopo la configurazione dell’interno è necessario inserire la relativa password (solo la prima volta).
Abilitare WebRTC all’esterno
Accedere all’interfaccia server manager (https://server:980) e dalla sezione “Accesso Centralino” consentire l’accesso
tramite WebRTC e WebSocket. Successivamente abilitare l’uso del server STUN dal pannello di configurazione di
NethVoice e all’interno di NethCTI dal servizio “Configurazione”.
Avvertimento: Nel caso sia presente un firewall di terze parti è necessario aprire le porte 443, 8181, 8089 e
quella specificata per il server STUN nella configurazione di NethVoice. Controllare anche la configurazione di
un eventuale firewall/antivirus presente nel pc client dell’utente.
6
Capitolo 2. Server
NethCTI Documentation, Release 2.0
2.2.2 Schede Clienti
Questa pagina consente la creazione e la modifica delle customer cards (schede clienti). Una customer card è un
modulo che consente di definire una query ad un database (locale o remoto) al momento dell’arrivo di una chiamata e
di mostrare in NethCTI il risultato.
• Nome: è il nome della customer card, deve essere univoco. “Identity” e “Calls” sono nomi riservati alle customer
card di default.
• Tipo di database: è il tipo di database dove verrà effettuata la query. Al momento sono supportati mysql e
mssql.
• Porta Database: è la porta usata per raggiungere il database. Nel caso di database locale è possibile utilizzare
una sock al posto della porta (chiusa di default) => /var/lib/mysql/mysql.sock
• Host: è l’host che ospita il database
• Query: è la query da eseguire
Esempio
L’esempio seguente crea una customer card “ticket” che, all’arrivo di una chiamata, mostra in NethCTI i risultati di
una query effettuata sul database di otrs:
Nome
Nome Visualizzato
Tipo di
database
Porta
Database
Nome
Database
Database
Username
Database
Password
Query
Visibile di
default
ticket
ticket
mysql
/var/lib/mysql/mysql.sock
otrs
otrs
***
SELECT T.title AS Titolo, date_format(T.create_time,’%d/%m/%Y %H:%i’) AS c_time,
date_format(T.change_time,’%d/%m/%Y %H:%i’) AS m_time, CONCAT(U.first_name,’
‘,U.last_name) AS gestore,’Cliente’, TS.name AS stato, lp FROM ticket T INNER JOIN
customer_user CU ON T.customer_user_id=CU.login INNER JOIN ticket_state TS ON
T.ticket_state_id=TS.id INNER JOIN users U ON T.change_by=U.id WHERE (CU.phone LIKE
‘%$EXTEN%’ OR CU.phone2 LIKE ‘%$EXTEN%’ OR CU.phone3 LIKE ‘%$EXTEN%’ OR
CU.phone4 LIKE ‘%$EXTEN%’ OR CU.phone5 LIKE ‘%$EXTEN%’) LIMIT 10
True
2.2.3 Profili
Un profilo è composto da un insieme di permessi che descrivono quello che l’utente può fare all’interno del CTI. Di
seguito l’elenco dei permessi e il relativo significato.
L’utente può:
Spy ascoltare le telefonate di qualsiasi interno telefonico (solo ascolto)
2.2. Configurazione
7
NethCTI Documentation, Release 2.0
DND configurare il suo stato di “non disturbare”
CDR visionare lo storico delle proprie telefonate
SMS inviare SMS
visionare lo storico dei propri SMS inviati
Chat utilizzare il servizio di chat
Don’t spy disabilitare l’azione di spy sul proprio utente
Post-it creare/modificare/leggere/eliminare i post-it
visionare lo storico dei propri post-it creati
creare/modificare/leggere/eliminare le note sui chiamanti
visionare lo storico delle proprie note create e quelle pubbliche di altri utenti
Trunks visualizzare tutti i fasci con le relative informazioni di stato
Queues visualizzare le code con le relative informazioni di stato
effettuare il logon/logoff su/dalle code in cui i suoi interni sono membri dinamici
attivare/disattivare lo stato di pausa sulle code in cui i suoi interni sono membri (statici e dinamici)
Intrude introdursi in una conversazione (ascoltare e parlare)
Privacy vedere offuscate l’identità dei chiamanti/chiamati di comunicazioni relative ad altri utenti
Parkings vedere i parcheggi con il relativo stato
effettuare il pick-up di chiamate parcheggiate
Admin parkings parcheggiare una chiamata di qualsiasi interno (tramite rest api)
effettuare il pick-up di chiamate parcheggiate usando un qualsiasi interno come destinazione (tramite rest api)
Admin CDR visionare lo storico delle telefonate di tutti gli utenti
Admin SMS inviare SMS
visionare lo storico degli SMS inviati da qualsiasi utente
Admin Queues visualizzare le code con le relative informazioni di stato
effettuare il logon/logoff su/dalle code di tutti gli agenti dinamici
attivare/disattivare lo stato di pausa di tutti gli agenti statici e dinamici delle code
bypassa la privacy per tutte le chiamate in transito su una coda
Recording registrare le proprie conversazioni
visualizzare/ascoltare/eliminare le proprie registrazioni
Phonebook utilizzare la rubrica e creare nuovi contatti
Extensions visualizzare gli utenti del pannello operatore e il loro relativo stato
visualizzare il numero di nuovi messaggi vocali di tutti gli utenti
Admin Pick-up eseguire il pick-up di qualsiasi chiamate che sta squillando su un interno: non dai parcheggi
Admin Post-it creare/modificare/leggere/eliminare i post-it
visionare lo storico dei post-it creati da tutti gli utenti
creare/modificare/leggere/eliminare le note sui chiamanti
8
Capitolo 2. Server
NethCTI Documentation, Release 2.0
visionare lo storico delle proprie note create e quelle pubbliche di altri utenti
Admin Hangup chiudere la conversazione di qualsiasi interno telefonico
Admin Transfer trasferire le chiamate di qualsiasi interno, tramite il trasferimento di tipo cieco
trasferire le chiamate in attesa su una qualsiasi coda, tramite il trasferimento di tipo cieco
trasferire le chiamate parcheggiate, tramite il trasferimento di tipo cieco
Phone Redirect configurare vari tipi di redirezioni automatiche sul proprio interno telefonico (CF, CFUnconditional,
CFBusy, CF_VoiceMail)
Admin Recording registrare le conversazioni di qualsiasi interno telefonico
visualizzare/ascoltare/eliminare le registrazioni di qualsiasi utente
Attended Transfer eseguire il trasferimento di chiamata consultativo delle proprie chiamate
Streaming Permissions visualizzare diverse sorgenti video scelte tra quelle create in precedenza
Customer Cards Permissions visualizzare le schede clienti scelte tra quelle create in precedenza. Di default sono
abilitate “l’anagrafica” e quella che consente la visualizzazione dello “storico delle ultime chiamate”
Operator Group Permissions visualizzare gruppi di utenti del pannello operatore scelti tra quelli creati in
precedenza
Offhour configurare il servizio notte delle proprie selezioni passanti
Admin offhour configurare il servizio notte delle proprie selezioni passanti e di quelle generiche
Admin call iniziare una chiamata da un interno non suo (tramite rest api)
Admin answer rispondere ad una chiamata in ingresso da qualsiasi interno supportato: yealink e snow. (Tramite rest
api)
2.2.4 Utenti
Ciascun utente ha associati degli endpoint (interni, e-mail, cellulare, chat, ecc) presso cui è raggiungibile. Questa
sezione consente di associarne a piacere, come anche il profilo dei permessi da utilizzare. Un interno telefonico può
essere associato al più a un solo utente.
L’opzione “Mostra tutti gli interni nel pannello operatore” consente la visualizzazione degli interni non associati a
nessun utente.
2.2.5 SMS
Consente la configurazione della modalità d’invio degli SMS.
• Tipo: è possibile inviare SMS tramite web service di operatori esterni o utilizzando il Portech. La prima opzione
è quella consigliata. Nel menù sono presenti alcuni operatori, con dei template di url predefiniti.
• Username: login richiesto dal tipo d’accesso.
• Password: password richiesta dal tipo d’accesso.
• Url: i parametri necessari all’invio dell’SMS vengono inviati al server tramite l’URL (indipendentemente dal
metodo GET o POST). Quando si configura un server personalizzato è necessario sapere che nome devono avere
le variabili utente, password, numero e testo.
Se un ipotetico servizio di hosting chiamasse l’utente “username” e la password “pass”, l’URL risultante sarebbe
del tipo:
2.2. Configurazione
9
NethCTI Documentation, Release 2.0
http://www.smshosting.it/smsMaster/invioSmsHttp.do?username=user&pass=password&numero=$NUMBER&te
• Metodo: è il metodo usato per l’invio dei parametri tramite web service. Se non è specificato diversamente
dall’operatore, è consigliato l’utilizzo di GET.
• Prefisso: è il prefisso internazionale ed è in generale obbligatorio (es. 0039 per l’Italia). Una volta configurato,
tutti gli SMS saranno inviati con tale prefisso (es. in Italia solamente). Tuttavia l’utente NethCTI ha la possibilità
di specificare un prefisso diverso anteponendolo al numero stesso nel campo di ricerca in rubrica.
• Alcuni servizi richiedono anche il mittente come parametro: è sufficiente personalizzare l’URL. Ad esempio se
è richiesto il parametro mittente e voglio che abbia valore Pippo, l’URL sarà del tipo:
http://servizio.com/pagina.phpusername=$USER&pass=$PASSWORD&numero=$NUMBER&testo=$TEXT&mittente=
Modalità d’invio tramite Portech: gli SMS non verranno inoltrati immediatamente, ma accodati. Ogni cinque
minuti uno script si occupa d’inviarli a destinazione in maniera sequenziale e di registrare l’esito dell’operazione nel
database. Tale modalità è dovuta alle limitazioni dell’apparato. Nel campo Url si dovrà inserire l’indirizzo IP del
Portech. I messaggi vengono accodati in /var/spool/nethcti/sms/ e lo script che si occupa dell’inoltro è
/usr/lib/node/nethcti-server/scripts/sendsms.php.
Nota: Se si utilizza il portech modello MV-374 è necessario specificare anche la porta 8023 nel campo Url. Se ad
esempio l’IP del dispositivo è 192.168.1.5, l’url deve essere 192.168.1.5:8023
Modalità d’invio tramite Web: NethCTI è stato testato con il servizio smshosting. A causa della diversa granularità
nella gestione degli errori da parte dei vari operatori, si garantisce l’esito dell’operazione solo con tale servizio. Tuttavia è possibile utilizzare liberamente altri gestori, tenendo in considerazione che in alcuni casi l’esito d’invio potrebbe
risultare positivo quando in realtà non lo è (es. prefisso errato). È comunque possibile contattare l’assistenza in caso
di problemi o per la richiesta d’estensione del supporto.
Prefisso per SMS
Il prefisso telefonico internazionale per l’invio degli SMS è in generale obbligatorio.
È possibile configurarlo in due modi:
1. tramite NethCTI, anteponendolo al numero inserito nel box di ricerca
2. nella configurazione lato server che vale per tutti gli utenti NethCTI
Nota: la configurazione tramite il secondo metodo, non preclude la possibilità per l’utente, di inviare SMS utilizzando
un prefisso diverso. Infatti il prefisso anteposto al numero nel box di ricerca, ha priorità rispetto a quello configurato
col metodo due. Se tuttavia l’utente inserisce un numero telefonico privo di prefisso, allora verrà utilizzato quello del
secondo metodo.
Esempio 1
L’amministratore configura il prefisso 0039 tramite il secondo metodo. L’utente Pippo, tramite NethCTI invia un SMS
al numero 3331234567. Il risultato è l’inoltro dell’SMS a 00393331234567.
10
Capitolo 2. Server
NethCTI Documentation, Release 2.0
Esempio 2
L’amministratore configura il prefisso 0039 tramite il secondo metodo. L’utente Pippo, tramite NethCTI invia un SMS
al numero 00303331234567. Il risultato è l’inoltro dell’SMS a 00303331234567.
Esempio 3
L’amministratore configura il prefisso vuoto tramite il secondo metodo. L’utente Pippo, tramite NethCTI invia un SMS
al numero 3331234567. Il risultato è l’inoltro dell’SMS a 3331234567.
2.2.6 Streaming
È possibile definire le sorgenti di streaming video che verranno poi mostrate in NethCTI. I permessi di ogni sorgente
possono essere definiti per ogni utente.
I parametri per configurare una sorgente video sono:
• Nome: è il nome della telecamera. Deve essere univoco.
• Descrizione: è l’etichetta che sarà visibile nel client.
• Tipo: indica il tipo di supporto
• Url: è l’indirizzo della sorgente video.
Qui vengono definite anche le dimensioni del video:
http://INDIRIZZOIP/enu/cameraLARGHEZZAxALTEZZA.jpg
LARGHEZZAxALTEZZA può assumere i valori 160x120, 320x240, 352x272, 352x288, 640x480
Esempio:
http://192.168.1.123/enu/camera640x480.jpg
• Username: nome utente per l’accesso al dispositivo.
• Password: password per l’accesso al dispositivo.
• Framerate: è la frequenza di refresh delle immagini. Questo numero rappresenta i frame mostrati ogni 1/1000
(millesimo) di secondo. Per esempio, inserendo 1000 si avrà un frame al secondo.
• Interno: è l’interno telefonico assegnato alla videocamera. Questo campo può essere omesso.
• Comando di apertura: è il comando per aprire la porta, nel caso alla videocamera sia associato un citofono.
Questo campo può essere omesso.
2.2.7 Code
Per ciascuna coda è necessario attivare le seguenti voci:
1. Evento quando si chiama
2. Evento su Stato Membri
2.2. Configurazione
11
NethCTI Documentation, Release 2.0
2.2.8 Multi-Sede
Il multi sede consente il collegamento singolo o reciproco di più sedi distribuite. La configurazione è suddivisa in
tre step: il primo per interconnettere i centralini, il secondo da eseguire sulla sede da controllare e il terzo su quella
controllore.
Interconnessione dei centralini
È necessario configurare i centralini NethVoice delle sedi da interconnettere attraverso la configurazione dei fasci e le
eventuali rotte in uscita. Per queste operazioni seguire la documentazione relativa.
Configurazione sede “controllata”
Cliccare la voce di menù Multisede e creare un Account locale inserendo:
• Nome sede remota: nome identificativo a scelta (non deve contenere spazi bianchi)
• Username: nome utente qualsiasi, utilizzato dalla sede remota per la connessione. Non corrisponde ad un
utente reale di sistema.
• Password: password utilizzata dalla sede remota per la connessione
• Ip consentiti per questo account: elenco degli IP abilitati alla connessione (obbligatori). Lasciando il campo
vuoto, nessun host sarà abilitato alla connessione.
L’account così creato verrà utilizzato dalla sede remota controllore per la connessione.
Successivamente cliccare la voce Gruppi Pannello Operatore e abilitare selettivamente la visualizzazione di uno o
più gruppi per la sede remota tramite la checkbox relativa. È possibile anche creare nuovi gruppi adibiti solo alla
visualizzazione remota.
Nota: Le credenziali devono essere univoche per ogni sede e ogni account locale creato è utilizzabile per la
connessione solamente da una sede.
Configurazione sede “controllore”
Cliccare la voce di menù Multisede e creare una Connessione remota inserendo:
• Nome sede remota: nome identificativo a scelta (non deve contenere spazi bianchi)
• Hostname remoto: indirizzo IP o nome dominio della sede remota a cui connettersi. Indipendentemente dalla
configurazione di rete, l’indirizzo immesso deve essere raggiungibile.
• Username: nome utente utilizzato per la connessione alla sede remota
• Password: password utilizzata per la connessione alla sede remota
• Prefisso per chiamare la sede: prefisso telefonico utilizzato per instradare le telefonate alla sede remota (viene
configurato nelle rotte in uscita). È utile nel caso in cui le sedi connesse utilizzino le stesse numerazioni per gli
interni. Se non è stato configurato, può essere lasciato vuoto.
Successivamente, abilitare la visualizzazione della sede remota selettivamente per gli utenti, tramite i profili, abilitando
il permesso “remote_site”.
Una volta eseguita la configurazione delle sedi, applicare i cambiamenti e riavviare il CTI tramite gli appositi pulsanti.
Se la connessione tra le sedi fallisce durante il normale funzionamento, la sede controllore tenta la riconnessione
automaticamente alla sede controllata ogni minuto. Quando si riavvia il server cti “controllore” tramite il pulsante
12
Capitolo 2. Server
NethCTI Documentation, Release 2.0
presente in NethVoice, può accadere che la sede remota “controllata” non sia stata riavviata. In tal caso procedere al
riavvio e attendere che la sede “controllore” si riconnetta automaticamente.
2.3 Personalizzazione servizi
È possibile personalizzare la configurazione di alcuni servizi solo manualmente attraverso la linea di comando.
2.3.1 Attivazione del debug
Di default il file di log riporta solamente messaggi di warning ed errori. È possibile innalzare il livello di debug per
avere maggiori informazioni:
config setprop nethcti-server LogLevel info
signal-event nethcti-server-update
Per ripristinare il livello di debug:
config setprop nethcti-server LogLevel warn
signal-event nethcti-server-update
Avvertimento: Innalzando il livello la dimensione del file di log aumenta rapidamente.
2.3.2 Configurazione Chat
È possibile personalizzare il protocollo utilizzato dal client per connettersi al server ejabberd.
config setprop nethcti-server Protocol "https"
signal-event nethcti-server-update
I valori possibili sono http o https.
2.3.3 Configurare un server LDAP esterno
Lista utenti da server LDAP esterno
Per ricavare la lista utenti da un server LDAP esterno è necessario collegarsi alla pagina di configurazione di NethVoice
sezione Utenti e cliccare nella parte Avanzate.
Configurare i parametri di connessione al server ldap esterno:
• Username: utente abilitato per il collegamento LDAP
• Password: password dell’utente utilizzato per il collegamento
• Server: indirizzo del server LDAP esterno, utilizzare la sintassi ldap://IP o ldaps://IP
• Port: porta di connessione, solitamente ldap su porta 389, ldaps su porta 636
• Base DN: base dn ldap, solitamente dc=dominio,dc=estensione
• OU: Organizational Unit ldap
• Type: tipo di connessione, inserire ldap
2.3. Personalizzazione servizi
13
NethCTI Documentation, Release 2.0
Esempio per ricavare la lista utenti da un altro NethServer Enterprise, sostituire le voci variabili (ip_server,
dominio_server, estensione):
• Username: libuser
• Password: ricavare la password sul NethServer Enterprise con la base utenti con il comando:
perl -e 'use NethServer::Directory; my $password = NethServer::Password::store('libuser'); print
• Server: ldaps://ip_server
• Port: 636
• Base DN: dc= dominio_server,dc= estensione
• OU: People
• Type: ldap
Configurare l’autenticazione su un server LDAP esterno
Configurare il tipo d’autenticazione come “ldap”:
config setprop nethcti-server AuthType "ldap"
Configurare i parametri di connessione al server ldap esterno tramite i seguenti comandi:
config
config
config
config
setprop
setprop
setprop
setprop
nethcti-server
nethcti-server
nethcti-server
nethcti-server
LdapBaseDN <BASE_DN>
LdapOu <OU>
LdapPort <LDAP_PORT>
LdapServer <LDAP_SERVER>
setprop
setprop
setprop
setprop
setprop
nethcti-server
nethcti-server
nethcti-server
nethcti-server
nethcti-server
AuthType "ldap"
LdapBaseDN "dc=mycompany,dc=local"
LdapOu "Users"
LdapPort "389"
LdapServer "192.168.5.111"
Esempio:
config
config
config
config
config
Nota: Per configurare ldap sicuro con SSL usare la porta 636.
Come ultima operazione eseguire:
signal-event nethcti-server-update
2.3.4 Configurazione su Active Directory
Lista utenti da Active Directory
Per ricavare la lista utenti da Active Directory è necessario collegarsi alla pagina di configurazione di NethVoice
sezione Utenti e cliccare nella parte Avanzate.
Configurare i parametri di connessione al server ldap esterno:
• Username: utente abilitato al collegamento Active Directory, utilizzare la sintassi [email protected]
• Password: password dell’utente utilizzato per il collegamento
14
Capitolo 2. Server
NethCTI Documentation, Release 2.0
• Server: indirizzo del server Active Directory, utilizzare la sintassi ldap://IP
• Port: porta di connessione, solitamente su porta 389
• Base DN: base dn di Active Directory, solitamente dc=dominio,dc=estensione
• OU: Organizational Unit Active Directory che contiene gli utenti
• Type: tipo di connessione, inserire AD
Configurare l’autenticazione su Active Directory
Configurare il tipo d’autenticazione come “activeDirectory”:
config setprop nethcti-server AuthType "activeDirectory"
Configurare i parametri di connessione al server Active Directory tramite i seguenti comandi:
config
config
config
config
setprop
setprop
setprop
setprop
nethcti-server
nethcti-server
nethcti-server
nethcti-server
LdapBaseDN <BASE_DN>
LdapOu <OU>
LdapPort <LDAP_PORT>
LdapServer <LDAP_SERVER>
setprop
setprop
setprop
setprop
setprop
nethcti-server
nethcti-server
nethcti-server
nethcti-server
nethcti-server
AuthType "activeDirectory"
LdapBaseDN "dc=mycompany,dc=local"
LdapOu "Users"
LdapPort "389"
LdapServer "192.168.5.111"
Esempio:
config
config
config
config
config
Come ultima operazione eseguire:
signal-event nethcti-server-update
2.3.5 Configurare un prefisso telefonico
Per configurare un prefisso per tutte le chiamate:
config setprop nethcti-server Prefix 0039
signal-event nethcti-server-update
Per rimuoverlo:
config setprop nethcti-server Prefix ""
signal-event nethcti-server-update
2.3.6 Personalizzare il mittente degli SMS
Se si utilizza smshosting come servizio web per l’invio degli SMS, è possibile personalizzare il nome del mittente
dei messaggi. È sufficiente aggiungere il seguente parametro all’url da inserire nel pannello di configurazione di
NethVoice:
mittente=nome_da_usare
2.3. Personalizzazione servizi
15
NethCTI Documentation, Release 2.0
2.3.7 Eseguire uno script per ogni chiamata eseguita
È possibile configurare NethCTI per eseguire uno script in corrispondenza di ogni chiamata terminata. Lo script
riceverà come parametri i dati relativi alla telefonata. Per abilitarlo:
config setprop nethcti-server CdrScript <SCRIPT_PATH>
config setprop nethcti-server CdrScriptTimeout <TIMEOUT_MILLISECONDS>
signal-event nethcti-server-update
Il valore di default per il timeout è pari a 5 secondi, ma può essere configurato a piacere.
2.4 Customer card
Con il termine customer card si indica un insieme di informazioni che il server fornisce ai client NethCTI ogni volta
che si riceve una chiamata o che si fa click su un elemento della rubrica.
Una customer card è costituita da due parti fondamentali:
• una query su un database locale o remoto
• un template per il rendering dei risultati della query
La configurazione di default fornisce già le seguenti customer card:
• dettagli anagrafici dalla rubrica centralizzata
• ultime 10 chiamate associate al cliente
Altri esempi comuni di customer card sono:
• ticket di assistenza associati al cliente
• insoluti e stato pagamenti
• dettagli anagrafici da gestionale
• trattative, contratti e altre informazioni estratte da crm
Le customer cards possono essere configurate attraverso l’interfaccia tradizionale di NethVoice accedendo alla sezione
“CTI”. Una volta create è possibile abilitarne i permessi relativi tramite la configurazione dei profili utente.
2.4.1 Query
Attualmente sono supportati due tipi di database:
• MySQL
• Microsoft SQL Server
Ogni query è composta dai seguenti campi:
• Nome: è il nome della customer card, deve essere diverso da quello di altre customer card salvate. identity
e calls sono nomi riservati alle customer card di default. Il nome della customer card NON può contenere il
carattere “_”.
• Tipo di database: è il tipo di database dove verrà effettuata la query
• Porta Database: è la porta usata per raggiungere il database. Nel caso di database locale su NethService è
possibile utilizzare il socket unix /var/lib/mysql/mysql.sock
• Host: è l’host che ospita il database
16
Capitolo 2. Server
NethCTI Documentation, Release 2.0
• Query: è la query da eseguire. La parola chiave $EXTEN verrà sostituita con il numero telefonico su cui
effettuare la ricerca.
Nota: Se si utilizza il carattere “\”, ad esempio nel nome del database, è necessario farlo precedere dal carattere
di escape “\”. Esempio: se il nome del database è “TEST\SQLEXPRESS” allora il nome corretto da inserire è
“TEST\\SQLEXPRESS”. La medesima considerazione vale se è necessario racchiudere la parola chiave $EXTEN
(presente nella query) tra doppi apici; in alternativa usare l’apice singolo come indicato nell’esempio sottostante.
Esempio query
L’esempio seguente crea una customer card “ticket” che, all’arrivo di una chiamata, mostra nel cti i risultati di una
query effettuata sul database di otrs:
Nome
Nome Visualizzato:
Tipo di
database
Porta
Database
Nome
Database
Database
Username
Database
Password
Query
ticket
ticket
mysql
/var/lib/mysql/mysql.sock
otrs
otrs
***
SELECT T.title AS Titolo, date_format(T.create_time,’%d/%m/%Y %H:%i’) AS
c_time,date_format(T.change_time,’%d/%m/%Y %H:%i’) AS m_time, CONCAT(U.first_name,’
‘,U.last_name) AS gestore, ‘Cliente’, TS.name AS stato FROM ticket T INNER JOIN
customer_user CU ON T.customer_user_id=CU.login INNER JOIN ticket_state TS ON
T.ticket_state_id=TS.id INNER JOIN users U ON T.change_by=U.id WHERE (CU.phone LIKE
‘%$EXTEN%’) LIMIT 10
2.4.2 Template
Dopo aver configurato la query, è necessario creare un template per effettuare il rendering del risultato. Tutti i template
devono essere salvati nella directory /var/lib/nethserver/nethcti/templates/customer_card.
Il nome del file di ciascun template deve essere nella forma:
decorator_cc_<numero_ordinale>_<nome_customer_card>.ejs
Il numero_ordinale serve per decidere l’ordine di visualizzazione del template e deve essere diverso da “00” e
“20” che sono riservati per le due customer cards di default: “anagrafica” e “ultime chiamate” rispettivamente. Il
nome_customer_card deve coincidere con il nome deciso durante la configurazione della query.
Esempi di nomi di file:
decorator_cc_25_insoluti.ejs
decorator_cc_35_trattative.ejs
I template utilizzano la sintassi ejs che, in modo del tutto simile a quello che avviene in PHP, permettono di
“immergere” codice javascript all’interno di una pagina html e di generare in output un documento (o un frammento) html interpretabile dai browser. NethCTI fornisce già una lista di esempi pronti all’uso nella directory
/usr/lib/node/nethcti-server/docs/custcard_examples:
2.4. Customer card
17
NethCTI Documentation, Release 2.0
• base_table.ejs: visualizza una tabella molto semplice contenente tutte le colonne e le righe del risultato della
query
• beautiful_table.ejs: come base_table.ejs ma applica un css alla tabella
• manual_table.ejs: visualizza una tabella contenente tutte le le righe del risultato della query, ma le colonne
visualizzate devono essere specificate manualmente
• one_result.ejs: visualizza le prime due colonne del primo risultato della query
Se ad esempio si vuole creare una tabella di visualizzazione per la query sui ticket vista nel paragrafo precedente,
eseguire:
cp /usr/lib/node/nethcti-server/docs/custcard_examples/beautiful_table.ejs /var/lib/nethserver/nethct
signal-event nethcti-server-update
Risultati
All’interno di ogni template è automaticamente disponibile la variabile results, un array che contiene tutti i risultati
della query. Per inserire delle immagini all’interno del template è sufficiente usare il path:
/webrest/static/img/<FILENAME>
e inserire il file nel path relativo:
/var/lib/nethserver/nethcti/static/img/<FILENAME>
Si consiglia di creare una sottodirectory per la specifica customer card, ad esempio:
/var/lib/nethserver/nethcti/static/img/ticket/<FILENAME>
Ogni riga dell’array results è nel formato:
( colonna1 => valore1, colonna2 => valore2 ... colonnaX => valoreX )
Ad esempio, data una query del tipo:
SELECT nome, cognome, tipo FROM rubrica
Con risultato:
mario,rossi,azienda
giuseppe,bianchi,privato
L’array avrà il formato:
[0] => { nome: "mario", cognome: "rossi", tipo: 'azienda' }
[1] => { nome: "giuseppe", cognome: "bianchi", tipo: 'privato' }
Quindi, per accedere ad esempio al cognome del secondo risultato:
results[1].cognome
// ritornerà "bianchi"
All’interno della variabile results.length è contenuto il numero dei risultati ottenuti.
Sintassi
I template ejs utilizzano la sintassi standard di javascript.
Per inserire codice all’interno di un frammento html, si usano i tag:
18
Capitolo 2. Server
NethCTI Documentation, Release 2.0
<% ...codice... %>
Se si desidera stampare direttamente il valore di una variabile, si può usare il formato:
<%= nome_variabile %>
Riportiamo un paio di esempi riprendendo la query vista nel paragrafo precedente.
Stampa il primo risultato:
Nome: <%= results[0].nome %>
Cognome: <%= results[0].cognome %>
Tipo: <img src='/webrest/static/img/web.png' />
Output:
Nome: mario
Cognome: rossi
Tipo: <img src='/webrest/static/img/web.png' />
Stampa tutti i risultati:
<% for (var i = 0; i < results.length; i++) { %>
Nome: <%= results[i].nome %>
Cognome: <%= results[i].cognome %>
<% } %>
Per ulteriori dettagli sulla sintassi di ejs, consultare:
• https://github.com/visionmedia/ejs
• https://developer.mozilla.org/it/docs/JavaScript
2.4. Customer card
19
NethCTI Documentation, Release 2.0
20
Capitolo 2. Server
CAPITOLO 3
Client
3.1 Client
NethCTI client è una Web Application che consente la visualizzazione ed il controllo completo in tempo reale
dell’intero sistema telefonico attraverso una semplice e intuitiva interfaccia web.
3.1.1 Requisiti
Sono supportati i browser Google Chrome e Mozilla Firefox (firefox).
3.1.2 Prima configurazione
Nota: E’ necessario che tutti i client risolvano correttamente l’FQDN del server.
NethCTI è raggiungibile all’indirizzo:
https://_server_/cti
Usare le proprie credenziali di sistema per effettuare il login.
3.1.3 Funzionalità di base
Gestione telefonate
È sufficiente inserire il numero da chiamare nell’apposita casella presente nella parte superiore della pagina e confermare cliccando sull’icona relativa a forma di cornetta telefonica che appare subito sotto. Se il testo inserito è un
numero di telefono valido, è anche possibile far partire la telefonata direttamente premendo il tasto invio.
Quando si riceve una telefonata appare un popup di notifica che riporta le informazioni sul chiamante.
Nota: Le informazioni mostrate nel popup vengono estrapolate dalla rubrica NethCTI e da quella centralizzata
secondo il seguente ordine:
1. contatto privato della rubrica NethCTI (solo il creatore del contatto vedrà tali informazioni)
2. contatto presente nella rubrica centralizzata
21
NethCTI Documentation, Release 2.0
3. primo contatto pubblico trovato nelle rubrica NethCTI
Alla ricezione/esecuzione di una telefonata compare il box di gestione chiamata in alto, che abilita l’utente
all’esecuzione delle seguenti operazioni:
redirezione vengono proposte destinazioni differenti.
hangup chiusura della telefonata.
parcheggio libera il telefono inserendo la chiamata corrente in un parcheggio.
registrazione avvia e mette in pausa la registrazione della telefonata in corso.
crea nota possibilità di creare una nota/POST-IT che potrà essere consultata in seguito.
apertura di un URL l’URL è parametrizzabile con i dati del chiamante
Stato dell’interno
Nella parte superiore dell’applicazione sono presenti due icone che consentono l’attivazione/disattivazione delle
seguenti funzionalità:
non disturbare (DND) abilita il DND su tutti gli interni telefonici associati all’utente
configura la presence CTI dell’utente come occupato
configura lo stato dell’account jabber associato all’utente come occupato
inoltro di chiamata incondizionato verso la casella vocale associata all’utente qualsiasi chiamata in ingresso verrà dirottata verso la casella vocale selezionata
inoltro di chiamata incondizionato verso il numero cellulare specificato associato all’utente qualsiasi chiamata
in ingresso verrà dirottata verso il numero cellulare selezionato
inoltro di chiamata incondizionato verso il numero inserito manualmente qualsiasi chiamata in ingresso verrà
dirottata verso il numero telefonico inserito
Se l’utente è membro statico/dinamico di una coda, sarà presente una terza icona che consente:
logon/logout dalle code in cui è membro dinamico l’utente entra/esce da tutte le code in cui è membro dinamico
pause/resume dalle code a cui appartiene l’utente si mette in pausa o esce dal medesimo stato, su tutte le code in
cui è correntemente loggato
Inviare SMS
È sufficiente inserire un numero di cellulare valido nell’apposita casella in alto, che attiva il pulsante d’invio. Viene
quindi visualizzata la finestra in cui inserire il testo del messaggio.
Ricerca contatti
Attraverso la casella presente nella parte superiore è possibile effettuare la ricerca di qualsiasi contatto presente nelle
rubriche.
Le sorgenti dati in cui viene effettuata la ricerca sono:
• Rubrica Centralizzata
• Rubrica NethCTI
22
Capitolo 3. Client
NethCTI Documentation, Release 2.0
Il click sul nome di un contatto mostrato nei risultati, visualizza la relativa scheda cliente in base al numero telefonico
del lavoro (campo workphone del database phonebook). Questo comportamento è il default, ma è personalizzabile
tramite la voce “Cerca scheda cliente su” presente nel servizio Configurazione.
Rubrica NethCTI
È possibile creare dei propri contatti che vengono utilizzati da NethCTI per la ricerca contatti, per visualizzare le
informazioni del chiamante nel popup e per popolare la lista degli speed dial. Per ogni contatto creato è possibile
scegliere tre tipologie di privacy:
• privata: sono contatti personali dell’utente che è l’unico a poterli vedere
• pubblica: sono contatti visibili a tutti e quindi vengono mostrati nei risultati della ricerca in rubrica
• speed dial: sono contatti privati dell’utente e vengono mostrati nella lista degli speed dial
Solo il creatore del contatto ha il diritto di modificarlo/eliminarlo e lo può fare tramite il servizio di ricerca. Per creare
un nuovo contatto è sufficiente cliccare il pulsante “+” presente nella lista degli speed dial oppure scrivere il nome da
inserire nel campo presente nella barra superiore e cliccare il pulsante “+” che appare subito sotto.
Per visualizzare i contatti della rubrica NethCTI anche nel telefono approfondire qui.
Report centralino
È possibile visualizzare lo storico delle chiamate eseguite e ricevute da tutti gli utenti. È inoltre possibile vedere lo
storico degli SMS inviati, le note e i POST-IT creati.
Log chiamate
È possibile visualizzare lo storico delle chiamate eseguite e ricevute relativamente al proprio utente. È inoltre possibile
vedere lo storico degli SMS inviati, le note create e i POST-IT creati. Più precisamente, se le note sono state create
con visibilità “privata”, allora saranno visibili solo le proprie, altrimenti anche quelle degli altri utenti.
Customer card
Mostra la scheda cliente relativa a un numero telefonico. È possibile visualizzarla in due modi:
1. cliccando un risultato della ricerca in rubrica
2. utilizzando il programma Nethifier
Nel primo caso i dati della scheda cliente vengono recuperati in base al numero telefonico di lavoro del contatto. È
comunque possibile cambiare il tipo di numero su cui effettuare la ricerca attraverso le opzioni dell’utente.
Nel secondo caso le informazioni vengono recuperati usando il numero chiamante.
Configurazione
È suddiviso in due macro sezioni:
• sinistra: configura lo stato dei propri interni telefonici
• destra: configura le opzioni relative all’utente
3.1. Client
23
NethCTI Documentation, Release 2.0
Stato interni telefonici
Configura tre modalità di trasferimento di chiamata:
• incondizionato: qualsiasi chiamata in ingresso viene redirezionata
• non disponibile: la chiamata in ingresso viene redirezionata dopo un certo timeout
• occupato: la chiamata in ingresso viene redirezionata quando l’interno telefonico è già impegnato in un’altra
conversazione
Nota: se abilitato, ciascun trasferimento viene attivato su tutti gli interni telefonici associati all’utente.
Opzioni dell’utente
Cerca scheda cliente su ricerca la scheda cliente sul tipo di numero telefonico selezionato.
Url parametrizzato configura l’url parametrizzato da richiedere durante una conversazione tramite il click dell’apposito pulsante presente nel box di gestione chiamata in alto. Le keywords da inserire nell’url
sono:
• $CALLER_NAME: nome del chiamante
• $CALLER_NUMBER: numero chiamante
• $CALLED: numero chiamato
In tal modo è possibile richiamare agevolmente un gestionale o altra applicazione esterna.
Interno predefinito È l’interno telefonico associato all’utente che verrà automaticamente scelto per effettuare una
telefonata. Viene indicata anche la marca, modello e versione del firmware.
Click2Call Se il telefono è supportato è possibile scegliere la modalità automatica, che farà partire automaticamente
la telefonata senza la necessità di alzare la cornetta. Molto utile ad esempio con l’utilizzo di un dispositivo
dotato di cuffie.
Il pulsante Test echo testa le credenziali, che devono essere quelle configurate nel telefono attraverso l’interfaccia
web del dispositivo stesso. Esegue una telefonata al dispositivo stesso.
Nota:
Per utilizzare la modalità automatica è necessario configurare il telefono attraverso la sua interfaccia
web. Completare il campo “TrustedActionURIServerList” (Webpage -> Phone Features -> ip_security -> TrustedActionURIServerList) con l’elenco degli indirizzi IP da cui il telefono può ricevere comandi tramite Action
URI.
Ad esempio è possibile inserire l’IP della propria rete LAN con l’ultimo campo uguale ad ‘*’ (es. 192.168.5.*) per
abilitare il telefono alla ricezione di comandi da qualsiasi pc della propria rete. Altrimenti elencare gli IP separati da
virgole.
Il nome del campo potrebbe essere diverso in base alla marca del telefono.
La prima volta che si utilizza il click2call automatico è possibile che il telefono mostri un messaggio per accettare
la richiesta. In tal caso confermare.
I modelli supportati sono Yealink e Snom.
Notifiche
24
Capitolo 3. Client
NethCTI Documentation, Release 2.0
Riguarda le notifiche di tipo offline, cioè da ricevere quando non si è loggati a NethCTI. L’utente può
ricevere notifiche per nuovi POST-IT e nuovi messaggi vocali. Sono disponibili due tipi di notifiche,
e-mail ed sms. Tale funzionalità richiede che all’utente sia stato associato un endpoint di tipo cellulare e
uno di tipo e-mail tramite la configurazione utenti.
Notifiche Online
Vengono visualizzate cliccando l’apposito pulsante presente nella barra superiore e notificano in tempo reale gli eventi
che riguardano i servizi in background:
1. nuovi POST-IT
2. nuovi messaggi di chat
3. nuovi messaggi vocali
Gli elementi di notifica sono interattivi e consentono con un singolo click di accedere alle funzionalità relative.
Voicemail
È possibile ascoltare, effettuare il download del file audio ed eliminare tutti i messaggi delle caselle vocali associate
all’utente. È necessario associare almeno una voicemail all’utente e deve essere attivata la funzionalità di casella
vocale nel relativo interno telefonico tramite l’interfaccia di configurazione di NethVoice.
Pannello operatore
Utenti
Il pannello operatore consente la visualizzazione completa e l’interazione in tempo reale con tutti gli interni e fasci. È
possibile effettuare le seguenti operazioni su una telefonata:
• avviarla
• terminarla
• visualizzarne la durata
• registrarla
• ascoltare/intervenire nella conversazione
È inoltre possibile interagire velocemente con gli interni:
• iniziare una conversazione di chat
• creare un POST-IT
• inviare un messaggio SMS
Fasci
Consente la visualizzazione di tutti i fasci telefonici con il relativo stato assieme alle chiamate in transito. Ciascun
fascio è suddiviso in base al numero di canali supportati.
3.1. Client
25
NethCTI Documentation, Release 2.0
Parcheggi
Visualizza lo stato dei parcheggi.
Barra Telefonica Call Center
Consente la visualizzazione delle code a cui appartiene il proprio interno telefonico. L’utente ha sotto controllo
informazioni di stato in tempo reale sugli agenti delle code e sulle code stesse, visualizzando ad esempio le chiamate
in attesa e quelle servite. Inoltre può eseguire delle azioni sul proprio interno telefonico:
• login/logout su una o più code
• entrare/uscire dallo stato di pausa
Nota: È possibile attivare il login/logout automatico dalle code in corrispondenza del login/logout da NethCTI tramite
la configurazione.
Chiamate perse
È un componente del servizio “Barra Telefonica Call Center” ed è attivabile tramite il permesso “Lost Queue Calls”
del proprio profilo.
Il servizio nasce con l’obiettivo di fornire all’utente un comodo strumento con cui gestire le chiamate perse in coda.
Viene quindi mostrato l’elenco delle chiamate gestite e quelle da richiamare transitate attraverso la coda. Di default le
informazioni vengono aggiornate automaticamente ogni dieci secondi e sono relative alle ultime otto ore. È possibile
modificare l’intervallo di aggiornamento, selezionare una data specifica o utilizzare l’aggiornamento manuale.
L’utente può richiamare un numero telefonico semplicemente cliccando l’entry relativa della tabella. In tal caso, se
un altro utente si è già messo in comunicazione con la destinazione, verrà mostrato un avviso con cui decidere se
rinunciare o forzare la chiamata.
Per vedere i dettagli di una chiamata è sufficiente cliccare l’icona “i” della colonna “Info”.
Fuori Orario
Consente la gestione del servizio notte. L’utente può configurare l’ascolto di un messaggio audio per un certo intervallo
temporale, ad esempio in corrispondenza delle vacanze estive.
Un insieme di tab mostra le varie selezioni passanti (è necessario avere il permesso “offhour”) e le rotte in ingresso
generiche (permesso “admin_offhour”) le quali hanno un servizio notte associato. L’utente può abilitare o meno
un messaggio audio con un eventuale redirezione su voicemail o può abilitare il comportamento configurato tramite
l’usuale interfaccia web di NethVoice.
Tramite la “Gestione annunci” è possibile caricare un file audio o registrarlo tramite telefono. Ogni messaggio è
univocamente identificato tramite la sua descrizione e il nome utente di chi l’ha creato. È possibile scegliere tra due
livelli di visibilità: pubblica e privata. Qualora venga selezionata la visibilità pubblica, altri utenti possono utilizzare
quel messaggio per i propri servizi notte.
Video Streaming
È possibile visualizzare flussi video provenienti da diverse sorgenti aggiunte attraverso il modulo di configurazione
di NethVoice, ad esempio videocitofoni o telecamere IP. È inoltre possibile comandare l’apertura di una porta sex il
dispositivo lo supporta.
26
Capitolo 3. Client
NethCTI Documentation, Release 2.0
Nota: Per comandare l’apertura della porta associata al videocitofono è necessario aver prima risposto alla chiamata,
oppure aspettare il termine della stessa.
Speed Dial
È la lista dei contatti presente lateralmente nella sezione di sinistra. Consente una rapida esecuzione delle operazioni
più comuni su due liste di contatti:
speed dial viene personalizzata dall’utente creando dei propri contatti privati nella rubrica NethCTI. L’utente può
inviare una telefonata col contatto semplicemente con un click.
tutti gli utenti visualizza tutti gli utenti. Soffermando il mouse sul singolo utente è possibile visualizzare un insieme
di operazioni in base al suo stato.
Ultime chiamate
È l’elenco delle ultime dieci chiamate effettuate e ricevute. Soffermando il mouse sulla singola chiamata è possibile
vedere informazioni più dettagliate.
Chat
Per poter iniziare una conversazione di chat con un utente è sufficiente soffermare il mouse sul contatto della lista di
tutti gli utenti e cliccare sull’icona relativa.
Nota: Per poter utilizzare la chat è necessario essere collegati a NethCTI usando il nome di dominio del server.
3.1.4 Telefono integrato WebRTC
Una volta configurato è necessario inserire (solamente la prima volta) la password dell’interno telefonico tramite la
sezione configurazione utente e cliccare il pulsante per attivarlo.
3.1.5 Multi Sede
Tramite il multi sede è possibile visualizzare le sedi remote precedentemente configurate ed eseguire le seguenti
operazioni tramite un telefono fisico:
• chiamare un interno remoto
• chiamare un cellulare
• inviare un sms
• inviare un post-it
Le sedi remote vengono visualizzate nel pannello operatore e nella lista utenti. Nel caso in cui la connessione con le
sedi remote dovesse in qualche modo fallire, è sufficiente attendere che venga ristabilita automaticamente (il tempo
impiegato è circa un minuto).
3.1. Client
27
NethCTI Documentation, Release 2.0
Nota: Al momento il telefono SIP WebRTC non è supportato per chiamare utenti su sedi remote tramite il pannello
operatore. È comunque possibile farlo inserendo il numero telefonico nel box di ricerca in alto.
28
Capitolo 3. Client
CAPITOLO 4
Certificati Self-Signed
4.1 Certificato Self-Signed
Se il server utilizza un certificato autogenerato (self-signed) allora, per accedere in HTTPS a NethCTI, o al Posto
Operatore, o al Supervisore Code, è necessario eseguire nel browser le seguenti operazioni (solo al primo utilizzo):
1. aprire un nuovo tab all’indirizzo https://SERVER:8181
2. accettare il certificato
3. ricaricare la pagina di login
29
NethCTI Documentation, Release 2.0
30
Capitolo 4. Certificati Self-Signed
CAPITOLO 5
Nethifier
5.1 Nethifier
Nethifier Windows Integration è l’applicazione per Microsoft Windows che consente l’integrazione di NethCTI con il
desktop Windows. In particolare consente la visualizzazione di popup di notifica nel desktop in corrispondenza della
ricezione di telefonate dirette a un qualsiasi interno telefonico dell’utente.
Versioni di Windows compatibili: Windows 7 (64 bit) e Windows 8.
Per la personalizzazione dei popup seguire la documentazione.
5.1.1 Requisiti
• .NET Framework 4.5.
• Server NethCTI 2.x.
• Il pc su cui è in esecuzione Nethifier deve risolvere l’indirizzo nomenethvoice.dominio.
Nota: Per ottenere il nome di dominio si può utilizzare il comando hostname -f
5.1.2 Installazione
È sufficiente effettuare il download dell’installer ed eseguirlo. Terminata la fase d’installazione il programma verrà
avviato automaticamente.
5.1.3 Descrizione
Nethifier è sempre visibile tramite l’icona presente nella system tray di Windows cliccando la quale appare un menu
con varie opzioni.
All’arrivo di una chiamata a uno degli interni telefonici associati all’utente, viene visualizzato un popup nel desktop
che riporta informazioni sul chiamante.
Esistono due tipi di popup:
1. generico con informazioni sul chiamante
2. di streaming quando qualcuno suona al videocitofono
31
NethCTI Documentation, Release 2.0
Il secondo tipo mostra l’immagine della persona che sta suonando il videocitofono.
È possibile interagire coi popup in diversi modi, ad esempio visualizzando la customer card del chiamante oppure
comandando l’apertura della porta associata al videocitofono.
I popup sono estremamente personalizzabili, sia nell’interfaccia grafica, sia soprattutto nel contenuto. È infatti possibile aggiungere un qualsiasi comando da eseguire direttamente col click sul popup, come ad esempio l’apertura di
un gestionale, l’invocazione di un url http, come anche l’esecuzione di un applicativo Java. In generale è possibile
eseguire qualsiasi applicativo di Windows.
Il colore dell’icona del programma presente nella system tray indica lo stato di connessione col server cti. Il blu
indica che Nethifier è connesso, mentre il colore rosso indica un problema di connessione. In corrispondenza di una
disconnessione di rete, che può accadere per vari motivi, Nethifier tenta di riconnettersi in automatico per un certo
intervallo temporale (circa 3 minuti). In ogni modo è possibile forzare la riconnessione attraverso il menù contestuale.
5.1.4 Configurazione
È necessaria solamente la prima volta. I dati da inserire sono:
• indirizzo del server (nome o IP)
• credenziali dell’utente
È necessario salvare i dati cliccando il pulsante apposito in maniera tale da non doverli più reinserire agli avvii
successivi. È anche possibile scegliere di eseguire Nethifier all’avvio di windows.
5.1.5 Rimozione
È sufficiente aprire il menu Programmi di Windows e cliccare la voce “Nethifier -> Uninstall”.
5.1.6 Personalizzazione
I popup possono essere personalizzati sia nella grafica, sia nel contenuto attraverso i seguenti template HTML:
/usr/lib/node/nethcti-server/plugins/com_static_http/static/templates/notification_popup/call.html
/usr/lib/node/nethcti-server/plugins/com_static_http/static/templates/notification_popup/streaming.ht
Il primo serve a mostrare i dati di una chiamata generica, mentre il secondo quelli di una sorgente video, quale ad
esempio un videocitofono.
Nota: Conoscenze richieste: linguaggi di programmazione HTML, CSS e Javascript.
Personalizzazione della grafica
È sufficiente personalizzare il codice HTML e/o CSS dei template indicati. Supponiamo ad esempio di voler modificare il colore del nome e numero chiamante in verde nel template call.html: sarà sufficiente aggiungere la regola
css color: green nel selettore .contact-info, che diventerà:
.contact-info {
font-family: verdana;
margin-top: 5px;
margin-left: 15px;
float: left;
32
Capitolo 5. Nethifier
NethCTI Documentation, Release 2.0
color: green;
}
Personalizzazione del contenuto
È possibile estendere le funzionalità presenti all’interno dei popup con nuovi comandi da eseguire.
1. Creare il template custom win_popup.json:
mkdir -p /etc/e-smith/templates-custom/etc/nethcti/win_popup.json
cp /etc/e-smith/templates/etc/nethcti/win_popup.json/10base /etc/e-smith/templates-custom/etc/nethcti
2. Aprire il template appena creato con un editor di testi:
vim /etc/e-smith/templates-custom/etc/nethcti/win_popup.json/10base
3. Aggiungere il nuovo comando all’interno dell’oggetto JSON “commands”, specificando il percorso del programma
eseguibile di Windows che si intenderà eseguire:
,"<NOME_NUOVO_COMANDO>": {
"command": "<NOME_NUOVO_COMANDO>",
"runwith": "<PATH_EXE>"
}
Se ad esempio il nuovo comando si chiama “gestionale” e il programma da eseguire è “c:\windows\notepad.exe”, la
sezione da inserire sarà:
,"gestionale": {
"command": "gestionale",
"runwith": "c:\\\windows\\\notepad.exe"
}
e quindi il template custom diventerà:
{
my $popupCtiProto = ${'nethcti-server'}{'PopupCtiProto'} || "https";
$OUT = '{
"call": {
"width": "400",
"height": "175"
},
"stream": {
"width": "400",
"height": "400"
},
"close_timeout": "10",
"commands": {
"url": {
"command": "url",
"runwith": ""
}
,"gestionale": {
"command": "gestionale",
"runwith": "c:\\\windows\\\notepad.exe"
}
},
"cti_proto": "' . $popupCtiProto .'"
5.1. Nethifier
33
NethCTI Documentation, Release 2.0
}';
}
Avvertimento: Il percorso dell’eseguibile di Windows deve utilizzare la stringa “\\\” come separatore.
4. Adattare l’altezza del popup che si intende modificare, in base all’elemento grafico da aggiungere. Se ad esempio
si vuole inserire un nuovo pulsante nel template “call.html”, un’altezza pari a 175px può essere sufficiente:
{
"call": {
"width": "400",
"height": "175"
},
...
5. Salvare la configurazione e uscire dall’editor di testi.
6. Eseguire il comando:
signal-event nethcti-server-update
7. Personalizzare uno o entrambi i template HTML in base alle proprie necessità: è necessario inserire un elemento
grafico e un’azione da eseguire in corrispondenza del click sullo stesso. Supponiamo ad esempio di voler inserire un
nuovo pulsante nel template “call.html” cliccando il quale eseguire il nuovo comando “gestionale”.
Il codice HTML del nuovo pulsante grafico da inserire in call.html sarà:
<div class="contact-action">
<div id="open-gestionale-but" cmd="gestionale" arg="" close="1" class="button" title="">Gestional
</div>
8. Opzionale: se si desidera passare l’identificativo del chiamante come parametro al programma di Windows, è
necessario aggiungere il seguente codice javascript in coda alla funzione window.onload:
$('#open-gestionale-but').attr('arg', params.callerNum);
9. Eseguire Nethifier in Windows e connettersi al server cti.
Da questo momento alla ricezione di una chiamata generica nel popup sarà presente un nuovo pulsante di nome
“Gestionale”, cliccando il quale si aprirà il notepad di Windows.
Ogni client Nethifier può inoltre personalizzare i path dei programmi da eseguire: aprire l’interfaccia grafica Nethifier attraverso la voce “Visualizza” del menù contestuale dell’icona nella system tray di Windows, selezionare il tab
“Esegui”, personalizzare i path e salvare la configurazione.
Personalizzazione del protocollo
È possibili modificare il protocollo con cui aprire NethCTI tramite il click sul popup. Eseguire:
config setprop nethcti-server PopupCtiProto "<PROTO>"
signal-event nethcti-server-update
dove <PROTO> può assumere i valori http o https.
Backup
Una volta effettuata una personalizzazione, ricordarsi di aggiungere i file alla lista dei backup seguendo le istruzioni
qui riportate.
34
Capitolo 5. Nethifier
NethCTI Documentation, Release 2.0
5.1.7 Download
Il download è disponibile nell’area relativa https://docs.nethesis.it/Area_Download.
5.1. Nethifier
35
NethCTI Documentation, Release 2.0
36
Capitolo 5. Nethifier
CAPITOLO 6
Click2Call Windows
6.1 Windows Click2Call
6.1.1 Introduzione
Windows Click2Call è il programma per Microsoft Windows che consente di telefonare tramite la semplice pressione
del tasto F11 (personalizzabile) della tastiera dopo aver selezionato il numero da chiamare.
Versioni di Windows compatibili: Windows XP, Windows Vista, Windows 7 e Windows 8.
6.1.2 Requisiti
Richiede il server NethCTI 2.x.
6.1.3 Installazione
È sufficiente effettuare il download dell’installer ed eseguirlo. Terminata la fase d’installazione il programma verrà
avviato automaticamente.
6.1.4 Aggiornamento
Prima di eseguire l’installer è necessario arrestare il programma correntemente in esecuzione: cliccare la voce Esci
del menù della system tray.
6.1.5 Descrizione
Windows Click2Call è sempre visibile tramite l’icona presente nella system tray di Windows e cliccando col tasto
destro del mouse su di essa è disponibile un menu con varie voci.
Per effettuare una chiamata è sufficiente selezionare il numero telefonico in una qualsiasi parte del sistema operativo
e premere la combinazione di tasti scelta (di default è il tasto F11).
In questo modo verrà eseguita una richiesta HTTPS al server NethCTI.
In qualsiasi momento è possibile sospendere l’attività di Windows Click2Call tramite la voce “Sospendi Hotkeys” del
menù che appare dall’icona della system tray. L’icona diventerà di colore rosso.
37
NethCTI Documentation, Release 2.0
Nota: La funzionalità non è supportata durante l’utilizzo di programmi di teleassistenza (Teamviewer, Putty). In tal
caso sospendere l’attività.
6.1.6 Configurazione
È necessaria solamente la prima volta. I dati da inserire sono:
• indirizzo del server NethCTI
• credenziali dell’utente
In qualsiasi momento è possibile modificare la configurazione cliccando la relativa voce presente nel menu della
system tray di Windows.
Attraverso la modifica manuale del file di configurazione è inoltre possibile cambiare i seguenti parametri:
• porta di connessione al server NethCTI
• hotkey: è il tasto utilizzato per effettuare le chiamate (F11 è il default). È possibile utilizzare le più comuni
keyword CTRL, ALT, SHIFT e WIN unite dal segno “+” e seguite dal tasto scelto.
La sintassi é: [CTRL+][SHIFT+][ALT+] TASTO.
Esempi:
– per telefonare tramite la pressione del tasto CTRL, SHIFT e C è sufficiente inserire “CTRL+SHIFT+C”
alla voce hotkey
– per telefonare tramite il tasto F5 è sufficiente inserire “F5”
Il file di configurazione è accessibile aprendo il menù Programmi di Windows, cliccano la voce “Windows Click2Call
-> Configurazione”.
Nota: Dopo ogni modifica manuale al file di configurazione è necessario riavviare il programma.
6.1.7 Rimozione
È sufficiente aprire il menu Programmi di Windows e cliccare la voce “Windows Click2Call -> Disinstalla Windows
Click2Call”.
6.1.8 Riavvio
È necessario selezionare la voce “Esci” presente nel menu dell’icona situata nella system tray e riavviare il programma
tramite il menù Start di Windows.
6.1.9 Download
Il download è disponibile nell’area relativa https://docs.nethesis.it/Area_Download.
38
Capitolo 6. Click2Call Windows
CAPITOLO 7
App Mobile
7.1 App Mobile
App Mobile è l’estensione di NethCTI per smartphone Android ed Apple e consente di avere parte delle funzionalità
di NethCTI anche in mobilità.
Nel market Android la trovate qui App Mobile
Nello store Apple invece qui App Mobile
Nota: iOS 9 richiede la presenza di un certificato valido, non autofirmato e fornito da un ente terzo fidato e riconosciuto come autorità di certificazione (CA), sul NethVoice per consentire l’accesso all’app. Nel caso non se ne sia
forniti, non si voglia chiederlo direttamente a un’autorità di certificazione o non si sia in grado di gestirlo, stiamo
ultimando una procedura che consentirà di installarne uno che sia accettato anche da iOS 9, rivolgersi all’assistenza
per maggiori dettagli.
7.1.1 Installazione
L’installazione dell’App Mobile avviene direttamente sullo smartphone a seconda della tua tipologia (Android, Apple)
accedendo al relativo store.
7.1.2 Configurazione
Per accedere tramite l’App Mobile è necessario inserire le proprie credenziali del NethCTI e l’indirizzo del NethVoice,
è necessario che NethVoice sia raggiungibile sulla porta 443 (HTTPS).
Non è possibile inserire un IP per limiti di sicurezza imposti dal sistema, è necessario quindi che NethVoice sia
contattabile tramite un nome pubblico su internet.
7.1.3 Funzionamento
L’App Mobile è strutturata con il menù principale (Contatti e Registro) in basso e il menù contestuale in alto, in più è
possibile accedere alle impostazioni di base e al logout con il pulsante in alto a sinistra.
39
NethCTI Documentation, Release 2.0
Impostazioni
Preferenze
Nelle preferenze è possibile abilitare le notifiche e la Chat, funzionano anche con l’App Mobile in background.
Presenza
In presenza viene configurato lo stato dell’utente tra online, occupato e offline.
Redirezione
In redirezione è possibile attivare l’inoltro di tutte le chiamate al proprio cellulare o alla propria Casella Vocale.
Contatti
Nel tab Contatti avviene l’accesso a tutti i tipi di contatti del NethCTI:
• lista degli utenti del NethCTI, vengono mostrati con il loro stato di presenza, selezionando un utente è possibile
contattarlo tramite le varie modalità disponibili (telefono, rete gsm, sms, post-it, chat)
• rubrica di NethCTI vedi qui, è possibile fare delle ricerche in rubrica e selezionando un contatto vederne i
dettagli e contattarlo tramite le varie modalità disponibili (telefono, rete gsm, sms, email)
• numeri brevi vedi qui, è possibile contattare gli speed dial tramite il telefono o la rete gsm
Registro
Nel tab registro viene mostrato l’elenco di tutta l’attività dell’account, chiamate ricevute, fatte, perse, occupate e fallite,
chats e post-it.
40
Capitolo 7. App Mobile
CAPITOLO 8
Pannello operatore
8.1 Posto Operatore
8.1.1 Modalità Operative
Il modulo Posto Operatore nasce per consentire la gestione delle chiamate in ingresso con operazioni facilitate dal
drag and drop e dalla conoscenza dello stato di tutti gli interni. E’ stato pensato per favorire il lavoro del centralinista.
Il Posto Operatore è raggiungibile all’indirizzo:
https://_server_/oppanel
L’accesso è consentito agli utenti configurati nel modulo Utenti del NethVoice per la gestione degli utenti per il
NethCTI.
Il Posto Operatore può lavorare in due modalità:
1. con softphone integrato WebRTC
2. pilotando un telefono esterno Yealink o Snom entrambi con firmware recenti
Le due modalità sono mutuamente esclusive: non possono essere usate contemporaneamente.
Avvertimento: Per utilizzare la modalità WebRTC è necessario accettare, meglio se definitivamente, i certificati
all’indirizzi https://ip_server:8089/ws ed http://nome_server.dominio:8089/ws
8.1.2 Installazione
L’installazione del modulo Posto Operatore deve essere fatta dal modulo Gestione Pacchetti di NethServer Enterprise.
8.1.3 Aggiornamento
L’aggiornamento del Posto Operatore è automatico.
8.1.4 Configurazione
La configurazione del Posto Operatore è molto semplice e varia a seconda della modalità operativa scelta: con
softphone o con telefono esterno, avviene completamente al momento dell’autenticazione.
I parametri base sono:
41
NethCTI Documentation, Release 2.0
• Server Host/IP: ip o nome del centralino
• Minimizza utenti: visualizzazione degli interni modalità compatta
• Visualizza operatore: visualizzazione del proprio interno insieme a tutti gli altri
• Utente: username e password per autenticazione LDAP
• Interno: interno da utilizzare nel Posto Operatore
• Password: password sip dell’interno da utilizzare
• Selezione Origine: tipologia interno fisico o webRTC
• Coda Esterna: coda per la gestione chiamate in ingresso
• Coda Attesa: coda per la gestione delle attese
• SIP: parametri per la configurazione sip, vengo configurati con un default automatico
Nota: è fondamentale che su NethVoice, nella gestione utenti del CTI, sia stato creato l’utente con cui viene fatta
l’autenticazione LDAP, e che questo sia correttamente associato all’interno specificato in questa configurazione.
8.1.5 Modalità Softphone WebRTC integrato
Il Posto Operatore contiene un softphone che può sostituire il telefono fisico.
Gli interni che si desidera utilizzare come softphone necessitano di una configurazione speciale (su NethVoice).
Configurare le opzioni dell’interno come segue:
• transport: WS Only
• encryption: yes
• directmedia: no
• videosupport: no
• icesupport: yes
• avpf: yes
• Avviso di Chiamata: disattivo
8.1.6 Funzionamento
Il Posto Operatore è fondamentalmente diviso in due parti, la parte superiore che riguarda la gestione della chiamata e
la parte inferiore che mostra in tempo reale la situazione degli altri interni.
La parte superiore è a sua volta divisa in tre parti.
La parte in alto a sinistra mostra lo stato della coda per le chiamate in ingresso dando l’elenco delle chiamate in coda,
per ogni chiamata viene mostrata la posizione in coda, il numero chiamante, il nome associato al numero chiamante
se riconosciuto dal NethVoice, il tempo di attesa.
Il Posto Operatore consente tramite drag and drop di trascinare una di queste chiamate in attesa direttamente su un
interno mostrato nella parte inferiore del Posto Operatore per effettuare un trasferimento di chiamata blindato o nella
sezione centrale per rispondere.
42
Capitolo 8. Pannello operatore
NethCTI Documentation, Release 2.0
La parte centrale superiore del Posto Operatore rappresenta il proprio interno telefonico sia che sia stata selezionata
l’opzione telefono fisico sia per interno webRTC. I tasti nella parte inferiore rappresentano le funzionalità telefoniche
più comuni:
• accettare una chiamata o effettuarla
• chiudere una chiamata in corso
• mettere in attesa una chiamata
• trasferimento di una chiamata
• ripresa di una chiamata in attesa
• attivazione del tastierino numerico
Nella colonna di sinistra ci sono:
• pulsante per attivare la registrazione della chiamata in corso
• pulsante per creare una nota per la chiamata in corso
• pulsante per parcheggiare la chiamata in corso
Nella colonna di destra invece:
• pulsante per la creazione di un postit
• pulsante per consultare la casella vocale
• pulsante per consultare il report delle chiamate
In caso di scelta per il telefono fisico i pulsanti funzionali vengono mappati con le funzionalità del telefono fisico e
quindi ad esempio cliccando sul pulsante per chiudere una chiamata sarà fatto sul telefono.
La parte centrale della sezione dedicata al proprio interno funge da vero e proprio display per il proprio telefono. Viene
mostrato il totale delle conversazioni attive e la durata di quella in linea in più cliccandoci sopra è possibile digitare un
numero o un nome per effettuare una chiamata. La digitazione del terzo carattere attiverà la ricerca in rubrica.
La sezione superiore a destra mostra invece lo stato della coda di attesa e dei parcheggi. La coda di attesa ha lo scopo
di mettere in attesa le chiamate se si sta usando la modalità webRTC in quanto non è possibile utilizzare la funzionalità
di attesa del telefono fisico. Per mettere in attesa e riprendere le chiamate è comodamente utilizzabile il drag and drop
anche in questo caso, sia verso il proprio interno, sia verso un interno mostrato nella sezione inferiore. I parcheggi
forniscono una modalità alternativa per mettere in attesa una chiamata, controllare nel manuale del NethVoice le
funzionalità specifiche.
La sezione inferiore mostra lo stato degli interni del centralino. Gli interni sono ordinabili per nome, cognome o interno
telefonico ed è possibile effettuare una ricerca nel box in alto a sinistra. E’ possibile vedere gli interni raggruppati
secondo i gruppi pannello operatore configurati nel NethVoice. Cliccando sui vari interni è possibile interagire con
essi ed a seconda del loro stato vengono abilitate le funzionalità:
• interno non occupato: cliccandoci parte la chiamata ad esso
• interno occupato: termina chiamata in corso, ascolto chiamata in corso, intromissione chiamata in corso,
registrazione chiamata in corso ed eventuale pausa o fine della registrazione
Cliccando invece sul simbolo della chat si apre una conversazione con l’utente, sul simbolo delle note è possibile
creare una nota.
8.1. Posto Operatore
43
NethCTI Documentation, Release 2.0
44
Capitolo 8. Pannello operatore
CAPITOLO 9
Supervisore Code
9.1 Supervisore Code
9.1.1 Modalità Operative
Il modulo Supervisore Code nasce per mostrare il funzionamento di tutte le code configurate in NethVoice, sia in
tempo reale e sia per quello che riguarda la giornata corrente; per dati più storicizzati vedere il modulo Report Code
del NethVoice.
Il Supervisore Code è raggiungibile all’indirizzo:
https://_server_/queueman
L’accesso è consentito agli utenti configurati nel modulo Utenti del NethVoice per la gestione degli utenti per il
NethCTI.
9.1.2 Installazione
L’installazione del modulo Supervisore Code deve essere fatta dal modulo Gestione Pacchetti di NethServer Enterprise.
9.1.3 Aggiornamento
L’aggiornamento del Supervisore Code è automatico.
9.1.4 Configurazione
La configurazione del Supervisore Code avviene al momento dell’autenticazione, dove oltre ai parametri di accesso,
bisogna indicare le modalità di utilizzo.
I parametri richiesti sono:
• Minimizza agenti: visione degli agenti in maniera miniaturizzata, questa modalità comporta una perdita di informazioni accessorie (stato chat, stato post-it in alto e in basso stato casella vocale, stato deviazioni di chiamata,
stato non disturbare, stato agente generico, stato login NethCTI)
• Scheda Predefinita: scheda da aprire di default dopo il login
• Utente: dati di accesso al Supervisore Code, username e password
45
NethCTI Documentation, Release 2.0
• Code: elenco delle code configurate in NethVoice tra le quali scegliere quelle da visualizzare nel Supervisore
Code.
9.1.5 Funzionamento
Il Supervisore Code si articola in diverse schede.
Come prima cosa vengono mostrate le code selezionate al momento dell’autenticazione, una in ogni scheda, poi ci
sono le schede di default Realtime, Riepilogo e Monitor.
Coda
Le schede delle code sono divise verticalmente a metà circa, la parte sinistra è dedicata alle chiamate, la parte destra
agli agenti.
La parte delle chiamate è a sua volta divisa in due parti, la parte superiore per le chiamate in attesa, la parte inferiore
per le chiamate connesse.
Per le chiamate in attesa vengono mostrati la posizione in coda, il numero e/o il nome del chiamante e il tempo
dell’attesa.
E’ possibile interagire con le chiamate in attesa assegnadole direttamente ad un agente disponibile con drag and drop.
Avvertimento: Forzare l’assegnazione di una chiamata con questa procedura fa uscire la chiamata dalle statistiche
della coda
Per le chiamate connesse vengono invece mostrati numero e/o il nome del chiamante, tempo di conversazione e
operatore connesso.
In alto in questa sezione vengono mostrati i totali in tempo reale, il totale delle chiamate in attesa e il totale delle
chiamate connesse.
Nella parte di destra dedicata agli agenti vengono mostrati tutti gli agenti membri della coda, sia statici che dinamici.
La parte centrale del box di ogni agente mostra lo stato di login (verde), pausa (giallo) logout (grigio) ed è l’unica
sezione mostrata se viene scelto al momento del login minimizza agenti.
Questa sezione quando l’agente risponde ad una chiamata proveniente dalla coda visualizzata si colorerà di azzurro,
mentre se l’agente si trova al telefono per una chiamata estranea alla coda sarà colorata di rosso.
La sezione in alto a sinistra del box agente indica lo stato telefonico dell’interno del NethVoice utilizzo dall’agente per
il login, libero (verde), occupato (rosso), scollegato (grigio).
Successivamente ci sono i box per lo stato chat e i post-it.
Nella parte inferiore c’è la sezione di notifica per stato casella vocale, stato deviazioni di chiamata, stato non disturbare,
stato agente generico, stato login NethCTI.
A seconda dello stato dell’agente il click sul suo box abilita funzionalità diverse:
• interno non occupato: cliccandoci è possibile gestire la sua connessione alla coda facendo login, pausa, ripresa
dalla pausa, logout a seconda dello stato
• interno occupato: cliccandoci è possibile interagire con la chiamata in corso ascoltandola o intromettendosi, in
più rimangono attive a seconda dello stato le funzionalità per gestire la connessione alla coda elencate prima
In alto viene mostrato in tempo reale il totale degli agenti liberi, degli agenti non loggati, degli agenti in conversazione
e degli agenti in pausa.
46
Capitolo 9. Supervisore Code
NethCTI Documentation, Release 2.0
Realtime
La scheda Realtime ha la funziona di mostrare in tempo reale lo stato di tutte le code del NethVoice e di tutti gli agenti,
tutti i dati vengono aggiornati in tempo reale.
Questa sezione è divisa orizzontalmente in due parti, la parte superiore dedicata alle code, quella inferiore agli agenti.
Nella parte delle code, si trova l’elenco delle code configurate in NethVoice e in tempo reale viene mostrato per ogni
coda il totale delle chiamate in attesa, in conversazione e il totale degli agenti connessi, in pausa, disconnessi, in
conversazione nella coda, liberi e occupati in generale (anche per chiamate non inerenti alla coda).
La sezione dedicata agli agenti elenca gli agenti configurati su tutte le code e per ogni coda da lo stato del login,
il tempo trascorso dall’ultima chiamata, il tempo della pausa se è in corso, il numero di chiamate prese e lo stato
telefonico.
Riepilogo
La scheda Riepilogo mostra i dati delle code del NethVoice e gli agenti con dati inerenti alla giornata corrente, quindi i
totali sono da riferire agli avvenimenti intercorsi dalle 00:00 della giornata corrente al momento della visualizzazione.
Questa scheda viene aggiornata periodicamente tranne per lo stato degli agenti che è in tempo reale.
La prima parte dedicata alle code mostra le statistiche giornaliere delle code, elencando:
• chiamate entrate
• totale chiamate evase
• percentuale sul totale delle chiamate evase
• chiamate evase entro il tempo di livello di servizio indicato nella configurazione della coda nel NethVoice
• percentuale sul totale delle chiamate evase entro il tempo di livello di servizio
• totale chiamate fallite, cioè chiamate entrate in coda, rimaste in attesa per più di 50 secondi ma non gestite per
abbandono
• percentuale sul totale delle chiamate fallite
• chiamate nulle, cioè chiamate entrate in coda, rimaste in attesa per meno di 50 secondi ma non gestite per
abbandono
• percentuale sul totale delle chiamate nulle
• tempo di attesa minimo di una chiamata in coda
• tempo di attesa massimo di una chiamata in coda
• tempo di attesa medio delle chiamate in coda
• durata minima di una chiamata risposta
• durata massima di una chiamata risposta
• durata media di una chiamata risposta
La seconda parte è dedicata agli agenti delle code, viene elencata ogni coppia agente-coda attiva nella giornata odierna
mostrando i seguenti dati:
• nome agente
• stato del collegamento dell’agente alla coda: login (verde), pausa (giallo) e logout(grigio)
• stato telefonico dell’interno associato all’agente: libero (verde), occupato in una chiamata attinente alla coda
(azzurro), occupato per una chiamata non attinente alla coda (rosso), disconnesso (grigio)
9.1. Supervisore Code
47
NethCTI Documentation, Release 2.0
• nome coda
• totale chiamate prese
• totale chiamate non risposte
• durata minima delle chiamate risposte
• durata massima delle chiamate risposte
• durata media delle chiamate risposte
• totale del tempo trascorso al telefono
• tempo dell’ultimo login
• tempo dell’ultimo logout
• tempo dall’ultima chiamata risposta
• tempo totale di logon
• tempo totale di pausa
• percentuale del totale del tempo di pausa sul tempo di logon
• percentuale del tempo trascorso al telefono sul tempo di logon
Monitor
Nella scheda Monitor vengono mostrate tutte le code attivate nelle loro schede riservate (opzione Visualizza in Monitor). Per ogni coda viene mostrato l’elenco delle chiamate in attesa in base alla loro posizione, mostrando in nome/numero chiamante e il tempo di attesa. La scheda Monitor nasce per essere utilizzata in un maxi schermo per
mostrare agli agenti in tempo reale lo stato della coda.
48
Capitolo 9. Supervisore Code
CAPITOLO 10
Sviluppo
10.1 Sviluppo
10.1.1 Autenticazione
Lo scopo della fase d’autenticazione è creare un token che sarà usato per le operazioni future, quali l’invocazione delle
REST API o per creare una connessione permanente (WebSocket o TCP).
Eseguire il login
1. Il client invia una richiesta HTTP (POST) alla seguente rest api:
https://<SERVER>/webrest/authentication/login
specificando lo _username_ e _password_ in formato JSON:
{ "username": "my_user", "password": "my_password" }
2. Il client riceve una risposta standard HTTP 401. Se l’autenticazione ha avuto successo la risposta contiene un
nonce (una stringa) nello header HTTP, altrimenti l’autenticazione è fallita. Un esempio di header è (il nonce è
06d15944d8ece69bdc97742b37c507970e2f6651):
www-authenticate: Digest 06d15944d8ece69bdc97742b37c507970e2f6651
3. Il client calcola il token:
tohash = username + ':' + password + ':' + nonce
token = HMAC-SHA1(tohash, password)
4. Il client memorizza il token per usi futuri.
Se il token d’autenticazione non viene mai usato, scade dopo un certo periodo di tempo (il default è mezz’ora).
Una nuova fase d’autenticazione è necessaria.
Eseguire il logout
1. Il client invia una richiesta HTTP (POST) alla seguente rest api:
https://<SERVER>/webrest/authentication/logout
2. Il token viene rimosso dal server.
49
NethCTI Documentation, Release 2.0
10.1.2 REST API
Le REST API sono dei Web Services che consentono l’interazione con il server NethCTI. È uno strumento molto utile
per l’integrazione e lo sviluppo ed è la miglior soluzione da utilizzare con applicazioni mobile.
Nota: Questo documento assume che il lettore possegga già una certa familiarità con le più comuni tecniche di
programmazione e Web Services.
Come usare una API
Di seguito vengono elencate le caratteristiche comuni a tutte le REST API:
• una API viene invocata tramite l’invio di una richiesta HTTP[S] al server NethCTI che risponde fornendo i dati
richiesti o tramite un codice di stato o entrambi.
• I codici di stato delle risposte HTTP sono quelli standard.
• Il formato utilizzato per lo scambio dati è JSON.
• Tutte le risorse sono raggiungibili tramite l’urli base:
http[s]://<SERVER>/webrest/
• Per richiedere una API è necessario aggiungere un patì al baseurl che specifica la risorsa da richiedere. Per
esempio:
http[s]://<SERVER>/webrest/phonebook/search
• Ogni richiesta deve contenere i parametri d’autenticazione per il controllo d’accesso, specificando lo header
HTTP Authorization:
Authorization: username:token
• Ogni richiesta viene autenticata e autorizzata del server NethCTI.
Autenticazione
1. L’autenticazione di una richiesta REST viene eseguita dal server controllando la validità del token passato.
Quindi, come fase preliminare, Il client deve eseguire il login e deve creare un token d’autenticazione come
descritto qui.
2. Ogni richiesta deve contenere lo header HTTP Authorization:
Authorization: username:token
La validità del token d’autenticazione viene aggiornato ad ogni richiesta, altrimenti scade dopo un certo
intervallo temporale (di default pari a un’ora). Dopo la scadenza è necessaria una nuova fase d’autenticazione.
Autorizzazione
Ogni richiesta REST API viene autorizzata dal server che controlla i permessi utente configurati dall’amministratore
attraverso l’interfaccia di NethVoice.
50
Capitolo 10. Sviluppo
NethCTI Documentation, Release 2.0
Esempio d’uso con cURL
L’esempio seguente mostra come eseguire una richiesta rest tramite cURL. Lo strumento si può rivelare utile per
eseguire dei test e per comprendere il meccanismo delle chiamate con maggior dettaglio.
1. Supponiamo di volere effettuare la ricerca in rubrica del contatto nethesis per estrarre il numero telefonico. La
prima operazione da eseguire è l’autenticazione (è necessaria solamente la prima volta per la costruzione del
token).
curl --insecure -i -X POST -d "username=my_user&password=my_password" https://192.168.5.226/webrest/a
L’autenticazione ha successo e il server risponde con:
HTTP/1.1 401 Unauthorized
Date: Thu, 12 Jun 2014 13:01:43 GMT
www-authenticate: Digest f4700adb35ad29ee16afe6c03c0196dfc74ec3b1
Content-Length: 0
Content-Type: text/plain
2. Estraiamo il nonce dall’header www-authenticate:
f4700adb35ad29ee16afe6c03c0196dfc74ec3b1
3. Costruiamo il token d’autenticazione:
tohash = "my_user:my_password:f4700adb35ad29ee16afe6c03c0196dfc74ec3b1"
token = HMAC-SHA1("my_user:my_password:f4700adb35ad29ee16afe6c03c0196dfc74ec3b1", "my_password") = "
4. Chiamiamo la rest api phonebook/search:
curl --insecure -i -H "Authorization: my_user:1d8062d1c85a8fe6983745a1ee318d1cd9b8bde1" https://192.1
5. Il server invia la risposta in format JSON con i dati richiesti:
{
"centralized": [
{
"id": 1916,
"owner_id": "",
"type": "Reseller",
"homeemail": null,
"workemail": "[email protected]",
"homephone": null,
"workphone": "0721405516",
"cellphone": "",
"fax": "",
"title": null,
"company": "NETHESIS SRL ",
"notes": "",
"name": "",
"homestreet": null,
"homepob": null,
"homecity": null,
"homeprovince": null,
"homepostalcode": null,
"homecountry": null,
"workstreet": "VIA DEGLI OLMI, 12",
"workpob": null,
"workcity": "PESARO",
"workprovince": null,
10.1. Sviluppo
51
NethCTI Documentation, Release 2.0
"workpostalcode": null,
"workcountry": null,
"url": "http://www.nethesis.it"
}
],
"nethcti": []
}
Elenco delle API NethCTI
Path
/astproxy
/authentication
/authorization
/callernote
/histcallernote
/all_histcallernote
/configmanager
/custcard
/historycall
/histcallswitch
/cel
/phonebook
/postit
/historypostit
/all_historypostit
/sms
/historysms
/all_historysms
/streaming
/voicemail
Descrizione
Interazione con il server Asterisk
Funzionalità d’autenticazione
Funzionalità per i permessi utente
Funzionalità relative alle note sulle chiamate
Storico delle note sulle chiamate relative al proprio utente
Storico delle note sulle chiamate di tutti gli utenti del sistema
Funzionalità relative alla configurazione degli utenti e di NethCTI
Funzionalità relative alle schede clienti
Storico delle chiamate del proprio utente
Storico delle chiamate di tutti gli utenti del sistema
Consente di recuperare informazioni dettagliate sulle chiamate dal CEL di Asterisk
Funzionalità relative alle rubriche
Funzionalità relative ai POST-IT
Storico dei POST-IT dell’utente
Storico dei POST-IT di tutti gli utenti del sistema
Funzionalità relative agli SMS
Storico degli SMS dell’utente
Storico degli SMS di tutti gli utenti del sistema
Funzionalità sulle sorgenti video
Funzionalità relative alle voicemail
10.1.3 WebSocket
La connessione WebSocket viene utilizzata dal server per comunicare in tempo reale con tutti i client connessi (ad
esempio per notificare gli eventi del server Asterisk). Per stabilire una connessione WebSocket col server NethCTI è
necessaria una prima fase d’autenticazione.
Eseguire il login
1. Il client esegue il login e crea un nuovo token d’autenticazione come descritto qui.
2. Il client stabilisce una connessione websocket con il server (la porta di default sicura è la 8181).
3. Il client invia il messaggio login al server attraverso la connessione websocket specificando username e token in
formato JSON:
socket.emit('login', { accessKeyId: username, token: token.toString() });
4. Se il login ha avuto successo il client riceve il messaggio authe_ok, altrimenti il messaggio 401 e il client viene
disconnesso.
Una volta completato il login con successo, il token ha validità infinita fino al riavvio del server.
52
Capitolo 10. Sviluppo
NethCTI Documentation, Release 2.0
Sottoscrizione eventi
Attraverso la connessione WebSocket vengono emessi i seguenti eventi:
Evento
extenUpdate
updateNewVoiceMessages
newVoiceMessageCounter
updateNewPostit
newPostitCounter
endpointPresenceUpdate
queueMemberUpdate
trunkUpdate
extenRinging
queueUpdate
parkingUpdate
wsClientLoggedIn
allWsClientDisonnection
401
authe_ok
Descrizione
Aggiornamento di stato di un interno telefonico
Invia tutti i nuovi messaggi vocali in corrispondenza dell’arrivo di uno nuovo
Invia il numero di nuovi messaggi vocali in corrispondenza dell’arrivo di uno nuovo
Invia tutti i nuovi post-it dell’utente in corrispondenza dell’arrivo di uno nuovo
Invia il numero di nuovi post-it, in corrispondenza dell’arrivo di uno nuovo
Notifica il cambiamento della presence di un endpoint di un utente
Aggiornamento di stato di un agente di una coda
Aggiornamento di stato di un fascio
Notifica che un interno sta squillando e riporta l’identificativo del chiamante
Aggiornamento di stato di una coda
Aggiornamento di stato di un parcheggio
Un utente ha effettuato il login a NethCTI
Un utente non ha più nessuna connessione WebSocket attiva
L’autenticazione è fallita
L’autenticazione è avvenuta con successo
Ogni evento fornisce i dati relativi in formato JSON.
È possibile sottoscrivere un ascoltare per ciascuno degli eventi. Un esempio è il seguente:
socket.on('extenUpdate', function (data) {
// all the code here
});
10.1.4 Integrazione di applicazioni legacy
Per mantenere compatibilità con le applicazioni legacy che usano le API della versione 1.x, NethCTI offre la possibilità
di fare telefonate invocando una particolare API senza autenticazione. Questa funzionalità è disabilitata di default
per motivi di sicurezza.
Per l’attivazione eseguire:
config setprop nethcti-server UnAutheCall enabled
signal-event nethcti-server-update
Una volta attivata è possibile fare una telefonata eseguendo la richiesta HTTP GET:
https://<SERVER>/webrest/astproxy/unauthe_call/:endpoint/:number
dove :endpoint deve essere sostituito con l’interno telefonico che si vuole utilizzare e :number deve essere sostituito
con il numero da chiamare.
Esempio per chiamare il numero 0721405516 tramite l’interno 214 tramite il server nethvoice.server.it:
https://nethvoice.server.it/webrest/astproxy/unauthe_call/214/0721405516
Può essere utilizzato anche il protocollo HTTP.
Avvertimento: Se la funzionalità viene abilitata, chiunque può eseguire telefonate da qualsiasi interno verso
qualsiasi destinazione tramite una richiesta HTTP GET.
Per la disabilitazione eseguire:
10.1. Sviluppo
53
NethCTI Documentation, Release 2.0
config setprop nethcti-server UnAutheCall disabled
signal-event nethcti-server-update
54
Capitolo 10. Sviluppo
CAPITOLO 11
Appendice
11.1 License
This documentation is distributed under the terms of Creative Commons - Attribution-NonCommercial-ShareAlike
4.0 International (CC BY-NC-SA 4.0) license.
You are free to:
• Share — copy and redistribute the material in any medium or format
• Adapt — remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
• Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were
made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or
your use.
• NonCommercial — You may not use the material for commercial purposes.
• ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under
the same license as the original.
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from
doing anything the license permits.
This is a human-readable summary of (and not a substitute for) the full license available at:
http://creativecommons.org/licenses/by-nc-sa/4.0/
55
NethCTI Documentation, Release 2.0
56
Capitolo 11. Appendice
CAPITOLO 12
Indici
• genindex
• search
57
NethCTI Documentation, Release 2.0
58
Capitolo 12. Indici
Indice
A
applicazioni legacy, 53
P
Presence|hyperpage, 5
59