[webrtc-pc] Should even/odd id validation be enforced in createDataChannel when negotiated is true?

soareschen has just created a new issue for https://github.com/w3c/webrtc-pc:

== Should even/odd id validation be enforced in createDataChannel when negotiated is true? ==
The draft-ietf-rtcweb-data-protocol spec states that:

> To avoid collisions where both sides try to open a Data Channel with the same Stream Identifiers, each side MUST use Streams with either even or odd Stream Identifiers when sending a DATA_CHANNEL_OPEN message. When using SCTP over DTLS [I-D.ietf-tsvwg-sctp-dtls-encaps], the method used to determine which side uses odd or even is based on the underlying DTLS connection role: the side acting as the DTLS client MUST use Streams with even Stream Identifiers, the side acting as the DTLS server MUST use Streams with odd Stream Identifiers.

Currently `createDataChannel()` allows arbitrary `id` value to be provided, as long as they are within valid range. But creating a data channel with odd/even `id` of the opposite side when `negotiated` is `true` violates the MUST clause in the protocol.

It is not clear how we can enforce this even/odd ID validation with the current API design, since data channels can be created before the DTLS connection is established.

Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/1413 using your GitHub account

Received on Wednesday, 21 June 2017 07:53:36 UTC