diff --git a/index.html b/index.html index 81f002e..75fed54 100644 --- a/index.html +++ b/index.html @@ -1494,6 +1494,74 @@

Modifications to existing procedures

+
+

Always negotiating data channels

+
+

+ {{RTCConfiguration}} extensions +

+

+ {{RTCConfiguration/alwaysNegotiateDataChannels}} defines a way for the application + to negotiate data channels in the SDP offer before creating a datachannel. + This also negotiates the data m= section before any audio or video m sections and + uses it as the "offerer-tagged m= section" for [[BUNDLE]]. +

+
partial dictionary RTCConfiguration {
+    boolean alwaysNegotiateDataChannels = false;
+};
+
+

+ Dictionary {{RTCConfiguration}} Members +

+
+
+ alwaysNegotiateDataChannels of type boolean +
+
+

+ Specifies whether the application prefers to always negotiate data channels in the initial SDP offer. +

+
+
+
+
+
+

+ Modifications to existing procedures +

+

+ In the steps to call the {{RTCPeerConnection/createDataChannel()}} method replace + "If channel is the first RTCDataChannel created on connection + update the negotiation-needed flag for connection" + with + "If channel is the first RTCDataChannel created on connection + and {{RTCPeerConnection/[[SctpTransport]]}} is null + update the negotiation-needed flag for connection". +

+
+
+

+ JSEP modifications +

+

+ In the PeerConnection's Constructor in [[RTCWEB-JSEP]] section 4.1.1, add + "The application can specify whether it prefers to always negotiate data channels" +

+

+ In the algorithms for generating initial offers in [[RTCWEB-JSEP]] section 5.2.1, insert + "If the application prefers to always negotiate data channels, a m=section MUST be generated for data with fields set as described below." + before + "An m= section is generated for each RtpTransceiver that has been added to the PeerConnection, [...]". +

+

+ In the algorithms for generating initial offers in [[RTCWEB-JSEP]] section 5.2.1, + replace + "Lastly, if a data channel has been created, a m= section MUST be generated for data" + with + "Lastly, if a data channel has been created and no m=section has been generated for data, a m= section MUST be generated for data". +

+
+

Event summary