Re: [rtcweb] Requesting "SDP or not SDP" debate to be re-opened

Robin Raymond <robin@hookflash.com> Wed, 19 June 2013 13:58 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 D69BF21F9BCC for <rtcweb@ietfa.amsl.com>; Wed, 19 Jun 2013 06:58:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[AWL=0.696, 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 OJ39S2gLrugg for <rtcweb@ietfa.amsl.com>; Wed, 19 Jun 2013 06:58:37 -0700 (PDT)
Received: from mail-ie0-x22c.google.com (mail-ie0-x22c.google.com [IPv6:2607:f8b0:4001:c03::22c]) by ietfa.amsl.com (Postfix) with ESMTP id 37CD021F9C0B for <rtcweb@ietf.org>; Wed, 19 Jun 2013 06:58:37 -0700 (PDT)
Received: by mail-ie0-f172.google.com with SMTP id 16so13563642iea.31 for <rtcweb@ietf.org>; Wed, 19 Jun 2013 06:58:36 -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=zy0AeMWQq5rke8oEd5iyCVXWltJ0y5yqbEY66Np9lUY=; b=o0WTTJaYjShCfroyqUlLAOxawjV+NghIQhkH6miA5l7k2639yT+PMQYfxzhydReRF0 YYeoZjkLrDAweesXksGF8XtTs5btT2J1jHyiG0EDpieiwNQFaFNRckcVg8e83Z27nv2J In8HXNDJtDJ0rM4rZ1gWd3sfczOOZkLy2XRFWNpQD7ewLMCOidvLZLbair2MLdcwsniG 0iwqvsxwoUz4Fm2QLO+q1t8hVIzNSkayXRHhXvPrwFFVvY8NqSMqnTZMl6f/fyd6gCFz Z83eKz9DUliRML8ERa0PocIpnpW41o5IAmNGGHjTJYFqL2P5D5BkN2oW/uoNJ6truPH1 l0OQ==
X-Received: by 10.50.26.40 with SMTP id i8mr10318913igg.20.1371650316637; Wed, 19 Jun 2013 06:58:36 -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 vc13sm6276916igb.1.2013.06.19.06.58.34 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 19 Jun 2013 06:58:35 -0700 (PDT)
Message-ID: <51C1B907.8060508@hookflash.com>
Date: Wed, 19 Jun 2013 09:58:31 -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: <CALiegfkajJPxWZTzjYssP91VW+StStLpxoxGCkjOLKDMUWc0rA@mail.gmail.com> <CA+9kkMDk2L3SBPC08WU_5RcL16-Wzv8Mocj3-Qzmxz2E24ERGg@mail.gmail.com> <51C0C1A0.9010107@nostrum.com> <CAJrXDUGqSvsosZJhcRR-kCwEX1g_wvPnSZPmmcNwggk+Z9WNCA@mail.gmail.com> <CABkgnnWfV=5xBaRqAddqUURThs9J4T4+0HK4Ux07VA51r5oC3Q@mail.gmail.com> <CAJrXDUFNGKvWHw-yqeApEdTeuqMNPTDxvdKZ2DuzANmcR2y2CQ@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1C3AE500@ESESSMB209.ericsson.se> <CAJrXDUHCkQSLab2UuY_vWP3Gr8uh+++c9mDq5f4sCpuaK5aeLQ@mail.gmail.com>
In-Reply-To: <CAJrXDUHCkQSLab2UuY_vWP3Gr8uh+++c9mDq5f4sCpuaK5aeLQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------020804050002070508040504"
X-Gm-Message-State: ALoCoQmWMtKwSAsRdSL3nMUw1A/fZSnvKd9G4fGiK0QfY+1I4Kt9F4kn+y5dksijoPEk7Dyf30rt
Cc: "rtcweb_ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Requesting "SDP or not SDP" debate to be re-opened
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: Wed, 19 Jun 2013 13:58:38 -0000

The trouble is not that we can choose to send whatever we want over the 
wire. I know we can. If the WebRTC API is left with SDP as it stands, 
I'll dissect the SDP from the browser, reinterpret and reconstruct on 
the SDP on the remote side. That is NOT the issue.

The summary of what I want/believe:
1) I want as close to raw access to RTP/ICE streams, media, sources, 
outputs, codecs as viable. Obviously doing the actual transmission, 
encoding/decoding from JS is not feasible (yet), nor is secure [ICE must 
occur for mutual agreement to exchange data between peers], but having 
controls for how these components are wired together is extremely 
feasible from JS and would allow immensely powerful apps to be produced 
from JS.
2) I don't want my primary interface to control media/RTP engines to be 
via obtaining or providing SDPs to the browser (or any alternative 
serialized format); especially given that SDP requires a round trip 
offer/answer to the remote party to affect change (e.g. it's entirely 
possible to do that stateless and one-sided). The SPD interface API is a 
monolithic do-everything serialized format to control an engine but 
extremely badly/poorly/short sighted (regardless if it is SDP or 
whatever instead), and it's wholly unneeded.
3) I don't want a replacement for SDP with another more "pretty" format 
like JSON.
4) I want no specified requirement from the browser to have any 
particular form of media negotiation API requirement what-so-ever 
(regardless if I can opt to substitute with my own format on the wire or 
not)
5) Using SDP with offer/answer build into the browser binary is a 
horribly BAD technical choice (even for SIP folks) and must be stopped, 
see: http://www.ietf.org/mail-archive/web/rtcweb/current/msg07873.html

