Python mola. No se muy bien porque pero la realidad es que mola. Así que hoy se me ha ocurrido programar un pequeño AGI en Python, para ver como iba la cosa, y la verdad es que ha sido la mar de fácil.
Para facilitarme la tarea, he utilizado Python for Asterisk (pyst), una colección de clases, para facilitar la conectividad con Asterisk, al estilo PHPAGI.
Como en Debian por defecto viene Python 2.4, he instalado la 2.5:
#apt-get install python2.5
A continuación hay que descargar el fichero correspondiente de la web, descomprimirlo, y copiar la carpeta «asterisk» al directorio /var/lib/asterisk/agi-bin
Para asegurarnos de que se ejecutan con la versión correcta de Python, comprobamos que en la cabecera de los ficheros ponga:
#!/usr/bin/env python2.5
Ya tenemos listo el entorno, así que vamos a por el primer AGI! Creamos el fichero «prueba.py» en el directorio /var/lib/asterisk/agi-bin con el siguiente contenido:
NOTA: Como no quedaba bien la indentación del código, he subido el fichero. Podéis descargarlo aquí: http://saghul.net/blog/downloads/prueba.py
Añadimos esta línea al dialplan:
exten => 1234,1,AGI(prueba.py)
Y deberíamos escuchar el fichero demo-congrats. 😉
Funciona y funciona muy bien.
como haria para que al cambiar un dato cualquiera en una base de datos asterisk lo detecte y ejecute alguna funcion o llamada