A big thanks to Tamas and Steve Underwood for putting this new page together:

http://wiki.freeswitch.org/wiki/VAD_and_CNG

Mike

On Sep 15, 2008, at 5:14 AM, Sluschny, Thomas wrote:

thank you very much Tamas,
i found this infos very useful :)

-----Ursprüngliche Nachricht-----
Von: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] Im Auftrag von Tamas
Gesendet: Samstag, 13. September 2008 14:31
An: freeswitch-users@lists.freeswitch.org
Betreff: Re: [Freeswitch-users] VAD and CN question


Hello,

to answer for my own email - for other who might be interested...


Tamas írta:
Hello,

I've talked about CNG, VAD with Anthony and Brian already but I still
have a mess in it and don't really know how it works.

Could anybody explain the practical side of these magic options?

1. What does suppress_cng=true do exactly? (yep, I know it suppresses
CNG, but what does this mean? Won't send out the CN/8000 rtpmap in SDP?)

suppress-cng and suppress_cng are used to manage the sending of CN RTP
packets after agreement through SDP.

2. What do VAD settings do in sofia profile? I've read
http://wiki.freeswitch.org/wiki/Sofia.conf.xml

  <!-- <param name="vad" value="in"/> -->
  <!-- <param name="vad" value="out"/> -->
  <!-- <param name="vad" value="both"/> -->

What do these options do in practice? Can FS detect silence (e.g. no
RTP?) and than what can it do with?

When VAD is turnd on, FS checks on the given channel for incoming or/and
outgoing channel (depends on the settings) and when detects silence,
stops sending out RTP.

3. I found undocumented options rtp_enable_vad_in, rtp_enable_vad_out
for sofia which might be the per call settings for point 2. ? If this is
correct, what will this do?
           <action application="set" data="rtp_enable_vad_in=true"/>
           <action application="set" data="rtp_enable_vad_out=true"/>
          <action application="bridge" data="sofia/....."/>

These settings are the same as in 1. but can be used per call.

4. What will FS do when one side of the bridge supports CN but the other
doesn't?
E.g. softphone->FS->GW (sends CN packets)
the softphone does not support CN
Would it be possible to turn on comfort noise generation in FS for the
side which cannot handle CN?

When on side does not support CN, FS simply won't forward CN RTP
packets. Comfort noise generation into media channel in FS is possible with
bridge_generate_comfort_noise=true
added in r9543. More about on http://wiki.freeswitch.org/wiki/VAD_and_CNG

5. Is it possible to let FS detect silence and on one leg send CN
packets insted of RTP?
E.g. softphone->FS->GW (sends  CN packets)
the softphone does not support CN, but for saving bandwidth it would be
good to have silence detection and in case of silence FS lets send CN
instead of RTP.

Yes, possible. VAD has to be turned on that channel and both sides have
to agree on CN RTP packets (in SDP).

Sorry for my dump questions, I would like to understand the whole picture.

I hope I'm on the right way :)

I would like to add the clarification to FS wiki to lets other have less
troubles (with endpoints on one side supporting VAD/CNG and endpoints on
other side not supporting VAD/CNG, e.g. CallWeaver)

Check
http://wiki.freeswitch.org/wiki/VAD_and_CNG
Thanks in advance!

Regards,
   Tamas