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 00:01 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 8E7471AD682 for <rtcweb@ietfa.amsl.com>; Fri, 7 Feb 2014 16:01: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 Dv-gp0YE-7aX for <rtcweb@ietfa.amsl.com>; Fri, 7 Feb 2014 16:01:17 -0800 (PST)
Received: from sesbmg20.ericsson.net (sesbmg20.ericsson.net [193.180.251.56]) by ietfa.amsl.com (Postfix) with ESMTP id BB47E1A04C8 for <rtcweb@ietf.org>; Fri, 7 Feb 2014 16:01:16 -0800 (PST)
X-AuditID: c1b4fb38-b7f418e000001099-6c-52f573cbaa5c
Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg20.ericsson.net (Symantec Mail Security) with SMTP id EF.E0.04249.BC375F25; Sat, 8 Feb 2014 01:01:16 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.99]) by ESESSHC009.ericsson.se ([153.88.183.45]) with mapi id 14.02.0387.000; Sat, 8 Feb 2014 01:01:15 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Martin Thomson <martin.thomson@gmail.com>, "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
Thread-Topic: [rtcweb] PPID, UTF-16 and DOMString (Re: RTCWEB Data Channel: Usage of PPID for protocol multiplexing)
Thread-Index: AQHPI5G4gedSwhADR0Wr7uzX17tRu5qqSHkAgAAc9wCAABUk/w==
Date: Sat, 08 Feb 2014 00:01:14 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D163B26@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> <B304F67A-9EA2-44A0-86DD-9DD0E21CB86F@lurchi.franken.de> <52F4182F.60404@alvestrand.no> <E1FE4C082A89A246A11D7F32A95A17826DFD40C3@US70UWXCHMBA02.zam.alcatel-lucent.com>, <CABkgnnXMYt7teSpxm7chTvQPR8ThKzKQ_bq3Po_FNFv2tdBFGQ@mail.gmail.com>
In-Reply-To: <CABkgnnXMYt7teSpxm7chTvQPR8ThKzKQ_bq3Po_FNFv2tdBFGQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.18]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKLMWRmVeSWpSXmKPExsUyM+Jvje6Z4q9BBgc+MlpcO/OP0aJh4xVW i7X/2tkdmD1an+1l9dg56y67x5IlP5kCmKO4bFJSczLLUov07RK4Mo7cWctWsFKi4tGltWwN jN0iXYycHBICJhLvLnezQNhiEhfurWfrYuTiEBI4wigx681NdghnEaPEs0nLgao4ONgELCS6 /2mDmCICRRKLr7uD9DILqEvcWXyOHcQWFiiVuLNvGhtESZnE/q0GIGERASeJnZfXMoLYLAIq Ej/7jjKD2LwCvhK7F7SCtQoJTGaRmLlcFMTmFAiUOLHwDVg9I9Bp30+tYYJYJS5x68l8JoiT BSSW7DnPDGGLSrx8/I8VwlaU+PhqHyNEvY7Egt2f2CBsbYllC19D7RWUODnzCcsERrFZSMbO QtIyC0nLLCQtCxhZVjFyFKcWJ+WmGxlsYgRGzcEtvy12MF7+a3OIUZqDRUmc9+Nb5yAhgfTE ktTs1NSC1KL4otKc1OJDjEwcnFINjGyvn2bZT8npcGBsX3566ybl1Y8m5eZcKnaK0u889vGy U+LjwAnMLWe+vs7YfDfC+YLGDnkz0Z0/2jpCFv15+eF49JWAv57f67OVVmvtrDtw2mKy3IvF k8/vXsLfE3HsvMGWFTrJc7y8o/JmPOLO/dGW/62Qb/Iio9bX1/58KgubIL/pSblN53wlluKM REMt5qLiRAAfxLAkaAIAAA==
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 00:01:18 -0000

+ 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