The state
read-only property of the RTCDtlsTransport
interface provides information which describes a Datagram Transport Layer Security (DTLS) transport state.
Syntax
let myState = dtlsTransport.state;
Value
A string whose value is taken from the RTCDtlsTransportState
enumerated type. Its value is one of the following:
new
- The initial state when DTLS has not started negotiating yet.
connecting
- DTLS is in the process of negotiating a secure connection and verifying the remote fingerprint.
connected
- DTLS has completed negotiation of a secure connection and verified the remote fingerprint.
closed
- The transport has been closed intentionally as the result of receipt of a
close_notify
alert, or callingRTCPeerConnection.close()
. failed
- The transport has failed as the result of an error (such as receipt of an error alert or failure to validate the remote fingerprint).
Examples
This example presents a function, tallySenders()
, which iterates over an RTCPeerConnection
's RTCRtpSender
s, tallying up how many of them are in various states. The function returns an object containing properties whose values indicate how many of the senders are in each state.
let pc = new RTCPeerConnection({ bundlePolicy: "max-bundle" });
/* ... */
function tallySenders(pc) {
let results = {
transportMissing: 0,
connectionPending: 0,
connected: 0,
closed: 0,
failed: 0,
unknown: 0
};
let senderList = pc.getSenders();
senderList.forEach(sender => {
let transport = sender.transport;
if (!transport) {
results.transportMissing++;
} else {
switch(transport.state) {
case "new":
case "connecting":
results.connectionPending++;
break;
case "connected":
results.connected++;
break;
case "closed":
results.closed++;
break;
case "failed":
results.failed++;
break;
default:
results.unknown++;
break;
}
}
});
return results;
}
Note that in this code, the new
and connecting
states are being treated as a single connectionPending
status in the returned object.
Specifications
Specification | Status | Comment |
WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'RTCDtlsTransport.state' in that specification. | Candidate Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
state
|
Chrome
Full support 72 |
Edge
Full support 12 |
Firefox No support No No support No Notes' See bug 1307996. |
IE
No support No |
Opera
Full support 60 |
Safari
No support No |
WebView Android
Full support 72 |
Chrome Android
Full support 72 |
Firefox Android No support No No support No Notes' See bug 1307996. |
Opera Android
Full support 50 |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.0 |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.'
- See implementation notes.
See also
RTCDtlsTransport.state by Mozilla Contributors is licensed under CC-BY-SA 2.5.