[asterisk-bugs] [Asterisk 0015811]: [patch] dtmf creating double digits if received out of order

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Mar 11 18:33:36 CST 2010


The following issue is now READY FOR TESTING. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15811 
====================================================================== 
Reported By:                eeman
Assigned To:                mmichelson
====================================================================== 
Project:                    Asterisk
Issue ID:                   15811
Category:                   Core/RTP
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           1.4.26.1 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-09-01 20:17 CDT
Last Modified:              2010-03-11 18:33 CST
====================================================================== 
Summary:                    [patch] dtmf creating double digits if received out
of order
Description: 
Have an Adtran TotalAccess 916e with MLPPP bonded t1's registering with sip
to an asterisk PBX (Asterisk 1.4.26.1 on centos 5.2). Sip channels set up
for dtmfmode RFC2833 and codec is g729. The devices calling through the
adtran are unable to send DTMF correctly to remove IVR's or even to
applications on the Asterisk PBX 99% of the time. I created a ticket and
capture with Adtran and their response was that perhaps asterisk cannot
handle out of order DTMF packets. Their response is in additional
information.
====================================================================== 

---------------------------------------------------------------------- 
 (0119295) mmichelson (administrator) - 2010-03-11 18:33
 https://issues.asterisk.org/view.php?id=15811#c119295 
---------------------------------------------------------------------- 
I have uploaded a file called 15811.diff as a naive approach to solving the
issue.

When we receive a begin/continuation RFC 2833 DTMF digit, we will not
process the frame if the sequence number is less than the sequence number
of the last RFC 2833 frame we received.

The reason I have termed this as a "naive" approach is that there are a
few nuances of the RFC 2833 code that don't exactly make sense to me (and
they may in fact be errors in the code). However, when I ran the RTP from
the customer.pcap file through Asterisk after applying the patch, the DTMF
appeared to be detected correctly.

The patch, by the way, was generated against Asterisk 1.4.26.1, the
version reported on the issue. However, the patch should apply equally well
to later versions of 1.4 as well, in case you have upgraded to a newer
version since reporting this.

Please let me know if this works for you, and I will move the issue to the
code review stage. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-03-11 18:33 mmichelson     Note Added: 0119295                          
2010-03-11 18:33 mmichelson     Status                   assigned => ready for
testing
======================================================================




More information about the asterisk-bugs mailing list