Etiqueta: ami

  • Asterisk actualización de seguridad

    El equipo de desarrollos de Asterisk ha anunciado varias actualizaciones de seguridad en todas las versiones de Asterisk:

    Estas actualizaciones solucionan algunos bugs de seguridad como:

    1. Overflow en el manejo de RTP
    2. Llamadas sin autenticarse en el canal SIP
    3. Vulnerabilidad en logger y manager.

    A actualizar se ha dicho! 😛

  • AsteriskManagerSuite: Programar el Manager de Asterisk en C

    queuesLeyendo la lista de Asterisk-Dev he visto una referencia a una librería que puede ser muy interesante para aquellos que quieran realizar aplicaciones en C que interactúen con el Manager de Asterisk.

    La librería en cuestión se llama libami, y aunque la conexión con el AMI sea tan sencillo como conectarse a un puerto TCP, la utilización de este tipo de librerías puede facilitar bastante su programación y la gestión de eventos.

    Podeis descargarlo desde su web:
    http://www.intuitivecreations.com/contributions/AMS/shots.php

  • Asterisk 1.6.0 beta3 Released!

    La penúltima versión de Asterisk 1.6 se hizo pública anoche: Asterisk 1.6.0 Beta 3.

    Los cambios con respecto a la beta2 son sobre todo arreglos a los bugs detectados así como algunas características nuevas como:

     * Añadida la opción ‘n‘ a la aplicación SpeechBackground para ejecutarse incluso cuando el canal no haya sido contestado
    * Creadas nuevas acciones para el manager (AMI) para mejorar la edición de archivos desde este interfaz:

    – Listar los contextos de un archivo
    – Obtener las líneas de un contexto determinado
    – Borrar un contexto
    – Crear un nuevo archivo de configuración
    – Borrar una línea por la posición con respecto a la línea de definición del contexto
    – Insertar variables y contexto en una línea determinada
    – Insertar contextos dentro de otros
    – Añadida una condición de falso al GotoIfTime
    – Añadidos nuevos eventos para visualizar las estadísticas del jitterbufferen IAX2.

    Recordad, que en la GUI que es principalmente quien utiliza estas acciones mediante el AMI, a los contextos los llama categoría. 😛

    Descargar: http://downloads.digium.com/pub/asterisk

  • Cómo ejecutar AGI de forma asíncrona

    Lo primero que hay que saber es qué es un AGIqué es el AMI.
    Una vez sepamos la diferencia entre estas dos maneras de ejecutar aplicaciones de manera que interactúen con Asterisk, nos daremos cuenta que los AGI deben ejecutarse cuando se realiza una llamada (para consultar un número de teléfono en una base de datos, o similar), mientras que el AMI está contínuamente conectado a Asterisk y puede ejecutar comandos cuando quiera independientemente de cuando haya o no llamadas activas.

    El objetivo de esta técnica, consiste en ejecutar AGI cuando se produzca un evento, no cuando se ejecute desde el dialplan.

    Combinando las dos técnicas (AGI y AMI), se puede llegar a hacer esto:

    # telnet localhost 5038
    Action: Login
    Username: test
    Secret: test

    Action: AGI
    Channel: SIP/33-blah
    Command: EXEC Playback tt-monkeys
    CommandID: MyCommandID

    En este caso, habremos ejecutado un comando de AGI en el instante que hayamos decidido, no hace falta que lo ejecute el propio dialplan de Asterisk.

    Otra idea estupenda sería poder ejecutar comandos AGI incluso desde la consola de Asterisk:

    tcore*CLI> agi exec SIP/testing-09a5b960 “EXEC startmusiconhold”
    tcore*CLI> agi exec SIP/testing-09a5b960 “EXEC stopmusiconhold”
    tcore*CLI> agi exec SIP/testing-09a5b960 “EXEC Dial(Agent/23)”

    Para esto, hay un parche que permite utilizar los comandos AGI desde la consola:
    http://www.moythreads.com/asterisk-1.4.15-async-agi.patch

    Una técnica más para poder llegar a hacer aquello que tenemos en la cabeza. 🙂

    Vía: http://www.moythreads.com/wordpress/2007/12/24/asterisk-asynchronous-agi/