Re: [rtcweb] RTCWEB Data Channel: Usage of PPID for protocol multiplexing

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> Thu, 06 February 2014 11:46 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 0197B1A00E3 for <rtcweb@ietfa.amsl.com>; Thu, 6 Feb 2014 03:46:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4
X-Spam-Level:
X-Spam-Status: No, score=-4 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_72=0.6, MANGLED_AVOID=2.3, RCVD_IN_DNSWL_HI=-5] 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 UbRNIz61R6lb for <rtcweb@ietfa.amsl.com>; Thu, 6 Feb 2014 03:46:20 -0800 (PST)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by ietfa.amsl.com (Postfix) with ESMTP id B72161A00E0 for <rtcweb@ietf.org>; Thu, 6 Feb 2014 03:46:20 -0800 (PST)
Received: from us70uusmtp3.zam.alcatel-lucent.com (h135-5-2-65.lucent.com [135.5.2.65]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id s16BkGWG003849 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 6 Feb 2014 05:46:16 -0600 (CST)
Received: from US70UWXCHHUB02.zam.alcatel-lucent.com (us70uwxchhub02.zam.alcatel-lucent.com [135.5.2.49]) by us70uusmtp3.zam.alcatel-lucent.com (GMO) with ESMTP id s16Bk58H030357 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 6 Feb 2014 06:46:13 -0500
Received: from US70UWXCHMBA02.zam.alcatel-lucent.com ([169.254.8.212]) by US70UWXCHHUB02.zam.alcatel-lucent.com ([135.5.2.49]) with mapi id 14.02.0247.003; Thu, 6 Feb 2014 06:45:46 -0500
From: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>, Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Thread-Topic: [rtcweb] RTCWEB Data Channel: Usage of PPID for protocol multiplexing
Thread-Index: AQHPIxZ9eymmg1h0ZkO/jyQ6XJmtrJqoFChA
Date: Thu, 06 Feb 2014 11:45:46 +0000
Message-ID: <E1FE4C082A89A246A11D7F32A95A17826DFCF6C8@US70UWXCHMBA02.zam.alcatel-lucent.com>
References: <7594FB04B1934943A5C02806D1A2204B1D15E955@ESESSMB209.ericsson.se> <74072016-DA11-41E8-9944-779428163EE4@lurchi.franken.de> <7594FB04B1934943A5C02806D1A2204B1D15ED94@ESESSMB209.ericsson.se>
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B1D15ED94@ESESSMB209.ericsson.se>
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: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] RTCWEB Data Channel: Usage of PPID for protocol multiplexing
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: Thu, 06 Feb 2014 11:46:23 -0000

> >>> As discussed in the last IETF meeting, this PPID based fragmentation and
> reassembly will be removed from the ID.
> >>
> >> I assume the associated PPID values will also be un-registered with IANA?
> > I guess they will stay... They are supported by Firefox and PPIDs are a
> pretty cheap resource. They are from a pool of 32-bit entities. That is why
> we registered the values before the RFCs get published.
> 
> So, does that mean my WebRTC entity has to support them, in case the remote
> peer is on Firefox?
> 
> Also, if they are removed from the data channel draft, what reference will
> be used in the IANA table?

[Raju] Per my understanding some of the PPIDs are still needed.
The send() API for data channel comes in 4 flavors:
1.    void send (DOMString data);
2.    void send (Blob data);
3.    void send (ArrayBuffer data);
4.    void send (ArrayBufferView data);

1 maps to text data
2,3,4 maps to binary data

When one end sends this data one would expect that the other end gets an onmessage() callback with same (if other end is also javascript) or similar(if other end is a native client) data structure. I believe this is achieved by using PPIDs.
We need at least 2 PPIDs: text and binary. So, existing "DOM String last" (=51) and "Binary Data Last"(=53) can be used.
To facilitate interworking with native clients I don't think there is a need to represent all sub-data types of send() in PPIDs as native client on the other end using C/C++ won't know what "ArrayBufferView" is?!
Also, I think "DOMString" PPID is too specific to Javascript, instead it should probably have a generic name like "UTF-16 String". The send API can still use DOMString as this is Javascript API.

-Raju