[asterisk-bugs] [Asterisk 0019409]: a patch to fix bug 18130 breaks sequential emulated rfc2833 dtmf

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Jun 3 16:10:00 CDT 2011


The following issue has been SUBMITTED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=19409 
====================================================================== 
Reported By:                sdolloff
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   19409
Category:                   Core/Channels
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.2.18 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-06-03 16:10 CDT
Last Modified:              2011-06-03 16:10 CDT
====================================================================== 
Summary:                    a patch to fix bug 18130 breaks sequential emulated
rfc2833 dtmf
Description: 
starting in version 1.6.2.17, if you try to send multiple dtmf digits
quickly, every other tone is received but not send to the bridged channel.

reversion of this patch fixes the problem:


2011-01-12 18:11 +0000 [r301503]  Jeff Peeler <jpeeler at digium.com>

	* main/channel.c, /: Merged revisions 301502 via svnmerge from
	  https://origsvn.digium.com/svn/asterisk/branches/1.4 ........
	  r301502 | jpeeler | 2011-01-12 12:10:42 -0600 (Wed, 12 Jan 2011)
	  | 12 lines Fix CPU spike when pressing DTMF after agent login.
	  The problem here is that DTMF was being continuously deferred and
	  requeued since ast_safe_sleep is called in a loop. There are
	  serveral other places in the code that sleeps and then loops in a
	  similar fashion. Because of this fact I opted to not defer DTMF
	  any more, which will not affect the original fix:
	  https://reviewboard.asterisk.org/r/674 (closes issue
https://issues.asterisk.org/view.php?id=18130)
	  Reported by: rgj ........

to fix the problem, but i have no idea what impact this has on either of
the original bugs:

--- main/channel.c.orig 2011-05-25 10:09:21.000000000 -0500
+++ main/channel.c  2011-06-03 13:46:31.000000000 -0500
@@ -1372,13 +1372,13 @@
     * be queued up or not.
     */
    switch (frame->frametype) {
+   case AST_FRAME_DTMF_END:
    case AST_FRAME_CONTROL:
    case AST_FRAME_TEXT:
    case AST_FRAME_IMAGE:
    case AST_FRAME_HTML:
        return 1;

-   case AST_FRAME_DTMF_END:
    case AST_FRAME_DTMF_BEGIN:
    case AST_FRAME_VOICE:
    case AST_FRAME_VIDEO:
@@ -5449,8 +5449,8 @@



====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-06-03 16:10 sdolloff       New Issue                                    
2011-06-03 16:10 sdolloff       Asterisk Version          => 1.6.2.18        
2011-06-03 16:10 sdolloff       Regression                => No              
2011-06-03 16:10 sdolloff       SVN Branch (only for SVN checkouts, not tarball
releases) => N/A             
======================================================================




More information about the asterisk-bugs mailing list