Nenad Radosavljevic
2005-Dec-05 03:31 UTC
[Asterisk-Users] Calls to DISA over ISDN PRI don't get CONNECT ACKNOLEDGE
Hi ! I'm having a problem with calls that come over ISDN PRI and go to DISA app. Problem doesn't happen with calls from SIP phones to DISA or for a calls over ISDN PRI to SIP phones. Asterisk is 1.2.0 This renders DISA completely unusable when call comes over PRI, since every call gets hunged up, about 10 seconds after it is answered by Answer or DISA. Here is relevant part of extensions.conf: [default] exten => 209,1,Macro(superdial, SIP/209,,rtT,,${EXTEN},1) exten => 299,1,Answer() ;tried without this also, but with same results exten => 299,2,DISA(no-password) --------------------------------------- Here is PRI debug of call to DISA: < Protocol Discriminator: Q.931 (8) len=37 < Call Ref: len= 2 (reference 67/0x43) (Originator) < Message type: SETUP (5) < [a1] < Sending Complete (len= 1) < [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 04 80 31 30 39] < Calling Number (len= 6) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) < Presentation: Presentation permitted, user number not screened (0) '109' ] < [70 04 80 32 39 39] < Called Number (len= 6) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) '299' ] < [7c 03 80 90 a3] < IE: Low-layer Compatibility (len = 5) < [7d 02 91 81] < IE: High-layer Compatibility (len = 4) -- Making new call for cr 67 -- Processing Q.931 Call Setup -- Processing IE 161 (cs0, Sending Complete) -- Processing IE 4 (cs0, Bearer Capability) -- Processing IE 24 (cs0, Channel Identification) -- Processing IE 108 (cs0, Calling Party Number) -- Processing IE 112 (cs0, Called Party Number) -- Processing IE 124 (cs0, Low-layer Compatibility) -- Processing IE 125 (cs0, High-layer Compatibility)> Protocol Discriminator: Q.931 (8) len=10 > Call Ref: len= 2 (reference 67/0x43) (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 ]-- Accepting call from '109' to '299' on channel 0/1, span 1 -- Executing Answer("Zap/1-1", "") in new stack> Protocol Discriminator: Q.931 (8) len=14 > Call Ref: len= 2 (reference 67/0x43) (Terminator) > Message type: CONNECT (7) > [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 ] > [1e 02 81 82] > Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: > 0 Location: Private network serving the local user (1) > Ext: 1 Progress Description: Called > equipment is non-ISDN. (2) ]-- Executing DISA("Zap/1-1", "no-password") in new stack>>>>>>>>>>>>Timed out looking for connect acknowledge> Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 67/0x43) (Terminator) > Message type: DISCONNECT (69) > [08 02 81 90] > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: > Private network serving the local user (1) > Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]< Protocol Discriminator: Q.931 (8) len=5 < Call Ref: len= 2 (reference 67/0x43) (Originator) < Message type: RELEASE (77) -- Channel 0/1, span 1 got hangup == Spawn extension (default, 299, 2) exited non-zero on 'Zap/1-1' NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Release Request> Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 67/0x43) (Terminator) > Message type: RELEASE COMPLETE (90) > [08 02 81 90] > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: > Private network serving the local user (1) > Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null -- Hungup 'Zap/1-1' ------------------------------------------- For a comparation purposes here is PRI DEBUG for a call to SIP phone, over same ISDN PRI, where the CONNECT message is ACK'ED. ------------------------------------------- < Protocol Discriminator: Q.931 (8) len=37 < Call Ref: len= 2 (reference 68/0x44) (Originator) < Message type: SETUP (5) < [a1] < Sending Complete (len= 1) < [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 04 80 31 30 39] < Calling Number (len= 6) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) < Presentation: Presentation permitted, user number not screened (0) '109' ] < [70 04 80 32 30 39] < Called Number (len= 6) [ Ext: 1 TON: Unknown Number Type (0) NPI: Unknown Number Plan (0) '209' ] < [7c 03 80 90 a3] < IE: Low-layer Compatibility (len = 5) < [7d 02 91 81] < IE: High-layer Compatibility (len = 4) -- Making new call for cr 68 -- Processing Q.931 Call Setup -- Processing IE 161 (cs0, Sending Complete) -- Processing IE 4 (cs0, Bearer Capability) -- Processing IE 24 (cs0, Channel Identification) -- Processing IE 108 (cs0, Calling Party Number) -- Processing IE 112 (cs0, Called Party Number) -- Processing IE 124 (cs0, Low-layer Compatibility) -- Processing IE 125 (cs0, High-layer Compatibility)> Protocol Discriminator: Q.931 (8) len=10 > Call Ref: len= 2 (reference 68/0x44) (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 ]-- Accepting call from '109' to '209' on channel 0/1, span 1 -- Executing Macro("Zap/1-1", "superdial|SIP/209||rtT||209|1") in new stack -- Executing Set("Zap/1-1", "GROUP()=109") in new stack -- Executing Set("Zap/1-1", "GROUP()=209") in new stack -- Executing GotoIf("Zap/1-1", "0?104") in new stack -- Executing GotoIf("Zap/1-1", "1?macro-superdial|s|6") in new stack -- Goto (macro-superdial,s,6) -- Executing GotoIf("Zap/1-1", "1?macro-superdial|s|8") in new stack -- Goto (macro-superdial,s,8) -- Executing GotoIf("Zap/1-1", "1?macro-superdial|s|10") in new stack -- Goto (macro-superdial,s,10) -- Executing GotoIf("Zap/1-1", "1?macro-superdial|s|12") in new stack -- Goto (macro-superdial,s,12) -- Executing Dial("Zap/1-1", "SIP/209||rtT|") in new stack -- Called 209> Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 68/0x44) (Terminator) > Message type: ALERTING (1) > [1e 02 81 88] > Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: > 0 Location: Private network serving the local user (1) > Ext: 1 Progress Description: Inband > information or appropriate pattern now available. (8) ]-- SIP/209-ae23 is ringing -- SIP/209-ae23 answered Zap/1-1> Protocol Discriminator: Q.931 (8) len=14 > Call Ref: len= 2 (reference 68/0x44) (Terminator) > Message type: CONNECT (7) > [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 ] > [1e 02 81 82] > Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: > 0 Location: Private network serving the local user (1) > Ext: 1 Progress Description: Called > equipment is non-ISDN. (2) ]<<<<<<<<< Protocol Discriminator: Q.931 (8) len=5 <<<<<<<<< Call Ref: len= 2 (reference 68/0x44) (Originator) <<<<<<<<< Message type: CONNECT ACKNOWLEDGE (15) == Spawn extension (macro-superdial, s, 12) exited non-zero on 'Zap/1-1' in macro 'superdial' == Spawn extension (default, 209, 1) exited non-zero on 'Zap/1-1' NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Active, peerstate Active> Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 68/0x44) (Terminator) > Message type: DISCONNECT (69) > [08 02 81 90] > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: > Private network serving the local user (1) > Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]-- Hungup 'Zap/1-1' < Protocol Discriminator: Q.931 (8) len=5 < Call Ref: len= 2 (reference 68/0x44) (Originator) < Message type: RELEASE (77) NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Release Request> Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 68/0x44) (Terminator) > Message type: RELEASE COMPLETE (90) > [08 02 81 90] > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: > Private network serving the local user (1) > Ext: 1 Cause: Unknown (16), class = Normal Event (1) ]NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null --------------------------------- Does anyone have any idea why this is happening, and how to solve this problem ? Regards, Nenad Radosavljevic