Re: [rtcweb] New Draft - WebRTC JS Object API Model

Iñaki Baz Castillo <ibc@aliax.net> Mon, 01 July 2013 17:22 UTC

Return-Path: <ibc@aliax.net>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C75B611E81D5 for <rtcweb@ietfa.amsl.com>; Mon, 1 Jul 2013 10:22:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.617
X-Spam-Level:
X-Spam-Status: No, score=-2.617 tagged_above=-999 required=5 tests=[AWL=0.060, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cckAI+pYuo+W for <rtcweb@ietfa.amsl.com>; Mon, 1 Jul 2013 10:22:45 -0700 (PDT)
Received: from mail-qa0-f49.google.com (mail-qa0-f49.google.com [209.85.216.49]) by ietfa.amsl.com (Postfix) with ESMTP id 8F24D11E81B0 for <rtcweb@ietf.org>; Mon, 1 Jul 2013 10:22:45 -0700 (PDT)
Received: by mail-qa0-f49.google.com with SMTP id hu16so2233555qab.1 for <rtcweb@ietf.org>; Mon, 01 Jul 2013 10:22:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding:x-gm-message-state; bh=B/1ySWpRa+m0kH2oh2UXcmM9HGNKhf1pBe7wBZ4v8rA=; b=IQdhkzNCsFK4cBRCCeypAin2833H8paixcXeEFPq2eiNKUtzvulg2Zik4A8erjEoh+ yF33DBZKo8AYtiFbVC7YsCS3QejMZeb70U5UJPhin7DWNxGfcWqt3PwfLX/gLnIAnWl9 JO/cm3JN0gchySU3MIr6gQIjPstt478NGEIl8dciSTPcvKJZuQ2EqukN1fxb64Lfc49V //cBrFbFXtc6Y7E0OiduEgAciHoIi6oKjZCUDXOERe7iAgFZRl4Zt1+NjFp2DT873qlm XOzo+uag87Z//mZ2VQReZ0+4BHZ85Xz2kXQweFk2iBATRP9WGQm2pqoVLOCR3rgSRyYO WbIA==
X-Received: by 10.229.197.71 with SMTP id ej7mr7874232qcb.27.1372699364907; Mon, 01 Jul 2013 10:22:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.49.67.65 with HTTP; Mon, 1 Jul 2013 10:22:24 -0700 (PDT)
In-Reply-To: <CA+9kkMA1PhoJB9qGUnXDUHRJNac5OszM4o5O7-6aCU-ahszMNw@mail.gmail.com>
References: <51CA6FEE.6030702@hookflash.com> <1447FA0C20ED5147A1AA0EF02890A64B1C3093E0@ESESSMB209.ericsson.se> <CALiegfmsahUM6w00thQSCu3CpKse2C3LKSb1LzkwodNgKTOK0g@mail.gmail.com> <1447FA0C20ED5147A1AA0EF02890A64B1C309655@ESESSMB209.ericsson.se> <CALiegfnAN9SJx0nLyegFJoQscG-18Gs4umd-pe7S3y6xREpByQ@mail.gmail.com> <CA+9kkMC5FoxKSz7DuHxN8cEO=0PDpoAGrLshpFmnDe3gco06cw@mail.gmail.com> <CALiegfnpj+nBdhn0g8A7iTdXKZdqvwyffjdLAOuM_qQkhTuKew@mail.gmail.com> <CA+9kkMA1PhoJB9qGUnXDUHRJNac5OszM4o5O7-6aCU-ahszMNw@mail.gmail.com>
From: Iñaki Baz Castillo <ibc@aliax.net>
Date: Mon, 01 Jul 2013 19:22:24 +0200
Message-ID: <CALiegfkei-dS-EHt2vqofft_uhKNz+UuK7R5LX3bgDkh=0ZwqQ@mail.gmail.com>
To: Ted Hardie <ted.ietf@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQne5+voTR/3kBlj49MT3EYXks0m66EyDokrq8TnS5e30lvKIn70y3x3gPK0Qs0jAPx6o0AD
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] New Draft - WebRTC JS Object API Model
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: Mon, 01 Jul 2013 17:22:50 -0000

2013/7/1 Ted Hardie <ted.ietf@gmail.com>:
>> Ted, the media can be *perfectly* sent in-the-wire with any custom
>> format the web developer builts (JSON, XML, plain SDP or whatever).
>
>
> I'm sorry, I think I must misunderstand you.  You are planning to take media
> from a source  and encode it using json, xml, or SDP and send that over the
> wire?  Or you mean the media *signalling* can use json, xml, or SDP and go
> over the wire?

Of course, I mean "the media signaling". But that is not just about
"in-the-wire". Current WebRTC specs mandate that the information unit
exchanged between the JS app and the WebRTC stack must be a SDP blob.

What I mean is:

- The JS app uses the WebRTC API to retrieve a JS Object (or Objects)
with transport and media info.

- The JS app serializes such a information in any custom way defined
by the website developer (this can be a JSON body, XML, SDP! or
whatever).

- The JS app sends the information to the remote peer.

- The JS app of the remote peer decodes the information (since it is a
JS app designed by the same domain/website) and extracts all the
transport/media fields.

- The JS app of the remote peer creates a local PC and makes calls to
API methods of PC for passing those transport/media fields.

- ...and remove O/A mandate.

But honestly, all of this is really well described and exposed in the draft:

http://tools.ietf.org/html/draft-raymond-rtcweb-webrtc-js-obj-api-rationale-00





>> The receiver JS app parses the information (i.e. converts from JSON to
>> an Object), extracts the media/transport fields and pass them to the
>> PeerConnection via API methods.
>>
>>
>> It is really so hard? this is how WWW works (in contrast to how SIP
>> works).
>>
>
> As has been repeatedly mentioned, you have a peer communication here that
> has to be implemented by the browser.  That means the downloaded javascript
> application must tell a browser what transports it needs so that it can
> create the appropriate connections.  If it is using RTP/UDP, it ends up
> needing to tell the browser what enough detail to construct the RTP/UPD
> streams.  What payload format, for example, is needed.  As I said before,
> that means that having no standard format across the API between the JS
> application and the browser has very poor scaling characteristics.  You
> might replace SDP as the interface between them, but not specifying anything
> there doesn't seem to work, at least in my personal opinion.

I invite you to read the draft which describes how your concerns can
be perfectly accomplished without mandating SDP or any other format:

http://tools.ietf.org/html/draft-raymond-rtcweb-webrtc-js-obj-api-rationale-00



Best regards.


--
Iñaki Baz Castillo
<ibc@aliax.net>