FAX Detection In Chan_dahdi 1.8.15

Home » Asterisk Users » FAX Detection In Chan_dahdi 1.8.15
Asterisk Users 5 Comments

Hi,

I recently replaced a site that was using 1.4.[mumble] with hylafax/iaxmodem. They have an RBS T1 and were using about half of their 50 DID numbers for “fax to email”. This all broke with the new system 🙁

The original chan_dahdi.conf had no mention of “faxdetect”, so I assume it was operating with whatever is the default. Off?

The new box originally had “faxdetect=no”, and I found that all my test faxes failed with negotiation errors. When I finally tried
“faxdetect=incoming” test faxes from another machine running hylafax went through fine, and I thought I was done.

The following week the customer reported that inbound faxes weren’t working. When I looked at the log, I saw lots of these:

chan_dahdi.c: — Redirecting DAHDI/24-1 to fax extension

Which in my FreePBX setup eventually goes to a “no service” message and hangs up. I’ve never defined a “fax” extension and don’t really know what that is about. Turns out that any fax machine that calls ends up following this path. If my other hylafax server calls, it follows the normal path and gets answered by my pool of iaxmodems. I don’t really understand the difference between the two types of calls, first of all.

So it seems from this experience and a recent thread on -users that enabling faxdetection in chan_dahdi sets up some additional buffering that at least in my case, in 1.8, seems to be required (without it all inbound faxes fail from my hylafax server with negotiation problems). Unfortunately for me, this also seems to bypass normal DID handling and sends calls to an undefined “fax extension”.

Can anyone shed some light?

Thanks,

j

5 thoughts on - FAX Detection In Chan_dahdi 1.8.15

  • IIRC correctly this is sort of like the “s” extension; you set up your fax handler in [default,fax,1]. Not sure how that is done in FreePBX.

    —–Original Message—

  • Hi,

    I recently replaced a site that was using 1.4.[mumble] with hylafax/iaxmodem. They have an RBS T1 and were using about half of their 50 DID numbers for “fax to email”. This all broke with the new system 🙁

    The original chan_dahdi.conf had no mention of “faxdetect”, so I assume it was operating with whatever is the default. Off?

    The new box originally had “faxdetect=no”, and I found that all my test faxes failed with negotiation errors. When I finally tried
    “faxdetect=incoming” test faxes from another machine running hylafax went through fine, and I thought I was done.

    The following week the customer reported that inbound faxes weren’t working. When I looked at the log, I saw lots of these:

    chan_dahdi.c: — Redirecting DAHDI/24-1 to fax extension

    Which in my FreePBX setup eventually goes to a “no service” message and hangs up. I’ve never defined a “fax” extension and don’t really know what that is about. Turns out that any fax machine that calls ends up following this path. If my other hylafax server calls, it follows the normal path and gets answered by my pool of iaxmodems. I don’t really understand the difference between the two types of calls, first of all.

    So it seems from this experience and a recent thread on -users that enabling faxdetection in chan_dahdi sets up some additional buffering that at least in my case, in 1.8, seems to be required (without it all inbound faxes fail from my hylafax server with negotiation problems).
    Unfortunately for me, this also seems to bypass normal DID handling and sends calls to an undefined “fax extension”.

    Can anyone shed some light?

    Thanks,

    j

  • fax

    I’ve managed to hack a fix for this… in chan_dahdi.c I found two places where an “async goto” happens right after the message
    “Redirecting to fax extension”. I simply commented it out in both places.

    While looking a the source I noticed that an attempt is made to create a new channel variable “FAXEXTEN” with a comment “save the DID number before sending to the fax extension”. I created a “fax” context in extensions.conf and tried to use ${FAXEXTEN} to properly route my inbound fax to email calls, but it turns out that it is just set to “s”, which isn’t useful at all. I spent some time trying to figure out where in the channel structure the actual DID information exists, as properly setting the “FAXEXTEN” variable is arguably the right “fix” for my problem. But I’m just not familiar enough with the internals 🙁 I’m surprised others haven’t had this issue…

    Anyway commenting out the redirection did the trick for me.

    Cheers,

    j

  • 2012/8/31 Jeff LaCoursiere

    Which Freepbx version are you using ?
    Have you installed Freepbx’s “Fax Configuration” module ?

    Are you trying to attach fax-to-email service to incoming DIDs or to SIP
    endpoints ?

  • FreePBX 2.10

    Originally, just because I usually do an install and let FreePBX load all available modules, it did load that module. Original advice was to remove that module, which had no effect on my problem. It is removed now anyway.

    The intention is individual DIDs go to specific fax email addresses. I
    saw your explanation for what you are trying to accomplish, and it sounds interesting. Curious to see if you get it working.

    Cheers,

    j