[asterisk-bugs] [LibPRI 0016909]: [patch] pritimer's in chan_dahdi.conf not honoured

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Mar 2 11:07:02 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16909 
====================================================================== 
Reported By:                alecdavis
Assigned To:                
====================================================================== 
Project:                    LibPRI
Issue ID:                   16909
Category:                   Channels/chan_dahdi
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
JIRA:                        
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 248954 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2010-02-26 02:53 CST
Last Modified:              2010-03-02 11:07 CST
====================================================================== 
Summary:                    [patch] pritimer's in chan_dahdi.conf not honoured
Description: 
configuring pritimer=>k,3 in chan_dahdi.conf is overwritten by libpri's
pri_default_timers, which defaults 'k' timer back to 7.

required to prevent pri lockups under heavy conditions where switch
doesn't like so many unacknowledge i-frames.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0002518 Provide configurable timers for PRI's
related to          0016790 [patch] !! Got reject for frame 41, ret...
====================================================================== 

---------------------------------------------------------------------- 
 (0118756) rmudgett (administrator) - 2010-03-02 11:07
 https://issues.asterisk.org/view.php?id=16909#c118756 
---------------------------------------------------------------------- 
My concern with the libpri patch was *when* the PRI_TIMER_K value is
changed, not the particular *value*.  The Q.921 implementation may make
some assumptions about the K value being static that changing it at
inopportune times could cause erroneous behavior.  I do not know for
certain.

Possible places where changing the K value might cause problems:
1) Increasing the K value after the old window size is reached and there
are more I-frames waiting in the queue.  Transmission has been halted and
waiting for acks to arrive.  This particular case will probably clear
itself when the ack arrives.
2) Decreasing the K value when there are more than the old window size
frames outstanding.  The window size calculation may not consider the case
where there are more outstanding frames than the window specifies.

HOWEVER:
When asterisk sets the PRI_TIMER_K value should be safe because libpri has
not had much chance to do anything.  Asterisk will only set the PRI_TIMER_K
value in lippri after it creates the D channel structure (struct pri) with
pri_new()/pri_new_bri() and before it starts the pri_dchannel() thread.

Please note that 3 is greater than 1. :)  So setting the value to 3 and
testing is enough to satisfy my concern as far as using libpri with
asterisk. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-03-02 11:07 rmudgett       Note Added: 0118756                          
======================================================================




More information about the asterisk-bugs mailing list