RTCDtlsTransport object

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Exposes information relating to Datagram Transport Layer Security (DTLS) transport.

Overview

Microsoft Edge does not support the getRemoteCertificates() method, or a state value of "failed". Since Microsoft Edge requires support for RTP/RTCP mux with DTLS, an RTCDtlsTransport object can only be constructed from an RTP RTCSctpTransport object.

Operation

A RTCDtlsTransport instance is constructed using an RTCIceTransport object.

A newly constructed RTCDtlsTransport must listen and respond to incoming DTLS packets before start() is called. However, to complete the negotiation it is necessary to verify the remote fingerprint, which is dependent on remoteParameters, passed to start(). After the DTLS handshake exchange completes (but before the remote fingerprint is verified) incoming media packets may be received. A modest buffer must be provided to avoid loss of media prior to remote fingerprint validation (which can begin after start() is called).

If an attempt is made to construct a RTCDtlsTransport instance from an RTCIceTransport in the "closed" state, an InvalidStateError exception is thrown. Since the Datagram Transport Layer Security (DTLS) negotiation occurs between transport endpoints determined via ICE, implementations of this specification must support multiplexing of STUN, TURN, DTLS and RTP and/or RTCP. This multiplexing, originally described in [RFC5764] Section 5.1.2, is being revised in [MUX-FIXES].

Syntax

[Constructor(RTCIceTransport transport)]
interface RTCDtlsTransport : RTCStatsProvider {
    readonly    attribute RTCIceTransport       transport;
    readonly    attribute RTCDtlsTransportState state;
    RTCDtlsParameters  getLocalParameters ();
    RTCDtlsParameters? getRemoteParameters ();
    void               start (RTCDtlsParameters remoteParameters);
    void               stop ();
                attribute EventHandler?         ondtlsstatechange;
                attribute EventHandler?         onerror;
};

Members

The RTCDtlsTransport object has these types of members:

  • Events
  • Methods
  • Properties

Events

The RTCDtlsTransport object has these events.

Event Description
ondtlsstatechange

This event fires any time the RTCDtlsTransportState changes.

onerror

This event fires on reception of a DTLS alert.

RTCDtlsTransportStateChangedEvent

This event fires when the RTCDtlsTransport changes state.

 

Methods

The RTCDtlsTransport object has these methods.

Method Description
getLocalParameters

Obtain the DTLS parameters of the local RTCDtlsTransport.

getRemoteParameters

Obtain the DTLS parameters of the remote RTCDtlsTransport.

 

Properties

The RTCDtlsTransport object has these properties.

Property Description

RTCDtlsTransportState

The current state of the DTLS transport.

 

Standards information