Re: [rtcweb] No Plan

Jonathan Lennox <jonathan@vidyo.com> Mon, 03 June 2013 22:07 UTC

Return-Path: <jonathan@vidyo.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 AD22B11E814C for <rtcweb@ietfa.amsl.com>; Mon, 3 Jun 2013 15:07:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.399
X-Spam-Level:
X-Spam-Status: No, score=-1.399 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_14=0.6, J_CHICKENPOX_17=0.6]
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 uVslP+dNdMbX for <rtcweb@ietfa.amsl.com>; Mon, 3 Jun 2013 15:07:40 -0700 (PDT)
Received: from mxout.myoutlookonline.com (mxout.myoutlookonline.com [64.95.72.252]) by ietfa.amsl.com (Postfix) with ESMTP id 2477111E80F9 for <rtcweb@ietf.org>; Mon, 3 Jun 2013 15:04:04 -0700 (PDT)
Received: from mxout.myoutlookonline.com (localhost [127.0.0.1]) by mxout.myoutlookonline.com (Postfix) with ESMTP id 3FC0D7A9643; Mon, 3 Jun 2013 18:04:01 -0400 (EDT)
X-Virus-Scanned: by SpamTitan at mail.lan
Received: from HUB025.mail.lan (unknown [10.110.2.1]) by mxout.myoutlookonline.com (Postfix) with ESMTP id 92E847A9726; Mon, 3 Jun 2013 18:03:52 -0400 (EDT)
Received: from BE235.mail.lan ([10.110.32.235]) by HUB025.mail.lan ([10.110.17.25]) with mapi; Mon, 3 Jun 2013 18:01:25 -0400
From: Jonathan Lennox <jonathan@vidyo.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
Date: Mon, 3 Jun 2013 18:03:03 -0400
Thread-Topic: [rtcweb] No Plan
Thread-Index: Ac5gpeQYUrL8sEaDRNOL8AoeTeLkoQ==
Message-ID: <7426877E-42ED-400A-A264-39C692E71308@vidyo.com>
References: <51A65017.4090502@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1C37D144@ESESSMB209.ericsson.se>, <51A9A7E2.7000907@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1C380AA2@ESESSMB209.ericsson.se> <51ACFF31.9090607@alum.mit.edu>
In-Reply-To: <51ACFF31.9090607@alum.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] No Plan
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, 03 Jun 2013 22:07:54 -0000

On Jun 3, 2013, at 4:40 PM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:

> +1
> 
> The more we dig into this the more it looks like Plan B.
> 
> 	Thanks,
> 	Paul

I think No Plan and Plan B are largely isomorphic in a WebRTC context.  The primary difference is that rather than using a=ssrc and a=receive-ssrc (and whatever other Plan B attributes would be needed) to control sources within an m-line, instead direct Javascript APIs are used for the same semantics. It's up to the application to communicate the relevant information end-to-end, in parallel to however it communicates the SDP blob.

As I see it, the primary advantages of No Plan, then, are that:

a) It allows "implicit" signaling of sources -- where that's sufficient -- by just sending RTP traffic.  This prevents problems related to the timing and synchronization between signaling and media.  (Note that Plan B probably actually needs this as well, for legacy interop.)

b) It carves a Comment 22 corner out of the SDP-based APIs, thus decoupling source signaling from SDP offer/answer.  This is for a scenario where there aren't any issues of legacy compatibility, and there isn't any (or at least much) existing IETF standardization -- as best I can recall, legacy compatibility and existing standardization were the primary motivations for using SDP as the WebRTC API.

Other than that, I think the two proposals are pretty similar for WebRTC, and it would probably be a Simple Matter of Programming to translate between the two (though you have to worry about the O/A state on the Plan B side).

In particular, if you have disaggregated media, you need multiple m-lines of the same type.  The No Plan document's suggestion that you offer only one m-line of a given media type is guidance on how to avoid interop failures on initial offers to legacy devices, I think, not an essential aspect of the proposal.


In a SIP context, No Plan requires defining a separate signaling channel for this source information, in scenarios where something beyond implicit signaling is needed.  As Emil has stated, I think that something like the SIP/XCon conference package, or something like the CLUE channel, would be the obvious places to start.

