[asterisk-users] PRI hangup certain outgoing calls

Alastair Battrick al at aj8.org
Mon Apr 28 08:29:50 CDT 2008


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



More information about the asterisk-users mailing list