Re: [rtcweb] Sending of zero-length messages over data channels

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> Tue, 05 August 2014 13:57 UTC

Return-Path: <Raju.Makaraju@alcatel-lucent.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54B171B27B3 for <rtcweb@ietfa.amsl.com>; Tue, 5 Aug 2014 06:57:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1rqVxzscB6Je for <rtcweb@ietfa.amsl.com>; Tue, 5 Aug 2014 06:57:55 -0700 (PDT)
Received: from smtp-us.alcatel-lucent.com (us-hpswa-esg-02.alcatel-lucent.com [135.245.18.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 036B11B279D for <rtcweb@ietf.org>; Tue, 5 Aug 2014 06:57:54 -0700 (PDT)
Received: from us70tusmtp2.zam.alcatel-lucent.com (unknown [135.5.2.64]) by Websense Email Security Gateway with ESMTPS id A549232C2E6AA; Tue, 5 Aug 2014 13:57:51 +0000 (GMT)
Received: from US70TWXCHHUB03.zam.alcatel-lucent.com (us70twxchhub03.zam.alcatel-lucent.com [135.5.2.35]) by us70tusmtp2.zam.alcatel-lucent.com (GMO) with ESMTP id s75DvofO009775 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 5 Aug 2014 09:57:53 -0400
Received: from US70UWXCHMBA02.zam.alcatel-lucent.com ([169.254.8.175]) by US70TWXCHHUB03.zam.alcatel-lucent.com ([135.5.2.35]) with mapi id 14.02.0247.003; Tue, 5 Aug 2014 09:57:51 -0400
From: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
To: Justin Uberti <juberti@google.com>
Thread-Topic: [rtcweb] Sending of zero-length messages over data channels
Thread-Index: AQHPpipfEWtPO6jXOES6Y6R7CwNaxJutiTxggAI5gwD//74D0IAATLYA///AneCAAFNggP//xY3gAej9c4AAExpK0AA+lIOAABAOklA=
Date: Tue, 05 Aug 2014 13:57:51 +0000
Message-ID: <E1FE4C082A89A246A11D7F32A95A17828E4F0239@US70UWXCHMBA02.zam.alcatel-lucent.com>
References: <CAOJ7v-0F9pysYLehjTVDv1Sxz3TKaxi2y6J7RrpGqMdA=tiR_g@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E4BCC13@US70UWXCHMBA02.zam.alcatel-lucent.com> <CAOJ7v-1r-vToAf-rUfZmKsBC4MX4ZXUcAkqahrskF1D3axOpuA@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E4C5974@US70UWXCHMBA02.zam.alcatel-lucent.com> <CAOJ7v-1VPP8iAz+gr9h98QUzZnBVna84yPqtc0JZR=ehGgJL0A@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E4C5E94@US70UWXCHMBA02.zam.alcatel-lucent.com> <CAOJ7v-2SkB3Pqctpu1S_wMY2b6jdOYyz8KxAYLA-q++2WdUbYw@mail.gmail.com> <E1FE4C082A89A246A11D7F32A95A17828E4C61A5@US70UWXCHMBA02.zam.alcatel-lucent.com> <53DDFEC1.3020907@alvestrand.no> <E1FE4C082A89A246A11D7F32A95A17828E4EC8B4@US70UWXCHMBA02.zam.alcatel-lucent.com> <CAOJ7v-32Omf9mJR5g7VXtURBv9vqmicn0s845DfBi-AHvJkLAw@mail.gmail.com>
In-Reply-To: <CAOJ7v-32Omf9mJR5g7VXtURBv9vqmicn0s845DfBi-AHvJkLAw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.17]
Content-Type: multipart/alternative; boundary="_000_E1FE4C082A89A246A11D7F32A95A17828E4F0239US70UWXCHMBA02z_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/V1-H35DQ92VrqmuVWXi7-p165HU
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Sending of zero-length messages over data channels
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Aug 2014 13:57:57 -0000

Comments inserted between <Raju3> and </Raju3>


What value would this provide to justify the increased complexity?
<Raju3>
It provides a generic mechanism for an app to send OOB data within the same data channel. The new API can be used for the heartbeat purpose or for some other more innovative use cases like sending control data (e.g. sending a user’s emption so that other end can display it appropriately). It achieves all of this in a more transparent way than browser inserting a dummy byte.
Like anything else, I look forward to members’ feedback on this to see if such a need exists and the added API and procedures is worth considering.

</Raju3>


>PPID_OOB would make the compatibility problem worse, not better.
<Raju2>
I would appreciate if you can provide reasons on why PPID_OOB making compatibility worse?
With PPID_OOB, apps have a choice to negotiate (this negotiation is like any other negotiation for webrtc.) and use this option. PPID_EMPTY option seems to be enabled always and no way to turn-off.
Without an option to turn off PPID_EMPTY, you will get into more compatibility issues as some webrtc implementations may not implement it on day one; a native client could be using an interim version of a popular webrtc lib; or it might be using its own webrtc lib, in which case we can’t expect it to implement all these later-adders in a timely manner.
</Raju2>
I doubt this will be a real-world problem, given that the protocol is still evolving and all implementations need to keep up, but if this turns out to be an issue we can negotiate it in SDP.
<Raju3>
I agree that the implementations need to keep up, but in reality that may not be true. I remember the discussion of changing DTLS-SRTP transport “RTP/SAVPF” to “UDP/TLS/RTP/SAVPF”. It took some time to co-ordinate the changes even between Firefox and Chrome. Now if we think about other webrtc implementations (Internet Explorer?) in the mix then the interop gets complex very quickly.
IMHO, dealing with it when it happens is obviously a reactive way and having a capability to negotiate this (either PPID_EMPTY or PPID_OOB) is proactive way.
Again, I look forward to members’ feedback on this.

</Raju3>

BR
Raju