Enviado por admin el
En Asterisk 1.6.X, si compilado con el soporte FAX, la aplicación para enviar un FAX es SendFax. La sintaxis es muy sencilla:
SendFAX(filename[|options]):
El problema es que con esta aplicación no podemos llamar directamente un FAX en cuanto no hay posibilidad de indicar el numero a marcar.
Para solucionar el problema hay que hacer uso de un callfile. Un callfile es un archivo de texto donde se definen unas cuantas acciones que Aterisk tiene que ejecutar, y una vez que esté completo se mueve en la carpeta /var/spool/asterisk/outgoing. Asterisk controla periódicamente esta carpeta y si hay un archivo lo procesa.
En el escenario que se va a presentar se llamará el numero de destino (un servicio que permite recibir FAX y luego los envía a un correo electrónico definido) usando come proveedor para la llamada justvoip. Una vez que el destinatario conteste se enviará el archivo prueba.tif (solo funciona con archivos tiff) presente en la carpeta /tmp.
cd /tmp
nano enviofax
Se añaden las siguientes líneas:
Channel: SIP/justvoip/0039XXXXXXXXXXX
;el canal que se va a usar para efectuar la llamada
Callerid: "FAX"
; el identificativo del llamante
WaitTime: 30
;Se espera un respuesta por 30 segundos
Maxretries:3
:se intentará llamar el numero per tres veces
RetryTime: 300
; entre un intento y otro se esperarán 300 segundos
Account: 1000
; el el registro de las llamadas (CDR) cobramos la llamada a la extension 1000
Application: SendFax
; una vez que el destinatario conteste se ejecuta la aplicación sendfax
Data: /tmp/prueba.tif
;el nombre del archivo que se enviará
El resultado del archivo sin los comentarios será:
Channel: SIP/justvoip/0039XXXXXXXXXXX
Callerid: "FAX"
WaitTime: 30
Maxretries:3
RetryTime: 300
Account: 1000
Application: SendFax
Data: /tmp/prueba.tif
Se guardan los cambios y se mueve el archivo en la carpeta /var/spool/asteisk/outgoning
mv enviofax /var/spool/asterisk/outgoing
Este es el resultado en la consola de Asterisk:
Attempting call on SIP/justvoip/003907334445023 for application SendFax(/tmp/prueba.tif) (Retry 1)
> Channel SIP/justvoip-084c82d0 was answered.
> Launching SendFax(/tmp/prueba.tif) on SIP/justvoip2-084c82d0
[Nov 26 15:45:32] NOTICE[7630]: pbx_spool.c:357 attempt_thread: Call completed to SIP/justvoip2/003907334445023
Este es el correo electrónico recibido:
6 comentarios
hola! Version de Asterisk
Enviado por iruizb (no verificado) el
Molestandote con una pregunta, ante todo muchas gracias por todo lo q nos enseñas
La version que tienes 1.6.1.9 no te ha dado problemas con el Fax? la ves estable o ya le has aplicado parches?
es q tengo un asterisk 1.6.1.0 pero el otro dia intentaron hackearme y hacer llamadas hacia UK :( lo bueno q como es de mi casa no tenia hablilitada la opcion de llamadas internacionales en el Dial Plan... pero bueno quiero darle un update para que todas esas vulnerabilidades se eliminen, y pues veo que la 1.6.1.9 es la que ya tiene todos...
no lo quiero updatear al 1.6.1.12 por que es muy nuevo y no se q problemas traiga... o tu que recomendarias?
Agradeceria mucho tu ayuda.
Saludos.
Saludos y muchas gracias....!!!!
Re: version de Asterisk
Enviado por admin el
Hola,
estoy usando la versión 1.6.0.17 y dentro de poco voy a pasarme a la ultima actualización (la 1.6.0.20). Hasta ahora no he tenido ningún problema con la aplicación fax; funciona bien.
Estoy usando la versión 0.0.6pre12 de SpanDSP y con la compilación de Asterisk no he tenido problemas (con versiones anteriores no compilaba con esa versión de SpanDSP).
La mayoría de las vulnerabilidades dependen, en su mayoría, de la configuración de Asterisk (contraseñas sencillas, acceso abierto a los huéspedes y algunos parámetros más).
Si todo te están funcionando bien, yo me quedaría con la versión que tienes tomando la precaución de actualizarla cuando salga alguna corrección de seguridad.
Saludos
Problema SendFax
Enviado por Fernando García el
Buenas,
estoy tratando de hacer una prueba de envío de fax a una máquina real desde mi servidor con asterisk haciendo uso de un callfile y de la aplicación SendFax tal y como se describe en este post. Para hacer el envío al fax estoy utilizando un canal DAHDI ya que tengo conectada una tarjeta FXO, modelo X100P, que funciona correctamente ya que he podido realizar satisfactoriamente pruebas de llamadas tanto entrantes como salientes.
El callfile que estoy utilizando es el siguiente:
Channel: DAHDI/1/0916XXXXXX
WaitTime: 45
MaxRetries: 0
RetryTime: 300
Application: SendFax
Data: /tmp/prueba.tiff
Archive: yes
RE: Problema SendFax
Enviado por Fernando García el
Ya he conseguido el resolver el problema para el que yo mismo planteé la duda. Dejo aquí la solución por si alguien se encuentra con el mismo problema en algún momento.
Antes me adelantaba cuando decía que el problema no era debido al formato del documento que estaba intentando enviar ya que en efecto este ha sido el problema. Básicamente lo que yo estaba haciendo antes era abrir un fichero pdf con Vista Previa (visor de varios formatos de documentos para Mac OS X), en el menú archivo seleccionaba guardar como y posteriormente lo guardaba con el formato que aparece como TIFF. Por lo visto esto no es suficiente para que el documento sea válido para la transferencia vía FAX. Para que el documento sea válido generándolo a partir de un pdf la forma recomendada por el manual de Fax For Asterisk (FFA) es utilizar ghostscript. En línea de comandos de un sistema UNIX (yo lo he realizado tanto con Mac OS X como con Debian obteniendo los mimos resultados) utilizaríamos lo siguiente:
gs -q -dNOPAUSE -dBATCH -sDEVICE=tiffg4 -sPAPERSIZE=a4 -sColorMode=mono -sOutputFile=<nombre del fichero de salida, recomiendo hacerlo con extensión .tif> <nombre del fichero de entrada, un fichero pdf>
Asimismo, para más información sobre la conversión de documentos a .tif recomiendo echar un vistazo al manual de FFA, https://my.digium.com/en/login/index.php?page=/, en la página 34 en la respuesta a la pregunta: How do I create a TIFF file?
Problema al envío FAX
Enviado por Fernando García el
Buenas de nuevo,
una vez solucionado el problema del formato de los documentos a enviar, estoy experimentando un nuevo contratiempo relacionado con el envío de fax mediante la aplicación SendFax.
El callfile que estoy utilizando es:
Channel: DAHDI/1/0916XXXXXX
WaitTime: 45
MaxRetries: 0
RetryTime: 300
Context: fax-tx
Extension: send
Priority: 1
Archive: yes
Problemas Fax
Enviado por Jaime Fernandez (no verificado) el
Hola que tal: bueno tengo 2 problemas con el fax, espero que me puedar dar una mano:
1.- tengo configurado el fax al interno 40, cuando hago la llamada al interno 40 desde otro interno, me da tono de fax, cuando entra la llamada por la FXO a un interno y quiere fax, se lo transfiere al interno 40 y da tono de fax, no hay problema, el problema es cuando el servidor contesta y se presiona directo el interno para tener tono de fax, el servidor no da tono de fax, el error es el siguiente app_dial.c:2345 dial_exec_full: Unable to create channel of type 'sip'.
2.- configure todo como la guia dice para poder mandar fax cuando intento me sale el siguiente error y no manda, este es el error:
Attempting call on DAHDI/1/2411516 for application SendFax(/home/fax/pruebafax.tiff) (Retry 1)
> Channel DAHDI/1-1 was answered.
> Launching SendFax(/home/fax/pruebafax.tiff) on DAHDI/1-1
[Aug 23 23:29:24] ERROR[17438]: res_fax.c:2183 sendfax_exec: access failure. Verify '/home/fax/pruebafax.tiff' exists and check permissions.
-- Hanging up on 'DAHDI/1-1'
-- Hungup 'DAHDI/1-1'
gracias por su ayuda y sigan adelante que hacen un buen trabajo....