[Freeswitch-dev] question about CNG on late packages

Xijing Dai dxj19831029 at gmail.com
Tue Feb 5 19:48:20 MSK 2013


by the way, what is the latency in ms to determine if a packet is late?


Our ptime is 10ms, and the sender always sends packets in 8-12ms.

And I did use wireshark to capture packets on freeswitch server, no lost
packet is found before reaching freeswitch.

When our ptime is 20ms, it gets better, but still has CN.

When we are using proxy/proxy media, every thing works great.

when sample rate is 16000, the quality of call is worst.  8000 gets better.


Any other suggestions?

On Wed, Feb 6, 2013 at 12:32 AM, Xijing Dai <dxj19831029 at gmail.com> wrote:

> I see.
>
>
> I did set it suppress_cng=true, and it did not help. No difference at all.
>
> This happens inside LAN.
>
> When talking about the jitter buffer, we want to enable it on client, and
> disable it inside freeswitch.
> Therefore, in this case, should freeswitch do nothing?
>
>
> Cheers
>
>
>
>
> On Tue, Feb 5, 2013 at 11:35 PM, Anthony Minessale <
> anthony.minessale at gmail.com> wrote:
>
>> Don't negotiate CNG in the SDP and it won't use it or disable it with
>> suppress_cng=true in your channel or global vars.
>>
>>
>>
>> On Tue, Feb 5, 2013 at 4:32 AM, Steven Ayre <steveayre at gmail.com> wrote:
>>
>>> Because if a RTP packet is due and hasn't arrived yet you need something
>>> to play. Audio isn't like TCP where you dropped packets can be
>>> retransmitted, if it hasn't arrived by the time you want to play it it's
>>> too late and you have to play silence to handle it.
>>>
>>> Your audio problems are more likely due to packet loss or jitter which
>>> is why the RTP packet is overdue, not the CNG itself.
>>>
>>> It jitter's the problem enabling the jitterbuffer might help (at the
>>> expense of increased lag). If loss is the problem there's no way to handle
>>> that except as silence for the missing interval, you need to fix whatever
>>> is causing the loss.
>>>
>>> -Steve
>>>
>>>
>>> On 5 February 2013 10:23, Xijing Dai <dxj19831029 at gmail.com> wrote:
>>>
>>>> Hey all,
>>>>
>>>>
>>>> Inside code
>>>>
>>>> switch_rtp.c file:
>>>>
>>>>    static int rtp_common_read(switch_rtp_t *rtp_session,
>>>> switch_payload_t *payload_type, switch_frame_flag_t *flags,
>>>> switch_io_flag_t io_flags)
>>>>                  ................
>>>>                  if (check || (bytes && !switch_test_flag(rtp_session,
>>>> SWITCH_RTP_FLAG_USE_TIMER))) {
>>>> if (!bytes && switch_test_flag(rtp_session, SWITCH_RTP_FLAG_USE_TIMER))
>>>> { /* We're late! We're Late! */
>>>>  if (!switch_test_flag(rtp_session, SWITCH_RTP_FLAG_NOBLOCK) && status
>>>> == SWITCH_STATUS_BREAK) {
>>>> switch_cond_next();
>>>>  continue;
>>>> }
>>>>
>>>> return_cng_frame();  <------- this lane to return cng frame if late.
>>>>  }
>>>> }
>>>>
>>>>
>>>> Could someone explain why we want to return cng frame when package is
>>>> late? this is caused for me to hear very bad noise audio.
>>>>
>>>> Can I disable return CNG frame?
>>>>
>>>>
>>>> Cheers
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _________________________________________________________________________
>>>> Professional FreeSWITCH Consulting Services:
>>>> consulting at freeswitch.org
>>>> http://www.freeswitchsolutions.com
>>>>
>>>> 
>>>> 
>>>>
>>>> Official FreeSWITCH Sites
>>>> http://www.freeswitch.org
>>>> http://wiki.freeswitch.org
>>>> http://www.cluecon.com
>>>>
>>>> FreeSWITCH-dev mailing list
>>>> FreeSWITCH-dev at lists.freeswitch.org
>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>>> http://www.freeswitch.org
>>>>
>>>>
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>> 
>>> 
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> FreeSWITCH-dev mailing list
>>> FreeSWITCH-dev at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>> http://www.freeswitch.org
>>>
>>>
>>
>>
>> --
>> Anthony Minessale II
>>
>> FreeSWITCH http://www.freeswitch.org/
>> ClueCon http://www.cluecon.com/
>> Twitter: http://twitter.com/FreeSWITCH_wire
>>
>> AIM: anthm
>> MSN:anthony_minessale at hotmail.com
>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>> IRC: irc.freenode.net #freeswitch
>>
>> FreeSWITCH Developer Conference
>> sip:888 at conference.freeswitch.org
>> googletalk:conf+888 at conference.freeswitch.org
>> pstn:+19193869900
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> 
>> 
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20130206/df823d3c/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list