Author: file
Date: Thu Jul 26 18:19:04 2007
New Revision: 77460

URL: http://svn.digium.com/view/asterisk?view=rev&rev=77460
Log:
(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:
    branches/1.4/main/channel.c

Modified: branches/1.4/main/channel.c
URL: 
http://svn.digium.com/view/asterisk/branches/1.4/main/channel.c?view=diff&rev=77460&r1=77459&r2=77460
==============================================================================
--- branches/1.4/main/channel.c (original)
+++ branches/1.4/main/channel.c Thu Jul 26 18:19:04 2007
@@ -2373,9 +2373,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;


_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to