Códigos para Elastix (Shortcodes)

codigos para elastix - no molestar

Hace mucho que no escribo sobre Elastix, será porque no da muchos problemas que digamos.

Es un conmutador telefónico (PBX) confiable y cuando esta bien configurado los problemas son escasos, Si por alguna extraña razón llega a presentar problemas basta con reiniciarlo y si es algo más severo generalmente es por detallitos en el hardware.

Los shortcodes con los códigos que funcionan prácticamente con cualquier teléfono aunque no tenga teclas especiales.

De hecho muchos teléfonos utilizan estos mismos códigos o se pueden programar, por ejemplo en el IP Phone Linksys SPA922 la tecla del buzón de voz es programable y en su configuración pongo el shortcode para accesar el buzón de la misma extensión, por citar solo un ejemplo.

Esta es una pequeñísima colección del universo de códigos que existen, sin embargo son los los que más he utilizado con el tiempo.

Lista de códigos

Servicio / OpciónCódigo en Elastix
Sígueme*72
Desactivar sígueme*73
No molestar (DND)*78
Desactivar No Molestar*79
Activar la llamada en espera*70
Desactivar la llamada en espera*71
Escuchar el correo de voz de mi extensión*97
Escuchar el correo de voz de otra extensión*98
Prueba de eco (echo test)*43
Te dice la hora*60
Jala la llamada* * [Extensión que está sonando]
Despertador*62
Tu número de extensión*65
Marca la última llamada que recibiste*69
Transferir una llamada con atención (Attended Transfer)*2 + Número de extensión
Transferir una llamada de forma desatendida (Blind Transfer)## + Número de extensión

Por último quiero agregar que aunque estos códigos son para Elastix, podrían funcionar también en cualquier implementación de Asterisk.

Como configurar un teléfono CISCO Unified IP Phone 9951 con Elastix

Teléfono CISCO 9951

Introducción.

El Cisco Unified IP Phone 9951 es un teléfono elegante con un display a color, excelente calidad en sus materiales, repleto de opciones y características, pero lograr que funcionara con elastix se estaba volviendo un dolor de cabeza. Al parecer este teléfono forma parte de una solución más completa llamada Cisco Unified Communications Manager ,aunque es posible usarlo con asterisk no esta pensado como para simplificar su uso con él.

Arranque del teléfono

Fueron 2 días de googlear todo tipo de información en páginas y foros hasta que por fin logré que se conectara al conmutador Elastix. Si se llegan a topar un con este teléfono estos son los puntos que deben de cubrir.

Firmware.

Phone Information

Es un punto importante porque el firmware del aparato debe de soportar el estándar de comunicación SIP. En el caso del 9951 tiene instalada la versión 9.x y según los foros que he leído esta versión soporta sin problemas este protocolo de comunicaciones. En otros modelos es probable que sea necesaria una actualización del firmware.

Servidor TFTP.

TFTPd32

Anteriormente había configurado teléfonos Linksys, nada más sencillo que abrir su página web, configurarlos, guardar los cambios y listo.

Las cosas son muy diferentes con el 9951. Para empezar necesita de un servidor TFTP. Al momento de iniciar el teléfono (o reconectarlo a la red) obtiene su dirección IP de un DHCP y luego busca su archivo de configuración XML (que discutiremos más adelante) en el servidor TFTP, este le proporciona el archivo y si todo salio bien veremos un teléfono listo para hacer llamadas.

Phone not registered

Provisionalmente instalé el programa Tftpd32 en una computadora con Windows, mientras investigo como hacerlo en el mismo servidor Elastix.

Su configuración es mínima, en el mismo directorio donde se instalan los archivos del programa se copian los archivos de configuración del teléfono.

Configuración del DNS.

Este punto puede ser un poco complicado. Verán, junto con la información que proporciona el servidor DHCP (como la dirección IP, los DNS y todo eso), también se puede configurar para que proporcione la dirección IP del servidor TFTP de nuestra red. El mismo programa Tftpd32 tiene un servidor DNS que soluciona este punto ya que se apunta a si mismo como el servidor TFTP.

Pero no todos queremos eso, muchos ya tenemos un router o servidor DHCP que hace ese trabajo. Afortunadamente en IPCop solo es necesario agregar la opción tftp-server-name y decirle cual es la dirección IP, solo que tengan cuidado de poner entre comillas la dirección del servidor.

Configuración del DHCP server

Configuración de Elastix.

Lo primero es dar de alta una extensión de pruebas. Esto no tiene mayor complicación y es muy sencillo. Por ejemplo di de alta la extensión 99 con el nombre de Pruebas 9951.

Para que se registre correctamente el teléfono hay que modificar dos archivos en la configuración del servidor Elastix. Ambos archivos están en la carpeta /etc/asterisk/ pero es más sencillo editarlos usando la herramienta Asterisk File Editor que se encuentra en el menú PBXTools.

sip_custom.conf

A este archivo le vamos a agregar las siguientes líneas:

sip_custom

sip_custom_post.conf

Y a este otro lo siguiente:

Esta configuración es para la extensión 99, si tenemos más tenemos que declarar líneas similares, una por cada extensión. Básicamente le estamos diciendo a elastix que agregue (+) a la extensión 99 lo que se le indica.

