Review Board 1.7.16


Add an option to MeetMe that prevents the denoiser from being applied to a channel joining a conference

Review Request #2358 - Created Feb. 26, 2013 and submitted

Matt Jordan
1.8
AST-1062
Reviewers
asterisk-dev
tarimont
Asterisk
When migrating to Asterisk 1.8, it was found that audio quality for mISDN channels joining a MeetMe conference was exceedingly poor. The audio would have silence interrupt the audio, or would have a strange metallic sound. This continued throughout the lifetime of the channel in the conference. When looking at what changed in Asterisk 1.8, the issue reporter discovered that we now unilaterally applied the DENOISE function in func_speex to channels joining the conference.

The denoiser function in the speex library is initialized with the number of audio samples in each sample that will be provided to it. If the number of audio samples changes, the denoiser has to be thrown away and re-initialized. As it turned out, the mISDN channel was getting a variable number of audio samples from the driver, and each time the number of samples changed, the denoiser had to be re-initialized. This caused the audio gaps for the channels in the conference.

While this could be worked around in 1.8 by removing codec_speex, that doesn't help if you actually use codec_speex for other channels, or need to apply the denoiser to other channels on the system.

This patches does the following:
 * Checks for the presence of func_speex as opposed to codec_speex when determining if the DENOISE function is present (which is where the function is actually implemented)
 * Adds an option to MeetMe 'n' that causes the denoiser to not be applied to a channel when it joins. This keeps the current behavior the default, but let's users disable the denoiser if it causes problems on their system.

Note that the denoiser is optional in ConfBridge already, so this isn't a problem in 10+ (where MeetMe is no longer the preferred option for conferencing)

 

Diff revision 1 (Latest)

  1. /branches/1.8/UPGRADE.txt: Loading...
  2. /branches/1.8/apps/app_meetme.c: Loading...
/branches/1.8/UPGRADE.txt
Revision 382084 New Change
[20] 15 lines
[+20]
16
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
16
=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
17
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
17
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
18
===
18
===
19
===========================================================
19
===========================================================
20

    
   
20

   

    
   
21
from 1.8.21.0 to 1.8.22.0:

    
   
22
* Added the 'n' option to MeetMe to prevent application of the DENOISE function

    
   
23
  to a channel joining a conference. Some channel drivers that vary the number

    
   
24
  of audio samples in a voice frame will experience significant quality problems

    
   
25
  if a denoiser is attached to the channel; this option gives them the ability

    
   
26
  to remove the denoiser without having to unload func_speex.

    
   
27

   
21
from 1.8.20.0 to 1.8.20.1:
28
from 1.8.20.0 to 1.8.20.1:
22
* Asterisk would previously not output certain error messages when a remote
29
* Asterisk would previously not output certain error messages when a remote
23
  console attempted to connect to Asterisk and no instance of Asterisk was
30
  console attempted to connect to Asterisk and no instance of Asterisk was
24
  running. This error message is displayed on stderr; as a result, some
31
  running. This error message is displayed on stderr; as a result, some
25
  initialization scripts that used remote consoles to test for the presence
32
  initialization scripts that used remote consoles to test for the presence
[+20] [20] 359 lines
/branches/1.8/apps/app_meetme.c
Revision 382084 New Change
 
  1. /branches/1.8/UPGRADE.txt: Loading...
  2. /branches/1.8/apps/app_meetme.c: Loading...

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.