RTCDtlsTransport: error event
Baseline
2026
Newly available
Since August 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
An RTCDtlsTransport receives an error event when a transport-level error occurs on the RTCPeerConnection.
This event is not cancelable and does not bubble.
Syntax
Use the event name in methods like addEventListener(), or set an event handler property.
addEventListener("error", (event) => { })
onerror = (event) => { }
Event type
An RTCErrorEvent. Inherits from Event.
Description
Transport-level errors will have one of the following values for the specified error's RTCError property errorDetail:
dtls-failure-
The negotiation of the DTLS connection failed, or the connection was terminated with a fatal error. The error's
messagecontains details about the nature of the error. If a fatal error is received, the error object'sreceivedAlertproperty is set to the value of the DTLSL alert received. If, on the other hand, a fatal error was sent, thesentAlertis set to the alert's value. fingerprint-failure-
The remote certificate for the
RTCDtlsTransportdidn't match any of the fingerprints listed in the SDP. If the remote peer can't match the local certificate against the provided fingerprints, this error doesn't occur, though this situation may result instead in adtls-failureerror.
Examples
>Basic usage
Given an RTCPeerConnection, pc, the following code handles a DTLS transport error:
const dtlsTransport = pc.getSenders()[0].transport;
dtlsTransport.addEventListener("error", (ev) => {
const err = ev.error;
// …
});
The same code, using the onerror event handler property, looks like this:
dtlsTransport.onerror = (ev) => {
const err = ev.error;
// …
};
Note:
Since RTCError is not one of the legacy errors, the value of code is always 0.
Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcdtlstransport-onerror> |