RTCPeerConnection: connectionState property
Baseline 2023Newly 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 (
RTCIceTransport
orRTCDtlsTransport
objects) is in thenew
state, and none of them are in one of the following states:connecting
,checking
,failed
,disconnected
, or all of the connection's transports are in theclosed
state. connecting
-
One or more of the ICE transports are currently in the process of establishing a connection; that is, their
iceConnectionState
is eitherchecking
orconnected
, and no transports are in thefailed
state. connected
-
Every ICE transport used by the connection is either in use (state
connected
orcompleted
) or is closed (stateclosed
); in addition, at least one transport is eitherconnected
orcompleted
. disconnected
-
At least one of the ICE transports for the connection is in the
disconnected
state 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
failed
state. closed
-
The
RTCPeerConnection
is closed.
Example
const peerConnection = new RTCPeerConnection(configuration);
// …
const connectionState = peerConnection.connectionState;
Specifications
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-peerconnection-connection-state |