Re: [rtcweb] WebRTC JS object API with SDP shim option

Robin Raymond <robin@hookflash.com> Thu, 20 June 2013 17:48 UTC

Return-Path: <robin@hookflash.com>
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 1980621F9EBC for <rtcweb@ietfa.amsl.com>; Thu, 20 Jun 2013 10:48:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.111
X-Spam-Level:
X-Spam-Status: No, score=-2.111 tagged_above=-999 required=5 tests=[AWL=0.487, BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 wxtMHKA4SkAo for <rtcweb@ietfa.amsl.com>; Thu, 20 Jun 2013 10:48:12 -0700 (PDT)
Received: from mail-ie0-x234.google.com (mail-ie0-x234.google.com [IPv6:2607:f8b0:4001:c03::234]) by ietfa.amsl.com (Postfix) with ESMTP id BA4E721F9EB4 for <rtcweb@ietf.org>; Thu, 20 Jun 2013 10:48:12 -0700 (PDT)
Received: by mail-ie0-f180.google.com with SMTP id f4so17389705iea.11 for <rtcweb@ietf.org>; Thu, 20 Jun 2013 10:48:12 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:x-gm-message-state; bh=Ij0zxqifwfOD3M7n2IsH++aMQZ2dBLNbSuAoNAJaMys=; b=knDH5U6nSnaYTISgeNjAmQGOnP9K9rhc1TOjKkJkAA/+9t6lhfx3ktgBkIW6EHGfM0 GlCaWOj621zTGi/i6frB1sV5n7pZRSj+qjtcjs1wLnyYYLYE1rDTOEmOFgwS3xWsytJC kVK6zSfjEgTLcbvKhBGxCVOX0R4baSig8fgBo926gZrNZ5rtN2a3QLKslkWuawCTjfWi 59YFTH3ZifItP5yG8JqhD2NzfJxQM/O59XtvwXzFNSC6Dcq53xMtajdj/AQUHKqlgyTI W0A648/T0DSphHmz449yRWLjz05GOEzYMbAGO3E1F7wI/aJZipQaYBgwmCb3szRT8YBx ORiw==
X-Received: by 10.42.190.74 with SMTP id dh10mr3956947icb.35.1371750492280; Thu, 20 Jun 2013 10:48:12 -0700 (PDT)
Received: from Robins-MacBook-Pro.local (CPE602ad08742f7-CM602ad08742f4.cpe.net.cable.rogers.com. [99.224.116.224]) by mx.google.com with ESMTPSA id nt6sm11889909igb.10.2013.06.20.10.48.10 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 20 Jun 2013 10:48:11 -0700 (PDT)
Message-ID: <51C34058.6070208@hookflash.com>
Date: Thu, 20 Jun 2013 13:48:08 -0400
From: Robin Raymond <robin@hookflash.com>
User-Agent: Postbox 3.0.8 (Macintosh/20130427)
MIME-Version: 1.0
To: Peter Thatcher <pthatcher@google.com>
References: <51C333E1.1030709@hookflash.com> <CAJrXDUEYyW8ATixyVaFhVH9=ri-Zy5RxaAqrJ-Ko8mJSh09L-g@mail.gmail.com>
In-Reply-To: <CAJrXDUEYyW8ATixyVaFhVH9=ri-Zy5RxaAqrJ-Ko8mJSh09L-g@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------000902090204090209040909"
X-Gm-Message-State: ALoCoQmPK8XPuciObJc0BV83ekqVqgQbRI1jcAn6v7An7T64rL/ddl63mmBHnGoePb9abqSNvj1C
Cc: "<rtcweb@ietf.org>" <rtcweb@ietf.org>
Subject: Re: [rtcweb] WebRTC JS object API with SDP shim option
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: Thu, 20 Jun 2013 17:48:14 -0000

Correct, it is a lot of work. And I am greatly concerned that it will be 
ignored despite it potentially being the better option. I truly hope 
that if I do undertake this effort it will be given serious 
consideration. I really do have the industry's future at heart and even 
believe the SIP guys would be much better off if they had it as a 
JavaScript shim instead of backed into the browser binary.

I will test in stages. Meaning, that I will provide unit tests with fake 
media/RTC engines underneath. Once I prove that the wiring works, I'll 
likely test this by taking our Open Peer client (which already works on 
webrtc C++ library's source internally) and interfacing to it from 
JavaScript and controlling it from the shim. With that I'll prove that 
it works by taking the SDP and connecting with real SIP networks and 
establishing calls. That will prove that we can do this entirely from 
JavaScript and interface between two independent signaling engines and 
connect to existing SIP networks at the same time. It's not the browser, 
but it's the same engine.

Despite this, I fear that this work will be ignored no matter what I go 
through to prove it works better for everyone, and I don't want to go 
with learning the entire Chrome or Firefox source code and forking it 
only to be told no even if I make it work. That's why I'm going to do it 
in stages.

-Robin


> Peter Thatcher <mailto:pthatcher@google.com>
> 20 June, 2013 1:23 PM
>
>
>
> On Thu, Jun 20, 2013 at 9:54 AM, Robin Raymond <robin@hookflash.com 
> <mailto:robin@hookflash.com>> wrote:
>
>
>     You are right. It's time for those of us who are begging for an
>     alternative to SDP to come up with an alternative.
>
>     I'm willing to lead such an effort. I just ask others to please
>     have an open mind. I absolutely do understand the need for the SIP
>     world to have an easy API they can use for SDP. But I also know
>     SDP as an primary surface API is making anything beyond a basic
>     calling a requirement to mangle SDP as a mechanism to control and
>     obtain properties from an underlying media/RTC engine.
>
>     I think there is a really good compromise. That is to provide an
>     API that will adhere to the security policies needed (e.g.
>     respects the need to require ICE establishment), but provides a
>     simple shim API similar to what people already have with SDP but
>     not be required to use for those who want to a more direct approach.
>
>     There's no need to "burn" the entire thing to the ground and start
>     over and that is _not_ my desire.
>
>     This WebRTC thing must succeed but I can't imagine the W3C
>     accepting our proposal for mangling SDP as a primary surface API
>     to do common edge case scenarios. WIth an alternative proposal
>     that satisfies both camps, I believe they could accept and we can
>     stop the anit-SDP crowd grumblings once and for all.
>
>     To that end I'm going to write two drafts:
>     draft-raymond-webrtc-js-object-api-rationale-00 (to explain
>     requirements, philosophy, methodology, benefits/pitfalls, use
>     cases that are difficult/impossible with SDP+O/A)
>     draft-raymond-webrtc-js-object-api-00 (to outline the actual API)
>
>     Plus, I'll produce a shim on top of whatever API that will allow
>     the SDP folks to have a simple SDP based API similar to what
>     exists now but is entirely written in JavaScript to prove that
>     this can be done.
>
>
> How are you going to test that shim without a working implementation 
> of the clean API?
>
> One thing you could do is build a shim of clean API -> SDP.  Then, 
> you'd have two shims which would make a fun combination (SDP -> clean 
> API -> SDP) and you're prove that SDP munging and the clean API are 
> equivalent in power.
>
> Or you could fork Chrome or Firefox.
>
> Either way, you have a lot of work ahead of you.  Best of luck.
>
>     I really want a viable solutions for all interested in having a
>     really good proposal API to ultimately become accepted by the W3C.
>
>     If anyone has anything I should add to either of these drafts or
>     wants to be involved, please contact me.
>
>     -Robin
>
>
>     Christer Holmberg <mailto:christer.holmberg@ericsson.com>
>     20 June, 2013 12:55 AM
>     Hi,
>
>
>     At the virtual interim, the Plan A and Plan B folks were asked to
>     sit down and try to come up with a compromise "Plan AB" solution.
>
>     I guess it would be good if people that don't want SDP could try
>     to come up with a compromise "CU No Plan" solution :)
>
>     Regards,
>
>     Christer
>
>
>     _______________________________________________
>     rtcweb mailing list
>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>     https://www.ietf.org/mailman/listinfo/rtcweb
>
>