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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
negotiated

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also