Alastair Battrick
2008-Apr-28 13:29 UTC
[asterisk-users] PRI hangup certain outgoing calls
I have a problem calling a certain number from our PRI line. Calling the number from a separate PSTN phone works fine. The remote number seems to have some funny call redivert setup, when you call it, it answers immediately, makes some kind of beep and then starts to ring. Our PRI is in the UK from Telewest/NTL/Virgin Media and most outgoing calls work without a problem. The server is trixbox based with a Digium TE410P PRI interface. Trixbox 2.6, Asterisk 1.4.18-3, FreeBPX 2.4. I'm no expert, but the PRI trace shows that the outgoing call is proceeding, and then seems to show that my end of the connection has disconnected the call, but I cannot work out why - it has already agreed to setup the call! What is causing this disconnect? Is there some tone detection going on behind the scenes? =======================================[zaptel] span=1,1,0,ccs,hdb3,crc4 bchan=1-15,17-31 dchan=16 loadzone = uk defaultzone = uk =======================================[zapata] [channels] language=en context=from-zaptel-custom usecallerid=yes hidecallerid=no restrictcid=no usecallingpres=yes overlapdial=yes echocancel=64 echocancelwhenbridged=no echotraining=yes rxgain=0.0 txgain=0.0 immediate=no faxdetect=no busydetect=no callprogress=no pridialplan=local prilocaldialplan=local group=1 switchtype = euroisdn signalling = pri_cpe channel => 1-8 =======================================PRI Trace < [ 02 01 01 2b ] < Supervisory frame: < SAPI: 00 C/R: 1 EA: 0 < TEI: 000 EA: 1 < Zero: 0 S: 0 01: 1 [ RR (receive ready) ] < N(R): 021 P/F: 1 < 0 bytes of data -- ACKing all packets from 20 to (but not including) 21 -- Since there was nothing left, stopping T200 counter -- Stopping T203 counter since we got an ACK -- Nothing left, starting T203 counter -- Unsolicited RR with P/F bit, responding Sending Receiver Ready (23) > [ 02 01 01 2f ] > Supervisory frame: > SAPI: 00 C/R: 1 EA: 0 > TEI: 000 EA: 1 > Zero: 0 S: 0 01: 1 [ RR (receive ready) ] > N(R): 023 P/F: 1 > 0 bytes of data -- Restarting T203 counter -- Restarting T203 counter -- Accepting AUTHENTICATED call from 10.1.0.46: > requested format = gsm, > requested prefs = (), > actual format = alaw, > host prefs = (ulaw|alaw|gsm), > priority = mine -- Executing [02081237722 at from-internal:1] Macro("IAX2/255-4", "user-callerid|SKIPTTL|") in new stack -- Executing [s at macro-user-callerid:1] NoOp("IAX2/255-4", "user-callerid: device 255") in new stack -- Executing [s at macro-user-callerid:2] Set("IAX2/255-4", "AMPUSER=255") in new stack -- Executing [s at macro-user-callerid:3] GotoIf("IAX2/255-4", "0?report") in new stack -- Executing [s at macro-user-callerid:4] ExecIf("IAX2/255-4", "0|Set|REALCALLERIDNUM=255") in new stack -- Executing [s at macro-user-callerid:5] NoOp("IAX2/255-4", "REALCALLERIDNUM is 255") in new stack -- Executing [s at macro-user-callerid:6] Set("IAX2/255-4", "AMPUSER=255") in new stack -- Executing [s at macro-user-callerid:7] Set("IAX2/255-4", "AMPUSERCIDNAME=Alastair Battrick") in new stack -- Executing [s at macro-user-callerid:8] GotoIf("IAX2/255-4", "0?report") in new stack -- Executing [s at macro-user-callerid:9] Set("IAX2/255-4", "AMPUSERCID=255") in new stack -- Executing [s at macro-user-callerid:10] Set("IAX2/255-4", "CALLERID(all)="Alastair Battrick" <255>") in new stack -- Executing [s at macro-user-callerid:11] Set("IAX2/255-4", "REALCALLERIDNUM=255") in new stack -- Executing [s at macro-user-callerid:12] ExecIf("IAX2/255-4", "0|Set|CHANNEL(language)=") in new stack -- Executing [s at macro-user-callerid:13] NoOp("IAX2/255-4", "TTL: ARG1: SKIPTTL") in new stack -- Executing [s at macro-user-callerid:14] GotoIf("IAX2/255-4", "1?continue") in new stack -- Goto (macro-user-callerid,s,23) -- Executing [s at macro-user-callerid:23] NoOp("IAX2/255-4", "Using CallerID "Alastair Battrick" <255>") in new stack -- Executing [02081237722 at from-internal:2] Set("IAX2/255-4", "_NODEST=") in new stack -- Executing [02081237722 at from-internal:3] Macro("IAX2/255-4", "record-enable|255|OUT|") in new stack -- Executing [s at macro-record-enable:1] GotoIf("IAX2/255-4", "0?2:4") in new stack -- Goto (macro-record-enable,s,4) -- Executing [s at macro-record-enable:4] AGI("IAX2/255-4", "recordingcheck|20080428-134020|1209386420.22") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck recordingcheck|20080428-134020|1209386420.22: Outbound recording not enabled -- AGI Script recordingcheck completed, returning 0 -- Executing [s at macro-record-enable:5] NoOp("IAX2/255-4", "No recording needed") in new stack -- Executing [02081237722 at from-internal:4] Macro("IAX2/255-4", "dialout-trunk|1|02081237722||") in new stack -- Executing [s at macro-dialout-trunk:1] Set("IAX2/255-4", "DIAL_TRUNK=1") in new stack -- Executing [s at macro-dialout-trunk:2] ExecIf("IAX2/255-4", "0|Authenticate|") in new stack -- Executing [s at macro-dialout-trunk:3] GotoIf("IAX2/255-4", "0?disabletrunk|1") in new stack -- Executing [s at macro-dialout-trunk:4] Set("IAX2/255-4", "DIAL_NUMBER=02081237722") in new stack -- Executing [s at macro-dialout-trunk:5] Set("IAX2/255-4", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing [s at macro-dialout-trunk:6] Set("IAX2/255-4", "GROUP()=OUT_1") in new stack -- Executing [s at macro-dialout-trunk:7] GotoIf("IAX2/255-4", "0?nomax") in new stack -- Executing [s at macro-dialout-trunk:8] GotoIf("IAX2/255-4", "0?chanfull") in new stack -- Executing [s at macro-dialout-trunk:9] GotoIf("IAX2/255-4", "0?skipoutcid") in new stack -- Executing [s at macro-dialout-trunk:10] Set("IAX2/255-4", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing [s at macro-dialout-trunk:11] Macro("IAX2/255-4", "outbound-callerid|1") in new stack -- Executing [s at macro-outbound-callerid:1] ExecIf("IAX2/255-4", "0|SetCallingPres|") in new stack -- Executing [s at macro-outbound-callerid:2] GotoIf("IAX2/255-4", "1?start") in new stack -- Goto (macro-outbound-callerid,s,4) -- Executing [s at macro-outbound-callerid:4] NoOp("IAX2/255-4", "REALCALLERIDNUM is 255") in new stack -- Executing [s at macro-outbound-callerid:5] GotoIf("IAX2/255-4", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,10) -- Executing [s at macro-outbound-callerid:10] Set("IAX2/255-4", "USEROUTCID="Alastair Battrick" <0255>") in new stack -- Executing [s at macro-outbound-callerid:11] Set("IAX2/255-4", "EMERGENCYCID=") in new stack -- Executing [s at macro-outbound-callerid:12] Set("IAX2/255-4", "TRUNKOUTCID=") in new stack -- Executing [s at macro-outbound-callerid:13] GotoIf("IAX2/255-4", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,17) -- Executing [s at macro-outbound-callerid:17] GotoIf("IAX2/255-4", "1?usercid") in new stack -- Goto (macro-outbound-callerid,s,19) -- Executing [s at macro-outbound-callerid:19] GotoIf("IAX2/255-4", "0?report") in new stack -- Executing [s at macro-outbound-callerid:20] Set("IAX2/255-4", "CALLERID(all)=Alastair Battrick <0255>") in new stack -- Executing [s at macro-outbound-callerid:21] GotoIf("IAX2/255-4", "1?report:hidecid") in new stack -- Goto (macro-outbound-callerid,s,23) -- Executing [s at macro-outbound-callerid:23] NoOp("IAX2/255-4", "CallerID set to "Alastair Battrick" <0255>") in new stack -- Executing [s at macro-dialout-trunk:12] AGI("IAX2/255-4", "fixlocalprefix") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix -- AGI Script fixlocalprefix completed, returning 0 -- Executing [s at macro-dialout-trunk:13] Set("IAX2/255-4", "OUTNUM=02081237722") in new stack -- Executing [s at macro-dialout-trunk:14] Set("IAX2/255-4", "custom=ZAP/g1") in new stack -- Executing [s at macro-dialout-trunk:15] GotoIf("IAX2/255-4", "1?gocall") in new stack -- Goto (macro-dialout-trunk,s,17) -- Executing [s at macro-dialout-trunk:17] Macro("IAX2/255-4", "dialout-trunk-predial-hook|") in new stack -- Executing [s at macro-dialout-trunk:18] GotoIf("IAX2/255-4", "0?bypass|1") in new stack -- Executing [s at macro-dialout-trunk:19] GotoIf("IAX2/255-4", "0?customtrunk") in new stack -- Executing [s at macro-dialout-trunk:20] Dial("IAX2/255-4", "ZAP/g1/02081237722|300|") in new stack -- Making new call for cr 32778 -- Requested transfer capability: 0x00 - SPEECH pbx*CLI> > [ 00 01 2a 2e 08 02 00 0a 05 04 03 80 90 a3 18 03 a9 83 81 6c 06 41 81 30 32 35 35 70 0c c1 30 32 30 38 31 32 33 37 37 32 32 ] pbx*CLI> > Informational frame: > SAPI: 00 C/R: 0 EA: 0 > TEI: 000 EA: 1 > N(S): 021 0: 0 > N(R): 023 P: 0 > 37 bytes of data -- Restarting T203 counter Stopping T_203 timer Starting T_200 timer > Protocol Discriminator: Q.931 (8) len=37 > Call Ref: len= 2 (reference 10/0xA) (Originator) > Message type: SETUP (5) > [04 03 80 90 a3] > Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: Speech (0) > Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16) > Ext: 1 User information layer 1: A-Law (35) > [18 03 a9 83 81] > Channel ID (len= 5) [ Ext: 1 IntID: Implicit PRI Spare: 0 Exclusive Dchan: 0 > ChanSel: Reserved > Ext: 1 Coding: 0 Number Specified Channel Type: 3 > Ext: 1 Channel: 1 ] > [6c 06 41 81 30 32 35 35] > Calling Number (len= 8) [ Ext: 0 TON: Subscriber Number (4) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1) > Presentation: Presentation permitted, user number passed network screening (1) '0255' ] > [70 0c c1 30 32 30 38 31 32 33 37 37 32 32] > Called Number (len=14) [ Ext: 1 TON: Subscriber Number (4) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1) '02081237722' ] q931.c:2881 q931_setup: call 32778 on channel 1 enters state 1 (Call Initiated) -- Called g1/02081237722 pbx*CLI> < [ 00 01 01 2c ] < Supervisory frame: < SAPI: 00 C/R: 0 EA: 0 < TEI: 000 EA: 1 < Zero: 0 S: 0 01: 1 [ RR (receive ready) ] < N(R): 022 P/F: 0 < 0 bytes of data -- ACKing all packets from 20 to (but not including) 22 -- ACKing packet 21, new txqueue is -1 (-1 means empty) -- Since there was nothing left, stopping T200 counter -- Nothing left, starting T203 counter -- Restarting T203 counter pbx*CLI> < [ 02 01 2e 2c 08 02 80 0a 02 18 03 a9 83 81 ] < Informational frame: < SAPI: 00 C/R: 1 EA: 0 < TEI: 000 EA: 1 < N(S): 023 0: 0 < N(R): 022 P: 0 < 10 bytes of data -- ACKing all packets from 21 to (but not including) 22 -- Since there was nothing left, stopping T200 counter -- Stopping T203 counter since we got an ACK -- Nothing left, starting T203 counter < Protocol Discriminator: Q.931 (8) len=10 < Call Ref: len= 2 (reference 10/0xA) (Terminator) < Message type: CALL PROCEEDING (2) < [18 03 a9 83 81] < Channel ID (len= 5) [ Ext: 1 IntID: Implicit PRI Spare: 0 Exclusive Dchan: 0 < ChanSel: Reserved < Ext: 1 Coding: 0 Number Specified Channel Type: 3 < Ext: 1 Channel: 1 ] -- Processing IE 24 (cs0, Channel Identification) q931.c:3428 q931_receive: call 32778 on channel 1 enters state 3 (Outgoing call Proceeding) Sending Receiver Ready (24) > [ 02 01 01 30 ] > Supervisory frame: > SAPI: 00 C/R: 1 EA: 0 > TEI: 000 EA: 1 > Zero: 0 S: 0 01: 1 [ RR (receive ready) ] > N(R): 024 P/F: 0 > 0 bytes of data -- Restarting T203 counter -- Restarting T203 counter -- Zap/1-1 is proceeding passing it to IAX2/255-4 pbx*CLI> < [ 02 01 30 2c 08 02 80 0a 45 08 02 8a a2 1e 02 82 88 ] < Informational frame: < SAPI: 00 C/R: 1 EA: 0 < TEI: 000 EA: 1 < N(S): 024 0: 0 < N(R): 022 P: 0 < 13 bytes of data -- ACKing all packets from 21 to (but not including) 22 -- Since there was nothing left, stopping T200 counter -- Stopping T203 counter since we got an ACK -- Nothing left, starting T203 counter < Protocol Discriminator: Q.931 (8) len=13 < Call Ref: len= 2 (reference 10/0xA) (Terminator) < Message type: DISCONNECT (69) < [08 02 8a a2] < Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Network beyond the interworking point (10) < Ext: 1 Cause: Circuit/channel congestion (34), class = Network Congestion (resource unavailable) (2) ] < [1e 02 82 88] < Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Public network serving the local user (2) < Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ] -- Processing IE 8 (cs0, Cause) -- Processing IE 30 (cs0, Progress Indicator) q931.c:3563 q931_receive: call 32778 on channel 1 enters state 12 (Disconnect Indication) Sending Receiver Ready (25) > [ 02 01 01 32 ] > Supervisory frame: > SAPI: 00 C/R: 1 EA: 0 > TEI: 000 EA: 1 > Zero: 0 S: 0 01: 1 [ RR (receive ready) ] > N(R): 025 P/F: 0 > 0 bytes of data -- Restarting T203 counter -- Restarting T203 counter -- Channel 0/1, span 1 got hangup request, cause 34 -- Zap/1-1 is circuit-busy NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Disconnect Indication, peerstate Disconnect Request q931.c:2716 q931_release: call 32778 on channel 1 enters state 19 (Release Request) > [ 00 01 2c 32 08 02 00 0a 4d 08 02 81 a2 ] > Informational frame: > SAPI: 00 C/R: 0 EA: 0 > TEI: 000 EA: 1 > N(S): 022 0: 0 > N(R): 025 P: 0 > 9 bytes of data -- Restarting T203 counter Stopping T_203 timer Starting T_200 timer > Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 10/0xA) (Originator) > Message type: RELEASE (77) > [08 02 81 a2] > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: Private network serving the local user (1) > Ext: 1 Cause: Circuit/channel congestion (34), class = Network Congestion (resource unavailable) (2) ] -- Hungup 'Zap/1-1' == Everyone is busy/congested at this time (1:0/1/0) -- Executing [s at macro-dialout-trunk:21] Goto("IAX2/255-4", "s-CONGESTION|1") in new stack -- Goto (macro-dialout-trunk,s-CONGESTION,1) -- Executing [s-CONGESTION at macro-dialout-trunk:1] GotoIf("IAX2/255-4", "1?noreport") in new stack -- Goto (macro-dialout-trunk,s-CONGESTION,3) -- Executing [s-CONGESTION at macro-dialout-trunk:3] NoOp("IAX2/255-4", "TRUNK Dial failed due to CONGESTION - failing through to other trunks") in new stack -- Executing [02081237722 at from-internal:5] Macro("IAX2/255-4", "outisbusy|") in new stack -- Executing [s at macro-outisbusy:1] Playback("IAX2/255-4", "all-circuits-busy-now|noanswer") in new stack -- <IAX2/255-4> Playing 'all-circuits-busy-now' (language 'en') pbx*CLI> < [ 00 01 01 2e ] < Supervisory frame: < SAPI: 00 C/R: 0 EA: 0 < TEI: 000 EA: 1 < Zero: 0 S: 0 01: 1 [ RR (receive ready) ] < N(R): 023 P/F: 0 < 0 bytes of data -- ACKing all packets from 21 to (but not including) 23 -- ACKing packet 22, new txqueue is -1 (-1 means empty) -- Since there was nothing left, stopping T200 counter -- Nothing left, starting T203 counter -- Restarting T203 counter pbx*CLI> < [ 02 01 32 2e 08 02 80 0a 5a ] < Informational frame: < SAPI: 00 C/R: 1 EA: 0 < TEI: 000 EA: 1 < N(S): 025 0: 0 < N(R): 023 P: 0 < 5 bytes of data -- ACKing all packets from 22 to (but not including) 23 -- Since there was nothing left, stopping T200 counter -- Stopping T203 counter since we got an ACK -- Nothing left, starting T203 counter < Protocol Discriminator: Q.931 (8) len=5 < Call Ref: len= 2 (reference 10/0xA) (Terminator) < Message type: RELEASE COMPLETE (90) q931.c:3503 q931_receive: call 32778 on channel 1 enters state 0 (Null) NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null Sending Receiver Ready (26) > [ 02 01 01 34 ] > Supervisory frame: > SAPI: 00 C/R: 1 EA: 0 > TEI: 000 EA: 1 > Zero: 0 S: 0 01: 1 [ RR (receive ready) ] > N(R): 026 P/F: 0 > 0 bytes of data -- Restarting T203 counter -- Restarting T203 counter -- Executing [s at macro-outisbusy:2] Playback("IAX2/255-4", "pls-try-call-later|noanswer") in new stack -- <IAX2/255-4> Playing 'pls-try-call-later' (language 'en') -- Executing [s at macro-outisbusy:3] Macro("IAX2/255-4", "hangupcall") in new stack -- Executing [s at macro-hangupcall:1] ResetCDR("IAX2/255-4", "w") in new stack -- Executing [s at macro-hangupcall:2] NoCDR("IAX2/255-4", "") in new stack -- Executing [s at macro-hangupcall:3] GotoIf("IAX2/255-4", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,6) -- Executing [s at macro-hangupcall:6] GotoIf("IAX2/255-4", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,9) -- Executing [s at macro-hangupcall:9] GotoIf("IAX2/255-4", "1?theend") in new stack -- Goto (macro-hangupcall,s,11) -- Executing [s at macro-hangupcall:11] Hangup("IAX2/255-4", "") in new stack == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'IAX2/255-4' in macro 'hangupcall' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'IAX2/255-4' in macro 'outisbusy' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'IAX2/255-4' -- Hungup 'IAX2/255-4' pbx*CLI> quit Executing last minute cleanups -- Alastair Battrick
On Mon, Apr 28, 2008 at 9:29 AM, Alastair Battrick <al at aj8.org> wrote:> I have a problem calling a certain number from our PRI line. Calling the > number from a separate PSTN phone works fine. > > The remote number seems to have some funny call redivert setup, when you > call it, it answers immediately, makes some kind of beep and then starts > to ring. > > Our PRI is in the UK from Telewest/NTL/Virgin Media and most outgoing > calls work without a problem. The server is trixbox based with a Digium > TE410P PRI interface. Trixbox 2.6, Asterisk 1.4.18-3, FreeBPX 2.4. > > I'm no expert, but the PRI trace shows that the outgoing call is > proceeding, and then seems to show that my end of the connection has > disconnected the call, but I cannot work out why - it has already agreed > to setup the call! > > What is causing this disconnect? Is there some tone detection going on > behind the scenes? > > =======================================> [zaptel] > span=1,1,0,ccs,hdb3,crc4 > bchan=1-15,17-31 > dchan=16 > loadzone = uk > defaultzone = uk > =======================================> [zapata] > [channels] > language=en > context=from-zaptel-custom > usecallerid=yes > hidecallerid=no > restrictcid=no > usecallingpres=yes > overlapdial=yes > echocancel=64 > echocancelwhenbridged=no > echotraining=yes > rxgain=0.0 > txgain=0.0 > immediate=no > faxdetect=no > busydetect=no > callprogress=no > pridialplan=local > prilocaldialplan=local > > group=1 > switchtype = euroisdn > signalling = pri_cpe > channel => 1-8 > =======================================> PRI Trace >[snipped] Location: Private network serving the local user (1) > Ext: 1 Cause: Circuit/channel congestion (34), class = Network Congestion (resource unavailable) (2) ] -- Hungup 'Zap/1-1' Is this Trixbox/FreePBX? What version of Asterisk? http://www.trixbox.org/forums/trixbox-forums/help/inbound-calls-over-pri-get-fast-busy "I believe the issue is a bug Mon, 04/14/2008 - 12:50pm I believe the issue is a bug in channel locking in Asterisk 1.4.18. I'm waiting for Asterisk 1.4.19 to be released through Trixbox, which has bugfixes applied to fix this exact issue." Last post on the webpage, seems to be the same issue. I believe the issue is a bug in channel locking in Asterisk 1.4.18. I'm waiting for Asterisk 1.4.19 to be released through Trixbox, which has bugfixes applied to fix this exact issue. This is the section to focus on. Sorry I cannot be of much help. Can you dial other numbers, it is just an issue with one in particular? http://www.voip-info.org/wiki/view/Asterisk+variable+hangupcause #define AST_CAUSE_NORMAL_CIRCUIT_CONGESTION 34 #define AST_CAUSE_NO_ROUTE_TRANSIT_NET 2 (this is fishy) I would contact your service provider, they may be able to explain it better if not fix it. Thanks, Steve Totaro
On Mon, Apr 28, 2008 at 10:27 AM, Arthur <pylinuxian at gmail.com> wrote:> > > > I can dial out to other numbers without issue. > > .... > > > > Calling the number from a separate PSTN phone works fine. > > > I have had such problem last week. from PRI interface (i get busy tone as > fast as i finish typing last digit & hit dial) from analog interface I can > make the call without problem. > my provider never could solve it (well so far) & I myself never could > understand what it could be. > is this a special number (call center or something) ? because mine is a > call center number ... so maybe they had a wrong setup on thier servers or > something. >Curious, are you sending a toll free as your callerID? If so, try sending your BTN or some other regular toll number. I had a similar problem dialing a specific number (Gateway) when sending a toll free callerID, GXing said it was because other telcos are unsure how to bill the call so they send back busy. Thanks, Steve Totaro