Potential incorrect handling of SIP 404?

i got it:

i changed chan_dahdi_custom.conf to:

group=1
signalling=pri_cpe
callerid=asreceived
context=from-pstn
channel => 1-23

basically moved group=1 to the top, that seemed to do the trick.

thanks

jai

Hi all
I have the same the problem, I don’t know how to perform the patch, could someone help me please?
Thanks

Hi
I have the same problem, sip congestion, sometimes the calls will go thru and most of the time it said congestion.
Thanks for your time.

This has been talked about at length in this thread and http://www.freepbx.org/trac/ticket/3805 and http://www.freepbx.org/v2/ticket/1542 maybe. I have 2.9.0.7 on 1.8.3 and receive this all-circuits-busy-now&pls-try-call-later message for wrong numbers.

I have no custom trunks and have installed Route Congestion Messages. Even with a single matching Route selecting a single SIP Trunk I hear this message. Any thoughts on what I am missing? Has this broken again recently?

I am variously seeing:
TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 1 - failing through to other trunks
TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 21 - failing through to other trunks
TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 19 - failing through to other trunks
TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 38 - failing through to other trunks
TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 111 - failing through to other trunks

There is a bug in Asterisk 1.8 (and 1.6.2) that set HANGUPCAUSE 111 instead of HANGUPCAUSE 28 when trunk reports SIP 484.

In FreePBX we detect HANGUPCAUSE=28 for INVALID NUMBER, but as Asterisk now send HANGUPCAUSE=111 it will fail.

There is a ticket open (by me) over at Asterisk Issue Tracker: https://issues.asterisk.org/jira/browse/ASTERISK-17288

I see, thanks. That’s languishing somewhat…

It’s causing my call centre staff to distrust the PBX. If Route Congestion Messages was extended to include selectable HANGUPCAUSE, or specifically 111, we would have a work around perhaps?

Any recommended workarounds peeps? Would I be better hacking Macro outisbusy perhaps, or use something like http://www.freepbx.org/forum/freepbx/users/handling-of-hangupcause-1-when-dialstatus-congestion

There will be no workaround in FreePBX for a bug in Asterisk.
You could register at the asterisk issue site and add a remark to the ticket asking when it will be fixed.

Hello Team,

I am facing the the problem with while adding second trunk to the asterisk box.
I need to configure three server’s which are in diffrent location. Unfortunatly while adding third server trunk, i am getting “all-circuits-busy-now&pls-try-call-later| noanswer” from main Box. From the second box I can able to make calls to main box.

From Main Box Cli…

