On 10/16/2014 7:16 AM, Henrique Rosa wrote:
On Monday, October 13, 2014 11:10:02 PM UTC+1, Nils Ohlmeier wrote:
Hi,



On 10/13/14 11:26 AM, Henrique Rosa wrote:

Hello,
I've been working on WebRTC support for Mobicents Media Server (MMS).
I already succeeded at interop between MMS and Firefox/Chrome.
Unfortunately, while testing conference calls I noticed that there is a 
tendency for RTT times and Delay to increase as the call goes on (on both 
browsers).
On Chrome, the delay ranges from 3 to 10 seconds for a conference call between 
two participants with duration of 3-4 minutes.
On Firefox the results are much better: the delay ranges from 1 to 3 seconds in 
the same scenario.
Note that while testing with regular SIP clients (jitsi, linphone, xlite) there 
is no delay whatsoever, so the issue is related with WebRTC calls.
My question is: what can possibly cause such delay?
The one obvious difference between WebRTC and "regular SIP clients" is

the additional media encryption. But should not take seconds, at least

if you are using modern desktop PC.



The other question is how much delay FF and Chrome add between capturing

audio and actually sending them out on the wire. And on the other end

how delay there is between receiving audio packets and rendering to your

audio device.



Best regards

    Nils Ohlmeier
Hi Nils,

Thank you for taking you time, really appreciate it.

The media encryption is not the issue, I debugged that and its fast.

I'm sending some logs from the test call I did on Firefox v32.
Firefox will make a call to an IVR application that plays announcements for 40 
seconds.
In the meantime, I had the Media Server tracing the RTCP reports and RTT 
calculations.
I remind you it's a local call, so network congestion shouldn't be a problem 
either.

- Media Server log: 
https://dl.dropboxusercontent.com/u/47489176/webrtc-mux-ffox32/mms-log.txt
- Firefox webrtc log: 
https://dl.dropboxusercontent.com/u/47489176/webrtc-mux-ffox32/about-webrtc.txt
- Wireshark dump: 
https://dl.dropboxusercontent.com/u/47489176/webrtc-mux-ffox32/mms-ffox32.pcapng

Performing same test with SIP clients has no delay and RTT values range from 5 
to 25ms approx.
Reading the Media Server log, you can see the RTT growth rate is as follows:

16:35:25,169 INFO  [RtpMember] rtt=3242011459 - 3241960996 - 47825 = 2638 => 
40ms
16:35:29,570 INFO  [RtpMember] rtt=3242299883 - 3242208002 - 87674 = 4207 => 
64ms    (+24ms)
16:35:36,989 INFO  [RtpMember] rtt=3242786095 - 3242723311 - 57543 = 5241 => 
79ms    (+15ms)
16:35:42,508 INFO  [RtpMember] rtt=3243147788 - 3242997252 - 144437 = 6099 => 
93ms   (+14ms)
16:35:46,891 INFO  [RtpMember] rtt=3243435032 - 3243274862 - 152405 = 7765 => 
118ms  (+25ms)
16:35:52,248 INFO  [RtpMember] rtt=3243786108 - 3243546968 - 229851 = 9289 => 
141ms  (+23ms)
16:35:55,109 INFO  [RtpMember] rtt=3243973607 - 3243796725 - 166610 = 10272 => 
156ms (+15ms)
16:36:01,929 INFO  [RtpMember] rtt=3244420562 - 3244165365 - 243715 = 11482 => 
175ms (+19ms)

If you want to compare results with a similar test I did on Chrome Canary v40, 
you can refer to the following thread:

https://groups.google.com/forum/#!topic/discuss-webrtc/DmZ2eYKGPWA

Lately I've been reading about RTP usage on WebRTC and came across RTP/SAVPF 
profile and RTCP XR report. At the moment we only support RTP/SAVP and regular 
RTCP reports. Do you think this can have an impact on RTT calculations and 
delay?

SAVPF is needed for any sort of reasonable error recovery for video, and bandwidth adaptation (right now we don't adapt audio (Opus), but likely will at some point). We aren't using XR reports yet.

However: your SDP answer appears to have SAVPF for audio. It so happens that it's safe to mix SAVP and SAVPF generally (see the AVPF spec) - the SAVP side just won't send as many RTCPs as it could.

RTT increase normally is a result of being over-bandwidth (if you're sending video and not returning bandwidth reports, it might remain over-bandwidth). But that doesn't seem to be happening here.

THe PCAP shows the first ~7 packets in one direction are all right on top of each other (~2ms in-between them). Wireshark reports this as ~100ms of 'skew' which then remains for the rest of the capture. From the port numbers, this appears to be the media gateway generating the burst of packets. Note this burst will cause the Firefox jitter buffer to grow initially (to around 100ms or a bit more), and it will slowly bleed the delay out of the jitter buffer. about:webrtc shows a 50ms jitter buffer, which is quite high for a local-LAN connection, but matches the wireshark.

You can see this jitter-buffer delay due to the burst in the stats graphs for Chrome you have as well.

Something is wrong with your RTCP I think, or maybe the SRTCP encryption messing with the values. Also: if your NTP values are messed up, that might confuse both receivers (playback) and RTCP calculations.

You can also try blocking RTCP (run open-loop) and see if there's delay.

--
Randell Jesup, Mozilla
_______________________________________________
dev-media mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-media

Reply via email to