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

Christer Holmberg <christer.holmberg@ericsson.com> Thu, 06 February 2014 11:50 UTC

Return-Path: <christer.holmberg@ericsson.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 4CB001A00ED for <rtcweb@ietfa.amsl.com>; Thu, 6 Feb 2014 03:50:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.951
X-Spam-Level:
X-Spam-Status: No, score=-0.951 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, J_CHICKENPOX_72=0.6, MANGLED_AVOID=2.3, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=no
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 zj1cqcMWKYZK for <rtcweb@ietfa.amsl.com>; Thu, 6 Feb 2014 03:50:45 -0800 (PST)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id 836A31A00E6 for <rtcweb@ietf.org>; Thu, 6 Feb 2014 03:50:44 -0800 (PST)
X-AuditID: c1b4fb25-b7f038e000005d01-39-52f377122810
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id E1.B9.23809.21773F25; Thu, 6 Feb 2014 12:50:42 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.99]) by ESESSHC005.ericsson.se ([153.88.183.33]) with mapi id 14.02.0387.000; Thu, 6 Feb 2014 12:50:42 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>, Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Thread-Topic: [rtcweb] RTCWEB Data Channel: Usage of PPID for protocol multiplexing
Thread-Index: Ac8jEP4UAFTLik6/TaCDQ1g2OxFaDP//90SA///s4PCAAEsOAP//7iIA
Date: Thu, 06 Feb 2014 11:50:41 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D15F2B3@ESESSMB209.ericsson.se>
References: <7594FB04B1934943A5C02806D1A2204B1D15E955@ESESSMB209.ericsson.se> <74072016-DA11-41E8-9944-779428163EE4@lurchi.franken.de> <7594FB04B1934943A5C02806D1A2204B1D15ED94@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17826DFCF6C8@US70UWXCHMBA02.zam.alcatel-lucent.com>
In-Reply-To: <E1FE4C082A89A246A11D7F32A95A17826DFCF6C8@US70UWXCHMBA02.zam.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.19]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKLMWRmVeSWpSXmKPExsUyM+Jvja5Q+ecgg4dX9S0uNi1htGjYeIXV Yu2/dnYHZo/WZ3tZPZYs+cnksaFlB1MAcxSXTUpqTmZZapG+XQJXxt29H9gKPghWrFuxi7mB cQ5fFyMnh4SAicSd3deYIWwxiQv31rOB2EIChxglPsyI7GLkArIXMUrsnvMAKMHBwSZgIdH9 TxukRkSgRuLIunksIDazgLrEncXn2EFsYYEQiWl7zzBC1IRKLL02gRnCdpO4d2Yx2HwWARWJ /XtXgcV5BXwlehadZ4TYO59J4uA0URCbUyBW4va9DWDzGYFu+35qDRPELnGJW0/mM0HcLCCx ZM95qPtFJV4+/scKYStKtD9tYISo15FYsPsTG4StLbFs4WuovYISJ2c+YZnAKDYLydhZSFpm IWmZhaRlASPLKkb23MTMnPRyo02MwKg5uOW36g7GO+dEDjFKc7AoifN+eOscJCSQnliSmp2a WpBaFF9UmpNafIiRiYNTqoExt5qxVO/9tqJQyX3W7v57Erylt4vnbpkdIOt8aqVxgrSt/xyT 6qg7DAzZv5OXlhh8Dlq64e9kEw/7w3LFSlsXzRXX3tC3UMTWJuO6yh85DbHpZ+riyzYu/au1 bZ3Fv3hpvesZCT3XPUU2polaBges212+KKo/WU9ncbOn7nJ73pm/DklUtyuxFGckGmoxFxUn AgCqp+W3aAIAAA==
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:50:46 -0000

Hi,

I agree that PPID values are still needed, and my question was not about removing all of them - only the ones used with application-level fragmentation.

Regards,

Christer

-----Original Message-----
From: Makaraju, Maridi Raju (Raju) [mailto:Raju.Makaraju@alcatel-lucent.com] 
Sent: 6. helmikuuta 2014 13:46
To: Christer Holmberg; Michael Tuexen
Cc: rtcweb@ietf.org
Subject: RE: [rtcweb] RTCWEB Data Channel: Usage of PPID for protocol multiplexing

> >>> 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