WebRTC Metrics

A comprehensive overview of WebRTC statistics, derived calculations, extracted features, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats

Back
outboundaudiovideonetworknetworkSustainedLossOuttype

Sustained packet loss on outgoing media

Packet loss stayed high for sustained periods on an outgoing media stream.

Description

WebRTC recovers brief packet loss well: retransmission (RTX) and forward error correction (FEC) repair short bursts before the user notices.

Sustained loss is different. When the loss rate stays high for ten seconds or more, the repair mechanisms cannot keep up and the damage becomes audible or visible on the remote side: choppy or robotic audio, video freezes, blockiness, or an automatic drop in video quality.

An average computed over the whole call can hide these episodes: a few bad minutes diluted in a long call may produce a low overall percentage while users clearly suffered during those minutes.

The usual cause is network congestion or an unstable link such as Wi-Fi or cellular on the sending path.

What do we do here?

We analyze the per-interval packet loss of each outgoing media stream, audio and video, as reported by the remote party (RTCP receiver reports) over time.

A loss period opens when an interval reaches 5% loss (3% for G.711 and other G.7xx codecs) and stays open while intervals remain at or above 2% (1% for G.7xx). The period closes after three consecutive intervals below that level, or immediately when the samples have a gap of more than 3 seconds. Intervals where no packets flowed are ignored.

Only periods lasting at least 10 seconds are kept. If any period is found, we mark this as an Observation reporting the number of periods, their total duration, and the worst loss seen inside a period.

The severity is raised when any period peaks at 10% loss or more, or when the periods add up to more than 60 seconds.