[asterisk-commits] russell: branch russell/issue_12658 r163063 - /team/russell/issue_12658/main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Dec 11 10:11:50 CST 2008


Author: russell
Date: Thu Dec 11 10:11:49 2008
New Revision: 163063

URL: http://svn.digium.com/view/asterisk?view=rev&rev=163063
Log:
If a DTMF END frame comes in and DTMF is deferred or currently in emulation,
queue it up into the readq no matter what.  Previously, it would pass it
through if END_DTMF_ONLY was set.  This can cause out of order digit processing.

Modified:
    team/russell/issue_12658/main/channel.c

Modified: team/russell/issue_12658/main/channel.c
URL: http://svn.digium.com/view/asterisk/team/russell/issue_12658/main/channel.c?view=diff&rev=163063&r1=163062&r2=163063
==============================================================================
--- team/russell/issue_12658/main/channel.c (original)
+++ team/russell/issue_12658/main/channel.c Thu Dec 11 10:11:49 2008
@@ -2201,10 +2201,8 @@
 			break;
 		case AST_FRAME_DTMF_END:
 			ast_log(LOG_DTMF, "DTMF end '%c' received on %s, duration %ld ms\n", f->subclass, chan->name, f->len);
-			/* Queue it up if DTMF is deffered, or if DTMF emulation is forced.
-			 * However, only let emulation be forced if the other end cares about BEGIN frames */
-			if ( ast_test_flag(chan, AST_FLAG_DEFER_DTMF) ||
-				(ast_test_flag(chan, AST_FLAG_EMULATE_DTMF) && !ast_test_flag(chan, AST_FLAG_END_DTMF_ONLY)) ) {
+			/* Queue it up if DTMF is deferred, or if DTMF emulation is forced. */
+			if (ast_test_flag(chan, AST_FLAG_DEFER_DTMF) || ast_test_flag(chan, AST_FLAG_EMULATE_DTMF)) {
 				queue_dtmf_readq(chan, f);
 				ast_frfree(f);
 				f = &ast_null_frame;




More information about the asterisk-commits mailing list