RTCDtlsTransport: error event

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used 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.

js
addEventListener("error", (event) => { })

onerror = (event) => { }

Event type

An RTCErrorEvent. Inherits from Event.

Event RTCErrorEvent

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 message contains details about the nature of the error. If a fatal error is received, the error object's receivedAlert property is set to the value of the DTLSL alert received. If, on the other hand, a fatal error was sent, the sentAlert is set to the alert's value.

fingerprint-failure

The remote certificate for the RTCDtlsTransport didn'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 a dtls-failure error.

Examples

Basic usage

Given an RTCPeerConnection, pc, the following code handles a DTLS transport error:

js
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:

js
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

Browser compatibility

See also