Re: [rtcweb] PPID, UTF-16 and DOMString (Re: RTCWEB Data Channel: Usage of PPID for protocol multiplexing)

Christer Holmberg <christer.holmberg@ericsson.com> Sat, 08 February 2014 09:23 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 598BD1ADF43 for <rtcweb@ietfa.amsl.com>; Sat, 8 Feb 2014 01:23:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 BRz7B8-nn0WP for <rtcweb@ietfa.amsl.com>; Sat, 8 Feb 2014 01:23:15 -0800 (PST)
Received: from sesbmg20.ericsson.net (sesbmg20.ericsson.net [193.180.251.56]) by ietfa.amsl.com (Postfix) with ESMTP id 31FA21AD7C2 for <rtcweb@ietf.org>; Sat, 8 Feb 2014 01:23:15 -0800 (PST)
X-AuditID: c1b4fb38-b7f418e000001099-e5-52f5f7813ef4
Received: from ESESSHC013.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg20.ericsson.net (Symantec Mail Security) with SMTP id 9D.16.04249.187F5F25; Sat, 8 Feb 2014 10:23:13 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.99]) by ESESSHC013.ericsson.se ([153.88.183.57]) with mapi id 14.02.0387.000; Sat, 8 Feb 2014 10:23:13 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>, Martin Thomson <martin.thomson@gmail.com>
Thread-Topic: [rtcweb] PPID, UTF-16 and DOMString (Re: RTCWEB Data Channel: Usage of PPID for protocol multiplexing)
Thread-Index: AQHPI5G4gedSwhADR0Wr7uzX17tRu5qqSHkAgAAc9wCAABUk/4AAA9sAgACZNEg=
Date: Sat, 08 Feb 2014 09:23:12 +0000
Message-ID: <3au9wgasyo329a7x4xu2o08l.1391851390844@email.android.com>
References: <7594FB04B1934943A5C02806D1A2204B1D15E955@ESESSMB209.ericsson.se> <74072016-DA11-41E8-9944-779428163EE4@lurchi.franken.de> <7594FB04B1934943A5C02806D1A2204B1D15ED94@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17826DFCF6C8@US70UWXCHMBA02.zam.alcatel-lucent.com> <B304F67A-9EA2-44A0-86DD-9DD0E21CB86F@lurchi.franken.de> <52F4182F.60404@alvestrand.no> <E1FE4C082A89A246A11D7F32A95A17826DFD40C3@US70UWXCHMBA02.zam.alcatel-lucent.com>, <CABkgnnXMYt7teSpxm7chTvQPR8ThKzKQ_bq3Po_FNFv2tdBFGQ@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D163B26@ESESSMB209.ericsson.se>, <E1FE4C082A89A246A11D7F32A95A17826DFD4581@US70UWXCHMBA02.zam.alcatel-lucent.com>
In-Reply-To: <E1FE4C082A89A246A11D7F32A95A17826DFD4581@US70UWXCHMBA02.zam.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJLMWRmVeSWpSXmKPExsUyM+JvjW7j969BBisPmltcO/OP0aJh4xVW i7X/2tkdmD1an+1l9dg56y67x5IlP5kCmKO4bFJSczLLUov07RK4Mqat2M5WcE+tovXZF/YG xs3yXYycHBICJhJTZ91lg7DFJC7cWw9kc3EICRxhlFiydQojhLOIUWLz2h2sXYwcHGwCFhLd /7RBGkQESiTObPrBDGIzC6hL3Fl8jh3EFhYolbizbxobSLmIQJnE/q0GEKafxNfVjCAVLAIq Elf+9bGA2LwCbhJL5j+C2rSCVeLlvn52kHpOgViJ2fdtQGoYgU77fmoNE8QmcYlbT+YzQZws ILFkz3lmCFtU4uXjf6wQNToSC3Z/YoOwtSWWLXzNDLFLUOLkzCcsExhFZyEZNQtJyywkLbOQ tCxgZFnFyFGcWpyUm25ksIkRGB0Ht/y22MF4+a/NIUZpDhYlcd6Pb52DhATSE0tSs1NTC1KL 4otKc1KLDzEycXBKNTAulTewsY6IO6G45KrI/KapZ9y+ZdRxKF88dOTUsXAbTZaSmwKdG8/f deD6sficzsli0R+vmWaUH5x+Q+Ntzpll/bcL8mwjlrSpzPJ+l+dQqf94Uvdku71PM+q+nViW y/UhQFOv/ebjLdqbLLZ/DfCxPndBqLVuTvRfHYeIu2zWE7Llb9z8Va2vxFKckWioxVxUnAgA il58/VwCAAA=
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] PPID, UTF-16 and DOMString (Re: 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: Sat, 08 Feb 2014 09:23:18 -0000

Hi,

I guess there is a good reason why the current PPID values have been registered to begin with, because normally any IANA registrations take place prior to RFC publication.

But, I have no problem with defining a new value for utf-8, and keep the current values in the registry - as long as it is clear that they are deprecated, and kept in the registry only for "historical" reasons (according to the suggestion by Harald).

Regards,

Christer

Sent from my Sony Ericsson Xperia arc S

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> wrote:


That's good. Glad to see that no one liked the complex alternate option... yet! :-)
I just put it there for completeness and some discussion.
With "utf-8 on wire", which I too think is the right approach, there is some spec work todo:
1. Define IANA utf-8 ppid. Creating a new one is better instead of replacing existing DOMString as DOMString may be used by browsers for sometime to come and also to have backward compatibility/interworking.
2. Data channel core spec (http://tools.ietf.org/html/draft-ietf-rtcweb-data-channel-06#section-6.6) need to specify explictly the wire format is utf-8.

Then browsers need to do the conversion from utf-16 DOMstring to utf-8 before writing on wire also in the reverse direction.

-Raju

> -----Original Message-----
> From: Christer Holmberg [mailto:christer.holmberg@ericsson.com]
> Sent: Friday, February 07, 2014 6:01 PM
> To: Martin Thomson; Makaraju, Maridi Raju (Raju)
> Cc: rtcweb@ietf.org
> Subject: RE: [rtcweb] PPID, UTF-16 and DOMString (Re: RTCWEB Data Channel:
> Usage of PPID for protocol multiplexing)
>
>
> + 1
>
> Regards,
>
> Christer
>
> ________________________________________
> From: rtcweb [rtcweb-bounces@ietf.org] on behalf of Martin Thomson
> [martin.thomson@gmail.com]
> Sent: Saturday, 08 February 2014 1:45 AM
> To: Makaraju, Maridi Raju (Raju)
> Cc: rtcweb@ietf.org
> Subject: Re: [rtcweb] PPID, UTF-16 and DOMString (Re: RTCWEB Data Channel:
> Usage of PPID for protocol multiplexing)
>
> I don't think that we need any complication here.  It's a string.
>
> Strings are UTF-8 on the wire.
>
> Strings are UTF-16 (mostly) in JavaScript.
>
> Anything else would generate pain.
>
> On 7 February 2014 14:01, Makaraju, Maridi Raju (Raju)
> <Raju.Makaraju@alcatel-lucent.com> wrote:
> >> >> 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?
> >>
> >> Note: The WebSockets protocol defines the transferred strings as UTF-8.
> >> http://tools.ietf.org/html/rfc6455#section-5.6
> >>
> >> As far as I can tell, we've always intended to follow that example.
> >>
> >> The fact that Javascript implementations currently choose to represent
> >> text strings as UTF-16 at their API is sad, but not an argument for
> >> sending that particular text representation over the wire, or reflecting
> >> the name in the API.
> >
> > [Raju] I agree that using UTF-8 is desired and more appropriate! Then,
> should the PPID be changed from "DOMString" to "UTF-8"? Javascript based
> apps have to use some library to do the conversion of DOMString/UTF-16 to
> UTF-8. Alternatively, browsers can do this conversion under the APIs (send
> and onmessage) before sending and after receiving UTF-8 PPID data.
> > Without such conversion webrtc interworking between browsers and native
> clients will be problematic (basically, will not work).
> >
> > Another option, which is more flexible, is to define PPIDs for different
> encodings like "UTF-8", "UTF-16" (or even "base64" for binary to text
> instead of using "binary" directly); then pass this encoding information to
> send() and onmessage() calls, which will use these PPIDs. Passing encoding
> information might be implicit (like Javavscript DOMString) in most languages
> by the type of the argument to send. This way it is upto the application to
> deal with the encoding conversions as it see fits.
> >
> > The latter approach is best suitable for interworking between clients of
> similar type (web or native); but it is bit painful (to do conversions) for
> clients of different types.
> >
> > I am wondering what kind of API calls native WebRTC API stacks (e.g.
> Google Chrome's http://www.webrtc.org/webrtc-native-code-package) provide
> for data channel send/onmessage ()? UTF-16 strings? Or UTF-8?
> >
> > -Raju
> >
> > _______________________________________________
> > rtcweb mailing list
> > rtcweb@ietf.org
> > https://www.ietf.org/mailman/listinfo/rtcweb
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb