- Come funziona il nuovo provisioning di NethVoice 14 (Leopard)?
- Se ha problemi come si individuano? Dove posso guardare?
Link alle guide pubbliche
- Verificare la comunicazione con rps.nethesis.it (Falconieri)
- Verificare che il servizio di redirect (RPS) sia configurato
- Verificare lo stato dei provider RPS
- Tracciare le richieste HTTP di un singolo telefono
- Configurazione DHCP per NethSecurity
- Verificare il contenuto dei file serviti al telefono
- Ottenere la password di admin dei telefoni
- Verificare la configurazione dei tasti dei telefoni fisici da CTI
Sviluppo https://trello.com/c/cxdQaNvI/50-troubleshooting
Assumiamo che
Se il telefono supporta RPS (Redirect and Provisioning Service) questa è la sequenza attesa delle azioni che esso compie:
In alternativa, se il telefono non supporta RPS o non è registrato sull'RPS è possibile utilizzare il redirect via DHCP. Se NethVoice è anche il server DHCP della rete, la configurazione per il redirect DHCP è già pronta. In caso di un DHCP server esterno è invece necessario configurare OPTION 66 in base al MAC del telefono.
Configurazione del DHCP di NethVoice(192.168.5.214) nel caso sia da replicare su un server DHCP esterno :
GIGASET Opzione 114 "http://192.168.5.214/provisioning/%MACD.xml"
SNOM Opzione 66 "http://192.168.5.214"
Opzione 67 "provisioning/{mac}.xml"
SANGOMA Opzione 66 "http://192.168.5.214/provisioning"
FANVIL Opzione 66 "http://192.168.5.214/provisioning/$mac.cfg"
YEALINK Opzione 66 "http://192.168.5.214/provisioning/$MAC.cfg"
dhcp-mac=set:gigaset,58:9E:C6:*:*:*
dhcp-mac=set:gigaset,7C:2F:80:*:*:*
dhcp-option=tag:gigaset,114,"http://192.168.5.214/provisioning/%MACD.xml"
dhcp-mac=set:snom,00:04:13:*:*:*
dhcp-option=tag:snom,66,"http://192.168.5.214"
dhcp-option=tag:snom,67,"provisioning/{mac}.xml"
dhcp-mac=set:sangoma,00:50:58:*:*:*
dhcp-option=tag:sangoma,66,"http://192.168.5.214/provisioning"
dhcp-mac=set:fanvil,0C:38:3E:*:*:*
dhcp-option=tag:fanvil,66,"http://192.168.5.214/provisioning/$mac.cfg"
dhcp-mac=set:yealink,00:15:65:*:*:*
dhcp-mac=set:yealink,80:5E:0C:*:*:*
dhcp-mac=set:yealink,80:5E:C0:*:*:*
dhcp-option=tag:yealink,66,"http://192.168.5.214/provisioning/$MAC.cfg"
In caso di redirect DHCP il telefono effettua i seguenti passi:
I telefoni cercano l'URL del server HTTP per completare il provisioning con diversi protocolli. Supportiamo RPS e DHCP. La seguente tabella mostra la priorità dei due protocolli supportati.
| vendor | metodo primario | metodo secondario | altri metodi non supportati |
|---|---|---|---|
| Fanvil | RPS | DHCP | PnP |
| Snom | RPS³ | DHCP | PnP |
| Yealink | RPS | DHCP | PnP |
| Gigaset | DHCP¹ | RPS | PnP |
| Sangoma | DHCP | RPS² | PnP |
1) Per i telefoni Gigaset assicurarsi che in rete non ci sia un server DHCP che fornisce OPTION 66 o OPTION 114 che vanno in override all'RPS. Qualora fosse presente è necessario che sia configurato per i telefoni Gigaset (MAC 7C:2F:80:*:*:*) a fornire l'URL corretto, o che sia disabilitato. Vedi Configurazione DHCP per NethSecurity.
2) Il servizio RPS di Sangoma non è configurabile da Leopard: è necessario accedere direttamente al portale di Sangoma https://wiki.freepbx.org/display/PHON/Redirect+Service
3) Il servizio RPS di Snom (SRAPS) sembra non effettuare correttamente il redirect se tra il telefono e l'host provisioning.snom.com c'è un HTTP proxy (NethSecurity/Squid, ad esempio). Tuttavia i modelli più recenti di Snom utilizzano https:// e non sono pertanto soggetti a questa limitazione. Vedi https://helpdesk.snom.com/support/tickets/34872. Nel caso di Web proxy con NethSecurity è possibile configurare un bypass per destinazione su provisioning.snom.com.
Quando un telefono viene aggiunto all'inventory NethVoice invia a rps.nethesis.it (istanza Falconieri) la richiesta di associare il MAC del telefono all'URL di provisioning presso il Vendor (produttore) del telefono stesso.
La traccia della comunicazione tra NethVoice e Falconieri è contenuta nel file di log
/var/log/pbx/www-error.log
Esempio di riga di log in caso di registrazione avvenuta con successo:
[21-Feb-2020 14:27:25 Europe/Rome] [NOTICE] Registered MAC 7C-2F-80-BC-D3-C3 with Falconieri RPS. Raw response: <empty>
Esempio di riga di log in caso di registrazione fallita:
[21-Feb-2020 12:39:29 Europe/Rome] [ERROR] Unexpected HTTP response from Falconieri RPS gateway: 500 - <empty>
Nota: nel log è contenuto anche un comando shell per riprodurre la chiamata HTTP PUT verso Falconieri
Per verificare che un certo Vendor abbia ricevuto l'impostazione del provisioning remoto per un dato MAC address è necessario accedere alla console RPS del Vendor stesso.
- Fanvil https://fdps.fanvil.com
- Sangoma https://portal.sangoma.com (non supportato da Leopard/Falconieri)
- Gigaset https://prov.gigaset.net/Editor/#loginPage
- Yealink https://dm.yealink.com/reseller/login
- Snom https://sraps.snom.com
Le credenziali aggiornate dei rispettivi Vendor sono disponibili nel repository privato nethesis/falconieri-deploy.
Accedere alla dashboard su Grafana con le proprie credenziali di nethservice.nethesis.it
https://metrics.nethesis.it/d/1uyA_jnGk/rps-providers-quality?orgId=1
I telefoni tentano di raggiungere il server HTTP di provisioning tramite HTTP (porta 80) o HTTPS (porta 443). Eventuali proxy HTTP potrebbero ostacolare la comunicazione, in particolare se richiedono l'autenticazione.
In NethVoice le richieste HTTP effettuate dai telefoni sono contenute in
/var/log/httpd/access_log /var/log/httpd/ssl_access_log
Questo è un template-custom per NethSecurity, nel caso svolga il ruolo di DHCP server della rete e sia necessario configurare OPTION 66 in maniera specifica per i telefoni IP supportati. Sostituire l'IP 192.168.11.1 con l'IP di NethVoice.
Modificare il file cat /etc/e-smith/templates-custom/etc/dnsmasq.conf/80tftp_tancredi
#
# 80tftp_tancredi
#
dhcp-mac=set:gigaset,58:9E:C6:*:*:*
dhcp-mac=set:gigaset,7C:2F:80:*:*:*
dhcp-option=tag:gigaset,114,"http://192.168.11.1/provisioning/%MACD.xml"
dhcp-mac=set:snom,00:04:13:*:*:*
dhcp-option=tag:snom,66,"http://192.168.11.1"
dhcp-option=tag:snom,67,"provisioning/{mac}.xml"
dhcp-mac=set:sangoma,00:50:58:*:*:*
dhcp-option=tag:sangoma,66,"http://192.168.11.1/provisioning"
dhcp-mac=set:fanvil,0C:38:3E:*:*:*
dhcp-option=tag:fanvil,66,"http://192.168.11.1/provisioning/$mac.cfg"
dhcp-mac=set:yealink,00:15:65:*:*:*
dhcp-mac=set:yealink,80:5E:0C:*:*:*
dhcp-mac=set:yealink,80:5E:C0:*:*:*
dhcp-option=tag:yealink,66,"http://192.168.11.1/provisioning/$MAC.cfg"Nei file di log di Apache sono contenute le richieste effettuate dai telefoni. E' necessario identificare mediante il MAC del telefono ricercato le righe contententi le sue richieste. In particolare il token di sicurezza è un requisito per riprodurre le richieste del telefono. I file di log di Apache rilevanti sono i seguenti:
/var/log/httpd/access_log /var/log/httpd/ssl_access_log
Si può quindi procedere con un comando curl simile:
curl -v http://$(hostname)/provisioning/18269552035e4e6a3fe41790.24557487/0c383e09d487.cfg
La password di admin dei telefoni è generata in maniera casuale al momento dell'installazione di NethVoice. E' visibile da interfaccia di amministrazione (nuovo wizard) sotto Modelli > Impostazioni di Default
In alternativa è possibile ottenere la password con questo comando:
# grep -R ^adminpw /var/lib/tancredi/data
Click sull'icona utente (in alto a destra) -> Impostazioni -> Dispositivi
Il log dell'applicazione riporta
/var/log/tancredi/tancredi.log
È possibile aumentarne la verbosità, per esempio nel caso in cui si sviluppano dei template o le API, modificando il parametro loglevel nel file /etc/tancredi.conf
Nel caso si verifichino errori di PHP di qualsiasi genere, questi vengono scritti nel log di PHP-FPM
/var/opt/rh/rh-php*/log/php-fpm/tancredi.log /var/opt/rh/rh-php*/log/php-fpm/tancredi-slow.log
Le richieste HTTP sono sempre disponibili nel log di Apache del default virtual host:
/var/log/httpd/access_log /var/log/httpd/ssl_access_log