– Executing [37012@from-internal:1] Macro(“SIP/33666-b775d9e0”, “user-callerid|LIMIT|”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/33666-b775d9e0”, “AMPUSER=33666”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/33666-b775d9e0”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/33666-b775d9e0”, “1|Set|REALCALLERIDNUM=33666”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/33666-b775d9e0”, “AMPUSER=33666”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/33666-b775d9e0”, “AMPUSERCIDNAME=Kiran Mummuluri”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/33666-b775d9e0”, “0?report”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/33666-b775d9e0”, “AMPUSERCID=33666”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/33666-b775d9e0”, “CALLERID(all)=“Kiran Mummuluri” <33666>”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“SIP/33666-b775d9e0”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:10] ExecIf(“SIP/33666-b775d9e0”, “1|Set|GROUP(concurrency_limit)=33666”) in new stack
– Executing [s@macro-user-callerid:11] ExecIf(“SIP/33666-b775d9e0”, “0|Set|CHANNEL(language)=”) in new stack
– Executing [s@macro-user-callerid:12] GotoIf(“SIP/33666-b775d9e0”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,25)
– Executing [s@macro-user-callerid:25] Set(“SIP/33666-b775d9e0”, “CALLERID(number)=33666”) in new stack
– Executing [s@macro-user-callerid:26] Set(“SIP/33666-b775d9e0”, “CALLERID(name)=Kiran Mummuluri”) in new stack
– Executing [37012@from-internal:2] Set(“SIP/33666-b775d9e0”, “INTRACOMPANYROUTE=YES”) in new stack
– Executing [37012@from-internal:3] Set(“SIP/33666-b775d9e0”, “MOHCLASS=default”) in new stack
– Executing [37012@from-internal:4] Set(“SIP/33666-b775d9e0”, “_NODEST=”) in new stack
– Executing [37012@from-internal:5] Macro(“SIP/33666-b775d9e0”, “record-enable|33666|OUT|”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/33666-b775d9e0”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“SIP/33666-b775d9e0”, “0|MacroExit|”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“SIP/33666-b775d9e0”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,14)
– Executing [s@macro-record-enable:14] GotoIf(“SIP/33666-b775d9e0”, “0?IN”) in new stack
– Executing [s@macro-record-enable:15] ExecIf(“SIP/33666-b775d9e0”, “0|MacroExit|”) in new stack
– Executing [s@macro-record-enable:16] Set(“SIP/33666-b775d9e0”, “CALLFILENAME=OUT33666-20110701-124844-1309538924.33309”) in new stack
– Executing [s@macro-record-enable:17] Goto(“SIP/33666-b775d9e0”, “record”) in new stack
– Goto (macro-record-enable,s,20)
– Executing [s@macro-record-enable:20] MixMonitor(“SIP/33666-b775d9e0”, “OUT33666-20110701-124844-1309538924.33309.wav||”) in new stack
– Executing [s@macro-record-enable:21] MacroExit(“SIP/33666-b775d9e0”, “”) in new stack
== Begin MixMonitor Recording SIP/33666-b775d9e0
– Executing [37012@from-internal:6] Macro(“SIP/33666-b775d9e0”, “dialout-trunk|4|37012|”) in new stack
– Executing [s@macro-dialout-trunk:1] Set(“SIP/33666-b775d9e0”, “DIAL_TRUNK=4”) in new stack
– Executing [s@macro-dialout-trunk:2] GosubIf(“SIP/33666-b775d9e0”, “0?sub-pincheck|s|1”) in new stack
– Executing [s@macro-dialout-trunk:3] GotoIf(“SIP/33666-b775d9e0”, “0?disabletrunk|1”) in new stack
– Executing [s@macro-dialout-trunk:4] Set(“SIP/33666-b775d9e0”, “DIAL_NUMBER=37012”) in new stack
– Executing [s@macro-dialout-trunk:5] Set(“SIP/33666-b775d9e0”, “DIAL_TRUNK_OPTIONS=tr”) in new stack
– Executing [s@macro-dialout-trunk:6] Set(“SIP/33666-b775d9e0”, “OUTBOUND_GROUP=OUT_4”) in new stack
– Executing [s@macro-dialout-trunk:7] GotoIf(“SIP/33666-b775d9e0”, “1?nomax”) in new stack
– Goto (macro-dialout-trunk,s,9)
– Executing [s@macro-dialout-trunk:9] GotoIf(“SIP/33666-b775d9e0”, “1?skipoutcid”) in new stack
– Goto (macro-dialout-trunk,s,12)
– Executing [s@macro-dialout-trunk:12] GosubIf(“SIP/33666-b775d9e0”, “1?sub-flp-4|s|1”) in new stack
– Executing [s@sub-flp-4:1] ExecIf(“SIP/33666-b775d9e0”, “1|Return|”) in new stack
– Executing [s@macro-dialout-trunk:13] Set(“SIP/33666-b775d9e0”, “OUTNUM=37012”) in new stack
– Executing [s@macro-dialout-trunk:14] Set(“SIP/33666-b775d9e0”, “custom=IAX2/Server2”) in new stack
– Executing [s@macro-dialout-trunk:15] ExecIf(“SIP/33666-b775d9e0”, “0|Set|DIAL_TRUNK_OPTIONS=M(setmusic^default)tr”) in new stack
– Executing [s@macro-dialout-trunk:16] ExecIf(“SIP/33666-b775d9e0”, “0|Set|DIAL_TRUNK_OPTIONS=trM(confirm)”) in new stack
– Executing [s@macro-dialout-trunk:17] Macro(“SIP/33666-b775d9e0”, “dialout-trunk-predial-hook|”) in new stack
– Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“SIP/33666-b775d9e0”, “”) in new stack
– Executing [s@macro-dialout-trunk:18] GotoIf(“SIP/33666-b775d9e0”, “0?bypass|1”) in new stack
– Executing [s@macro-dialout-trunk:19] GotoIf(“SIP/33666-b775d9e0”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:20] Dial(“SIP/33666-b775d9e0”, “IAX2/Server2/37012|300|tr”) in new stack
– Called Server2/37012
– Hungup ‘IAX2/Server2-7683’
== Everyone is busy/congested at this time (1:0/0/1)
– Executing [s@macro-dialout-trunk:21] NoOp(“SIP/33666-b775d9e0”, “Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 0”) in new stack
– Executing [s@macro-dialout-trunk:22] Goto(“SIP/33666-b775d9e0”, “s-CHANUNAVAIL|1”) in new stack
– Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
– Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set(“SIP/33666-b775d9e0”, “RC=0”) in new stack
– Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto(“SIP/33666-b775d9e0”, “0|1”) in new stack
– Goto (macro-dialout-trunk,0,1)
– Executing [0@macro-dialout-trunk:1] Goto(“SIP/33666-b775d9e0”, “continue|1”) in new stack
– Goto (macro-dialout-trunk,continue,1)
– Executing [continue@macro-dialout-trunk:1] GotoIf(“SIP/33666-b775d9e0”, “1?noreport”) in new stack
– Goto (macro-dialout-trunk,continue,3)
– Executing [continue@macro-dialout-trunk:3] NoOp(“SIP/33666-b775d9e0”, “TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 0 - failing through to other trunks”) in new stack
– Executing [continue@macro-dialout-trunk:4] Set(“SIP/33666-b775d9e0”, “CALLERID(number)=33666”) in new stack
– Executing [37012@from-internal:7] Macro(“SIP/33666-b775d9e0”, “outisbusy|”) in new stack
– Executing [s@macro-outisbusy:1] Progress(“SIP/33666-b775d9e0”, “”) in new stack
– Executing [s@macro-outisbusy:2] GotoIf(“SIP/33666-b775d9e0”, “0?emergency|1”) in new stack
– Executing [s@macro-outisbusy:3] GotoIf(“SIP/33666-b775d9e0”, “1?intracompany|1”) in new stack
– Goto (macro-outisbusy,intracompany,1)
– Executing [intracompany@macro-outisbusy:1] Playback(“SIP/33666-b775d9e0”, “all-circuits-busy-now&pls-try-call-later| noanswer”) in new stack
– <SIP/33666-b775d9e0> Playing ‘all-circuits-busy-now’ (language ‘en’)

mummuluri - Do not hijack threads and change the subject of the thread

This is a well established thread. Barging in is a sure way to piss everyone off.

Make your own thread.

As this is still a problem in current asterisk versions I came up the following simple workaround:

To add custom HANGUPCAUSE to error handling routines add the following lines to extensions_custom.conf:
; additional HANGUPCAUSE code mappings
macro-dialout-trunk
exten => _1,1,Goto(s-INVALIDNMBR,1)
exten => _111,1,Goto(s-INVALIDNMBR,1)
exten => _19,1,Goto(s-NOANSWER,1)

If you have different HANGUPCAUSE codes, just add them.
Works for us with FreePBX 2.9.0.7/asterisk 1.8.7

Hi

I have much the same problem. When calling out and dialling an invalid number, we get a sip response 503 from our providor. This results in the 'All circuits are busy message’ being played and as per the other posts this causes confusion. The provider does provide an audio message detailing the problem ‘The number you have dialled does not exist’ and has advised us to enable ‘early audio’ on our PBX.

Any ideas on how to do this?

Thanks
Louis