sip_custom_post

Configuración del archivo XML.

Este es de los puntos más oscuros. Tomé como base archivo publicado en los foros de elastix[2] pero no funcionó. El articulo de Minden[1] menciona los parámetros básicos para lograr una conexión, pero no tiene un ejemplo para el 9951. Por último el artículo de Voip-info[3] menciona varios parámetros y los explica a detalle.

El archivo XML debe de tener un nombre especial formado con la Mac Address del dispositivo.

Ejemplo: Si la Mac Address del dispositivo es 1234567890AB el nombre del archivo sería,

SEP + Mac Address del dispositivo.cnf.xml

SEP1234567890AB.cnf.xml

Este archivo es el que se debe de copiar al servidor TFTP para que lo proporcione al teléfono durante su arranque.

Con esta información y revisando los logs de elastix hice un archivo de configuración base, espero que les sirva. Deben de sustituir los valores que puse en mayúsculas y entre corchetes por los apropiados para su instalación.

Descargar ejemplo de configuración SEP1234567890AB.cnf.xml

Esta es una lista de los valores que he estado modificando dentro del archivo XML.

Para especificar un servidor de hora:

<ntp> <name>[DIRECCIÓN IP DEL SERVIDOR DE HORA (NTP)]</name> <ntpmode>Unicast</ntpmode> </ntp>

 

Indicar la dirección del servidor Elastix:

<processnodename>[DIRECCIÓN IP DEL SERVIDOR ELASTIX]</processnodename>

 

Etiqueta del teléfono (aparece en la esquina superior derecha de la pantalla):

<phonelabel>[ETIQUETA DEL TELEFONO]</phonelabel>

 

Información para la conexión de la extensión:

<name>[NUMERO DE EXTENSION]</name> <authName>[NUMERO DE EXTENSION]</authName> <authPassword>[CONTRASEÑA DE LA EXTENSION]</authPassword>

Conclusiones

Todavía me falta mucho por hacer con este teléfono. Tengo pendiente pasarle una lista de teléfonos a manera de directorio, pero mientras tanto ya puede hacer y recibir llamadas.

Telefono conectado exitosamente a Elastix Recibiendo una llamada

Actualización 2011-09-30

Acabo de encontrar otro archivo de configuración mucho más completo y que te da más funcionalidad al teléfono.

Cisco 9951 archivo de configuración XML

SEP2009093012AB.cnf.xml.tar.bz2

Ahorita estoy investigando el uso de Open79xx XML Directory Este programa permite administrar una lista telefónica que carga automáticamente el teléfono.

Actualización 2012-06-05

Si durante las llamadas escuchan un beep de manera intermitente, por favor busquen este valor en el archivo xml de configuración y cambien su valor a cero.

<recordingTone>0</recordingTone>

 

Referencias

Como restaurar un respaldo en Elastix

Mal inicio de semana el que tuve. Durante el fin de semana hubo sobrecargas eléctricas en el trabajo, al llegar el lunes temprano de buen humor después de haber pasado el fin de semana viendo un maratón de Game of Thrones con mi chaparrita me encuentro con un escenario de pesadilla.

Un servidor en muy malas condiciones, fallaron dos de sus 3 discos duros y el conmutador Elastix que al parecer había sobrevivido estoicamente en realidad estaba mal herido y agonizaba.

Aquella computadora Duron con sus vetustos 512 MB en RAM fue reemplazada con un Celeron y la memoria se duplicó (no necesita más).

Afortunadamente tenía un respaldo de la configuración, no me quiero ni imaginar el infierno que hubiera sido reconfigurar todas las extensiones. La reinstalación de elastix fue muy rápida unos 20 minutos y ya estaba listo para responder a mi llamado 🙂 (chiste local).

Pero me di cuenta de algo, elastix tiene la opción de generar un respaldo, incluso lo puedes descargar, pero NO TIENE OPCIÓN PARA SUBIR UN RESPALDO. Esta bien que confíen en la plataforma , pero los discos duros no son eternos.

¿A donde copiar el archivo?

Buscando información sobre como restaurar un respaldo en Elastixun me di cuenta de que hacerlo en el mismo equipo era muy fácil, pero transferir ese respaldo a otro equipo es un poquito más complicado.

Para restaurar un respaldo que se encuentra en otra computadora a Elastix solo hay que copiar tu archivo de respaldo a la carpeta /var/www/backup/  del equipo nuevo,  recargar la página de respaldos, seleccionar el respaldo que acabo de subir y presionar el botón Restaurar.

Para subir el archivo utilicé el programa Winscp con el usuario de root y su contraseña.

Solo tengan la precaución de revisar que las versiones de Elastix de la máquina de origen y destino sea exactamente la misma, de lo contrario podrían recibir un mensaje de advertencia.

Warning Versions to restore are different
Warning Versions to restore are different.

Si quieren una lista de las diferentes versiones que se han publicado de Elastix lo pueden hacer aquí.

En menos de media hora ya tenía el conmutador telefónico listo para pedir ayuda y refacciones.

¡Gracias software libre!