La detección de Fax en Asterisk, es realizada de forma nativa en canales ZAP, pero para canales mISDN, esto no es así, por lo cual nos tenemos que ayudar de otras aplicaciones como puede ser NV_FaxFDetect.
NV_FaxDetect escucha si lo que nos entra por nuestro canal mISDN es un Fax (lo permite también en canales SIP y IAX) permitiéndonos además de detectar si lo que entra es un fax, detectar marcado DTMF o detección de voz.
La descripcion de la aplicacion:
-= Info about application 'NVFaxDetect' =-
[Synopsis]
Detects fax sounds on all channel types (IAX and SIP too)
[Description]
NVFaxDetect([waitdur[|options[|sildur[|mindur[|maxdur]]]]]):
This application listens for fax tones (on IAX and SIP channels too)
for waitdur seconds of time. In addition, it can be interrupted by digits,
or non-silence. Audio is only monitored in the receive direction. If
digits interrupt, they must be the start of a valid extension unless the
option is included to ignore. If fax is detected, it will jump to the
‘fax’ extension. If a period of non-silence greater than ‘mindur’ ms,
yet less than ‘maxdur’ ms is followed by silence at least ’sildur’ ms
then the app is aborted and processing jumps to the ‘talk’ extension.
If all undetected, control will continue at the next priority.
waitdur: Maximum number of seconds to wait (default=4)
options:
‘n’: Attempt on-hook if unanswered (default=no)
‘x’: DTMF digits terminate without extension (default=no)
‘d’: Ignore DTMF digit detection (default=no)
‘f’: Ignore fax detection (default=no)
‘t’: Ignore talk detection (default=no)
sildur: Silence ms after mindur/maxdur before aborting (default=1000)
mindur: Minimum non-silence ms needed (default=100)
maxdur: Maximum non-silence ms allowed (default=0/forever)
Returns -1 on hangup, and 0 on successful completion with no exit conditions. For questions or comments, please e-mail support@newmantelecom.com.
Para bajarse la aplicación (si la web esta caída, como es el caso en el momento de escribir esta entrada) puedes optar por buscarla por internet, aquí la encontré yo.
Y compilamos:
gcc -D_GNU_SOURCE -shared -o app_nv_faxdetect.so app_nv_faxdetect.c
Por ultimo movemos el fichero que se nos ha generado “ app_nv_faxdetect.so” al directorio /usr/lib/asterisk/modules/ y reiniciamos asterisk.
También puede resultar interesante echarle un vistazo a NVBackGroundDetect
Posted by David in Asterisk
