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
On this page2 sections
networkconnectivityconnectionChurntype

Connection churn

Last updated Applies tortcstats-enrichmentrtcstats.com

The connection drops or stales shortly after establishment and then reconnects successfully.

Description

A connection churn is a disconnection that occurs shortly (some seconds) after establishment and is then followed by a successful reconnection. Then the connection remains stable. While the first connection seems ok, most of the time there are no packets received or sent. Once reconnected, packets are ok.

A connection churn can also be an ICE restart that happens a few seconds after the connection is established, because the connection is seen as stalled and no media can be sent or received. In this case the browser or peer is attempting to recover by restarting ICE and establishing a new working connection.

This can be the sign of a software or hardware equipment that does Deep Packet Inspection such as Zscaler, a firewall or a corporate proxy. This could also be due to a late firewall pin-holing.

In all cases and if this scenario is repeated, the local network configuration should be reviewed.

What do we do here?

We compute the timestamp of the first and second connections and of the first ICE failure. For a plain churn, we mark an observation when the first disconnection happens within 5 seconds of the initial connect and a second successful connection follows. For a stalled connection that triggers an ICE restart, we allow up to 10 seconds before marking the observation, since the browser is attempting recovery after the connection was seen as stalled.