RTCDataChannel.negotiated

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 in Using WebRTC data channels for further information about this property.

Syntax

var negotiated = aDataChannel.negotiated;

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.

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

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDataChannel.negotiated' in that specification.
Candidate Recommendation Initial specification.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
negotiated
Experimental
Chrome Full support 56Edge Full support ≤79Firefox Full support 68IE No support NoOpera Full support 43Safari No support NoWebView Android Full support 56Chrome Android Full support 56Firefox Android Full support 68Opera Android Full support 43Safari iOS No support NoSamsung Internet Android Full support 6.0

Legend

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also