Re: [rtcweb] Plan A, respun

Bernard Aboba <bernard_aboba@hotmail.com> Mon, 13 May 2013 16:20 UTC

Return-Path: <bernard_aboba@hotmail.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 52A2021F93FF for <rtcweb@ietfa.amsl.com>; Mon, 13 May 2013 09:20:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.9
X-Spam-Level:
X-Spam-Status: No, score=-101.9 tagged_above=-999 required=5 tests=[AWL=0.697, BAYES_00=-2.599, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
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 hNPdGXyTL6pr for <rtcweb@ietfa.amsl.com>; Mon, 13 May 2013 09:20:19 -0700 (PDT)
Received: from blu0-omc2-s14.blu0.hotmail.com (blu0-omc2-s14.blu0.hotmail.com [65.55.111.89]) by ietfa.amsl.com (Postfix) with ESMTP id 532EE21F940D for <rtcweb@ietf.org>; Mon, 13 May 2013 09:20:19 -0700 (PDT)
Received: from BLU169-W136 ([65.55.111.71]) by blu0-omc2-s14.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 May 2013 09:20:17 -0700
X-EIP: [bQK3HYoS+z0Rer9+hZ6EBfuPeAoeDI8f]
X-Originating-Email: [bernard_aboba@hotmail.com]
Message-ID: <BLU169-W136923A11448EE25CE64E9D93A00@phx.gbl>
Content-Type: multipart/alternative; boundary="_0c3579ea-99c5-468d-8968-6f404ef748f4_"
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: Colin Perkins <csp@csperkins.org>
Date: Mon, 13 May 2013 09:20:16 -0700
Importance: Normal
In-Reply-To: <E34407D9-4BBE-44ED-8BB8-C18E1E02ACB3@csperkins.org>
References: <51894846.3090102@nostrum.com> <518A304A.1030609@alvestrand.no>, <A8F1D4FD-E7A3-4CCD-896E-CBD56ECB12FA@iii.ca>, <E34407D9-4BBE-44ED-8BB8-C18E1E02ACB3@csperkins.org>
MIME-Version: 1.0
X-OriginalArrivalTime: 13 May 2013 16:20:17.0215 (UTC) FILETIME=[C17DC4F0:01CE4FF5]
Cc: "rtcweb@ietf.org" <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: Mon, 13 May 2013 16:20:25 -0000

Colin said: 

The RTP demultiplexing process, as I always understood it, was to look at the SSRC first, and based on that find your SRTP context, jitter buffer, RTCP state, etc., which are all indexed by SSRC. Then, look at the PT to determine what codec to use for the stream (noting that SSRCs can switch between PT values, and multiple SSRCs can use the same PT). Using the PT as the de-mux point for streams doesn't let you find the appropriate RTCP state or SRTP context, since those are indexed by SSRC, and requires you to use unique PT values for each stream, which is a much more limited space than the SSRC space (and, unlike the SSRC space, has no collision resolution built-in). 
[BA]  That is typically how I've seen it done, yes.  
Colin also said: 
I'm confused about what you mean by using a combination of SSRC and PT demux. You can't have two distinct SSRCs using the same PT values in a single RTP session, because you can't distinguish the RTCP packets for the two SSRCs, and we mandated the use of RTCP. 
[BA]  The statement above seems inconsistent with the earlier statement that "multiple SSRCs can use the same PT".  Or did you mean having multiple SSRCs, each using multiple PT values?  
Since the RTCP packets include the SSRC (but not the PT), distinguishing the RTCP packets by SSRC isn't a problem. I have seen multiple SSRCs use the same PT within an RTP session to enable several scenarios.  This includes RTP stream demux (e.g. the objective of "Plan B"), as well as simulcast and layered coding.  In the simulcast/layered coding case there are issues with understanding which RTP streams go together purely at the RTP level (e.g. adding this info to an SDES packet would be helpful), but it doesn't seem to cause problems for de-muxing.