app_spoolcall: Mi primer módulo para Asterisk

Agosto 14 2007 por saghul

Hace ya tiempo que tenía ganas de escribir algo de código para Asterisk, más concretamente un módulo. No sabía muy bien que programar, hasta que un día me inspiré leyendo un mensaje de la lista Asterisk-ES que preguntaba algo acerca de un telemarcador.

“Esto se puede hacer fácil con un AGI que cree un fichero .call en la carpeta /var/spool/asterisk/outgoing” pensé, pero luego me vino la idea: ¿y si lo hiciera un módulo de Asterisk?. Así que me puse manos a la obra, y el resultado es que funciona!!

El módulo tiene una aplicación SpoolCall a la que pasas en forma de parámetro todas las opciones del fichero .call y este se crea en el directorio correspondiente.

Toda la información, así como el código fuente están disponibles aquí: http://www.saghul.net/blog/proyectos/app_spoolcall/ 

Espero que a alguien le sirva, y si lo probáis, por favor, reportadme cualquier problema o sugerencia, para ir mejorando.

También he modificado la página de Proyectos Software, para no llenarla de información, y espero ir añadiendo cosas. ;)

AGRADECIMIENTOS: A Txipi, por ser mi primer betatester y a Julián J.M. por ayudarme a solucionar un segfault.

sgh-logo_blanco.jpg




5 Respuestas a “app_spoolcall: Mi primer módulo para Asterisk”

RSS Feed para este Post Dirección de Trackback
  1. 1

    txipi

    Ey, enhorabuena por el módulo. Me quedé con la intriga del segfault, ya me contarás qué era (seguro que un detallito, como siempre) :-D

    Keep on hacking! ;-)

  2. 2

    David

    Muy buena, antes de leer el comentario de txipi, me ha surgido la misma duda, como solucionaste ese esoterico error que tenias, jaja, supongo que vas a tener que abrir una nueva entrada con la solucion, pues eso que enhorabuena, y un saludo.

  3. 3

    saghul

    Tenía pensado hacer una guía en plan “Como programar módulos para Asterisk”. Tengo que mirarme una cosa de los parámetros e igual la escribo… :)

  4. 4

    Iñaki Baz

    Hola, muy muy bueno el módulo, y sobre todo muy práctico. Prometo probarlo en cuanto tenga un ratillo. Si va bien creo que deberías plantearte tratar de subirlo al SVN de Asterisk porque lo de hacer un “exec” para que llame a un triste script en Bash que genere el callfile es una marranada y tu solución es muy elegante.

    Sólo un apunte por mi parte: no me gusta que los directorios estén harcodeados y no respeten los que figuran en “asterisk.conf”. Me refiero a:

    char path[] = “/var/spool/asterisk/outgoing/”; (en el código C)

    y

    MODULES_DIR=$(PREFIX)/lib/asterisk/modules (en el Makefile).

    Y tal vez también:

    CONF_DIR=/etc/asterisk

    aunque los primeros que tienen eso medioharcodeado son los propios desarrolladores de Asterisk.

    Pues eso, que enhorabuena ;)

  5. 5

    saghul

    Gracias por el feedback Iñaki! Lo cierto es que a mi también me pareció una guarrada en su día, pero finalmente para el primer release lo dejé. Para la siguiente versión tengo pensado lo siguiente:

    - Limpiar el Makefile y tal
    - Quitar los directorios hardcodeados
    - Crear un fichero de configuración para poner los valores por defecto, y que se comprueben estos, antes de los hardcodeados.
    - Con el fichero de configuración, contemplar otras opciones que tienen los ficheros .call

    Creo que eso es todo… Entonces si que trataré de meterlo en el SVN :)

¡Deja un Comentario!



[x] Cerrar
E-mail