[asterisk-bugs] [Asterisk 0011402]: Interdigit timeout is half time of the defined time

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Nov 29 19:19:46 CST 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11402 
====================================================================== 
Reported By:                eferro
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   11402
Category:                   Channels/chan_mgcp
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 89965 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             11-28-2007 12:37 CST
Last Modified:              11-29-2007 19:19 CST
====================================================================== 
Summary:                    Interdigit timeout is half time of the defined time
Description: 
The interdigit timeout at mgcp_ss function of channels/chan_mgcp.c is not
the defined time (at the same file). Is just the half part because the
loop_pause is substract twice for each loop pass.

It very easy to test it because if you change the timeout, allways get a
time out interdigit at twice faster than the second specified.

I test it in 1.4.14, 1.4 branch and trunk, and with the same result.


====================================================================== 

---------------------------------------------------------------------- 
 eferro - 11-29-07 19:19  
---------------------------------------------------------------------- 
Sorry... This is not the correct patch :(

the correct one shoul change the - "if ( (timeout -= loop_pause) <= 0){" 
for "- if ( (timeout - loop_pause) <= 0){"

So the patch is like:
-------------------------------------------------------------------------------
--- channels/chan_mgcp.c (revision 89681)
+++ channels/chan_mgcp.c (working copy)
@@ -2623,7 +2623,7 @@
                while (strlen(p->dtmf_buf) == len){
                        ast_safe_sleep(chan, loop_pause);
                        timeout -= loop_pause;
- if ( (timeout -= loop_pause) <= 0){
+ if ( (timeout - loop_pause) <= 0){
                                res = 0;
                                break;
                        }
-------------------------------------------------------------------------------

Sorry for the mmistake 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
11-29-07 19:19  eferro         Note Added: 0074578                          
======================================================================




More information about the asterisk-bugs mailing list