Hi,
In our load test, we found that the new RTP auto_flush and hot_socket code after version 1.04 seems to cause voice quality problem. We were stress testing Freeswitch with 250 channels using codec G.711u and iLBC. The RTP auto_flush appeared to be trigged very frequently. Because our system is under load and socket buffer for RTP stream sometimes accumulated a few packets before the channel can handle it. When this happened, the RTP auto_flush and hot_socket mechanism seemed sending those accumulated packets in a very short interval. However 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 that inside the RTP read, during auto RTP flush, it will call switch_core_timer_sync() function. This will 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.
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org