[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