Acerca de DeStar
Enero 17 de 2005
El turno de la columna de esta semana es para DeStar. DeStar es un proyecto libre bastante reciente que tiene como objetivo proveer una aplicación web robusta y sencilla para configurar una PBX digital con servicios de valor agregado basada en Asterisk.
Asterisk es reconocido actualmente como un proyecto de Software Libre de gran envergadura que trata de crear una PBX basada en software extremadamente flexible y perfecta para desempeñarse en ambientes de producción de cualquier escala. Asterisk es un software muy versátil,puede ser utilizado en diversas aplicaciones empresariales de comunicaciones de voz a través de muchos tipos de redes, maneja distintos protocolos de comunicaciones, procesa gran cantidad de algoritmos de codificación, puede manejar varias clases de terminales de voz; y debido a todos estos factores, su configuración se realiza generalmente en bajo nivel y que puede llegar a ser complicado. Teniendo en cuenta este pequeño “problema”, o más bien característica, nació DeStar, creado con el objetivo de hacer que la configuración de Asterisk pueda ser hecha de una forma más sencilla, concentrándose en objetos de configuración puntuales, como por ejemplo una troncal SIP, una extensión analógica, o una sala de conferencias; y no un archivo de configuración llamado /etc/asterisk/*.conf . En pocas palabras, DeStar es una capa de aplicación superior que permite configurar fácilmente una PBX Asterisk.
Como suele suceder, DeStar no es la única aplicación de su tipo en el mundo del Software Libre. Debido a su gran éxito, han nacido muchas iniciativas de proyectos de software que complementen o hagan más sencillo el funcionamiento de ésta. DeStar es mi iniciativa preferida debido a su versátil arquitectura y la facilidad con la que se pueden agregar nuevas características de funcionamiento.
En términos generales DeStar se divide en dos secciones principales llamadas "backend" y "frontend", el primero es el más importante y basa su comportamiento funcional en pequeños trozos de código llamados "configlets", estos componentespermiten configurar «objetos» de la PBX.
El "backend" es una sección independiente del sistema, o sea, no necesita del "frontend" para funcionar. Esta sección se encarga de crear los archivos de configuración de Asterisk basándose en un archivo en el cual se registran todos los objetos de configuración creados (generalmente a través del "frontend"). Los "configlets" hacen parte del "backend" y están organizados bajo un jerarquía de clases flexible y organizada.
El "backend" maneja también la información relacionada con el módulo CDR (Call Detail Recording) de Asterisk y el API de Gestión o "Asterisk Manager".
El "frontend" maneja la interfaz de usuario, que está basada en una aplicación Web. Maneja también el espacio de nombres de las URLs, la autenticación de los usuarios, el código HTML y las hojas de estilo en cascada de la presentación.
El lenguaje de programación en el que se basa DeStar es python, lenguaje que últimamente tiene muchos adeptos y que se ha caracterizado por ser bastante sencillo y completo. DeStar se basa en Quixote, un "framework" que facilita el desarrollo de aplicaciones web centradas principalmente en la lógica de programación y no en la lógica de plantillas y la presentación visual.
Quixote permite utilizar un lenguaje de plantillas de python (PTL -Python Template Language ) para generar HTML. Este lenguaje es muy parecido a python y permite que todas las técnicas y capacidades adquiridas para hacer programas en este lenguaje, sean utilizadas en la construcción de aplicaciones web. Quixote es una plataforma bastante coherente, que no trata de "adivinar comportamientos" y se enfoca únicamente a la lógica de las aplicaciones web y no en manejo de bases de datos, imágenes, o algunas otras funcionalidades concernientes a otras librerías. Se puede decir, que la flexibilidad de DeStar se basa en principalmente en todas las posibilidades que ofrece Quixote.
Otra aplicación de Software Libre similar a DeStar es AMPortal. AMP es bastante completo, tiene integrado un panel de control y software de CDR y cuenta con una comunidad considerable trabajando en su desarrollo, pero no es tan flexible y versátil y su código escrito en PHP está organizado deficientemente.
DeStar es un proyecto lo suficientemente flexible y robusto para crecer y consolidarse. Es probable que vaya a ser utilizado por muchas personas a finales de este año.
El contenido del material publicado por nuestros columnistas es responsabilidad de sus autores.
Para saber más sobre la programación y naturaleza de nuestros artículos y columnas, haga clic aquí.