Entrevista al director de Elastix

Entrevistas de SomosLibres.org

Edgar Landivar, creador y actual director del proyecto Elastix fue consultado por la comunidad, a través de un ciclo de preguntas realizadas durante la última semana. En esta mini entrevista se contestan preguntas relacionadas a la creación del proyecto, sus expectativas y visiones hacia el futuro.

Continuaremos realizando ciclos de este tipo pronto con otros actores del proyecto.*

Rafael Bonifaz: ¿Qué se siente saber que el trabajo que tú iniciaste es utilizado por miles de personas alrededor del mundo? Me siento realmente agradecido de que miles de personas elijan usar nuestro producto por sobre muchas otras alternativas disponibles y es reconfortante ver que pudimos construir una comunidad muy activa alrededor del proyecto. Esto hace que también me sienta comprometido para que el producto siga teniendo ese componente de innovación y calidad que ha marcado nuestro trabajo desde el inicio del proyecto.

¿Alguna vez imaginaste que el éxito iba a ser tan grande?

La verdad, cuando iniciamos el proyecto siempre fui muy optimista y sabíamos que el proyecto tendría relativo éxito, pero mentiría si dijera que en ese punto sabíamos lo que iba a pasar. Muy pronto alcanzaremos el millón de descargas y la verdad, el alcanzar esa meta en este relativamente corto tiempo, sobrepasó mi optimismo inicial ;)

Josiah Spackman: ¿Cómo empezó Elastix y qué motivo a crear esta distribución cuándo ya existían alternativas? Bueno, es una larga historia ;)

Nosotros como PaloSanto hemos sido una compañía que ha desarrollado negocios sobre la línea del código abierto desde 1999 y en cierto punto los clientes nos comenzaron a llamar para implementaciones de PBXs basados en Asterisk. Iniciamos los primeros proyectos instalando primero el sistema operativo y luego todos los componentes uno por uno. Pronto nos dimos cuenta de que había muchos paquetes de software involucrados en cada instalación y que cada uno podía convertirse un posible punto de fallo.

Adicionalmente los clientes nos pedían interfaces de reportación de sus llamadas (CDRs) así que en algún punto escribimos un paquete de software en LAMP para mostrar dicha reportación. A ese paquete de software lo llamamos Elastix y ese fue el real comienzo del nombre. No era una distribución inicialmente. En todo caso, también lo comenzamos a instalar junto con los demás paquetes de software y también comenzamos a desarrollar otros scripts y cosas menores para complementar y automatizar nuestras instalaciones.

Cuando la interface de reportación Elastix estuvo lo suficientemente madura decidimos lanzarla con licencia GPL y la publicamos en Internet. Tuvimos algunas descargas al principio pero nada muy emocionante.

Qué nos motivó a hacer una distro?

Bueno, pasaron unos meses y decidimos analizar algunas de nuestras instalaciones y caímos en cuenta de que virtualmente en cada una de ellas teníamos combinaciones diferentes de paquetes y versiones; lo cual lógicamente sería difícil de mantener en el futuro. Eso sin contar el tiempo de implementación inicial, que era bastante largo.

Viendo el posible problema a futuro, decidimos probar algunas distribuciones disponibles en ese entonces para decidir cuál usar. La idea era que una distribución nos solucionara el problema de mantenimiento y nos redujera el tiempo de implantación. Aun tendríamos que instalar nuestra interface de reportación encima pero eso no tomaría mucho tiempo adicional.

Un viernes tuvimos una reunión para decidir qué distribución utilizar en nuestras implantaciones futuras y todas tenían alguna debilidad que involucraría trabajo extra así que luego de debatir por un buen tiempo saltó la idea de construir nuestra propia distribución y hacerla pública. La cosa parecía cobrar sentido pues podríamos incluir las herramientas que habíamos construido anteriormente y reciclar el nombre Elastix.

De todos modos la decisión no fue fácil y propuse hacer un proyecto experimental por 12 meses... ya conocen el resto de la historia...

Para poner las cosas en contexto debo decir que en 2003 ya habíamos lanzado una distribución Linux de escritorio, orientada al mercado local, pero no tuvo mucho éxito, por lo que teníamos algún “expertise” acerca de cómo crear y mantener una distribución. Esto sin duda facilitó las cosas para el nacimiento de Elastix y nos dio un punto donde comenzar. Es probable que sin ese anterior “proyecto fallido” Elastix no hubiera visto la luz.

Franck Danard: ¿Es posible que la comunidad de Elastix cree un “livecd” de la distribución? Algo parecido a lo que hacen otras distros como Ubuntu? He visto que existe este interés, pero honestamente no está en el roadmap, al menos por ahora. De todos modos si la comunidad está dispuesta a contribuir de algún modo con este trabajo, seguramente habría que re-evaluar esta alternativa. Como siempre, estamos abiertos a ideas.

Frédéric BAGNOL: ¿Cree usted que sería buena idea integrar BigBlueBotton en Elastix?

Por supuesto, actualmente estamos planificando las futuras versiones de Elastix y las conferencias basadas en Web han sido un punto a discutir. Inclusive hemos lanzado un Addon para Elastix llamado WebConference que ha sido escrito in-house, pero al momento carece de soporte de video.

