Re: [rtcweb] Plan A, respun

Cullen Jennings <fluffy@iii.ca> Fri, 10 May 2013 18:44 UTC

Return-Path: <fluffy@iii.ca>
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 EA18721F901B for <rtcweb@ietfa.amsl.com>; Fri, 10 May 2013 11:44:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.299
X-Spam-Level:
X-Spam-Status: No, score=-2.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_14=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 pjZxNeSyGUA5 for <rtcweb@ietfa.amsl.com>; Fri, 10 May 2013 11:44:53 -0700 (PDT)
Received: from mxout-07.mxes.net (mxout-07.mxes.net [216.86.168.182]) by ietfa.amsl.com (Postfix) with ESMTP id DE30821F902D for <rtcweb@ietf.org>; Fri, 10 May 2013 11:44:42 -0700 (PDT)
Received: from [192.168.4.101] (unknown [128.107.239.233]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 1350D22E25C; Fri, 10 May 2013 14:44:41 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: Cullen Jennings <fluffy@iii.ca>
In-Reply-To: <518A304A.1030609@alvestrand.no>
Date: Fri, 10 May 2013 10:37:41 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <A8F1D4FD-E7A3-4CCD-896E-CBD56ECB12FA@iii.ca>
References: <51894846.3090102@nostrum.com> <518A304A.1030609@alvestrand.no>
To: Harald Alvestrand <harald@alvestrand.no>
X-Mailer: Apple Mail (2.1503)
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Plan A, respun
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: Fri, 10 May 2013 18:44:58 -0000

On May 8, 2013, at 4:00 AM, Harald Alvestrand <harald@alvestrand.no> wrote:

> The paragraph that worries me most is this one:
> 
> 
>   Offerers conformant to this specification MUST do one of the
>   following:
> 
>   o  Use non-overlapping PT values for each m-line in any given bundle
>      group.
> 
>   o  Provide distinct a=ssrc attributes for each m-line which uses
>      overlapping PT values with any other m-line.  [Technically, this
>      is a general case of the previous point.]
> 
> 
> 
> To put a blunt point on it: Either send less than ~32 streams, or give a=ssrc attributes.

As a slide note, as I imagine you are aware,  it is not 32 but in the roughly 100 range 

> 
> To me, that measn we're mandating one mechanism (PT values) for small numbers of flows, and another mechanism (a=ssrc) for large numbers of flows - such mechanism changes usually have "interesting" properties in what happens at the changeover point.

The problem is that SSRC are not a stable demux point due to collision and early media issues so, for applications that care about theses, they can use PT. For things that need the properties of the larger code space, they can use SSRC or other future extension to RTP.  The code is very simple to deal with demux on both PT and SSRC . If someone wants to later add a RTP header extensions with another tag that can be used for demux, that is fine too. The idea is that the device will use what it currently knows (both PT and SSRC) to do the best demux it can do given the information at hand. This gives us the best of SSRC demux and PT demux and actually allows a combination of the two that scales to much larger numbers than either alone. And it's trivial to implement.

> 
> It would seem to me to be architecturally cleaner to insist that a=ssrc be used always.

There rare two major disadvantages to doing this 

1) The side receiving the media can't tell the other side what SSRC to use in the offer. That means you can not demux until after the answer is received in the best case. This adds latency and cause media clipping. It does not work with early media in some cases. 

It may not matter to the use case you have in mind but it does matter to use cases other have in mind. Note there is no problem for the use case you are interested in just using the SSRC and not caring what happens with the PT. For applications that want to do that, the mechanism in this draft works just fine.  

2) the other problem is that SSRC collide and it takes a long time to get the the updated information about how the collision was resolved and in that time the data may actually go the wrong place.  Just sort of curios if chrome has implemented dealing with collisions yet?

I will note that using PT + SSRC in the way Adam's draft has them actually allows for a theoretical maximum of more like 3 million RTP flows per port. 


> But in that case, I have a very large difficulty seeing the important advantage this has over Plan B.
> 
> 
> 
> On 05/07/2013 08:30 PM, Adam Roach wrote:
>> In order to facilitate discussion between the two SDP format alternatives we're considering, I've put together a document that more clearly spells out the Plan A approach as we originally envisioned it. Note that this is a slightly different approach than Cullen outlined in Orlando. I fear the Orlando approach may have suffered from its attempts to incorporate some elements of Plan B in an attempt to appease proponents of that approach; and, in doing so, lost some of its clean architecture. 
>> 
>> The cleaned up, new-and-improved description of the Plan A approach is available here: 
>> 
>> http://www.ietf.org/id/draft-roach-rtcweb-plan-a-00.txt 
>> 
>> Note that we've omitted discussion of glare reduction from that document, as I believe that mid-session glare can be completely avoided by applications implementing a set of non-normative behaviors. These behaviors are described in the a separate companion document: 
>> 
>> http://www.ietf.org/id/draft-roach-rtcweb-glareless-add-00.txt 
>> 
>> Thanks. 
>> 
>> /a 
>> _______________________________________________ 
>> 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