The read-only connectionState
property of the RTCPeerConnection
interface indicates the current state of the peer connection by returning one of the string values specified by the enum RTCPeerConnectionState
.
When this property's value changes, a connectionstatechange
event is sent to the RTCPeerConnection
instance.
Syntax
var connectionState = RTCPeerConnection.connectionState;
Value
The current state of the connection, as a value from the enum RTCPeerConnectionState
.
RTCPeerConnectionState enum
The RTCPeerConnectionState
enum defines string constants which describe states in which the RTCPeerConnection
may be. These values are returned by the connectionState
property. This state essentially represents the aggregate state of all ICE transports (which are of type RTCIceTransport
or RTCDtlsTransport
) being used by the connection.
Constant | Description |
---|---|
"new" |
At least one of the connection's ICE transports (RTCIceTransport s or RTCDtlsTransport s) are in the "new" state, and none of them are in one of the following states: "connecting" , "checking" , "failed" , or "disconnected" , or all of the connection's transports are in the "closed" state. |
"connecting" |
One or more of the ICE transports are currently in the process of establishing a connection; that is, their RTCIceConnectionState is either "checking" or "connected" , and no transports are in the "failed" state. <<< Make this a link once I know where that will be documented |
"connected" |
Every ICE transport used by the connection is either in use (state "connected" or "completed" ) or is closed (state "closed" ); in addition, at least one transport is either "connected" or "completed" . |
"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 state "failed" , "connecting" , or "checking" . |
"failed" |
One or more of the ICE transports on the connection is in the "failed" state. |
"closed" |
The This value was in the |
Example
var pc = new RTCPeerConnection(configuration); /* ... */ var connectionState = pc.connectionState;
Specifications
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between Browsers The definition of 'RTCPeerConnection.connectionState' in that specification. |
Working Draft | Initial specification. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | No support | No support [1] | No support | ? | ? |
"closed" state |
No support | No support [1] | No support | ? | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | No support | No support [1] | No support | ? | ? |
"closed" state |
No support | No support | No support [1] | No support | ? | ? |
[1] See bug 1265827 to track progress on implementing this property in Firefox.