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

Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Thu, 06 February 2014 19:17 UTC

Return-Path: <Michael.Tuexen@lurchi.franken.de>
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 0F35A1A03E4 for <rtcweb@ietfa.amsl.com>; Thu, 6 Feb 2014 11:17:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.814
X-Spam-Level:
X-Spam-Status: No, score=0.814 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, J_CHICKENPOX_72=0.6, MANGLED_AVOID=2.3, RP_MATCHES_RCVD=-0.535, SPF_HELO_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 ra6pkLCw7NMp for <rtcweb@ietfa.amsl.com>; Thu, 6 Feb 2014 11:17:43 -0800 (PST)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by ietfa.amsl.com (Postfix) with ESMTP id ACEA91A03F5 for <rtcweb@ietf.org>; Thu, 6 Feb 2014 11:17:42 -0800 (PST)
Received: from [192.168.1.200] (p508F14B3.dip0.t-ipconnect.de [80.143.20.179]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 771C51C0E97AF; Thu, 6 Feb 2014 20:17:39 +0100 (CET)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <E1FE4C082A89A246A11D7F32A95A17826DFCF6C8@US70UWXCHMBA02.zam.alcatel-lucent.com>
Date: Thu, 06 Feb 2014 20:17:40 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <B304F67A-9EA2-44A0-86DD-9DD0E21CB86F@lurchi.franken.de>
References: <7594FB04B1934943A5C02806D1A2204B1D15E955@ESESSMB209.ericsson.se> <74072016-DA11-41E8-9944-779428163EE4@lurchi.franken.de> <7594FB04B1934943A5C02806D1A2204B1D15ED94@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17826DFCF6C8@US70UWXCHMBA02.zam.alcatel-lucent.com>
To: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
X-Mailer: Apple Mail (2.1510)
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 19:17:45 -0000

On Feb 6, 2014, at 12:45 PM, "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> wrote:

>>>>> 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
What is still be needed:
WebRTC Control: Used for the DATA_CHANNEL_OPEN and DATA_CHANNEL_ACK message
DOMString Last: Used for 1.
Binary Data Last: Used for 2, 3, 4.

The PPIDs 'Binary Data Partial' and 'DOMString Partial' won't be used anymore.
These were specific to the PPID based fragmentation and reassembly.
> 
> 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?!
At least there are no PPIDs for them right now.
> 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.
Any comments from others?

Best regards
Michael
> 
> -Raju
>