RTCDataChannel: negotiated property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

The read-only RTCDataChannel property negotiated indicates whether the RTCDataChannel's connection was negotiated by the Web app (true) or by the WebRTC layer (false). The default is false.

See Creating a data channel for further information about this property.

Value

true if the RTCDataChannel's connection was negotiated by the Web app itself; false if the negotiation was handled by the WebRTC layer. The default is false.

Example

The code snippet below checks the value of negotiated; if it's true, a function called shutdownRemoteChannel() is called with the channel's id; presumably this would be implemented to transmit a shutdown signal to the remote peer prior to terminating the connection.

js
if (dataChannel.negotiated) {
  shutdownRemoteChannel(dataChannel.id);
}

Specifications

Specification
WebRTC: Real-Time Communication in Browsers
# dom-datachannel-negotiated

Browser compatibility

BCD tables only load in the browser

See also