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@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@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@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@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@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@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@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@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@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@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: [email protected]
[mailto:[email protected]] 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: [email protected]
[mailto:[email protected]] 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@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@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@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@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@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@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@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@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
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users