Diferencia entre revisiones de «Introducción»

De Asterisk Wiki
Ir a la navegación Ir a la búsqueda
Línea 90: Línea 90:
 
* Add-ons
 
* Add-ons
  
 +
==== Aplicaciones ====
 +
 +
Las aplicaciones son aquellas acciones aplicables al manejo de las llamadas dentro del Plan de Marcación. Por ejemplo, la mas popular en todos los planes sería la aplicación Dial, la cual simplemente tiene como propósito lanzar una llamada a un canal en función de las propiedades que señalemos durante su ejecución. Existen otras aplicaciones comunes, como VoiceMail (encargada de la gestión del Buzón de Voz), Record (para grabar el sonido de un determinado canal), etc.
  
  

Revisión del 12:31 7 may 2012

Asterisk es el mayor proyecto de software libre diseñado para la integración y unificación de los sistemas de comunicaciones conocidos

Originalmente fue concebido como una plataforma para la generación de un sistema PBX, pero con el tiempo ha ido evolucionando a otro tipo de usos, como Pasarelas VoIP, sistemas integrales para call-centers, salas de conferencias, buzones de voz, y todo tipo de aplicaciones que tengan relación con las comunicaciones en tiempo real.

Comparativamente Asterisk es para el mundo de las comunicaciones lo mismo que sería Apache para el mundo de las aplicaciones web. Apache es un servidor web, y Asterisk es un servidor de comunicaciones.


Introducción

Asterisk es una plataforma de comunicaciones basada en la filosofia Open Source

Es capaz de convertir un ordenador comun en un completo servidor de comunicaciones.

¿Que es Asterisk?

Plataforma comunicaciones.jpg

Realmente esta pregunta puede ir mucho más allá de la definición común que se establece para el sistema.

Existen ciertas consideraciones que hacen a Asterisk lo que realmente es en la actualidad, y una de las principales surge de la propia naturaleza del sistema: La filosofía Open Source.

Considerando Asterisk como una plataforma integral de comunicaciones, podría considerarse la más importante, y ha resultado como única por muchos años en un entorno, donde todos los sistemas de comunicación eran totalmente privativos. Aunque con el tiempo, fueron sacando interfaces comúnmente conocidos como CTI para la integración de sistemas de terceros para cumplir funciones muy específicas, la potencia de estas interfaces era bastante limitada dado que el núcleo de los sistemas privados, permanencia cerrado al público. Con Asterisk se sienta un precedente desde el momento que el código es de libre acceso, modificación y ampliación, dado que múltiples colectivos pudieron ampliar sus necesidades y adaptarlas a lo que venían buscando en un momento concreto, que un sistema de comunicaciones pudiera ofrecerles, dentro de sus extensivas bondades.

Historia

El desarrollo de Asterisk fue iniciado en el año 1999 por Mark Spencer. En aquel momento ya existían otros proyectos de telefonía basados en la ideología Open Source. Pero esos proyectos estaban realmente enfocados a la telefonía a nivel software, basados en la búsqueda de establecer comunicaciones entre ordenadores a través de los sistemas de audio. La diferencia de Asterisk con estos proyectos, era la idea preconcebida, de entrelazar por primera vez la red de telefonía común (PSTN) con un ordenador.

Y para ello se formó una alianza con un proyecto de telefonía llamado Zapata iniciado por Jim Dixon. La idea del proyecto Zapata, era la posibilidad de diseñar tarjetas específicas para convertir la señal analógica que provenía de la PSTN a una señal digital, y ahorrar costes en la construcción de dispositivos de telefonía y audio avanzados (y muy costosos) gracias a la tremenda reducción de costes que sufrían año tras año los procesadores. A través de estos, cada vez más potentes, y baratos, se podrían procesar una o varias señales de audio digital (DSP) sin gran dificultad y poder paralelamente construir teléfonos con ese coste reducido.

Hoy en día el proyecto Zapata, fue integrado totalmente en Asterisk, y Asterisk patrocinado por una empresa que construye dispositivos de telefonía digital, llamada Digium, y se ha acomodado como una parte más de Asterisk con un nuevo nombre: DAHDI (son las siglas de Digium Asterisk Hardware Device Interface).

La primera version estable surgio casi 5 años despues, Asterisk 1.0. A partir de aqui el sistema de versiones ha evolucionado de la siguiente forma:

  • Asterisk 1.0 - 2004
  • Asterisk 1.2 - 2005
  • Asterisk 1.4 - 2006
  • Asterisk 1.6.0 - 2008
  • Asterisk 1.6.1 - 2009
  • Asterisk 1.6.2 - 2009
  • Asterisk 1.8 - 2010
  • Asterisk 1.10 - 2011 (Nuevo Nombre Asterisk 10)

