Detectar tonos de fax con Asterisk y FreePBX

Imagen de RazaMetaL

Ya hemos visto como [url=http://www.ecualug.org/?q=2007/02/27/comos/como_recibir_fax_en_asterisk]recibir fax[/url] en asterisk, como instalar la [url=http://www.ecualug.org/?q=2008/05/28/comos/instalar_avantfax_310]interfaz de usuario para envio/administración de faxes[/url] y pues funciona.

Les pongo este escenario, un asterisk con hylafax enviando fax a otro asterisk con hylafax, que creen que sucede? se los voy a contar. Los faxes no llegan al destinatario a menos que tenga instalada alguna aplicación para detectar el tono de fax. Cuando hylafax envia un fax no pregunta "pude darme tono de fax?", el asterisk que recibe la llamada no sabe que le esta llegando una petición de fax.

Para nuestra buena suerte, existe una aplicación llamada app_nv_faxdetec.so que podemos hacerla funcionar con asterisk 1.4 de manera sencilla. Esta aplicación, por cosas de licencias y demás, no esta incluida en la rama de asterisk, es por esto que debemos obteneral desde otra fuente y compilarla con los fuentes de asterisk.

Describo como lograrlo:

1.- Descargamos spandsp:

cd /usr/src
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.5pre4.tgz

2.- Descomprimimos y compilamos:

tar zvxf spandsp-0.0.5pre4.tgz
cd spandsp-0.0.5
./configure
make
make install

3.- Agregamos /usr/local/lib en /etc/ld.so.conf y ejecutamos:

ldconfig

Este procedimiento lo hacemos porque spandsp instala las librerías en /usr/local/lib y luego vamos a requerir de ellas para instalar app_nv_faxdetect.so.

4.- Descargamos AGX's Asterisk Extra Addons desde [url]http://sourceforge.net/projects/agx-ast-addons/[/url] en /usr/src:

cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/agx-ast-addons/agx-ast-addons-1.4.5.tar.bz2

5.- Descomprimimos el archivo:

tar zvxf agx-ast-addons-1.4.5.tar.bz2

6.- Copiamos el archivo app_nv_faxdetect.c al raiz de asterisk:

cp /usr/src/agx-ast-addons/app_nv_faxdetect.c /usr/src/asterisk/appz

7.- Copilamos asterisk:

cd /usr/src/asterisk
make && make install

8.- Cargamos la nueva aplicación:

asterisk -r -x "module load app_nv_faxdetect.so"

Ahora configuramos la sección FAX HANDLING en INBOUND ROUTES de FreeBPX de la siguiente manera:

Fax Extension :
Fax Email :
Fax Detection Type: NVFax
Pause afer answer : 0

Ahora cuando recibamos una llamada y esta sea un tono de fax, freepbx la dirigirá a la extensión de fax y una vez recibido será enviado al correo electrónico espeficado en el párrafo anterior.