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 máquinas 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.

Actualización.

Les tengo dos noticias: la mala es que debido a la venta de Elastix tengo que dejar de recomendar este producto. Simplemente no se vale agarrar el trabajo de toda una comunidad para luego venderlo a la competencia. Pueden leer la historia completa en Adiós Elastix, bienvenida Issabel.

La buena es que la comunidad ha sacado un producto libre que se llama Issabel y que al menos en sus comienzos es muy similar a Elastix. Hay opciones de migración de Elastix a Issabel y promete muchas cosas buenas gracias a su activo desarrollo.

Si van a emprender la aventura de Voz sobre IP prefieran Issabel sobre otras opciones.