[Asterisk-Users] Calls to DISA over ISDN PRI don't get CONNECT ACKNOLEDGE

Nenad Radosavljevic nenadr at deltaplan.co.yu
Mon Dec 5 03:31:48 MST 2005


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






More information about the asterisk-users mailing list