I think SIP, even more than RTCWeb, is where you'd want something lighter-weight and better-designed than SDP offer/answer to signal source changes.

> On 6/1/13 7:05 AM, Christer Holmberg wrote:
>> 
>> Hi,
>> 
>>>> The draft says:
>>>> 
>>>>       "For the sake of interoperability this specification strongly advises
>>>>       against the use of multiple m= lines for a single media type."
>>> 
>>> This should probably be clarified. The above referred mostly to a
>>> browser's expectations and default offers. Multiple m= lines can confuse
>>> a number of existing legacy endpoints which is why they should be
>>> avoided when initiating a session that could reach a similar device (and
>>> by default this should be assumed for any session).
>>> 
>>> If applications *know* that they need to have multiple m= lines of a
>>> given type they can request this the same way they could do it with Plan B:
>>> 
>>>    If the application wishes, it can request that a given
>>>    media source be placed onto a separate m= line, by setting a new
>>>    .content property on the desired MediaStreamTrack; the values for the
>>>    .content property are those defined for the a=content attribute in
>>>    [RFC4796].
>>> 
>>> I'll make sure this is part of the next version.
>>> 
>>> Does this make sense?
>> 
>> I have nothing against a general recommendation to, for a given media type, have as few m- lines as possible.
>> 
>> But, I do think the draft need to point out that it is not always possible, e.g. because:
>> 
>> 1) m- lines have different characteristics (normally indicated using SDP attributes) that does not "fit" all content for the given media type;
>> 2) different protocols are used for different m- lines, even if the media type is the same; or
>> 3) the remote endpoint only supports a single (or, another given number) of sources per m- line.
>> 
>> Etc.
>> 
>> Regards,
>> 
>> Christer
>> 
>> 
>> 
>> 
>> 
>>> My understanding is that the usage of multiple m= lines for a single media type would not affect the mechanism as such, but I just want to verify that :)
>>> 
>>> Also, there ARE "legacy" implementations that use multiple m= lines for a single media type (e.g. video enabled devices using two video m= lines: one for camera content, and one for slides).
>>> 
>>> So, while I definitely think that legacy interoperability shall be taken into consideration, I would not like to make such strong statements. In my opinion (the draft also talks about it), the usage of multiple simultaneous SSRCs per m- line is a much bigger issue when it comes to legacy interoperability.
>>> 
>>> Also, in CLUE we have been working on signaling scenarios with multiple m= lines per media type.
>>> 
>>> 
>>> Regards,
>>> 
>>> Christer
>>> 
>>> 
>>> 
>>> -----Original Message-----
>>> From: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] On Behalf Of Emil Ivov
>>> Sent: 29. toukokuuta 2013 22:00
>>> To: rtcweb@ietf.org
>>> Subject: [rtcweb] No Plan
>>> 
>>> Hey all,
>>> 
>>> Based on many of the discussions that we've had here, as well as many others that we've had offlist, it seemed like a good idea to investigate a negotiation alternative that relies on SDP and Offer/Answer just a little bit less.
>>> 
>>> The following "no plan" draft attempts to present one such approach:
>>> 
>>> http://tools.ietf.org/html/draft-ivov-rtcweb-noplan
>>> 
>>> The draft relies on conventional use of SDP O/A but leaves the intricacies of multi-source scenarios to application-specific signalling, with potentially a little help from RTP.
>>> 
>>> Hopefully, proponents of Plans A and B would find that the interoperability requirements that concerned them can still be met with "no plan". Of course they would have to be addressed by application-specific signalling and/or signalling gateways.
>>> 
>>> Comments are welcome!
>>> 
>>> Cheers,
>>> Emil
>>> 
>>> --
>>> https://jitsi.org
>>> _______________________________________________
>>> rtcweb mailing list
>>> rtcweb@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtcweb
>>> .
>>> 
>> 
>> --
>> https://jitsi.org
>> _______________________________________________
>> 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
> 

--
Jonathan Lennox
jonathan@vidyo.com