Re: [rtcweb] Meaning of SHOULD support/use interleaving

Christer Holmberg <> Mon, 27 October 2014 18:44 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 938391ACE86 for <>; Mon, 27 Oct 2014 11:44:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mfgeDVfAt_UH for <>; Mon, 27 Oct 2014 11:44:15 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0DF4B1A924C for <>; Mon, 27 Oct 2014 11:41:20 -0700 (PDT)
X-AuditID: c1b4fb3a-f79596d000001123-39-544e91cef7b1
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 23.99.04387.EC19E445; Mon, 27 Oct 2014 19:41:19 +0100 (CET)
Received: from ([]) by ([]) with mapi id 14.03.0174.001; Mon, 27 Oct 2014 19:41:18 +0100
From: Christer Holmberg <>
To: Harald Alvestrand <>, "" <>
Thread-Topic: [rtcweb] Meaning of SHOULD support/use interleaving
Thread-Index: Ac/x55WTmtr0wn1FRpKkoOi9WMJX3////5gA///tr8CAAFjuAP//7KkQ
Date: Mon, 27 Oct 2014 18:41:17 +0000
Message-ID: <>
References: <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsUyM+Jvje75iX4hBotbOSyO9XWxWaz9187u wORxZcIVVo8lS34yBTBFcdmkpOZklqUW6dslcGW0XHrEVNAnUdF7eQtbA+Ne4S5GTg4JAROJ xk0T2CFsMYkL99azdTFycQgJHGGUOPP3MZSzhFFiUv8Bli5GDg42AQuJ7n/aIA0iAsESvc/f M4LYwgIOEmd3TmKHiDtKtL09zwRhu0nsv/iEBcRmEVCVOH3pJyuIzSvgK7FsRxPU/PeMEou+ 3gBr5hTQlZi8bCFYESPQRd9PrQEbxCwgLnHryXwmiEsFJJbsOc8MYYtKvHz8jxXCVpJYdPsz VL2OxILdn9ggbG2JZQtfM0MsFpQ4OfMJywRG0VlIxs5C0jILScssJC0LGFlWMYoWpxYX56Yb GemlFmUmFxfn5+nlpZZsYgRGysEtv612MB587niIUYCDUYmH90ONb4gQa2JZcWXuIUZpDhYl cd6F5+YFCwmkJ5akZqemFqQWxReV5qQWH2Jk4uCUamDsZtCzb6mOa5DUm5Erp+NyY1LaxrC9 rWfmLJDmn7LzaWuCEJPcKp1E7pTiyXobdvdw+2SYn+p45HxsTvuLxGlyC38zq3GsO6ZqMl30 2RGZM5w+4jzB9T/mHj66NUQ27xDD+cA+xyXawdUMC/iXZjZs0p0pdzk587dkJ1dEiWjd1HV3 n8l5XlNiKc5INNRiLipOBAB4YqjvdQIAAA==
Subject: Re: [rtcweb] Meaning of SHOULD support/use interleaving
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 27 Oct 2014 18:44:20 -0000


>>>> Within the CLUE WG, we had a discussion regarding the following statement in section 6.1 of draft-ietf-rtcweb-data-channel-12.txt:
>>>> "The support for message interleaving as defined in
>>>>                 [I-D.ietf-tsvwg-sctp-ndata] SHOULD be used."
>>>> First, it is a little unclear what "the support SHOULD be used" means.
>>> My understanding is that SCTP implementations supporting the extension will use it.
>>> This is negotiated during the setup of the SCTP association.
>> If it's done on SCTP level, why do we need to talk about it in the data channel draft? 
>> Is there a reason why it is important to use it for data channels? If so, does it apply to data channels in general? 
> NDATA was added in order to avoid head-of-line blocking on the transport (if I understand this correctly, until 
> this was added, sending a huge message would block the delivery of small messages on all channels until the huge message was fully delivered).
> Unlike Michael, I see no reason to make this a SHOULD; I think it should be a MUST, and the older 
> implementations in browsers should just be called out as non-conformant.
> That said, I think that data channels ought to interoperate successfully with implementations that don't support the 
> extension - but data channel implementations in WebRTC endpoints should be under a "MUST implement, MUST offer" ruleset.

First, keep in mind that I am NOT talking about WebRTC endpoints (which is one reason we shouldn't call it webrtc data channel to begin with, but that's another story...), but ANY type of endpoint that wants to use a data channel. 

Second, I am not talking about MUST support, but MUST use/offer.

Assume I have a CLUE endpoint, which will use a data channel ONLY to transport CLUE messages. CLUE messages aren't that hugeto begin with, and there will be no blocking of small messages on other channels - as there are no other channels.

So, why does the CLUE endpoint need to offer interleaving?



> Whether messages are interleaved or not depends on the stream scheduler. This is a sender side only decision. The receiver has to deal with it.
> It is not a MUST, since there are implementations now in use which don't support the extension.
> Best regards
> Michael
>> Second, does it mean that any data channel protocol (e.g CLUE) SHOULD use interleaving, even if the characteristics of the protocol wouldn't require it?
>> Regards,
>> Christer
>> _______________________________________________
>> rtcweb mailing list
> _______________________________________________
> rtcweb mailing list

Surveillance is pervasive. Go Dark.

rtcweb mailing list