[asterisk-dev] On PRIs, blocked channels, congestiona and telco technicians

Edwin Groothuis edwin at mavetju.org
Sat May 31 02:13:33 CDT 2008


On Fri, May 30, 2008 at 07:01:26AM -0500, Will wrote:
> On Thu, May 29, 2008 at 11:22 PM, Edwin Groothuis <edwin at mavetju.org> wrote:
> > How wrong? He says it happens when the restart message is answered
> > too late (i.e. before the next restart message) or with the wrong
> > data (reset of channel 0/1 is completed while reset of channel 0/2
> > is expected).
> 
> Just an idea, but maybe this happens when both sides try to reset the
> channels at the same time, or have overlapping resets.  Have you tried
> disabling resets on your side since the other side seems to be doing
> them anyway?  Hopefully the pri debug will show something.

I found two things:

First one is that the exchanges of the telco don't like the RESTART
asterisk is sending:

> Protocol Discriminator: Q.931 (8)  len=14
> Call Ref: len= 2 (reference 0/0x0) (Originator)
> Message type: RESTART (70)
> [18 04 e9 80 83 8c]
> Channel ID (len= 6) [ Ext: 1  IntID: Explicit  PRI  Spare: 0  Exclusive  Dchan: 0
>                        ChanSel: Reserved
>                       Ext: 1  DS1 Identifier: 0  
>                       Ext: 1  Coding: 0  Number Specified  Channel Type: 3
>                       Ext: 1  Channel: 12 ]
> [79 01 80]
> Restart Indentifier (len= 3) [ Ext: 1  Spare: 0  Resetting Indicated Channel (0) ]

< Protocol Discriminator: Q.931 (8)  len=14
< Call Ref: len= 2 (reference 0/0x0) (Terminator)
< Message type: STATUS (125)
< [08 04 82 e4 98 18]
< Cause (len= 6) [ Ext: 1  Coding: CCITT (ITU) standard (0)  Spare: 0  Location: Public network serving the local user (2)
<                  Ext: 1  Cause: Invalid information element contents (100), class = Protocol Error (e.g. unknown message) (6) ]
<              Cause data 1: 98 (152)
<              Cause data 2: 18 (24)
< [14 01 00]
< Call State (len= 3) [ Ext: 0  Coding: CCITT (ITU) standard (0)  Call state: Null (0)

I will have to figure out what it is telling us here...


The other one is that Asterisk is deadlocking in the restart of PRI
channels: If a channel doesn't return an RESTART ACKNOWLEDGE, it
will hang there forever. I have written a patch for this (against
1.4.19, but it will be easy to use it on further releases. 

See http://bugs.digium.com/view.php?id=12766 for details.

Edwin
-- 
Edwin Groothuis      |            Personal website: http://www.mavetju.org
edwin at mavetju.org    |              Weblog: http://www.mavetju.org/weblog/



More information about the asterisk-dev mailing list