new version of app FAX for Asterisk 1.4.42

GD Star Rating
loading...

Fax application ported to Asterisk 1.4.42

The fax application (app_fax) has been ported to asterisk 1.4.42 and latest spandsp.

Asterisk FAX application

Asterisk 1.4 does not have a native fax application.

I’ve 2006 i’ve merged togheter the old asterisk 1.2 sample included in spanDSP and the Massimo Cetra’s Callweaver version of fax mod to work with 1.4.

We still use largely in production asterisk 1.4 because i don’t believe asterisk 1.6 to be stable enough, i’m tired of regression bugs they introduce at every release into stable version so i prefer to keep production machines on 1.4.

The software will not compile with asterisk version between 1.4.18 and 1.4.22 since in this version they crazy changed the API and then rolled back in 1.4.23

The software uses CMake to compile instead of GNU autoconf/automake since CMake is faster and easier to use.

If you use chan_mISDN beware that randomly problem with fax will occurs.

This is a separate addons since Digium did not accepted this into 1.4 release, they asked me to add in “trunk”, but i never had time to do this free job for them. Also when i wrote this the spanDSP was GPL, so licenses problem also arised.

Beware that i use this on 32bit machine i didn’t test it on 64bit, make sure you’re not linking against /usr/lib64.

Beware that enabling faxdetect in zapata.conf can leads to crashes. If so use the nojump option and check the FAX_DETECT dialplan variable instead.

Remember to use masterclock option if you have multiple BRI/PRI with chan_mISDN.

RxFax special options

The RxFax asterisk’s application has those special option that allow the app to work with different kind of fax communication protocols. You can use those below to experiments with different speeds if the normal should have has some kind of problem:

  • FAX_DISABLE_V17, enable V29 and V27TER
  • FAX_FORCE_V17, v17 only
  • FAX_FORCE_V27, V27TER only
  • FAX_FORCE_V29, V29 only
  • FAX_FORCE_V34, V34 only

I’ve heard that many fax machines have buggy 9600/14400 speed.

Source Download

I strongly suggest to get latest source via SubVersion from the SourceForge repository at AgX’s asterisk fax addon

Additional Asterisk addons

Inside the source i keep working some extra applications wrote by other people (see README for copyright infoes):

  • DevState, create a custom “hint” device state
  • DEVSTATE(), report “hint” status
  • NVBackGroundDetect, detect a fax tone while playing a message
  • Pickup2, allow to pickup using multiple channels like SIP/10&SIP/11
  • ValetParking, better Parking Lot application with “HINT” state
  • ConfCall, alternate conference application

Other Asterisk patches

inside the “patches” directory you can find a few unofficial custom asterisk’spatches i wrote.

 

new version of app FAX for Asterisk 1.4.42, 4.5 out of 5 based on 2 ratings
About

Antonio Gallo is a Linux entusiast and evangelists since 1996 when he started the Bad Penguin project. Notably he was in the board and sysadmin of linux.it for many years and also managed the "Linux Day" event in Italy, wrotes for technical magazines. Antonio writes, codes and develops Linux and Open Source software solutions. When everybody else fails he's the man to be called: bash, awk, php, perl, C are the rabbits in his cylinder ready to spread the Linux magic around the world.

  • Dan

    Hi,
    I am using rxfax with 1.4.42. I have the following problem: fax calls use a caller id, but the remote number is set to a different caller id. (As an example, fax com uses this technique — they use 3-4 numbers to send fax from, but have a different Remote number for each).
    Now check the following log:

        — Executing Set(“SIP/202.58.149.6-00000001″, “FAXFILE=15868801068_16193301896_1315837393.tif”)
        — Executing RxFax(“SIP/202.58.149.6-00000001″, “/var/spool/asterisk/fax/15868801068_16193301896_1315837393.tif”)

    [2011-09-12 14:23:43] WARNING[31961]: /work/agx/trunk/app-spandsp/app_fax.c:550 fax_run: RXFAX: Channel INF is NULL, i will continue…
    [2011-09-12 14:23:43] WARNING[31961]: /work/agx/trunk/app-spandsp/app_fax.c:501 fax_run: RXFAX: Channel has been hanged at fax.
    [2011-09-12 14:23:43] NOTICE[31961]: /work/agx/trunk/app-spandsp/app_fax.c:210 phase_e_handler: [FaxReceived OK] Remote: 8668896576 Local:  Pages: 2 Speed: 14400

    Fax com has the calling number 16193301896 , but sets the “Remote” to 8668896576.  Channel hangs up from rxfax application and does not continue to next priority in dialplan (which would be where I would be checking if ${REMOTESTATIONID} is identical with caller id and if not, replace caller id with ${REMOTESTATIONID} ….. (since I need customers to see the fax number that actually sent the message, not fax com’s numbers.   What can I do in this case?

    • http://www.badpenguin.org Antonio Gallo

      Unlucky some faxes hangup before RxFax finishes so dialplan never reached because of the hangup.

      A good workaround is to use the Context with the “hangup” extension to do fax post processing.

      I’ll update my article with a dialplan example as soon as possible.