[asterisk-bugs] [Asterisk 0011968]: [patch] DSP cleanup phase 2

noreply at bugs.digium.com noreply at bugs.digium.com
Tue Mar 25 15:09:56 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11968 
====================================================================== 
Reported By:                dimas
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   11968
Category:                   PBX/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 100974 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             02-10-2008 15:57 CST
Last Modified:              03-25-2008 15:09 CDT
====================================================================== 
Summary:                    [patch] DSP cleanup phase 2
Description: 
NOTE: these changes ara made on top of
http://bugs.digium.com/view.php?id=11796 so it must be applied first.
Publishing changes mainly for review.

1. Removed MUTECONF/MUTEMAX options support from DSP code. The idea behind
these is somewhat unclear and my analisys shows it is broken anyway -
http://lists.digium.com/pipermail/asterisk-dev/2008-January/031650.html

2. The code now generated DTMF_BEGIN frames in addition to DTMF_END ones.

3. "quelching" rewritten - now each detector (MF/DTMF/generic tone) may
mark fragment of a frame for suppression (squelching, muting) with a call
to mute_fragment. Actual muting happens only once at the very end of
ast_dsp_process where all marked fragments are zeroed. This way every
detector sees original data in the frame without any piece of a frame being
zeroed by a detector which was run before.

4. DTMF detector tries to "mute" one block before and one block after the
block where actual tone was detected. Muting of previois block is something
new for this patch. Obviously this operation is not always possible - if
current frame does not contain data for previous block - it is too late.
But at least we make our best.

Muting of next block was already done by the old code but it only affects
part of the next block which is in the frame being processed. New code
keeps this information in state structures so it will mute proper number of
samples in the next frame(s) too.

5. Removed ast_dsp_digitdetect and ast_dsp_getdigits APIs because these
are not used anyway but would made patch more complicated if kept.

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

---------------------------------------------------------------------- 
 qwell - 03-25-08 15:09  
---------------------------------------------------------------------- 
So, I tested the confmute stuff just now, and it does work - for the most
part.  It's necessary to keep confmute to remove DTMF while still in
zaptel, but the implementation of it could certainly use some work.

Maybe we should discuss how it could be implemented better, instead of
removing it entirely (though, I probably wouldn't be against removing it,
and starting over). 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
03-25-08 15:09  qwell          Note Added: 0084533                          
======================================================================




More information about the asterisk-bugs mailing list