BigBlueButton es un paquete de software que estamos evaluando, a lo mejor es lo que estamos buscando.

Dr. Sichendra Bista: ¿Por qué Elastix no se cambia a FreeSwitch cuando FreePBX 3.0 ya ha utiliza FreeSwitch por defecto en lugar de Asterisk? ¿Qué les detiene para hacer esto?

Hemos estado evaluando FS desde hace algún tiempo y sin duda es un paquete de software increíble. Al menos en el corto plazo solo estamos haciendo experimentos con FS pero no tenemos planes muy concretos.

Debo decir también que estamos relativamente cómodos con Asterisk así que una alternativa posible en lugar de migrar a FS es mantener dos distros pero, bueno, eso demanda mucho trabajo y eso es un factor a analizar.

Rodrigo Pérez: Me gusta Elastix, tiene todo lo necesario, pero hay algo que no me gusta, la forma de desarrollar módulos, lo encuentro demasiado engorroso. ¿Han pensado en utilizar algún framework, como CakePHP por ejemplo? Personalmente he realizado algunos experimentos con CakePHP y otros frameworks pero no hemos tomado la decisión de cambiar.

Actualmente utilizamos un framework propio llamado Neo. Neo es un framework especializado para Elastix y es muy probable que lo que suceda es que no encuentras mucha información disponible. Estamos tratando de solucionar este problema desarrollando más documentación para desarrolladores.

Iván Romero: ¿El proyecto tiene alguna intensión de agregar módulos y políticas de seguridad?

Hemos trabajado bastante en seguridad en la nueva versión 2.0. Por un lado nuestro mismo proceso de desarrollo ha sido modificado para verificar por posibles huecos de seguridad en nuestra etapa de pruebas y los bugs relacionados con seguridad se resuelven ahora con la máxima celeridad posible.

Por otro lado en Elastix 2.0 hemos incluido una rutina obligatoria de cambio de claves luego de la instalación, evitando así que las claves por omisión que se usan en Elastix puedan ser de dominio público.

Con respecto a los módulos que preguntas, estamos planificando la inclusión de un par de módulos relacionados con lo que comentas: un módulo básico de firewall orientado a telefonía y un módulo de auditoría.

Gottenphone Gore (ATCOM): Hemos notado que el programa de entrenamiento de Elastix se enfoca en los países y áreas de habla hispana. ¿Cómo se mejorará el soporte en países donde no se habla el español? ¿Tienen planes de dar entrenamiento en zonas donde no se habla español?

En este momento nos encontramos desarrollando material en Inglés y estamos muy contentos con la expectativa generada.

Adicionalmente, pronto lanzaremos el programa de cursos de entrenamiento en-línea, así que de este modo nuestro programa oficial de cursos estará disponible para usuarios de habla inglesa, ya sea físicamente o remotamente.

¿Existe algún plan para integrar Elastix en Hardware?

Si la pregunta es acerca de portar Elastix a una tarjeta embebida puedo decir que hemos realizado algunos experimentos con hardware Alix y uno que otro hardware embebido. Actualmente nos encontramos experimentando con un board basado en procesador Blackfin, pero no se trata de algo serio por el momento ya que este proyecto no está en nuestro roadmap.

¿Cuál es la principal ventaja de Elastix en su opinión?

En mi opinión no existe solo una ventaja. Algunas de las principales son:

- Estamos enfocados en el desarrollo de un servidor de Comunicaciones Unificadas y no solamente un PBX. Esto nos permite dar funcionalidades más integradas, y claro, una mejor experiencia para el usuario.

- Tenemos un proyecto muy activo y estable que crece cada día. Estamos desarrollando funcionalidades y corrigiendo errores a un buen ritmo. Esto también garantiza que el proyecto será mantenido en el futuro y que los usuarios actuales pueden descargar actualizaciones y nuevas versiones por un buen tiempo.

- Nuestro modelo de negocios siempre se ha basado en el código abierto. Esto garantiza que el proyecto Elastix siempre sea libre. No tenemos planes obscuros, código cerrado o cosas como esas.

Asterisk tiene un problema con la limitación de llamadas concurrentes. ¿Tiene alguna idea sobre cómo solucionar esto con Elastix?

Hay que tomar en cuenta que Asterisk no está diseñado pensando en servir a implementaciones de miles de usuarios usando un solo servidor. Asterisk se enfoca en que las empresas tengan una funcionalidad muy rica que de otro modo costaría demasiado.

Para esos escenarios de larga escala, la solución es combinar Elastix/Asterisk con componentes para balancear la carga de las llamadas. Es posible manejar miles de llamadas con esta técnica. Todo manteniendo los costos bajos, por lo que es un buen negocio.

Por otro lado, no estoy diciendo que no exista nada que mejorar en Asterisk, pero mucha gente tiende a comparar Asterisk con otro tipo de “cosas” como grandes switches y esto no es una comparación justa.

Sergio Alecha: ¿Cuando Elastix comenzara a utilizar la metodología Real Time para sus configuraciones? Buena pregunta, es algo que hemos debatido mucho aquí, de hecho tenemos una librería experimental. Sin embargo, en cuanto a configuración usamos actualmente freePBX y él administra la configuración usando archivos de texto plano.

Fuente: Elastix

Tema Relacionado: Entrevistas de SomosLibres.org