Rxfax options

The macro-receive code in extensions.conf handles the rxfax for any fax receipt. We’re using the newer app_fax.c from agx addons. This rxfax allows an ecm parameter to be passed.

Is there a way to customize the options that are handed to rxfax? This way we could add the ecm if we’re using the right version of rxfax, even if it is via a custom dial plan? Right now I can’t see a way to override the default behavior.

If we put a [macro-receive] section in extensions_custom.conf will that override the [macro-receive] in the extensions.conf?

Thanks in advance…Rob

Rob -

Wondering if you found any way to modify the rxfax line in the ext-fax dialplan, or pass the settings you want. I’d want the line to look like this in the dialplan:
exten => s,n,rxfax(${ASTSPOOLDIR}/fax/${UNIQUEID}.tif|debug|ecm|log=/var/log/asterisk/faxlog.log)

I’ve setup the AGX fax extensions as follows:
Install compiling tools and kernel headers etc:
yum install kernel-devel kernel-headers gcc gcc-c++ zaptel-devel libtiff-devel subversion

Install Cmake rpm – needed by AGX tools for build:
Wget http://dl.atrpms.net/all/cmake-2.6.4-7.el5.i386.rpm
Rpm –ivh cmake-2.6.4-7.el5.i386.rpm

remove spandsp 0.0.4-22.pre15
rpm –e –-nodeps spandsp
updatedb && locate spandsp
Clear out any remaining spandsp lib parts

get latest version of spandsp and compile: (0.0.6pre17 as of 4/6/2010)
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre17.tgz
./configure –prefix=/usr && make && make install

get latest version of AGX from svn: (rev 69 from cvs as of 4/6/2010)
svn co https://agx-ast-addons.svn.sourceforge.net/svnroot/agx-ast-addons agx-ast-addons

./configure.sh
./build.sh

new module goes into:
/usr/lib/asterisk/modules/app_fax.so
And remove app_rxfax.so and app_txfax.so
Restart asterisk (amportal restart)

This appears to be working (receiving faxes) via on an untrixed version of trixbox 2.6 with asterisk 1.4.22.

I’ve moved to asterisk 1.6.2 so I don’t have to deal with the agx addons and these issues. 1.6.2 has a new app_fax application that includes enhanced features with the fax receiving application. Combined with FreePBX 2.7 I’ve been getting very good results.

The build process is so much easier with 1.6.2. I’ve actually eliminated dahdi completely from my build and only install asterisk and asterisk addon’s. You can do this as long as the kernel is later than 2.6.25 and glibc later than 2.8 so the timing is provided by the kernel rather than dahdi. Plus confbridge is used rather than meetme.

I worked through some fax module enhancements/changes with the 2.7 version of FreePBX and it is pretty solid. I’ve been testing this setup with 30+ page faxes getting sent from traditional analog phone lines to my asterisk server with very high reliability.

Good to hear. I have an asterisk build with 1.6.1.10 with the free fax for asterisk running on another server. It wasn’t as reliable as I was hoping (truncated pages on rx.), so I’m back to getting as much as possible from the 1.4.22 build. (sounds like I need to update that server to 1.6.2)

my calls are coming in on a PRI to the 1.4.22 server, and the second port of the digium card is fed into the other asterisk server in a series. Doing this because most of our problems creep up when we actually try to run production on the PRI channels.

The 30+ page faxes are a good test as we have departments who fax each other rather than email due to records retention issues.

I’ve had a lot of issues like you are describing when I use the 1.4 builds (as late as 1.4.29).

There are a couple of things I’ve done to help with fax reliability using SIP (no PRI’s in our setup). You can set up a custom dialplan to terminate your faxes and use the dialplan variable FAX_DISABLE_V17 to 1 which the spandsp modules use. This would not necessarily apply in your case since you’re using PRI. This will disable the higher fax speeds and get you to 9600. I’ve found that helped a lot in the faxing 1.4.

For 1.4 you can also add these two lines to your asterisk.conf file in the [Options] section:
use_internal_timing=yes
transcode_via_sln=no

Again, this was for SIP based faxing.

With 1.6.2 I haven’t had to develop any customizations to the dialplan so far. Faxing seems to work pretty reliably out of the box with the proper spandsp modules and advanced timing settings. I’m still hoping for Bandwidth.com (our current provider) to support T38. We’re shopping providers now and I’m thinking that we’ll get one that does support T38.

I was really glad to get rid of dahdi! By the way, our solution is entirely SIP, no PRI…so your results may vary.

I just finished getting my setup running.
Asterisk 1.6.2.13 w/fax compiled in
spandsp 0.0.6pre17
dahdi 2.4

Incoming fax is working, but quite often a random page is truncated on a multipage fax.

I would love to see one or more similitude configs to see what others are doing different with dahdi or other config items that may be improving reliability and/or quality.