[asterisk-users] PRI congestion instead of busy
Justin Killen
jkillen at allamericanasphalt.com
Wed Jul 9 16:10:57 CDT 2014
I figured it out - the busy tone was being generated by the local end. It seems that upon receiving a hangup, freepbx tries the next trunk. In this case there isn't any other trunk, so I get "all circuits are busy now".
For anyone interested, the site B playback()/busy() condition has been submitted as bug# 7706 - http://issues.freepbx.org/browse/FREEPBX-7706
The site A truck failover retry on hangupcause's that shouldn't be retried has been submitted as bug# 7705 - http://issues.freepbx.org/browse/FREEPBX-7705
-Justin
________________________________
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Justin Killen
Sent: Wednesday, July 09, 2014 11:00 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] PRI congestion instead of busy
I tried changing the dialplan to use Hangup(17) instead of Playback/Busy. Now instead of ringing for 20 seconds and then getting the "all circuits are busy now", I get "all circuits are busy now" immediately.
New snippet from site A:
...
[2014-07-09 10:53:43] VERBOSE[23020][C-0000db0d] app_dial.c: -- Called DAHDI/g5/5551212
[2014-07-09 10:53:43] VERBOSE[23020][C-0000db0d] app_dial.c: -- DAHDI/i7/5551212-413b is proceeding passing it to SIP/260-0000a35c
[2014-07-09 10:53:44] VERBOSE[23020][C-0000db0d] app_dial.c: -- DAHDI/i7/5551212-413b is ringing
[2014-07-09 10:53:44] VERBOSE[23020][C-0000db0d] app_dial.c: -- DAHDI/i7/5551212-413b is making progress passing it to SIP/260-0000a35c
[2014-07-09 10:53:51] VERBOSE[23020][C-0000db0d] app_dial.c: -- DAHDI/i7/5551212-413b answered SIP/260-0000a35c
[2014-07-09 10:53:58] VERBOSE[23020][C-0000db0d] res_musiconhold.c: -- Started music on hold, class 'default', on DAHDI/i7/5551212-413b
[2014-07-09 10:55:06] VERBOSE[23020][C-0000db0d] res_musiconhold.c: -- Stopped music on hold on DAHDI/i7/5551212-413b
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: -- Executing [h at macro-dialout-trunk:1] Macro("SIP/260-0000a35c", "hangupcall,") in new stack
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: -- Executing [s at macro-hangupcall:1] GotoIf("SIP/260-0000a35c", "1?theend") in new stack
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: -- Goto (macro-hangupcall,s,3)
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: -- Executing [s at macro-hangupcall:3] ExecIf("SIP/260-0000a35c", "0?Set(CDR(recordingfile)=)") in new stack
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: -- Executing [s at macro-hangupcall:4] Hangup("SIP/260-0000a35c", "") in new stack
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] app_macro.c: == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/260-0000a35c' in macro 'hangupcall'
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/260-0000a35c'
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] chan_dahdi.c: -- Hungup 'DAHDI/i7/5551212-413b'
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] app_macro.c: == Spawn extension (macro-dialout-trunk, s, 22) exited non-zero on 'SIP/260-0000a35c' in macro 'dialout-trunk'
[2014-07-09 10:55:07] VERBOSE[23020][C-0000db0d] pbx.c: == Spawn extension (from-internal, 5551212, 5) exited non-zero on 'SIP/260-0000a35c'
...
New snippet from site B:
...
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Goto (macro-exten-vm,s-BUSY,1)
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Executing [s-BUSY at macro-exten-vm:1] GotoIf("DAHDI/i8/9519999999-603", "0?exit,1") in new stack
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Executing [s-BUSY at macro-exten-vm:2] Hangup("DAHDI/i8/9519999999-603", "17") in new stack
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] app_macro.c: == Spawn extension (macro-exten-vm, s-BUSY, 2) exited non-zero on 'DAHDI/i8/9519999999-603' in macro 'exten-vm'
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: == Spawn extension (from-did-direct, 803, 2) exited non-zero on 'DAHDI/i8/9519999999-603'
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Executing [h at from-did-direct:1] Macro("DAHDI/i8/9519999999-603", "hangupcall,") in new stack
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Executing [s at macro-hangupcall:1] GotoIf("DAHDI/i8/9519999999-603", "1?theend") in new stack
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Goto (macro-hangupcall,s,3)
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Executing [s at macro-hangupcall:3] ExecIf("DAHDI/i8/9519999999-603", "0?Set(CDR(recordingfile)=)") in new stack
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: -- Executing [s at macro-hangupcall:4] Hangup("DAHDI/i8/9519999999-603", "") in new stack
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] app_macro.c: == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/i8/9519999999-603' in macro 'hangupcall'
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] pbx.c: == Spawn extension (from-did-direct, h, 1) exited non-zero on 'DAHDI/i8/9519999999-603'
[2014-07-09 10:47:03] VERBOSE[7133][C-00000c69] chan_dahdi.c: -- Hungup 'DAHDI/i8/9519999999-603'
...
It seems that now the PRI cause isn't getting set at all.
-Justin
________________________________
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Eric Wieling
Sent: Wednesday, July 09, 2014 10:35 AM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] PRI congestion instead of busy
If you use Playtones you should put an Answer and a Wait(1) before the Playtones
I recommend using the Hangup app instead. Busy would be Hangup(17).
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Justin Killen
Sent: Wednesday, July 09, 2014 2:24 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: [asterisk-users] PRI congestion instead of busy
I have two servers, each connected to the PTSN via PRI. When I call from site A (951-999-9999) to site B (555-1212) and the phone at site B is on the phone, I hear the normal ring tone for about 20 seconds, then the message "all circuits are busy now. please try your call again latter" followed by the congestion tone. Instead, I want this to busy ring and then hang up without any message.
Here is a snippet from site A:
...
[2014-07-09 09:56:16] VERBOSE[21606][C-0000dab7] app_dial.c: -- Called DAHDI/g5/5551212
[2014-07-09 09:56:17] VERBOSE[21606][C-0000dab7] app_dial.c: -- DAHDI/i7/5551212-411b is proceeding passing it to SIP/260-0000a2f1
[2014-07-09 09:56:17] VERBOSE[21606][C-0000dab7] app_dial.c: -- DAHDI/i7/5551212-411b is ringing
[2014-07-09 09:56:17] VERBOSE[21606][C-0000dab7] app_dial.c: -- DAHDI/i7/5551212-411b is making progress passing it to SIP/260-0000a2f1
[2014-07-09 09:56:18] VERBOSE[21606][C-0000dab7] app_dial.c: -- SIP/260-0000a2f1 requested media update control 26, passing it to DAHDI/i7/5551212-411b
[2014-07-09 09:56:37] VERBOSE[2286][C-0000dab7] sig_pri.c: -- Span 7: Channel 0/3 got hangup request, cause 16
...
And from site B:
...
[2014-07-09 09:56:17] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s at macro-exten-vm:22] GotoIf("DAHDI/i8/9519999999-59f", "1?s-BUSY,1") in new stack
[2014-07-09 09:56:17] VERBOSE[3775][C-00000bb1] pbx.c: -- Goto (macro-exten-vm,s-BUSY,1)
[2014-07-09 09:56:17] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s-BUSY at macro-exten-vm:1] GotoIf("DAHDI/i8/9519999999-59f", "0?exit,1") in new stack
[2014-07-09 09:56:17] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s-BUSY at macro-exten-vm:2] PlayTones("DAHDI/i8/9519999999-59f", "busy") in new stack
[2014-07-09 09:56:17] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s-BUSY at macro-exten-vm:3] Busy("DAHDI/i8/9519999999-59f", "20") in new stack
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] app_macro.c: == Spawn extension (macro-exten-vm, s-BUSY, 3) exited non-zero on 'DAHDI/i8/9519999999-59f' in macro 'exten-vm'
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] pbx.c: == Spawn extension (from-did-direct, 803, 2) exited non-zero on 'DAHDI/i8/9519999999-59f'
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [h at from-did-direct:1] Macro("DAHDI/i8/9519999999-59f", "hangupcall,") in new stack
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s at macro-hangupcall:1] GotoIf("DAHDI/i8/9519999999-59f", "1?theend") in new stack
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] pbx.c: -- Goto (macro-hangupcall,s,3)
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s at macro-hangupcall:3] ExecIf("DAHDI/i8/9519999999-59f", "0?Set(CDR(recordingfile)=)") in new stack
[2014-07-09 09:56:37] VERBOSE[3775][C-00000bb1] pbx.c: -- Executing [s at macro-hangupcall:4] Hangup("DAHDI/i8/9519999999-59f", "") in new stack
...
My hunch is that the PRI cause is never set, so site A gets the generic cause 16 (normal call clearing) instead of 17 (user busy). I suspect this is causing site A to get the "all circuits are busy now" message instead of a busy signal. I thought calling Busy() would cause the PRI cause to get set when used on a channel that is PRI? Should this be manually set instead?
Site B details:
Asterisk version 11.10.2
Libpri version: 1.4.12
DAHDI version: 2.9.0.1
Freepbx version: 2.11.0.37, distro version 5.211.65-14
-Justin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20140709/a7cbf96f/attachment-0001.html>
More information about the asterisk-users
mailing list