A101DE card is not detecting busy tone

When using dahdi channel driverand making outbound call the busy tone is not detected,
This is the log
[2017-11-30 00:01:17] VERBOSE[16168][C-00000008] app_dial.c: Everyone is busy/congested at this time (1:0/0/1)
[2017-11-30 00:01:17] VERBOSE[16168][C-00000008] pbx.c: Executing [s@macro-dialout-trunk:31] NoOp(“SIP/1000-00000006”, “Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 31”) in new stack
Any help please
Thanks

Which part of
[2017-11-30 00:01:17] VERBOSE[16168][C-00000008] app_dial.c: Everyone is busy/congested at this time (1:0/0/1)
makes you think it didn;t detect a busy condition?

ISDN cause code 31

Cause No. 31 - normal. unspecified.
This cause is used to report a normal event only when no other cause in the normal class applies.

This is the hole part of the log.
I think instead of the ‘all-circuits-busy-now.ulaw’ there should be a busy tone.
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s@macro-dialout-trunk:31] NoOp(“SIP/1000-00000000”, “Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 31”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s@macro-dialout-trunk:32] GotoIf(“SIP/1000-00000000”, “0?continue,1:s-CHANUNAVAIL,1”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx_builtins.c: Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set(“SIP/1000-00000000”, “RC=31”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto(“SIP/1000-00000000”, “31,1”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx_builtins.c: Goto (macro-dialout-trunk,31,1)
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [31@macro-dialout-trunk:1] Goto(“SIP/1000-00000000”, “continue,1”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx_builtins.c: Goto (macro-dialout-trunk,continue,1)
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [continue@macro-dialout-trunk:1] NoOp(“SIP/1000-00000000”, “TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 31 - failing through to other trunks”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [continue@macro-dialout-trunk:2] ExecIf(“SIP/1000-00000000”, “1?Set(CALLERID(number)=1000)”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [9872555555555@restrictedroute-551aa4e93f427ed14e7be32bba7b68d3:7] Macro(“SIP/1000-00000000”, “outisbusy,”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s@macro-outisbusy:1] Progress(“SIP/1000-00000000”, “”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s@macro-outisbusy:2] GotoIf(“SIP/1000-00000000”, “0?emergency,1”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s@macro-outisbusy:3] GotoIf(“SIP/1000-00000000”, “0?intracompany,1”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] pbx.c: Executing [s@macro-outisbusy:4] Playback(“SIP/1000-00000000”, “all-circuits-busy-now&please-try-call-later, noanswer”) in new stack
[2017-11-30 01:10:08] VERBOSE[27168][C-00000000] file.c: <SIP/1000-00000000> Playing ‘all-circuits-busy-now.ulaw’ (language ‘gr’)

Unfortunately for that won’t work ,a busy is a busy, and the underlying engine (Asterisk) plays the recording

Playing ‘all-circuits-busy-now.ulaw’ (language ‘gr’)’

I guess you could replace /var/lib/asterisk/sounds/gr/all-circuits-busy-now.ulaw with a locale specific recording in your case

busy = 425/300,0/300

sox -n -r 8000 /var/lib/asterisk/sounds/gr/all-circuits-busy-now.wav synth 3 sine 425 sine 300 channels 1 (rinse and repeat until you get the right sound)

There are a few config options in the Congestion Messages module:
https://wiki.freepbx.org/display/FPG/Route+Congestion+Messages

1 Like

It is unfortunate that because FreePBX is largely a VOIP (SIP) device and SIP carriers are notoriously inadequate in discriminating ‘busy’ from ‘unavailable’, the only recourse is to play a generic message, true DAHDI correctly identified the busy (31) but the DAHDI channel driver is kind of “alien” , without a major rewrite then you will have to “work around” the issue perhaps my suggestion, or the “route congestion” way from @lgaetz , but be aware that whatever you do will be used for both true busy and other SIP congestion replies.

Thank you all for your help.

Hello:
make sure your pri is up and active first.