[asterisk-commits] mmichelson: branch mmichelson/acl-v6 r277260 - in /team/mmichelson/acl-v6: ./...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Jul 16 12:52:11 CDT 2010


Author: mmichelson
Date: Fri Jul 16 12:52:08 2010
New Revision: 277260

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=277260
Log:
Sync with trunk.


Modified:
    team/mmichelson/acl-v6/   (props changed)
    team/mmichelson/acl-v6/main/channel.c

Propchange: team/mmichelson/acl-v6/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/mmichelson/acl-v6/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Jul 16 12:52:08 2010
@@ -1,1 +1,1 @@
-/trunk:1-277198
+/trunk:1-277259

Modified: team/mmichelson/acl-v6/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/team/mmichelson/acl-v6/main/channel.c?view=diff&rev=277260&r1=277259&r2=277260
==============================================================================
--- team/mmichelson/acl-v6/main/channel.c (original)
+++ team/mmichelson/acl-v6/main/channel.c Fri Jul 16 12:52:08 2010
@@ -3849,6 +3849,19 @@
 					ast_clear_flag(chan, AST_FLAG_IN_DTMF);
 					if (!f->len)
 						f->len = ast_tvdiff_ms(now, chan->dtmf_tv);
+
+					/* detect tones that were received on
+					 * the wire with durations shorter than
+					 * AST_MIN_DTMF_DURATION and set f->len
+					 * to the actual duration of the DTMF
+					 * frames on the wire.  This will cause
+					 * dtmf emulation to be triggered later
+					 * on.
+					 */
+					if (ast_tvdiff_ms(now, chan->dtmf_tv) < AST_MIN_DTMF_DURATION) {
+						f->len = ast_tvdiff_ms(now, chan->dtmf_tv);
+						ast_log(LOG_DTMF, "DTMF end '%c' detected to have actual duration %ld on the wire, emulation will be triggered on %s\n", f->subclass, f->len, chan->name);
+					}
 				} else if (!f->len) {
 					ast_log(LOG_DTMF, "DTMF end accepted without begin '%c' on %s\n", f->subclass.integer, chan->name);
 					f->len = AST_MIN_DTMF_DURATION;




More information about the asterisk-commits mailing list