Dahdi Fax Catch-22

Home » Asterisk Users » Dahdi Fax Catch-22
Asterisk Users 2 Comments

I’ve got a Digium Wildcard TDM410P with one POTS line and three extensions. One of the extensions is connected to a fax modem. This kind of works, but there’s a gotcha. If I set faxdetect=incoming in chan_dahdi.conf, then incoming faxes do get routed to the modem and this all works, but outbound faxes fail, with a message like this:

[Oct 29 21:57:09] WARNING[16732][C-00000000] app_dial.c: Unable to create channel of type ‘DAHDI’ (cause 17 – User busy)

If I set faxdetect=no, then outbound faxes work, but of course incoming faxes do not get routed to the modem. I’m guessing that what is happening is that the “outbound” call coming in from the modem’s channel is an “incoming” call on that channel, asterisk detects the fax and tries to route it to the same channel, resulting in busy.

Is there any way around this catch-22? Is there some way to set faxdetect=incoming only on the one POTS line channel?

The only alternative I can think of would be a kludgy Radio Shack-style solution like a manual switcher, that switches the modem between the connection to the dahdi channel (receive) and a direct connection to the POTS line (send). I’d really like not to have to resort to that.


2 thoughts on - Dahdi Fax Catch-22

  • One thing you must remember about the [channels] section in chan_dahdi.conf is that *all* configuration in the section is cumulative. For example:
    echocancel = yes faxdetect=incoming signaling=fxs_ks channel=1
    ; Channel 1 is created at this point with echocancel enabled, faxdetect is incoming,
    ; and fxs_ks signaling.

    faxdetect=no channel=2
    ; Channel 2 is created at this point with echocancel enabled, faxdetect is no,
    ; and fxs_ks signaling. The echocancel and signaling settings were set before
    ; channel 1 was created and those settings are still in effect when channel
    ; is created.


  • Thank you very much, indeed I did not know that. So I tried it, specifying faxdetect=incoming only for the last (POTS) channel. It appears to have sent an outgoing fax correctly, at least it doesn’t complain about it being busy. I’ll know when I get to work tomorrow whether the fax actually arrived. I can also send one from there to here, to make sure it actually does detect the incoming fax and route it properly.