Recientemente he necesitado probar alguna característica de Asterisk para un cliente. La centralita PBX más rápida de poner en funcionamiento es FreePBX, que además dispone de una GUI muy bien elaborada y bastante sencilla para las innumerables opciones de configuración que tiene Asterisk.

El único teléfono VoIP que tenía cerca era un Cisco 9971 UC, de cuando jugueteaba con Cisco Callmanager y demás en mi laboratorio.

Después de mucho indagar e investigar, y a pesar de que el teléfono usa SIP, hay ciertas configuraciones no estándar que he necesitado para poder registrar y usarlo con FreePBX. A continuación algunas notas importantes que vamos a necesitar.

FreePBX / Asterisk

SIP sobre TCP

Normalmente SIP se ejecuta sobre UDP, pero parece que este modelo de teléfono, o el firmware que tiene, requiere de TCP para funcionar. Y debe estar habilitado globalmente y por extensión (DN).

find / -name sip_general_custom.conf
tcpenable=yes tcpbindaddr=0.0.0.0

Extensión (DN)

Debemos configurar una extensión de tipo Generic CHAN SIP Device con los siguientes parámetros:

  • User Extension: 1001
  • Display Name: i686
  • SIP Alias: i686
  • Outbound CID: 555xxx
  • Secret: 1234
  • Transport: TCP Only

Este último es de vital importancia!

Cisco 9971

La configuración se lleva a cabo mediante un fichero .xml que irá servido mediante TFTP. FreePBX ya nos lo ofrece. Además necesitaremos la opción 150 en el DHCP, de forma que el teléfono sepa a dónde ir a buscar su configuración cuando arranque y coja una dirección IP. El fichero debe tener la nomenclatura SEP<MAC>.cnf.xml. Así que como la MAC del mío es E8:BA:70:FA:97:F3, su fichero de configuración será SEP.cnf.xmlSEPE8BA70FA97F3.cnf.

Los valores representativos que ha de incluir son:

<processNodeName>10.0.0.1</processNodeName>
<phoneLabel>i686</phoneLabel>
<featureLabel>1686 - 1001</featureLabel>
<proxy>USECALLMANAGER</proxy>
<name>1001</name>
<displayName>1001</displayName>
<authName>1001</authName>
<authPassword>1234</authPassword>
<contact>1001</contact>
<dialTemplate>dialplan.xml</dialTemplate>
<loadInformation>sip9971.9-4-2SR2-2</loadInformation>
<inactiveLoadInformation>sip9971.9-4-2SR2-2</inactiveLoadInformation>
<pcPort>0</pcPort>

El resto de configuraciones, así como el dialplan dependerán del despliegue que se utilice. La documentación relativa es fácilmente accesible.