[asterisk-bugs] [Asterisk 0012656]: [patch] Autoservice loses DTMF digits

noreply at bugs.digium.com noreply at bugs.digium.com
Fri May 16 05:35:29 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12656 
====================================================================== 
Reported By:                dimas
Assigned To:                russell
====================================================================== 
Project:                    Asterisk
Issue ID:                   12656
Category:                   Core/PBX
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 116466 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             05-15-2008 05:24 CDT
Last Modified:              05-16-2008 05:35 CDT
====================================================================== 
Summary:                    [patch] Autoservice loses DTMF digits
Description: 
There is a problem with how autoservice handles its internal list of
channels. Basically:

1. it traverses the asent list and copies all the channels from the list
into an array
2. it waitfor on this array
3. if anything was received, it traverses the asent list again to map
channel back to AS entry (in order to queue received frame there)

autoservice_stop removes a channel from the list and waits when list
version updates (to make sure AS thread does not need this channel
anymore). The problem occurs when autoservice_stop is called between 1 and
3. The channel may be _already_ in the waitfor call when removed from the
list. So when AS thread returns from ast_waitfor/ast_read it fails finfing
this channel in the list and just discards the frame received.

in my setup this causes sometimes DTMFs to be lost.

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

---------------------------------------------------------------------- 
 dimas - 05-16-08 05:35  
---------------------------------------------------------------------- 
Oops. I forgot to initialize one variable - leads to a crash. Fixed in v2
patch 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-16-08 05:35  dimas          Note Added: 0086936                          
======================================================================




More information about the asterisk-bugs mailing list