Web/API/RTCDataChannel/negotiated

From Get docs

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 BrowsersThe definition of 'RTCDataChannel.negotiated' in that specification. Candidate Recommendation Initial specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

negotiated

Experimental'

Chrome

Full support 56

Edge

Full support ≤79

Firefox

Full support 68

IE

No support No

Opera

Full support 43

Safari

No support No

WebView Android

Full support 56

Chrome Android

Full support 56

Firefox Android

Full support 68

Opera Android

Full support 43

Safari iOS

No support No

Samsung 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