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:26 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 63DBD1ADF44 for <rtcweb@ietfa.amsl.com>; Sat, 8 Feb 2014 01:26:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.851
X-Spam-Level:
X-Spam-Status: No, score=-3.851 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-2.3, 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 i2TJcrVzyrLy for <rtcweb@ietfa.amsl.com>; Sat, 8 Feb 2014 01:26:06 -0800 (PST)
Received: from mailgw1.ericsson.se (mailgw1.ericsson.se [193.180.251.45]) by ietfa.amsl.com (Postfix) with ESMTP id 269011A00AE for <rtcweb@ietf.org>; Sat, 8 Feb 2014 01:26:04 -0800 (PST)
X-AuditID: c1b4fb2d-b7f5d8e000002a7b-12-52f5f82c462c
Received: from ESESSHC012.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw1.ericsson.se (Symantec Mail Security) with SMTP id E5.19.10875.C28F5F25; Sat, 8 Feb 2014 10:26:04 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.99]) by ESESSHC012.ericsson.se ([153.88.183.54]) with mapi id 14.02.0387.000; Sat, 8 Feb 2014 10:26:03 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>, "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/4AAA9sAgACGp4CAABNZEA==
Date: Sat, 08 Feb 2014 09:26:03 +0000
Message-ID: <s2ej79huj4akcjl2tbtekvx8.1391851562242@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>, <23A98499-FA93-472A-B762-92BF72EAC2F1@lurchi.franken.de>
In-Reply-To: <23A98499-FA93-472A-B762-92BF72EAC2F1@lurchi.franken.de>
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+NgFrrELMWRmVeSWpSXmKPExsUyM+Jvja7Oj69BBm/O8FlcO/OP0eJi0xJG i4aNV1gt1v5rZ3dg8Wh9tpfVY+esu+weS5b8ZPLY0LKDKYAlissmJTUnsyy1SN8ugStjwpMe toKz6hUNb28yNTDuUehi5OSQEDCRmPZ1CyOELSZx4d56ti5GLg4hgUOMEnNWboJyFjFKzD+8 ibWLkYODTcBCovufNogpIlAl0dqkDtLLLBAi8fDsO2YQW1igVOJe+3NGiJIyif1bDSDMMImX jzNAKlgEVCRmNn9kA7F5Bdwkfndeh1r0jFXiz5Y7rCAJTgFXiTtPn7CA2IxAp30/tYYJYpW4 xK0n85kgThaQWLLnPDOELQo0/x8rRI2OxILdn9ggbG2JZQtfM0MsE5Q4OfMJywRG0VlIRs1C 0jILScssJC0LGFlWMbLnJmbmpJcbbmIExsvBLb91dzCeOidyiFGag0VJnPfDW+cgIYH0xJLU 7NTUgtSi+KLSnNTiQ4xMHJxSDYyujMoV8hPfOzE3HY74lHRgnq3c5h8XQ7QUtF/vbTuXqLL3 DuM689NzNS5P4IgOeZvevOnohCrrj9eSfPykdsXNOHzc7Lrnz/VtBfv7Hk9W+3buTPsUdxsb rcmnbJdePMPAfeG3Y65QevneU6+XWUVd/vdW+d/WVYtnb13wccM3jSaGU/PCZxfVKrEUZyQa ajEXFScCAEHF1LRlAgAA
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:26:09 -0000

Hi,

We could have an informative note somewhere.in the draft, pointing out the format used by JavaScript, if people think it would be useful.

Regards,

Christer


Sent from my Sony Ericsson Xperia arc S

Michael Tuexen <Michael.Tuexen@lurchi.franken.de> wrote:


On Feb 8, 2014, at 2:14 AM, "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.
Anu objections?

If not, I'll put corresponding text into the spec.

Best regards
Michael
>
> 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
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>