Raja Mandava
Raja Mandava

Reputation: 113

Webrtc behavior Nack & FEC

We have WebRTC application with two peers and I experience packet loss of around 5% (checked on webrtc-internals) when call is ongoing. I see Nacks as well.

Wants to know if FEC is being implemented in my setup? I do see some SDP parameters related to FEC as below but not sure whether they are used or not. How to check if Webrtc is using FEC?

a=rtpmap:124 red/90000
a=rtpmap:123 ulpfec/90000

Also is there any suggestions on how to improve packet loss percentage by tweaking Nacks or FEC etc?

Tried with different bandwidth and resolutions and packet loss is almost same.

Upvotes: 3

Views: 1511

Answers (2)

Raja Mandava
Raja Mandava

Reputation: 113

Found the root cause for packet loss. It was related to setup on network switches. We are using dedicated leaseline and leaseline expects fixed 100Mbps duplex configuration instead of auto configuration on network switch ports. Due to auto configuration, the link went in to half duplex and hence FEC errors.

Upvotes: 0

thinkski
thinkski

Reputation: 1302

Easiest way to determine whether FEC is actually used is to run a packet capture using Wireshark or tcpdump and look for RTP packets where the payload type matches the value in the SDP (123 and 124 in your example). If you see these packets, you’re seeing FEC.

One thing to note, FEC could make packet loss worse in some cases, essentially where you have bursts of back to back packets lost because of congestion. FEC is transmitting additional packets, which allows any one or two packets in a group to be lost and recovered from the additional packets.

Upvotes: 2

Related Questions