Summary:ASTERISK-01639: D Channels die under outbound load
Reporter:casey0999 (casey0999)Labels:
Date Opened:2004-05-16 17:36:22Date Closed:2004-09-25 02:45:59
Versions:Frequency of
Description:This bug appears to have been introduced in q921.c, rev 1.8, on March 30, 2004:

Under any kind of outbound call load (more than 10 channels making outbound calls at once), after 10-15 calls the following message is received:

May 16 12:29:55 WARNING[-1200104528]: chan_zap.c:6017 zt_pri_error: PRI: ACK received outside of window, restarting
 == D-Channel on span 2 down
This results in all calls in progress on that span being lost, until the span eventually restarts.  
Subsequent to that message, get other messages related to the span being down:
May 16 12:29:55 WARNING[-1200104528]: chan_zap.c:6017 zt_pri_error: PRI: !! Got S-frame while link down

May 16 12:29:55 WARNING[-1200104528]: chan_zap.c:6017 zt_pri_error: PRI: !! Got I-frame while link state 2

Note: Versions of LIBPRI prior to March 30th work fine, versions Mar 30 and thereafter behave with this error.


TEST CONDITIONS:  I can demonstrate this bug by running a loopback load test (which I've used successfully for almost a year), where one span is hardwired with a crossover cable to another span on the same board.  Outbound calls are generated with a Perl script that creates call records in /var/spool/asterisk/outgoing.  The calls are received on the connected span, and the dialplan simply answers each call, plays a prompt, and hangs up.  This bug can be demonstrated on both TE410P and TE405P boards.
Comments:By: Mark Spencer (markster) 2004-05-16 18:55:00

March 30 PRI actually implements windowing properly.  Before that it wasn't implemented at all.  Can you be more specific and try to give me details based upon what you see as a result of pri intense debug?  You can also do "make testprilib" to run some tests on the windowing and see the proper output.

If you can find me on IRC, it might speed things along.

By: Mark Spencer (markster) 2004-05-16 23:20:35

Fixed in CVS.  You need to update libpri!