Configuring fax detection


I am using:

  • Debian 4.0r6
  • FreepBX 2.5.1
  • Asterisk
  • No Zaptel
  • No Libpri
  • SpanDSP 0.0.4pre16 (also tried 0.0.5pre4)
  • rx_fax, tx_fax and app_nv_faxdetect from AGX Extra Addons

I compiled Asterisk with those applications. They were installed successfully in /usr/lib/asterisk/modules. Now I have configured the only inbound route in FreepBX to receive the fax:

  • Fax extension: system
  • Fax email: [email protected]
  • Fax detection type: NVFax
  • Pause after answer: (empty)

In general settings i have this:

The PSTN is connected to a Grandstream GXW4104, that redirects the call to Asterisk. When I receive a call, from the PSTN, the call is received correctly by Asterisk (the IVR is played). But when I send a fax from the PSTN, asterisk dies with this message:

– Executing [[email protected]:1] NoOp(“SIP/194-0072fd60”, “Catch-All DID Match - Found 7777 - You probably want a DID for this.”) in new stack
– Executing [[email protected]:2] Goto(“SIP/194-0072fd60”, “ext-did|s|1”) in new stack
– Goto (ext-did,s,1)
– Executing [[email protected]:1] Set(“SIP/194-0072fd60”, “__FROM_DID=s”) in new stack
– Executing [[email protected]:2] Gosub(“SIP/194-0072fd60”, “app-blacklist-check|s|1”) in new stack
– Executing [[email protected]:1] LookupBlacklist(“SIP/194-0072fd60”, “”) in new stack
– Executing [[email protected]:2] GotoIf(“SIP/194-0072fd60”, “0?blacklisted”) in new stack
– Executing [[email protected]:3] Return(“SIP/194-0072fd60”, “”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/194-0072fd60”, “0 |Set|CALLERID(name)=unknown”) in new stack
– Executing [[email protected]:4] Set(“SIP/194-0072fd60”, “FAX_RX=system”) in new stack
– Executing [[email protected]:5] Set(“SIP/194-0072fd60”, "[email protected]
") in new stack
– Executing [[email protected]:6] Answer(“SIP/194-0072fd60”, “”) in new stack
– Executing [[email protected]:7] PlayTones(“SIP/194-0072fd60”, “ring”) in new stack
– Executing [[email protected]:8] NVFaxDetect(“SIP/194-0072fd60”, “0|t”) in new stack
Disconnected from Asterisk server
Executing last minute cleanups
Asterisk ending (0).
asterisk:/etc/asterisk# Asterisk ended with exit status 127

Asterisk died with code 127.
cat: /var/run/ No existe el fichero o el directorio => File does not exists
Automatically restarting Asterisk.
mpg123: no process killed

194 is the number of the trunk.

Why is this happening? I have read the installation guides for fax support of FreePBX but they refer to versions like 0.0.2 of spandsp. Why so old versions? Should it work with newer versions? According to AGX Asterisk Addons:

FAQ: the fax addons are tested against:
- asterisk 1.4.17 + spanDSP pre15
- asterisk 1.4.17 + spanDSP pre16
- asterisk 1.4.17 + spanDSP pre18

Then won’t they work with the Asterisk i have?

Thanks in advance and sorry by so long post.


You might get a better answer if you ask in one of the asterisk forums if nobody else responds.

But here is some background: Asterisk is written by one team of people who at a given point in time take a version of SpanDSP and work with it to make that version of the code work. While at the same time there is a totally different team of people who do nothing but work on SpanDSP. They might suddenly have a bright idea and change the code in a function to work a different way then any version before. They do not go out and then force everybody to upgrade to the latest and re-work the code to support the latest just because they came out with a new version.

In your provided info it clearly shows that asterisk or one of the modules it is calling caused a serious error and the program crashed. It is probably because of a change in how the code works between version they were using at development time and the version you are attempting to use.

If you want to get a matching set you’ll need to dig through the asterisk documentation for version 1.4.22 and see what version of SpanDSP will work with it and stick with that version. If that version works then and only then can you attempt to user a newer version and hope that it still works.