[asterisk-commits] file: trunk r77461 - in /trunk: ./ main/channel.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 26 18:20:25 CDT 2007


Author: file
Date: Thu Jul 26 18:20:25 2007
New Revision: 77461

URL: http://svn.digium.com/view/asterisk?view=rev&rev=77461
Log:
Merged revisions 77460 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77460 | file | 2007-07-26 20:19:04 -0300 (Thu, 26 Jul 2007) | 4 lines

(closes issue #10302)
Reported by: litnialex
If a DTMF end frame comes from a channel without a begin and it is going to a technology that only accepts end frames (aka INFO) then use the minimum DTMF duration if one is not in the frame already.

........

Modified:
    trunk/   (props changed)
    trunk/main/channel.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/main/channel.c
URL: http://svn.digium.com/view/asterisk/trunk/main/channel.c?view=diff&rev=77461&r1=77460&r2=77461
==============================================================================
--- trunk/main/channel.c (original)
+++ trunk/main/channel.c Thu Jul 26 18:20:25 2007
@@ -2302,9 +2302,12 @@
 				}
 			} else {
 				struct timeval now = ast_tvnow();
-				ast_clear_flag(chan, AST_FLAG_IN_DTMF);
-				if (!f->len)
-					f->len = ast_tvdiff_ms(now, chan->dtmf_tv);
+				if (ast_test_flag(chan, AST_FLAG_IN_DTMF)) {
+					ast_clear_flag(chan, AST_FLAG_IN_DTMF);
+					if (!f->len)
+						f->len = ast_tvdiff_ms(now, chan->dtmf_tv);
+				} else if (!f->len)
+					f->len = AST_MIN_DTMF_DURATION;
 				if (f->len < AST_MIN_DTMF_DURATION) {
 					ast_set_flag(chan, AST_FLAG_EMULATE_DTMF);
 					chan->emulate_dtmf_digit = f->subclass;




More information about the asterisk-commits mailing list