Asterisk AGI


publicado por Víctor Villarreal en

0 comentarios

Asterisk Gateway Interface (AGI)

Asterisk Gateway Interface es una interfaz que permite la interacción de Asterisk con scripts o programas externos. Esta característica ofrece a estas aplicaciones obtener y procesar parámetros y variables desde el dialplan, ejecutar y controlar funciones y llamadas en Asterisk, y de ser necesario, devolver un resultado para procesarlo y tomar las desiciones pertinentes de vuelta en el dialplan.


Estos programas o scripts estarán conformados por aquellos lenguajes de programación que el servidor o sistema donde esté instalado el Asterisk, sea capaz de ejecutar o interpretar. A modo de ilustración, podemos nombrar algunos lenguajes con los que Asterisk es capaz de interactuar:

  • Perl
  • PHP
  • C/C++
  • Pascal
  • Bourne Shell
  • Pyton
  • Y mas...

Decimos que estos lenguajes son capaces de interactuar con Asterisk AGI, porque cumplen con las condiciones que AGI necesita. Dichas condiciones son:
  • Control de Errores: El lenguaje que utilicemos, necesita tener control sobre los errores que se escriben en la salida estándar del sistema.
  • Control del buffer de salida: El lenguaje que utilicemos necesita tener control sobre el buffer de salida (necesitamos poder controlar en qué momento se escriben estos datos a la salida estandar), si existiera. O en su defecto, necesita controlar la forma en que se emite información a STDOUT.
  • Control sobre STDIN: El lenguaje que utlicemos, necesita saber procesar la información que se le pasa a través de STDIN.
  • Tiempo de ejecución: Seria deseable que el lenguaje que utilicemos, pueda limitar el tiempo máximo en el que nuestro script se ejecuta.
  • Paso de Variables: Seria deseable que el lenguaje que utilicemos, pueda adquirir y procesar datos que le sean pasado como parámetros a través de la linea de comandos.

La interfaz AGI es lo que le permite actualmente a Asterisk leer y escribir en (practicamente cualquier) Base de Datos locale o remota; leer y escribir ficheros locales o remotos; adquirir, procesar o enviar datos en formato XML/RSS/ATOM; adquirir, procesar o enviar datos a través de WebServices/SOAP/RPC/REST; y otras muchas cosas más.


Para mas información y detalles sobre Asterisk AGI, pueden seguir leyendo aquí: http://www.voip-info.org/wiki/view/Asterisk+AGI

Deja un comentario