Asterisk

Asterisk é unha implementanción de software libre e código aberto dunha central telefónica (PBX). Como calquera PBX ou Private Branch Exchange en inglés, permite a unha extensión chamar a outras, e conectarse a outros servizos telefónicos como á rede telefónica internacional (RTC). O seu nome provén do asterisco (asterisk en inglés), que nas contornas Unix e DOS representa un comodín, substituíndo calquera secuencia de caracteres no nome dun ficheiro. Licenza
Asterisk está publicado baixo unha licenza dual, a licenza libre GNU General Public License (GPL), e a comercial que permite a inclusión de código patentado ou pechado, como a extensión G. 729 que permite ao sistema traballar con G729. Mark Spencer de Digium foi o creador de Asterisk e continua sendo o mantedor principal, aínda que ducias de programadores teñen contribuído no desenvolvemento do programa. Orixinalmente deseñado para sistemas operativos Linux, actualmente pode executarse Asterisk en sistemas OpenBSD, FreeBSD, Mac OS X, Sun Solaris, e Microsoft Windows, aínda que a plataforma "nativa", Linux, continúa sendo a mellor soportada. Características
O software básico de Asterisk inclúe varias características que previamente só estaban dispoñibles en caros sistemas propietarios de PBX -caixa de voz, conferencias, caixas interactivas automáticas, e distribución automática de chamadas-. Os usuarios poden crear novas funcionalidades escribindo scripts na linguaxe propia de Asterisk, engadindo módulos personalizados escritos en C, ou escribindo scripts usando a interface de Asterisk en Perl ou outras linguaxes.
Para engadir teléfonos tradicionais a un servidor Linux executando Asterisk, ou para conectarse á rede telefónica tradicional, o servidor debe estar equipado cun hardware especial. Varias empresas venden tarxetas PCI que permiten conectar teléfonos, liñas telefónicas, liñas E1 e T1, e outros servizos analóxicos e dixitais a un servidor.
Asterisk tamén soporta un amplo rango de protocolos VoIP, incluíndo SIP, MGCP e H. 323. Asterisk pode traballar coa maioría dos teléfonos SIP. Os desenvolvedores de Asterisk tamén deseñaron un novo protocolo, Inter-Asterisk eXchange (IAX2), para distribuír chamadas entre centrais Asterisk, e a proveores de Voz sobre IP que o soporten. Algúns teléfonos soportan o protocolo IAX2 para comunicarse directamente co servidor Asterisk.
Ao soportar tanto servizos de telefonía tradicional como VoIP, Asterisk permite aos usuarios migrar paulatinamente os sistemas existentes cara ás novas tecnoloxías. Algunhas empresas están implantando Asterisk para substituír vellas centrais telefónicas; outras para proporcionar novos servizos como caixas de voz ou menús telefónicos, ou para reducir custos utilizando Internet para as chamadas de longa distancia.
As compañías provedoras de sistemas VoIP están comezando a soportar Asterisk; algunhas ofrecen IAX2 ou direccionamento SIP cara a unha central Asterisk como alternativa a instalar no cliente un adaptador de telefonía analóxica (ATA). Historia
Asterisk foi desenvolta por Mark Spencer, por aquel entón estudante de enxeñería informática na Universidade de Auburn, Alabama. Mark creara en 1999 a empresa Linux Support Services, que daba soporte a usuarios Linux. Para iso necesitaba unha central telefónica, pero ante a imposibilidade de mercar unha, dados os seus elevados prezos, decidiu construír a súa propia central cun PC baixo Linux, usando a linguaxe C.
Posteriormente Linux Support Services converteríase no ano 2002 en Digium, redirixindo os seus obxectivos ao desenvolvemento e soporte de Asterisk.
Asterisk foi unha das primeiras implantacións de centrais telefónicas con software libre, das que agora hai moitas. Desenvolvemento do proxecto
O modelo de desenvolvemento apoiase no uso do sistema de control de versións Subversion e no procedemento de informe de erros denominado Asterisk Bug Tracker. Este último conta á súa vez cun sistema de méritos, denominado Karma, no que aparecen os colaboradores nun ránking, de acordo cunha puntuación (positiva ou negativa) outorgada ás achegas realizadas.
Ademais empréganse as habituais ferramentas deste tipo de proxectos, como listas de correo, IRC, ou documentación en liña. Estrutura organizativa
Mark Spencer é o organizador e principal desenvolvedor, apoiado por un grupo de colaboradores que reciben o nome de "administradores". Os administradores realizan principalmente labores de programación e control do software xerado. Existe tamén un amplo grupo de programadores, chamados "managers", que poden achegar solucións a erros documentados ou crear novas funcionalidades. Por último están os denominados "reporters", todos aqueles colaboradores que realizan informes sobre os erros detectados.
Toda nova funcionalidade é probada exhaustivamente antes de formar parte do repositorio do sistema de control de versións e debe contar finalmente co visto e prace dos responsabeis dos repositorios, de acordo a criterios de oportunidade, prioridade ou importancia da nova funcionalidade proposta. Industria relacionada
Existen moitas empresas relacionadas con Asterisk. A maior parte delas seguindo un dos modelos de negocio máis habituais do software libre, como é o de achegar valor engadido ao software, neste caso mediante o deseño, instalación, formación e mantemento de centralistas telefónicas baseadas en Asterisk.
Digium, a empresa creada por Mark Spencer, amplía este modelo de negocio tanto coa venda de hardware específico, fundamentalmente tarxetas de comunicación, como coa venda de software propietario, entre o que destaca o Asterisk Business Edition, aplicación baseada en Asterisk á que se lle incorporan certas funcionalidades con copyright. Estrutura do programa
Asterisk, por si mesmo, non é un sistema completo. O administrador debe crear un plan de chamadas para que Asterisk responda aos usuarios. Se Asterisk vai ser usado como un PBX, ten que ser creado un plan de chamada especificamente para este propósito.
Configuración
Asterisk é controlado editando unha serie de arquivos de configuración. Un deles, extensions. conf, é o arquivo no que o administrador define que accións levará a cabo Asterisk cando as chamadas sexan recibidas. Unha linguaxe nativa é empregada para definir o contexto, as extensións e as accións. A programación tamén pode ser feita usando a interface AGI que permite programar en linguaxes como Perl, PHP, ou C.
Existen varias interfaces de usuario para Asterisk, sendo unha das máis populares FreePBX. Estas interfaces permiten aos administradores ver, editar, e cambiar a maioría das características de Asterisk a través dunha interface web.
Partes do sistema
A versión estábel de Asterisk está composta polos módulos seguintes: Asterisk: Ficheiros base do proxecto.
Zaptel: Soporte para hardware. Drivers de tarxetas.
Addons: Complementos e engadidos do paquete Asterisk. Opcional.
Libpri: Soporte para conexións dixitais. Opcional.
Sounds: Proporciona sons e frases en diferentes idiomas. Distribucións
Existen varias distribucións de Asterisk, normalmente incluídas nun sistema operativo. Algunhas son completamente libres e outras comerciais.