Para seguir la evolucion de versiones puede hacerse desde la web: Versiones Asterisk

Asterisk SCF

Asterisk SCF es un entorno todavía en vías de desarrollo que aunque originalmente no ha sido lanzado para reemplazar al sistema original Asterisk, ofrecerá una evolución en múltiples términos que supondría en un futuro su posible adaptación por la mayoría de los usuarios del mismo.

La idea intencional esta basada, en la posibilidad de ofrecer un sistema capaz de ser desplegado en Clusters, o múltiples sistemas con total transparencia, algo que en la actualidad el sistema Asterisk no puede ofrecer de por si, y en caso de necesitar algun tipo de escalado, era necesario recurrir a soluciones alternativas como los Proxies SIP como los reconocidos Opensips o Kamailio. Según la definición ofrecida por los desarrolladores, "Asterisk SCF ha sido arquitectónicamente diseñado para ofrecer los máximos niveles de disponibilidad, escalabilidad, extensibilidad, tolerancia a fallos y rendimiento" [1]

Arquitectura

La arquitectura de Asterisk esta basada en un sistema modular, que depende del núcleo principal del sistema. El núcleo del sistema principalmente se basa en cuatro componentes:

  • Gestión de Módulos
  • Configuración de Lectura
  • Temporizador de Sistema
  • Gestión de Canales

La estructura de Asterisk es totalmente independiente de los dispositivos, troncales, y demás útiles externos al mismo. En la gran parte de las PBX tradicionales, es muy común observar el hecho que existen estructuras lógicas para diferenciar entre los teléfonos y otros dispositivos de telefonía como faxes, y por otro lado líneas entrantes como troncales primarios, líneas RDSI, etc. En Asterisk este concepto no existe, todo entra al sistema como un canal genérico y luego es gestionado de forma integral. Aunque sean diferenciados, todos se gestionan de la misma forma por eso, incluso recursos externos pueden llegar a ser manejados dentro de las posibilidades, de la misma forma, que una extensión SIP interna.

A priori esto puede parecer bastante obvio, pero el verdadero potencial se demuestra cuando empezamos a trabajar con estos canales dentro del plan de Marcación

Módulos

Como comentábamos antes, Asterisk esta basado en módulos independientes, los cuales pueden ser cargados y descargados a voluntad, en función de las necesidades que deseemos proveer al sistema.

Cada modulo posee una funcionalidad especifica, de tal forma que puedan tratarse todos los aspectos del sistema, pasando por los tipos de canales (SIP, IAX, DAHDI) o conexiones a otros sistemas para interactuar con Asterisk (mail, bases de datos, web, etc.).

Existe un archivo especifico para la configuración de los módulos llamado modules.conf (dentro de la ruta especifica de instalación de Asterisk típicamente /etc/asterisk).

Durante la instalación del sistema Asterisk, es posible seleccionar que módulos pretendemos instalar. En caso que instalemos una gran cantidad de modulo que tengamos intención de utilizar en un futuro avanzado, pero no a corto plazo, por motivos de seguridad es altamente recomendable señalar específicamente que no se carguen dentro del fichero de configuración utilizando la propiedad noload =>

Todas las posibilidades que nos ofrece el fichero de configuración modules.conf las podremos ver en su apartado específico.

Dentro del sistema de módulos, estos se clasifican en diferentes subapartados como vemos a continuación los más populares:

  • Aplicaciones
  • Recursos
  • Funciones del Dialplan
  • Registro del detalle llamadas
  • Registro de eventos de canales
  • Drivers de canales
  • Traductores de Codecs
  • Add-ons

Aplicaciones

Las aplicaciones son aquellas acciones aplicables al manejo de las llamadas dentro del Plan de Marcación. Por ejemplo, la mas popular en todos los planes sería la aplicación Dial, la cual simplemente tiene como propósito lanzar una llamada a un canal en función de las propiedades que señalemos durante su ejecución. Existen otras aplicaciones comunes, como VoiceMail (encargada de la gestión del Buzón de Voz), Record (para grabar el sonido de un determinado canal), etc.


Licencia

Asterisk esta actualmente disponible bajo licencia GNU GPL v2[2]

Referencias

  1. Asterisk SCF, Kevin P. Flemming (2010)
  2. GNU GPLv2, Free Software Foundation (1991)