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!

Grandstream Handtytone 286 en Elastix

Los Grandstream son unos ATA (Analogue Terminal Adapter) muy económicos y muy sencillos de configurar. Este tipo de aparatitos se vuelven necesarios si quieres conectar un teléfono normal como puede ser un teléfono inálambrico o un fax.

Handytone 286 de Grandstream

Son aparatos muy simples, en un extremo se conectan a la red y en el otro al teléfono normal.

Como no tienen display puede ser un poco complicado averiguar la dirección ip que obtuvieron, para averiguarla hay que hacer los siguiente.

  1. Descolgar el teléfono y marcar * * * (tres veces asterisco).
  2. Escucharan un código de error (todavía no se registra al servidor elastix)
  3. Presionan la tecla # para que entre en el menú de opciones.
  4. Presionan 02 que es la opción en la que les va a decir la dirección ip del aparatito, les reto a que la anoten en el primer intento 🙂

Claro que todo esto y la explicación de muchas más opciones las pueden encontrar en el [Manual de usuario para el handytone 286](http://www.grandstream.com/user_manuals/HandyTone.pdf).

Abrimos una página web y tecleamos la dirección IP, les pedirá una contraseña que es admin.

Vamos a la pestaña que dice ADVANCED SETTINGS 1, aquí es donde ocurre la magia.

Configuracion de un Grandstream Handytone 286 para elastix

Claro que para que funcione se debe de dar primero la extensión en el servidor Elastix, realmente es muy sencillo.

Solo quiero agregar un detalle, la extensión al parecer no detectaba correctamente los tonos de las teclas y es indispensable para revisar el buzón de voz o hacer transferencias de llamadas.

Para eso cambiamos el valor de Send DTMF y solo seleccionamos la opción de via RTP (RFC2833).

Guardamos las configuraciones, reiniciamos el aparatito y listo con eso debe de funcionar correctamente.

P.D: Parafraseando un poco a Bob Ross

Soy su amigo Linuxman, me despido deseándoles felices llamadas…. hasta la próxima.

Construyendo un conmutador telefónico con Elastix

Hace como tres semanas tuvimos un desagradable incidente en el trabajo. La noche anterior hubo una fuerte tormenta eléctrica en la Comarca Lagunera y al llegar a la oficina tuve el “agradable” recibimiento de un conmutador telefónico agonizante.

Dos de sus módulos se fueron al cielo de los conmutadores y los que quedaban resultaban inútiles sin los otros.

Después del estupor inicial y de comunicar a la empresa con teléfonos inalámbricos tenía que volver a echar a andar el conmutador.

Plan A

Llamé a la empresa en Monterrey que nos vendió e instaló el conmutador y nos mando las cotizaciones para ver las opciones. Como es un aparato ya algo “viejito” se podría reemplazar las piezas con unas usadas con la aclaración de que no tendría garantía, lo que, según su cotización saldría en unos 4,000 USD. O ya de plano comprar todo un equipo nuevo, lo que subiría el costo a unos 6,000 USD poco más, poco menos.

Plan B

Conseguir las piezas por internet, que afortunadamente si se pudo y nos vamos a ahorrar una gran suma, aunque van a tardar un poco en llegar.

Pensandolo con calma me pude dar cuenta de lo costoso que pueden ser estos equipos, lo exclusivos de los aparatos y si algo se descompone tienes que depender de un tercero.

Tiempo atras había leído varios articulos de mi amigo El Cánibal sobre servidores que ejecutaban asterisk y voz sobre ip, pero como no se me había tenido la necesidad no tenía idea de como montar uno.

Después de una llamada con él usando skype junté la suficiente información como para hacer un servidorcito de pruebas.

Receta para un servidor elastix de pruebas.

Manuales

No se puede ir a la guerra sin fusil, y en este caso me armé de dos excelentes documentos. Elastix with out tears de Ben Sharif y Elastix a ritmo de merengue de Alfio Muñoz.

Ambos documentos se complementan, los consultaba constantemente y son mi primer fuente de consulta ante cualquier duda.

Software

Por recomendación de Oscar aka El Cánibal, descargué Elastix, una distribución de software libre basada en Cent OS que incluye programas como Asterisk, Hylafax, Openfire, Postfix, vTigerCRM y SugarCRM.

Estos programas en conjunto permiten dar servicios de:
• Voz sobre IP con funciones de PBX
• Fax
• Mensajería Instantánea
• Email
• Colaboración

Como no tenía una computadora disponible instalé elastix en una computadora con VirtualBox, le puse una configuración mínima de 384 MB en RAM y 8 GB de espacio en el disco duro, la tarjeta de red la configuré en modo Bridge para que quedara dentro de mi misma subred.

Como telefonos de software bajé Xten lite para windows y en linux hice pruebas con Empathy, este último recibe las llamadas pero queda un poco corto en otras funciones.

Hardware

Tengo un par de Linksys SPA3102 que había utilizado en un experimento anterior. Estos aparatitos son una maravilla !!!, se configuran mediante una página web y tienen dos puertos uno FXO (Line) y otro FXS (Phone).

Uno lo configuré como extensión conectándolo al puerto que dice Phone (FXS), este fue el má sencillo de configurar siguiendo la guía SPA3102 and FreePBX HOWTO.

Extensión con un SPA3102

El otro lo puse como troncal conectando una línea telefónica al puerto Line (FXO), este aparatito es el que se encarga de ser el intermediario entre la línea (en este caso de Axtel) y el servidor Elastix.

Este no fue tan sencillo de configurar, literalmente me sacó canas verdes y un día de leer tutoriales y manuales.

En los primeros intentos logré que salieran las llamadas, pero para recibir no se podía, simplemente no le pasaba la estafeta a la extensión que programé.

Fue hasta que dí con este tutorial How to setup a Linksys SPA-3102 or Sipura
SPA-3000 with FreePBX
 (ya no funciona este enlace, en su lugar pueden probar
How to Configure SPA3102 as SIP Trunk on Elastix
) y releerlo en más de una ocasión que pude hacer que funcionara.

SPA3102 configurado como troncal

Al final mi instalación quedó de la siguiente manera:

Diagrama de conexiones del conmutador elastix

Planes futuros

Todo este trabajo fue para montar un servidor de pruebas, el siguiente paso es instalar todo en un equipo real.

Sustituiré el SPA3102 que esta como troncal con una tarjeta Openvox A400P con capacidad de 4 líneas telefónicas.

Como todas las partes del conmutador son “genéricas” espero que en el caso de una falla poder conseguir fácilmente las refacciones. Además su sistema de respaldos es genial, con un par de clics hice una copia de mi configuración para poder regresar a ella si hacía algo mal.

Todavía me falta conseguir teléfonos IP y adaptadores ATA (para poder conectarle maquinas de FAX o teléfonos normales). El problema es que hay una enorme variedad de modelos de estos aparatos, estoy buscando entre equipos Grandstream, Linksys, Cisco, pero si ustedes saben de uno que cumpla con el sello de calidad mexicano de las 3 B, se los agradecería mucho.

Como ven este artículo no es una guía de instalación, apenas si rasca un poco sobre la superficie del amplio tema de conmutadores que usan software libre, sin embargo, espero que sea un buen punto de partida.