RTCPeerConnection: connectionState property
Baseline
2023
Newly available
Since May 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The connectionState read-only property of the RTCPeerConnection interface indicates the current state of the peer connection by returning one of the following string values: new, connecting, connected, disconnected, failed, or closed.
This state essentially represents the aggregate state of all ICE transports (which are of type RTCIceTransport or RTCDtlsTransport) being used by the connection.
When this property's value changes, a connectionstatechange event is sent to the RTCPeerConnection instance.
Value
A string representing the current state of the connection. This can take on of the following values:
new-
At least one of the connection's ICE transports (
RTCIceTransportorRTCDtlsTransportobjects) is in thenewstate, and none of them are in one of the following states:connecting,checking,failed,disconnected, or all of the connection's transports are in theclosedstate. connecting-
One or more of the ICE transports are currently in the process of establishing a connection; that is, their
iceConnectionStateis eithercheckingorconnected, and no transports are in thefailedstate. connected-
Every ICE transport used by the connection is either in use (state
connectedorcompleted) or is closed (stateclosed); in addition, at least one transport is eitherconnectedorcompleted. disconnected-
At least one of the ICE transports for the connection is in the
disconnectedstate and none of the other transports are in the states:failed,connecting, orchecking. failed-
One or more of the ICE transports on the connection is in the
failedstate. closed-
The
RTCPeerConnectionis closed.
Example
const peerConnection = new RTCPeerConnection(configuration);
// …
const connectionState = peerConnection.connectionState;
Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-peerconnection-connection-state> |
Browser compatibility
Loading…