<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Arial;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In our load test, we found that the new RTP auto_flush and
hot_socket code after version 1.<font color=navy><span style='color:navy'>0</span></font>4
<font color=navy><span style='color:navy'>seems to </span></font>cause voice
quality problem. We were stress testing Freeswitch with 250 channels using
codec G.711u and iLBC. &nbsp;The RTP auto_flush <font color=navy><span
style='color:navy'>appear</span></font>ed to be trigged <font color=navy><span
style='color:navy'>very </span></font>frequently. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Because our system is under load and socket buffer <font
color=navy><span style='color:navy'>for RTP stream </span></font>sometimes
accumulate<font color=navy><span style='color:navy'>d</span></font> a few
packets before the channel can handle it. When this happened, the RTP
auto_flush and hot_socket mechanism seem<font color=navy><span
style='color:navy'>ed</span></font> sending <font color=navy><span
style='color:navy'>those </span></font>accumulated packets in a very short
interval. However <font color=navy><span style='color:navy'>after this burst,
the RTP stream receiving will wait for 80-100ms before receiving and sending another
RTP packet. To find out why this can happen, We looked at the RTP part of Freeswitch
code and found </span></font>th<font color=navy><span style='color:navy'>at</span></font>
<font color=navy><span style='color:navy'>inside the RTP read, during auto RTP
flush, it will call </span></font>switch_core_timer_sync()&nbsp; function<font
color=navy><span style='color:navy'>.</span></font> <font color=navy><span
style='color:navy'>This will</span></font> add 3 to the timer reference count
and the next switch_core_timer_next() call will add another 1 to timer
reference. This caused the next RTP receiving being delayed 80-100ms. This
80-100ms delay for RTP receiving caused 4-5 packets being accumulated in socket
buffer again. And it will soon trigger another auto_flush for RTP stream. As
the result, we saw a lot of short burst in the RTP stream, which caused voice
quality problem.<o:p></o:p></span></font></p>

</div>

</body>

</html>