En instalaciones de telefonía IP con un número considerable de teléfonos la posibilidad de autoconfiguración de los mismos se torna como una opción muy a tener en cuenta por las comodidades que brinda. No sólo porque minimiza el tiempo de configuración de todos los terminales, sino porque permite actualizaciones y cambios de parámetros bajo demanda.
Por ejemplo: imaginemos que llevamos a cabo una instalación de Voz-IP con 20 teléfonos y desechamos la idea de la autoconfiguración. No sólo perdemos un tiempo considerable configurando a mano cada terminal, sino que ante la necesidad de cambiar cualquier parámetro de forma global deberemos configurar, de nuevo, terminal a terminal con el coste que lleva implícito.
Detallaré a continuación cómo preparar un servidor Debian Sarge para la autoconfiguración de X teléfonos Linksys SPA901 conectados todos ellos a la misma red.
Los objetivos son:
- Los teléfonos deben autoconfigurarse completamente con sólo enchufarlos a la red.
- En un futuro se debe permitir fácilmente el cambio de parámetros tan sólo con modificar algún fichero de configuración en el servidor.
Pasos a seguir
Instalación de un servidor TFTP
- Instalamos atftpd:
apt-get install atftpd - Debconf nos preguntaŕa si lo queremos en modo “alone” o por “inetd”. Responderemos indistintamente (se recomienda “inetd” en servidores con gran carga de trabajo).
- En cuanto al directorio base, el sugerido /tftpboot es una opción perfectamente válida.
Instalación de un servidor DHCP
Los teléfonos alquilarán la dirección IP por DHCP, así que debemos configurar un servidor DHCP en la red que indique a los teléfonos la IP del servidor TFTP (supongamos 192.168.0.100), al cuál solicitarán los archivos de autoconfiguración.
- Instalamos dhcp3-server:
apt-get install dhcp3-server - En el fichero /etc/dhcp3/dhcpd.conf:
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option tftp-server-name "192.168.0.100";
}
Parámetros del teléfono Linksys
Necesitamos conocer el formato y los campos de nuestros teléfonos Linksys SPA901. Para ello emplearemos el programa spaconf, el cuál sirve tanto para volcar los parámetros de ciertos teléfonos Linksys SPA como para escribir en ellos. En nuestro caso sólo lo usaremos para averiguar los nombres exactos de cada parámetro configurable en el teléfono.
- Lo descargamos de aquí. Requiere Python 2.3 o mayor.
- Conectamos algún teléfono Linksys SPA a la red y averiguamos su IP.
- Ejecutamos:
spaconf.py http://admin:password@IP_telefono/ parametros_spa
(en caso de que el password sea nulo hay que poner un texto cualquiera, pero no se puede omitir). - Ahora tenemos en el fichero parametros_spa los datos por defecto del teléfono.
Fichero XML de provisión para Linksys
Tenemos que generar un fichero XML para colocarlo en /tftpboot y servirlo a los teléfonos cuando arranquen. El nombre de los campos lo extraemos del fichero parametros_spa pero con algunas consideraciones:
- Debemos quitar la primera palabra de cada campo, que corresponde con la pestaña correspondiente a dicho parámetro en el interfaz web de configuración.
- La inicial de cada palabra se pone en mayúscula.
- Los números “_1_” se ponen al final del campo.
Así pues “system_primary_dns” pasará a ser “Primary_Dns” y “ext_1_proxy” pasará a ser “Proxy_1_”.
Generamos entonces el fichero spa901.cfg y lo guardamos con permisos de escritura sólo para root en /tftpboot (hay que evitar que los clientes FTPT puedan borrar o modificar el archivo o subir nuevos archivos.
- El fichero se llama spa901.cfg porque ese es el fichero que de fábrica solicitan los Linksys SPA901.
- “Admin_Passwd” y “User_Password” son los passwords del interfaz web.
- “Protect_IVR_FactoryReset” protege al teléfono con el password de “Admin” para acciones administrativas (por ejemplo resetear el terminal).
- “Resync_Periodic” fija el periodo en el que se busca una nueva actualización de provisión. Lo colocamos a 10 segundos porque acto seguido deberá pedir un nuevo fichero.
- “Profile_Rule” indica el nuevo fichero que deberá solicitar el terminal para autoconfigurarse. Le llamamos spa901-$MA.cfg para que cada teléfono pida un archivo cuyo nombre contenga la MAC del teléfono (así conseguiremos asignar a cada teléfono su usuario y clave entre otros datos dependientes del terminal).
Ahora creamos la carpeta /tftpboot/spa901-MAC y generamos tantos ficheros como teléfonos Linksys SPA901 tengamos que configurar. A cada uno le añadimos su MAC en minúsculas al final. Por ejemplo: spa901-000e07db185e.cfg
- Indicamos el usuario y password del usuario SIP.
- Indicamos también que el nuevo fichero a descargar será spa901-ACTUALIZACION.cfg dentro de /tftpboot. Dicho archivo servirá para realizar cambios globales posteriormente.
El archivo de actualización spa901-ACTUALIZACION.cfg estará inicialmente vacío.
Si posteriormente cambiamos la IP de la centralita bastará con indicar el parámetro del proxy en el fichero spa901-ACTUALIZACION.cfg, y en un máximo de 1000 segundos todos los teléfonos se habrán actualizado.
Importante
Los teléfonos sólo cargarán o modificarán los parámetros contenidos en el fichero de actualización. En ningún caso serán sobreescritos o devueltos al valor de fábrica el resto de parámetros (lo cuál nos otorga mucha más flexibilidad).
Posted by Iñaki Baz Castillo in Howto, Teléfonos IP
