Re: [rtcweb] Plan A, respun

Colin Perkins <csp@csperkins.org> Fri, 10 May 2013 20:50 UTC

Return-Path: <csp@csperkins.org>
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 3317421F845D for <rtcweb@ietfa.amsl.com>; Fri, 10 May 2013 13:50:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, 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 6V7lihrAISul for <rtcweb@ietfa.amsl.com>; Fri, 10 May 2013 13:50:46 -0700 (PDT)
Received: from haggis.mythic-beasts.com (haggis.mythic-beasts.com [93.93.131.52]) by ietfa.amsl.com (Postfix) with ESMTP id A4F0921F92EC for <rtcweb@ietf.org>; Fri, 10 May 2013 13:50:45 -0700 (PDT)
Received: from [81.187.2.149] (port=48160 helo=[192.168.0.11]) by haggis.mythic-beasts.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from <csp@csperkins.org>) id 1UauH4-0000Wa-SW; Fri, 10 May 2013 21:50:44 +0100
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="us-ascii"
From: Colin Perkins <csp@csperkins.org>
In-Reply-To: <FB13DC39-D7DD-4832-AD2C-9315D278636B@iii.ca>
Date: Fri, 10 May 2013 21:50:40 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <2C28EDB0-4ED2-447C-BF11-7E852F64660F@csperkins.org>
References: <51894846.3090102@nostrum.com> <518A304A.1030609@alvestrand.no> <D579F433-4E94-4B0D-A281-9BA3C1120C08@csperkins.org> <6C9EAB0E-7E53-4035-9561-2474CD97D50C@iii.ca> <FB4F7998-0228-4859-A330-E3D725B5BCCF@csperkins.org> <FB13DC39-D7DD-4832-AD2C-9315D278636B@iii.ca>
To: Cullen Jennings <fluffy@iii.ca>
X-Mailer: Apple Mail (2.1283)
X-BlackCat-Spam-Score: -28
X-Mythic-Debug: Threshold = On =
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 20:50:51 -0000

On 10 May 2013, at 21:03, Cullen Jennings wrote:
> On May 10, 2013, at 12:59 PM, Colin Perkins <csp@csperkins.org> wrote:
>> On 10 May 2013, at 17:39, Cullen Jennings wrote:
>>> On May 8, 2013, at 4:33 AM, Colin Perkins <csp@csperkins.org> wrote:
>>>> I agree: the PT was never intended to be used as a demultiplexing point for different flows in RT
>>> 
>>> I'm not sure I really agree on this point. Lots of implications use the PT along with the port received on to decide which codec to pass to the RTP packet on to. I think, in practice, the PT has been a very key demux pony for a  long time in RTP. 
>> 
>> 
>> To identify the codec, sure, that's what the PT is designed to do. That's logically separate to identifying the source, which is the role of the SSRC.
> 
> But I am not trying to identify the source, if I wanted to do that I agree CSRC would be one of things to use. I am trying to figure out which codec to pass the incoming packet to. I don't mind using SSRC when they are around but when they are not, PT seems perfectly reasonable to use if uniquely identifiers which codec to pass the packet to. I realize that you prefer the shim approach but when there is not a shim, I'm not seeing the problem with using PT. Adam's draft also allows use of SSRC for folks that want to overlap the PT from different m lines. 

I wasn't thinking about the shim at all; this is independent of that.

> Consider a normal SIP call with only single speaker of G.711 audio with early media where two sources are both sending to the same port and PT on that phone. That's normal. It does not need to figure out the sources to render the audio. Sure the codec probably might want to note that a SSRC changed and retrain the jitter buffer but the phone does not care about who the sources are in this case to play them.

Except that it does care about the source, as you say, to retrain the jitter buffer. Or, if you're using something other than G.711 to reset the codec state when you change source. Or to link to the appropriate FEC or retransmission stream, comfort noise packets, RTCP reports, codec control messages, etc. None of which works properly if you ignore the SSRCs. WebRTC isn't building a dumb SIP phone that only does G.711. The kind of features people are talking about for WebRTC need to use the SSRC as the first demultiplexing point to work properly, then use the payload type to select the codec. 

> In more complicated conferring cases the phone could use SSRC/CSRC info to map to roster information received over some other protocol than SDP to display a name for the active speaker or something. But thats a case where who the sources are matters - this is just about getting the media to the right codec on the right m line. 



-- 
Colin Perkins
http://csperkins.org/