Re: [MMUSIC] BUNDLE TEXT: De-mux procedures (June 19th)

Paul Kyzivat <pkyzivat@alum.mit.edu> Thu, 20 June 2013 14:55 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 05A7121F99EF for <mmusic@ietfa.amsl.com>; Thu, 20 Jun 2013 07:55:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.033
X-Spam-Level:
X-Spam-Status: No, score=-0.033 tagged_above=-999 required=5 tests=[AWL=-0.196, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, J_CHICKENPOX_14=0.6, RDNS_NONE=0.1]
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 pdGLkmm7KyIR for <mmusic@ietfa.amsl.com>; Thu, 20 Jun 2013 07:55:01 -0700 (PDT)
Received: from qmta10.westchester.pa.mail.comcast.net (qmta10.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:17]) by ietfa.amsl.com (Postfix) with ESMTP id D9E8421F9AAF for <mmusic@ietf.org>; Thu, 20 Jun 2013 07:55:00 -0700 (PDT)
Received: from omta07.westchester.pa.mail.comcast.net ([76.96.62.59]) by qmta10.westchester.pa.mail.comcast.net with comcast id qbfw1l0081GhbT85Aev053; Thu, 20 Jun 2013 14:55:00 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta07.westchester.pa.mail.comcast.net with comcast id qeuz1l00u3ZTu2S3Tev00d; Thu, 20 Jun 2013 14:55:00 +0000
Message-ID: <51C317C4.7020907@alum.mit.edu>
Date: Thu, 20 Jun 2013 10:55:00 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Christer Holmberg <christer.holmberg@ericsson.com>
References: <7594FB04B1934943A5C02806D1A2204B1C3AFDB7@ESESSMB209.ericsson.se>, <51C1A4A3.6070105@alvestrand.no>, <7594FB04B1934943A5C02806D1A2204B1C3AFEA1@ESESSMB209.ericsson.se>, <51C1A89A.9020603@alvestrand.no>, <BLU169-W56DEA51EC84C8180A7DCD5938D0@phx.gbl>, <7594FB04B1934943A5C02806D1A2204B1C3B0B60@ESESSMB209.ericsson.se>, <BLU169-W1288AEADA7A090C209F376C938D0@phx.gbl> <7594FB04B1934943A5C02806D1A2204B1C3B0EF1@ESESSMB209.ericsson.se> <51C1DD3A.8030705@alvestrand.no> <7594FB04B1934943A5C02806D1A2204B1C3B1392@ESESSMB209.ericsson.se> <51C1E5D5.9020009@jitsi.org> <51C207F1.1010102@alum.mit.edu> <7594FB04B1934943A5C02806D1A2204B1C3B1A7F@ESESSMB209.ericsson.se>
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B1C3B1A7F@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1371740100; bh=cB4sjIEwNtMxJ206EzCLWAydRa5c/fZMjYmF5d8QFGw=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=CX5s6/ykujpDPmJ1C8Sdl0yULIIj34H3wqVHOkyh+DCzjAEed6hgbR3FKlDdUOFoo 2VEpK2Em2rdRvt4KS/NmzV0AD6tt4XPA7eAvIdWKqbLuxiS95SSYYr3M2vkbmAskj4 iulAXk74A4kJdPfZzhVse9zGZixwTlGsT9lsRcCgLewefTEUwxfW+afPSI9adbCQP8 2N0iv84MW1ZAV2k6HeZL2ZxiRCIgYhi1jATvUxP54uo3Z2vLXx0T1vAkpOsMu4v21L d6iU9aOhdEiuRowjLNLjfRB8KO3yLFTxCW6z+DElaZUB810I448vzrEzW8IW6ZR2Fb XcscyjbdTu/Yw==
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] BUNDLE TEXT: De-mux procedures (June 19th)
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Jun 2013 14:55:07 -0000

On 6/20/13 1:11 AM, Christer Holmberg wrote:
> Hi,
>
>>> *IF* you have a way to find the right m= line, couldn't PT X have
>>> different codec configurations in different m= lines?
>>
>> Yes, I think so.
>
> RTP seems to forbid it, though.

I just commented on that in a separate reply.
I can't find clear text about that.
But if that is the consensus interpretation, then I'm fine with that as 
long as then the bundle spec clearly specifies the implications of that 
on bundle usage.

>>> Let's assume that it could ... but then how would you know that your
>>> peer also supports the same demuxing technique as yourself?
>>
>> Muxing/demuxing (in the sense of associating to a particular m-line) MUST be consistent on both ends. (The sender knows which m-line he associates a packet with, and expects that the receiver will make the same association.)
>>
>> There must be enough signaling to get the two sides in sync about this.
>
> When it comes to PT values, each endpoint decides which PT values it wants to other endpoint to send.
>
> So, even if Alice uses the same PT value in multiple "m=" lines, and have some way to find the "m=" line when media is received, Bob can still assign unique PT values in each "m=" line.
>
> I don't think there is a requirement to have symmetric PT values in both directions, eventhough I know implementations often do that.

Yeah, you are right about that. But I don't think it changes the essence 
of what I am saying, at least for PT, since there is no question that 
both sides support the notion of PT.

Specifically, the answerer can look at the offer, and the answer it is 
planning to send, and it can determine if:
- the offerer will be able to associate any packet that might be sent
   to a specific m-line by use of PT alone.
- the answerer will be able to associate any packet it might receive
   to a specific m-line by use of PT alone.

And if it can't, and nothing else has been negotiated to assist in the 
association, then the answer is invalid. So then it will have to revise 
the answer before sending it.

>>> In SIP for example, when constructing a first offer, you may want to
>>> map both Opus and VP8 to 96, then add SSRCs for demuxing. This means
>>> that you expect your peer to support SSRC demuxing and you can't
>>> expect that unless we mandate it.
>>
>> In this case there will be two m-lines, one audio and one video, each using PT 96. And the offer specifies a specific ssrc for each m-line.
>>
>> If the answerer does't understand or support muxing by ssrc it will then note that if it accepted both m-lines it would not be able to associate packets with m-lines. So it then has two choices in constructing its answer:
>>
>> - reject the bundle, but accept both m-lines
>> - accept the bundle, but reject one of the m-lines.
>
> Again, my understanding is that the Offerer indicates which PT values it wants to RECEIVE. So, it it assigns the same PT value to both audio and video, it will receive the same PT value in the media packets.
>
> But, the Answerer can indicate different PT values for audio and video in the SDP Answer, and it will receive different PT values in the media packets.

I think I covered all the PT issues above.

But it may be a little harder than I suggest above to figure out if 
things are ok using ssrc, since a=ssrc only applies to what will be sent.

It works ok for the answerer deciding if he will be able to associate 
received packets to m-lines.

But for the answerer to decide if the offerer will be able to associate 
the packets it receives to m-lines, the answerer will need to know if 
the offerer supports using the ssrc to associate packets to m-lines.

The simplest thing I can suggest for that is that if the offer requires 
using ssrc for demux, then perhaps one can assume that the offerer is 
also prepared to use ssrc to demux on its end. Most of the time that 
would be a no-brainer.

	Thanks,
	Paul