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).

Hey a todos!!~
Les comento que acabo de encontrar una super pagina con un monton de informacion sobre VOIP servicios, proveedores, cobertura, TODOOOOO!!!
Se las recomiendo y espero puedan sacarle buen uso.
Responder
Hola a todos.
¿Y se puede hacer lo mismo con un Linksys WRP400?
Es que me estoy volviendo loco y no consigo que pida nada por TFTP.
El servidor de dhcp esta funcionando y el servidor de TFTP no muestra nada en el log. Todo configurado en una debian etch que actualmente esta sirviendo ficheros de configuración para otros dispositivos por tftp.
He añadido la opción tftp-server-name y viendo que no funcionaba las opciones next-server, filename y option bootfile-name. Y ni con esas.
Si desde un PC conectado al router pido un fichero si que veo log en el TFTP.
Además ni siquiera puedo sacar la configuracion con el spaconf.
Un saludo
Hola, tengo un problema y es con el idioma
de los spa922 y 921. Resulta que cuando
carga el archivo spa922-$MA.cfg el telefono
inicia bien, con el idioma en español, pero
despues que carga el spa-actualizacion se
reinicia y se pone en ingles. y pues creo que
la solucion es poner en el archivo de la mac
del telefono que desactie el provisionamiento
pero para despues hacer un cambio tocaria
archivo por archivo. no se si me puedan
ayudar con esto…..
gracias
DiegoF
Magnificent website. Plenty of useful info here. I am sending it to some friends ans also sharing in delicious. And certainly, thanks for your effort!
As I have explained, this is a organization tool. It’s not only a miracle machine. It could without difficulty change into another expense if you do not put the persistence into learning how to cash in on it.