Sobre Asterisk Manager

Impulsado por un participante de la lista de correo de Asterisk-ES me he decidio a escribir algo sobre esta herramienta de que dispone Asterisk: Asterisk Manager Interface.

¿Qué es Asterisk AMI?

Asterisk AMI permite que programas cliente se conecten a Asterisk mediante TCP/IP y sean capaces de ejecutar comandos y leer eventos. Por cada cosa que Asterisk realiza se genran eventos que pueden ser leidos mediante una sesión de manager, y el usuario puede tratarlos a su gusto. Además, AMI permite la ejecución de comandos, lo que proporcina la posibilidad de alterar el comportamiento de Asterisk desde un programa hecho a medida.

Funcionamiento

Para trabajar con AMI es necesario tener un usuario definido en el fichero manager.conf. A partir de aquí hay que establecer una comunicación TCP/IP con el servidor de Asterisk en el puerto 5038, y una vez conectado y autentificado, se puede comenzar a leer los eventos o ejecutar comandos.

¿AJAM?

De la mano de Asterisk 1.4 viene AJAM (Asyncronous Javascript Asterisk Manager), un nuevo manager, que permite conectar con Asterisk por medio de HTTP. Para poder trabajar con AJAM es necesario configurar los ficheros manager.conf y httpd.conf.Adivina como funciona el nuevo GUI de Asterisk…….. premio!

Ejemplos de funcionamiento:

Si quieres ver por ejemplo lo que devuelve el comando «status» del manager puedes ejecutar (en una sola línea):

http://IP_de_Asterisk:8088/asterisk/manager?action=login
&username=nombre_de_usuario&secret=contraseña

Esto abrirá una sesión de Asterisk Manager. Si ahora ejecutas:

http://lIP_de_Asterisk:8088/asterisk/rawman?action=status

Verás la salida del comando.

Más información:

http://www.voip-info.org/wiki-Asterisk+manager+API

http://www.voip-info.org/wiki/view/Aynchronous+Javascript+Asterisk+Manager+%28AJAM%29

7 thoughts on “Sobre Asterisk Manager

  1. Hola… estoy intentando modificar el extensions.conf desde un php, pero el archivo no tiene permiso de escritura, existe algo como el AMI o el AGI que me permita modificar el extension.conf sin necesidad de modificar la permisologia del archivo…. muchas gracias y disculpa las molestias…. saludos

  2. El manager tiene acciones como get_config y update_config para modificar los ficheros. De hecho es lo que utiliza el Asterisk-GUI.

  3. Hola! Un amigo y yo estamos desarrollando una GUI en PHP para Asterisk que aproveche AMI. ¿Qué tan conveniente es hacer esto desde cero o usar una aplicación como AJAM?

    ¿Con AJAM puedo implementar un marcador predictivo?

    Salu2! y Gracias.

  4. Si, lo mejor es aprovechar lo que ya está hecho 😉

    Para implementar el marcador puedes usar cualquiera, pero AJAM te hará la vida + fácil.

  5. hola soy nuevo en esto de programar, y necesito desarrollar una web implementando php con ami, en donde muestre datos conectandoce a un servidor desde php ocupando socket, lo cual me tiene un poco perdido ya que la verdad no sabia que se podia hacer esto, ademas no se como empezar :(.

    necestio ayuda ojala pueda ayudarme

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *