[asterisk-bugs] [Asterisk 0012953]: Don't detect busy on Sangoma A101 with PRI

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Jun 30 08:22:23 CDT 2008


The following issue has been SUBMITTED. 
====================================================================== 
http://bugs.digium.com/view.php?id=12953 
====================================================================== 
Reported By:                lniemczyk
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12953
Category:                   Channels/chan_zap
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.21 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-30-2008 08:22 CDT
Last Modified:              06-30-2008 08:22 CDT
====================================================================== 
Summary:                    Don't detect busy on Sangoma A101 with PRI
Description: 
I've Sangoma Card A101, Asterisk 1.4.21 (we try 1.4.19 too),
zaptel-1.4.9.2, libpri-1.4.4, wanpipe 3.2.6 (we try 3.2.5 too) on
FedoraCore 8i3 (on kernel 2.6.24.7-92.fc8).
I'm using Asterisk Manager to instantiate outbound call and I need to know
when calling number was busy. We try to use Hangup Event cause value but it
is 0.
We found that was a bug
http://bugs.digium.com/bug_view_page.php?bug_id=0000890 in asterisk but
it's reported as completed and our configuration still not working.

We wrote simple diaplan for test purpose to test HANGUPCAUSE and
DIALSTATUS.

[outbound]
exten => s,1,NoOp(START)
exten => s,2,Dial(Zap/g1/00664474022,30)
exten => s,3,NoOp(${HANGUPCAUSE})
exten => s,4,NoOp(${DIALSTATUS})

exten => s,103,NoOp(${HANGUPCAUSE})
exten => s,104,NoOp(${DIALSTATUS})

exten => t,1,NoOp(TIMEOUT)
exten => t,2,NoOp(${DIALSTATUS})

ISDN signalized busy and frame look like this:

< [ 02 01 3a 3a 08 02 80 07 45 08 02 80 91 1e 02 82 88 ]
asterisk*CLI>
< Informational frame:
< SAPI: 00  C/R: 1 EA: 0
<  TEI: 000        EA: 1
< N(S): 029   0: 0
< N(R): 029   P: 0
< 13 bytes of data
Handling message for SAPI/TEI=0/0
-- ACKing all packets from 28 to (but not including) 29
-- 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 7/0x7) (Terminator)
< Message type: DISCONNECT (69)
< [08 02 80 91]
< Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0 
Location: User (0)
<                  Ext: 1  Cause: User busy (17), class = Normal Event (1)
]
< [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:3790 q931_receive: call 32775 on channel 2 enters state 12
(Disconnect Indication)

But caller heard congestion tone and after timeout CHANUNAVAIL is
signalized:

> [ 00 01 3a 3e 08 02 00 07 5a 08 02 81 90 ]

> Informational frame:
> SAPI: 00  C/R: 0 EA: 0
>  TEI: 000        EA: 1
> N(S): 029   0: 0
> N(R): 031   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 7/0x7) (Originator)
> Message type: RELEASE COMPLETE (90)
> [08 02 81 90]
> Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0 
Location: Private network serving the local user (1)
>                  Ext: 1  Cause: Normal Clearing (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/2-1'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s at outbound:103] NoOp("Zap/1-1", "-1") in new stack
    -- Executing [s at outbound:104] NoOp("Zap/1-1", "CHANUNAVAIL") in new
stack
  == Auto fallthrough, channel 'Zap/1-1' status is 'CHANUNAVAIL'

Our A101 was connected by E1 with Avaya Definity.
====================================================================== 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-30-08 08:22  lniemczyk      Asterisk Version          => 1.4.21          
06-30-08 08:22  lniemczyk      SVN Branch (only for SVN checkou => N/A          
  
======================================================================




More information about the asterisk-bugs mailing list