No ringing tone played to callers during fax detection

I’ve got trixbox 2.6 with Asterisk 1.4.22, Zaptel 1.4.12.9, and a TE210P connected to a PRI. I’m trying to move beyond trixbox. I’ve already done away with the rebadged version of FreePBX and upgraded to the official FreePBX 2.8. Now I’m trying to upgrade to the latest Asterisk 1.4 and DAHDI from the Asterisk/Digium repos. After I perform the upgrades, everything I test works perfectly except for DAHDI fax detection. Fax detection actually works great but there is no ringing tone played to callers during the detection period. There are just several seconds of dead air (to which our users would object).

Here’s an overview of what I’m doing. I can provide details should it be necessary.
I remove the trixbox-supplied zaptel, zaptel-modules, asterisk, and asterisk-addons packages.
I install asterisk14 (1.4.40), asterisk14-addons, dahdi-tools, and dependencies (including DAHDI 2.4.0) for CentOS 5 via yum after adding the Asterisk and Digium repos.
I copy the existing zaptel.conf to /etc/dadhdi/system.conf and zapata.conf to chan_dahdi.conf.
I add “dahdichanname = no” to asterisk.conf.
I reboot the machine.
At this point, everything works except for the ringing during fax detection.

I’m not sure where to start troubleshooting. Can anyone point me in the right direction? Is the ringing during fax detection handled by Asterisk or DAHDI? Any recommendations are much appreciated.

Thanks.

Ringback tone normally comes from the network and will stop when you tell Asterisk to answer the incoming call.

You need to provide the relevant dialplan, or at least the verbose console trace to give a clue as to why the incoming call is being answered early.

The call is not being answered early. The ringing tone is supposed to played after the call is answered, during the fax detection period, so a human caller will think the line is still ringing. Below is the versbose console trace. It’s identical before and after the upgrades.

[Mar 26 14:02:33] VERBOSE[3852] logger.c:     -- Accepting call from '6085556737' to '6085553375' on channel 0/1, span 2
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-zaptel:1] Set("Zap/25-1", "DID=6085553375") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-zaptel:2] Goto("Zap/25-1", "s|1") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Goto (from-zaptel,s,1)
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:1] NoOp("Zap/25-1", "Entering from-dahdi with DID == 6085553375") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:2] Ringing("Zap/25-1", "") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:3] Set("Zap/25-1", "DID=6085553375") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:4] NoOp("Zap/25-1", "DID is now 6085553375") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:5] GotoIf("Zap/25-1", "0?dahdiok:checkzap") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Goto (from-zaptel,s,6)
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:6] GotoIf("Zap/25-1", "1?zapok:neither") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Goto (from-zaptel,s,15)
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:15] NoOp("Zap/25-1", "Is a Zaptel Channel") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:16] Set("Zap/25-1", "CHAN=25-1") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:17] Set("Zap/25-1", "CHAN=25") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:18] Macro("Zap/25-1", "from-dahdi-25|6085553375|1") in new stack
[Mar 26 14:02:33] WARNING[4093] app_macro.c: No such context 'macro-from-dahdi-25' for macro 'from-dahdi-25'
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:19] NoOp("Zap/25-1", "Returned from Macro from-dahdi-25") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@from-zaptel:20] Goto("Zap/25-1", "from-pstn|6085553375|1") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Goto (from-pstn,6085553375,1)
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:1] Set("Zap/25-1", "__FROM_DID=6085553375") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:2] Gosub("Zap/25-1", "app-blacklist-check|s|1") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@app-blacklist-check:1] LookupBlacklist("Zap/25-1", "") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@app-blacklist-check:2] GotoIf("Zap/25-1", "0?blacklisted") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@app-blacklist-check:3] Set("Zap/25-1", "CALLED_BLACKLIST=1") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [s@app-blacklist-check:4] Return("Zap/25-1", "") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:3] ExecIf("Zap/25-1", "0 |Set|CALLERID(name)=6085556737") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:4] Ringing("Zap/25-1", "") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:5] Set("Zap/25-1", "__CALLINGPRES_SV=allowed") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:6] SetCallerPres("Zap/25-1", "allowed_not_screened") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:7] Set("Zap/25-1", "FAX_DEST=ext-group^32900^1") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:8] Answer("Zap/25-1", "") in new stack
[Mar 26 14:02:33] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:9] Wait("Zap/25-1", "8") in new stack
[Mar 26 14:02:42] VERBOSE[4093] logger.c:     -- Executing [6085553375@from-pstn:10] Goto("Zap/25-1", "from-did-direct|226|1") in new stack
[Mar 26 14:02:42] VERBOSE[4093] logger.c:     -- Goto (from-did-direct,226,1)

If you look at the third line from the end, you’ll see it’s waiting for 8 seconds. This is the fax detection period. Before the upgrade, a ringing tone is played during this 8 seconds. After the upgrades, there’s just silence.

Looks like they fixed a bug, then.

Answer should stop ring back. You will probably have to use Playtones to create a bogus ringback.