La pregunta principal es, ¿es Asterisk 1.4 estable para un sistema en producción? y en el caso de que la respuesta sea sí, ¿Qué versión es la más estable y mejor afinada?.
Para responder a esta pregunta deberíamos empezar a pensar qué consideramos estable.
Estabilidad significa que la aplicación no falla, no se muere sin causa aparente y funciona perfectamente todo lo que supuestamente dicen que funciona. En este caso, Asterisk 1.4 no se muere sin causa aparente, es una versión bastante robusta que tiene 6 meses de antigüedad programando y corrigiendo bugs a diario (http://bugs.digium.com).
La mayoría de los bugs reportados son corregidos como máximo en 48 horas y generando un parche temporal, que en el caso de ser necesario pasa a incluirse en una versión personal del desarrollador (Team) que ha generado el parche.
Una vez corregida y preparada, pasa a la versión SVN (Trunk) para seguir haciéndole pruebas durante 2 semanas.
Y si todo ha ido bien, se incluirá en la versión oficial (Branch).
Paralélamente a este ciclo (basado en corrección de errores) se desarrollan las ventajas/añadidos/propiedades discutidas para pertenecer a la versión 1.4 y tras pasar un tiempo de «testeo en fase beta» (ejemplo) se añaden a la versión SVN.
Es por este motivo por lo que los añadidos que aparecen, a veces ni siquiera se incluyen en la versión oficial, bien porque no ha sido testeado lo suficiente, bien porque a nadie le ha interesado, o bien porque no es lo suficientemente estable.
– La versión 1.4 trae nuevos añadidos que pueden ser mucho más útiles que las que trae la versión 1.2.
(Por ejemplo, el protocolo QSIG viene mucho mejor implementado en la versión 1.4 que en la 1.2, el protocolo Jingle/Gtalk, e incluso el propio SIP viene con soporte para Outbound proxy e incluso JitterBuffer, algo que no viene en la versión 1.2.
– La versión 1.2 en cambio a partir del día 1 de Agosto (dentro de 2 días) pasará a modo de mantenimiento, esto significa que no habrá más añadidos, únicamente se realizarán cambios para corregir los bugs que se encuentren a partir de ahora (lo que significa que tendremos una o dos nuevas versiones de aquí a dos días :D) de manera que lo que hay, es lo que habrá y lo que haya, será muy, muy estable. 😛
El esquema que he hecho, no está completo. Faltan pasos muy importantes como revisiones de los coordinadores de los proyectos, licencias, etc… pero a modo simple, es algo así. 🙂
Hay que comentar que cuando hablamos de versiones 1.2 y 1.4 no hablamos únicamente del paquete Asterisk, si no de todos los que le acompañan: zaptel, libpri, addons, etc.
Si decidimos utilizar 1.4 como sistema de producción, tendremos las últimas mejoras (compatibilidad, utilizacion de recursos, características básicas, etc…) pero podremos ser los «afortunados» de dar con algún bug extraño que se le haya pasado a los cientos de miles de usuarios de Asterisk y poder contribuir en la mejora del código reportándolo e incluso aportando nuestro propio parche para solucionarlo.
Si decidimos utilizar 1.2 como sistema de producción, tendremos un sistema que ha sido probado y testeado por cientos de miles de usuarios de Asterisk y que, en el caso de que algo no funcione, es prácticamente posible que se deba a un fallo nuestro a la hora de configurarlo, o bien sobre algo que no esté soportado en esta versión, no pudiendo pedir soporte a los desarrolladores ya que estos estarán metidos de lleno en el desarrollo de la 1.4. salvo algún caso realmente grave (exploits, DoS, etc…).
Para finalizar, y basándome en mi propia experiencia yo recomendaría utilizar la versión 1.4 y concretamente la última versión posible previamente probada y que funcione como queremos. Además de considerarla estable para producción, incluyen mejoras muy necesarias e imprescindibles actualmente por lo que Asterisk 1.2 está desfasada por los propios usuarios finales que con sus necesidades nos ponen a prueba a diario con sus requerimientos.
Ya sabeis, las pruebas, en casita y con «gaseosa» y antes de utilizarlo en un sistema de producción, hacer 1001 pruebas para asegurarnos que funciona todo como realmente queremos.