Actualizado el 2016-01-15 para reflejar los cambios más recientes a las distribuciones.
Una de las actividades más importantes en mi vida profesional es la de capacitar sobre el uso de la plataforma Asterisk®, y durante los cursos que doy recibo frecuentemente preguntas como estas:
- ¿Cuál es la diferencia entre Asterisk y Elastix?
- Tengo sistemas basados en Trixbox. ¿Puedo migrarlos a Asterisk?
- ¿Es lo mismo Asterisk que AsteriskNow?
Cuando escucho estas preguntas es fácil darme cuenta que hay mucha diferencia entre los productos que reciben una promoción comercial contra los que son el proyecto base sobre el que se construye el producto comercial, y por eso quiero establecer la diferencia.
Asterisk «puro»
Asterisk es software open source, hecho en lenguaje C y creado originalmente por Mark Spencer (actual CTO de Digium, empresa que patrocina la mayor parte del desarrollo de Asterisk). Este software, por si solo, no es una herramienta plug-and-play que posea la capacidad de hacer llamadas, sino que es necesario atravesar por numerosos pasos (descarga, compilación, instalación y configuración) para que pueda realizar labores útiles. Sin embargo, es un elemento base: una plataforma para crear cosas más grandes, para que de allí podamos construir un sin fin de aplicaciones basadas no solamente en voz, sino en la unión con datos y/o cualquier otro sistema de cómputo que necesitamos que interactúe con un teléfono.
Asterisk puede instalarse en cualquier distribución de Linux, por lo que podemos usar Debian, Ubuntu, Mint, CentOS, RedHat, OpenSuse, etc. También se puede instalar en FreeBSD, MacOS y hay algunos ports para Windows, pero solo es en Linux en donde se tiene el soporte completo para su ejecución. Esto quiere decir que puedes tomar prácticamente cualquier PC que tengas y usando Asterisk la puedes convertir en un servidor de comunicaciones totalmente gratuito y open source.
Si quisiéramos hacer una analogía, Asterisk es el motor de un automovil. El motor es la parte base: sin él no se puede andar, pero por si solo no puede hacer gran cosa. Necesita de varias otras partes: asientos, volante, frenos, etc. para poder entregarnos la experiencia completa de poder conducir un vehículo.
Aquellas personas que optamos por especializarnos en Asterisk puro tenemos la opción de tomar 2 certificaciones que están disponibles: el dCAA (Digium Certified Asterisk Administrator) o el dCAP (Digium Certified Asterisk Professional). Ambas certificaciones son avaladas por Digium, y buscan reconocer que la persona que las posea cuenta con los conocimientos necesarios para instalar y configurar un servidor de comunicaciones basado en Asterisk, pero usando solamente la línea de comandos, con la que tenemos el máximo control, pero también la máxima complejidad.
Ventajas:
- Tienes total control: puedes hacer lo que quieras y actualizar en cualquier momento.
- Al compilar, tu conmutador se ajustará a la arquitectura de tu PC.
- Puedes elegir que módulos quieres compilar y cuales no.
- Sin limitantes impuestas por interfases gráficas.
Desventajas:
- Tienes que hacer todo a mano.
- Programar por línea de comandos puede no ser tan natural para algunas personas.
- Toma un mayor tiempo de implementación.
- Puedes caer en muchos escenarios diferentes y enfrentarte con muchos problemas por resolver.
Para muchas personas, configurar un sistema a partir de línea de comandos puede resultar complicado. Por tal motivo, existen varios grupos, comunidades y empresas que han optado por desarrollar su propio sabor de Asterisk, ofreciendo distribuciones todo-en-uno que simplifican notablemente el proceso de instalación y puesta en marcha de un conmutador IP. Estas son algunas de las más famosas:
FreePBX
FreePBX es la interfaz gráfica de facto para Asterisk. Por si sola, FreePBX solamente es una interfaz web, pero hoy en día existe una distribución de FreePBX con la que puedes descargar e instalar un ISO, y en un solo paso instalar Linux (una versión modificada de CentOS) + Asterisk + MySQL + Apache + FreePBX.
FreePBX nos permite simplificar el trabajo de configuración básica de Asterisk. Utiliza PHP y MySQL, y lo que hace es crear una representación más sencilla de comprender para facilitar la creación de usuarios, troncales, extensiones y otros puntos fundamentales de la configuración de Asterisk.
FreePBX es un apoyo importante para la administración de Asterisk por personal no técnico. Originalmente desarrollado y mantenido por Schmooze Com Inc, a principios de 2015 fue adquirido por Sangoma, quien es el actual desarrollador del software.
Ventajas:
- Prácticamente es considerada la interfaz web estandard de Asterisk.
- Mucho tiempo en desarrollo.
- Amplia comunidad que la soporta.
- Te ayuda a configurar Asterisk más rápidamente.
- Prácticamente todas las distribuciones open source disponibles hacen uso de esta interfaz.
Desventajas:
- No todos los módulos están soportados.
- Para mayor control tienes que recurrir a la linea de comandos a final de cuentas.
- La distro de FreePBX utiliza una versión modificada de CentOS, con la que se ha dificultado más la creación de soluciones libres que compitan directamente con las soluciones comerciales de Sangoma.
Elastix
Elastix es una distribución creada por Palosanto Solutions, cuya base de operaciones está en Guayaquil, Ecuador. Elastix surgió en el 2006 como una interfaz de tarificación de llamadas para Asterisk (una herramienta para interpretar los registros de llamadas que Asterisk genera), pero rápidamente se convirtió en una suite de comunicaciones que integra varios productos en uno, ya que en un solo ISO es posible instalar en un solo paso no solamente Asterisk, sino una interfaz web de configuración como FreePBX, un sistema de base de datos (MySQL), un sistema de mensajería instantánea (OpenFire), soporte para fax (Hylafax) y un CRM (vtiger) entre otras aplicaciones más que incluye. Hoy en día Elastix es la distribución basada en Asterisk que más seguidores tiene. Al igual que Asterisk, Elastix es un proyecto open source, con lo que es libre y gratuito.
Según el roadmap de Elastix con su próxima versión 4.0, se abandonará el uso de FreePBX para usar su propia interfaz de configuración. En las versiones 2.x e inferiores, la interfaz gráfica está «amarrada» con el uso de FreePBX 2.9 e inferiores, ya que Elastix usa un wrapper (para personalizarlo con su interfaz) y no soporta versiones posteriores del GUI.
Elastix no es un reemplazo de Asterisk, sino que es un conjunto de herramientas que unidas, nos permiten hacer de manera más sencilla las labores más comunes que haríamos utilizando un sistema desde línea de comandos.
Ventajas:
- Sistema todo en uno.
- Soporte incluido para señalizaciones de América Latina (R2 MFC).
- Amplia comunidad de apoyo.
- Existen algunos addons desarrollados por la comunidad que te permiten hacer crecer las funcionalidades de Elastix.
Desventajas:
- Tiempos de desarrollo muy largos. Principalmente desde que decidieron utilizar su propia interfaz web.
- Instala muchos componentes por default, los quieras usar o no.
- Su interfaz gráfica es muy lenta y pesada (comparada con FreePBX puro)
- Algunos componentes no han sido actualizados en mucho tiempo por romper la arquitectura propia de Elastix (ej. FreePBX 2.8, Vtiger 5.2.1)
- Al tener muchos componentes «extras», también ha sido víctima de errores de seguridad de los mismos.
- Relativa poca penetración en el mercado angloparlante. Su principal desarrollo ha sido en América Latina.
Trixbox
En sus inicios fue conocida como Asterisk@Home, y fue la primera distribución todo en uno que hacía uso de FreePBX + MySQL + PHP + CentOS + Asterisk para levantar un conmutador IP de manera rápida. En el 2006 cambia su nombre a Trixbox y se separa en las versiones CE (Community Edition) y Pro, que es el servicio de paga proporcionado por Fonality (la empresa que compró su desarrollo). Trixbox es más usada en el mercado norteamericano al estar creada originalmente en inglés y tener su base de operaciones en EUA. Sin embargo, al utilizar la misma interfaz de FreePBX, las funcionalidades que ofrece esta plataforma son casi las mismas que el resto de las distribuciones que se basan en ella.
Trixbox hace uso de un fork muy viejo de FreePBX, por lo que muchas de sus funcionalidades están atrasadas, comparadas con el resto de las distribuciones.
Ventajas:
- Mucho tiempo en el mercado.
- La versión Pro te permite administrar tu PBX desde la nube.
Desventajas:
- Sus componentes son muy viejos.
- Sin soporte para el mercado de América Latina.
- Poco desarrollo a la plataforma.
AsteriskNow
Es la distribución oficial de Digium, y al igual que las anteriores permite instalar CentOS + Asterisk en un solo paso. La diferencia primordial con las 2 anteriores es que esta es la distribución más ligera de todas, con lo que no se instalan extras (como Hud en Trixbox u Openfire, vtiger e Hylafax en Elastix). El FreePBX viene puro, por lo que puedes utilizar la versión más reciente y no estar amarrado a limitantes del desarrollador de la distribución. También es la distribución que más rápidamente ofrece las nuevas actualizaciones para Asterisk.
Un inconveniente quizá es que al ser mantenida por Digium no se ofrece el soporte precargado para las tarjetas PSTN de sus competidores (como Sangoma), por lo que si necesitas estos drivers tendrás que instalarlos por aparte.
Ventajas:
- Ligero.
- Apoyado por Digium.
Desventajas:
- Todos los extras deben ser instalados a mano.
PBX in a Flash
Tal como las anteriores, es una distro basada en CentOS + Asterisk + FreePBX. La principal ventaja que tiene sobre las otras es que es mantenida por un grupo de entusiastas que además de las funcionalidades de productos terminados como FreePBX, ofrecen su propia colección de mini-herramientas incluidas y fáciles de instalar con Asterisk, además de que no instalan software extra para el cual no tendremos uso (durante la instalación, tu determinas exactamente que quieres poner).
Es usada en mucho menor proporción que las anteriores, y su sistema de versionamiento puede resultar un poco complejo de entender. Sin embargo, tiene la gran ventaja de ser la más personalizable de las anteriores, por la gran cantidad de pequeños addons que es posible ponerle.
Ventajas:
- Altamente personalizable.
- Diferentes versiones te permiten experimentar con diferentes componentes.
Desventajas:
- Su sistema de versionamiento puede resultar confuso.
- Requieres conexión a internet durante la instalación.
- Reducida base de usuarios
Conclusiones
No importa la distribución que elijamos, todas ellas tienen algo en común: utilizan el software de Asterisk como una base para montar el resto de la experiencia para el usuario. Algunas instalan software extra, algunas te preguntan si lo quieres instalar, otras ni siquiera lo traen. ¿Cuál es la mejor de ellas para utilizar? Todo depende de nuestros hábitos, nuestros gustos y nuestra experiencia previa. Lo mejor que pueden hacer es decargarlas todas y probar una por una, hasta que sepan con cual se sienten más cómodos.
Si al final ninguna de ellas les resulta suficientemente buena, solo recuerden: todas estas distribuciones empezaron desde cero alguna vez, por lo que ustedes mismos podrían armar la suya propia con las herramientas que más les sirvan y desde allí, crear la herramienta más poderosa de comunicaciones que se ajustará completamente a sus necesidades. La decisión la tienen ustedes.
¡Suerte!