[asterisk-bugs] [Asterisk 0017571]: RFC 2833 frame out of order detection does not properly handle numeric overflow

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Jun 30 12:36:02 CDT 2010


The following issue has been set as RELATED TO issue 0015811. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17571 
====================================================================== 
Reported By:                mdeneen
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17571
Category:                   Core/RTP
Reproducibility:            sometimes
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.2.9 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-06-30 10:24 CDT
Last Modified:              2010-06-30 12:36 CDT
====================================================================== 
Summary:                    RFC 2833 frame out of order detection does not
properly handle numeric overflow
Description: 
SVN revision r254482 added code to detect out of sequence RTP frames, and
to discard them.  However, at least with my ITSP, the RTP sequence is a 16
bit unsigned number.  It is possible to get into a situation where the
check fails because the RTP sequence number rolls back around to 0 as the
DTMF frame comes in.

In this situation, the last sequence number (rtp->lastevent) is not
updated and further DTMF frames are ignored.

For example, rtp->lastevent might be 65535.  The RTP sequence can never be
greater than this, so no further DTMF will be processed.

Instead of doing:

if (rtp->lastevent > seqno) {
    return;
}
Perhaps it should not fall into the "out of order" branch if the
difference between the last sequence and the current sequence is greater
than a chosen reasonable number.

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0015811 [patch] dtmf creating double digits if ...
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-06-30 12:36 pabelanger     Relationship added       related to 0015811  
======================================================================




More information about the asterisk-bugs mailing list