I too want to understand the rational for keeping something as bad as 
SDP with offer/answer as the primary mechanism for controlling the media 
components and interaction to those component and more importantly, I'd 
too would like to open debate to agreeing or not to provide a lower 
layer API rather than a media negotiation API as a complete substitute 
alternative to SDP with offer/answer.

If we can agree that it's far superior to have a lower level media/RTC 
component API rather than a media negotiation API, then we can propose 
what that API could look like (and there are people who have already 
have starting proposals). I'd throw my hat in the ring to propose such 
and API if necessary as I've written such engines from scratch before. 
But I don't want to waste time proposing ore reviewing such an API which 
will be summarily dismissed because people are so stuck on requiring a 
media negotiation API built into the browser binary, and specifically 
SDP with offer/answer in this case.

Anyone who argues that they need/want that simple SDP media negotiation 
API must understand that a lower level API would allow a wrapper API to 
produce the same WebRTC API the have today but be built entirely from 
JavaScript upon a lower level API. Thus they can have their "just 
add-milk" baking API. But those of us who need control of the raw 
ingredients beyond the "just add milk" can still innovate.

-Robin


> Peter Thatcher <mailto:pthatcher@google.com>
> 19 June, 2013 2:49 AM
> Correct my if I'm wrong, but the API already leaves what goes over the 
> wire completely up to the JS app.  So we couldn't re-open a debate of 
> "SDP or not SDP" for the wire format, because there's nothing to 
> debate.  We already decided it would be left to the JS to decide.  The 
> only thing left to debate is the API.
>
> Or am I wrong?
>
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
> Christer Holmberg <mailto:christer.holmberg@ericsson.com>
> 19 June, 2013 2:34 AM
> Hi,
> We need to be very clear what we talk about, or some people are always 
> going to be confused :)
> So, AFAIK, the discussion is about SDP O/A usage in the API, only in 
> the API, and nowhere but the API.
> Whatever people us on the wire is outside the scope.
> Right?
> Regards,
> Christer
>
>
> Sent from */Windows/* using *TouchDown* (www.nitrodesk.com)
>
> -----Original Message-----
> *From:* Peter Thatcher [pthatcher@google.com]
> *To:* Martin Thomson [martin.thomson@gmail.com]
> *CC:* rtcweb@ietf.org [rtcweb@ietf.org]
> *Subject:* Re: [rtcweb] Requesting "SDP or not SDP" debate to be 
> re-opened
> Martin, you're right; that was overly harsh of me.  Adam, I apologize. 
>  I'll be civil in the future.
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
> Peter Thatcher <mailto:pthatcher@google.com>
> 19 June, 2013 1:36 AM
> Martin, you're right; that was overly harsh of me.  Adam, I apologize. 
>  I'll be civil in the future.
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
> Martin Thomson <mailto:martin.thomson@gmail.com>
> 18 June, 2013 6:25 PM
> I agree with Peter, except for this bit:
>
> Adam is much harder to confuse than you think, or than he professes.
>
> Speaking of burning it all down and starting over. If you want a
> house-related analogy, that's not quite correct. It's refusing to
> build an extension because the old house, while legally fit for
> habitation, is falling down around your ears. Since you only need
> foundations, it's not that big a job (though I'll grant you that it's
> bigger than many people realize, even with that smaller scope).
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
> Peter Thatcher <mailto:pthatcher@google.com>
> 18 June, 2013 6:16 PM
> Adam, I think you're confused.  As Ted pointed out, there are two 
> different uses of SDP: 1.  as a control surface, 2. as a message 
> format for signalling.  SDPNG was trying to replace SDP for #2.  While 
> I believe this thread was started entirely focused on #1.  So you're 
> talking about different things.
>
> So far the only time spent on trying to replace or avoid SDP for #1 
> has been "comment 22", and to a lesser extent the proposal I just made 
> for adding 2 methods to PeerConnection (createLocalStream and 
> createRemoteStream).   I think it's incorrect to conclude that we 
> should never try to improve #1 just because other in the past failed 
> to replace #2.  They're very different.
>
> I also don't think we should burn down WebRTC and start over, but 
> despite what some seem to think, we don't have to choose between "burn 
> it down" and "never improve it".  There are many options other than 
> the two extremes.
>
>
>
> By the way, a gentle reminder: SDP is not the only way to do #2.  I 
> work on a rather large system almost entirely build around Jingle, 
> without a hint of SDP, and it works just fine.  Much better than SDP 
> would have, I think.  Just because SDPNG didn't work out doesn't mean 
> there will never be any way other to do signalling than SDP.
>
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb