Telefoni Cisco serie 7800 con Asterisk
Cisco ha lanciato sul finire del 2013 una nuova serie di telefoni pensati per essere utilizzati con i propri sistemi di comunicazione (UCM). Comunque grazie al fatto di utilizzare il protocollo SIP è possibile utilizzarli anche con altri sistemi come ad esempio Asterisk.
I telefoni della serie 7800
I telefoni della serie 7800 si posizionano nella fascia bassa dell'offerta, hanno un look semplice, un display grafico a scala di grigi e un numero di linee che varia a seconda del modello.
- 2 linee per il modello 7821
- 4 linee per il modello 7841
- 16 linee per il modello 7861
Il problema principale nell'uso di questi telefoni in un sistema diverso da Cisco UCM è che non hanno una interfaccia di configurazione locale ne tramite tastiera ne tramite web ma sono configurabili solo attraverso file di provisioning di cui non è disponibile nemmeno una documentazione dettagliata.
Il file di configurazione necessario per questi telefoni è in formato XML e deve avere nome SEP<macaddr>.cnf.xml dove <macaddr> è il MAC address del telefono. L'indirizzo del server TFTP da cui il telefono scarica il file di configurazione può essere impostato manualmente dalla tastiera del telefono oppure automaticamente dal DHCP tramite le opzioni 150 o 66.
Il formato del file è riportato alla fine dell'articolo.
Il sistema di provisioning di Asterisk
Il sistema di provisioning di asterisk più utilizzato è provisioner.net, integrato anche in freepbx, che inizialmente non disponeva dei template per la serie 7800. Comunque una volta dedotto il formato dei file di configurazione non è stato molto difficile sviluppare dei nuovi template per questa serie di telefoni. Ovviamente seguendo lo spirito open source ho effettuato il pull del template nel progetto originale per cui ora può essere utilizzato da chiunque.
Formato del file di configurazione
<?xml version="1.0" ?>
<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>root</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>{$date_template}</dateTemplate>
<timeZone>{$ciscotz}</timeZone>
<ntps>
<ntp>
<name>{$network_time_server}</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<processNodeName>{$server.ip.1}</processNodeName>
<ports>
<sipPort>5060</sipPort>
</ports>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<sipProfile>
<natEnabled></natEnabled>
<natAddress></natAddress>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
<outboundProxy>{$outbound_host.line.1}</outboundProxy>
<outboundProxyPort>{$outbound_port.line.1}</outboundProxyPort>
<backupProxy>{$server_host.line.1}</backupProxy>
<backupProxyPort>{$server_port.line.1}</backupProxyPort>
</sipProxies>
<preferredCodec>{$preferredcodec}</preferredCodec>
<phoneLabel>{$displayname.line.1}</phoneLabel>
<sipLines>
{line_loop}
<line button="{$line}">
<featureID>9</featureID>
<featureLabel>{$username}</featureLabel>
<proxy>{$server_host}</proxy>
<port>{$server_port}</port>
<name>{$username}</name>
<authName>{$username}</authName>
<authPassword>{$secret}</authPassword>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber>{$voicemail_extension}</messagesNumber>
</line>
{/line_loop}
</sipLines>
<dialTemplate>dialplan.xml</dialTemplate>
</sipProfile>
<loadInformation>{$image_name}</loadInformation>
<directoryURL>{$directory_url}</directoryURL>
<vendorConfig>
<webAccess>0</webAccess>
</vendorConfig>
</device>