Re: [MMUSIC] Bundle offer with different ports - where to expect media?

Paul Kyzivat <pkyzivat@alum.mit.edu> Tue, 21 May 2013 17:58 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 8AC2421F977A for <mmusic@ietfa.amsl.com>; Tue, 21 May 2013 10:58:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.018
X-Spam-Level:
X-Spam-Status: No, score=-0.018 tagged_above=-999 required=5 tests=[AWL=-0.181, 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 tecMszJKOFxS for <mmusic@ietfa.amsl.com>; Tue, 21 May 2013 10:57:56 -0700 (PDT)
Received: from qmta02.westchester.pa.mail.comcast.net (qmta02.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:24]) by ietfa.amsl.com (Postfix) with ESMTP id D99FE21F963A for <mmusic@ietf.org>; Tue, 21 May 2013 10:57:45 -0700 (PDT)
Received: from omta10.westchester.pa.mail.comcast.net ([76.96.62.28]) by qmta02.westchester.pa.mail.comcast.net with comcast id eanb1l0050cZkys51hxlqJ; Tue, 21 May 2013 17:57:45 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta10.westchester.pa.mail.comcast.net with comcast id ehxk1l0103ZTu2S3WhxkK6; Tue, 21 May 2013 17:57:45 +0000
Message-ID: <519BB598.1030909@alum.mit.edu>
Date: Tue, 21 May 2013 13:57:44 -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: Emil Ivov <emcho@jitsi.org>
References: <7594FB04B1934943A5C02806D1A2204B1C374357@ESESSMB209.ericsson.se> <519A1336.9010001@jitsi.org> <9F33F40F6F2CD847824537F3C4E37DDF1159D127@MCHP04MSX.global-ad.net> <519A229D.7090204@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1C374463@ESESSMB209.ericsson.se> <519A2768.5010904@alum.mit.edu> <CAPvvaa+A=LkYp9A+wENAABwCYaQcD0HVeX4o+O_16iJRPXZfNw@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1C3744DC@ESESSMB209.ericsson.se> <CAPvvaaJsPNk1DAJXYoc8aUgZ0ZayV_8q84W=Mm7vwuRRGuwC-g@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1C374572@ESESSMB209.ericsson.se> <519A3883.8060006@jitsi.org> <519A3C8F.3040309@alum.mit.edu> <519B343A.30704@jitsi.org>
In-Reply-To: <519B343A.30704@jitsi.org>
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=1369159065; bh=7r/wX/L2vYOGXgHEoUmJenWMkPM1HPnS1T/Y/Sk6k3w=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=Y12fbQSVQfIYYznHMQ04bJFQRChOOS+fSQb10Js2pVdYKLt3fP2m9A1dWWr3ULtui RP2+FdM8Znn8tLui7hAuEcBt9ABcm2wetW8/qQNC7PdPnvLSxMN+WxjjDySN9LQq5c 72AsxgC8dgpvxZRMixAi/OQ+i796vhdAg6PCEiLuiGTY0m49xwM5LWdNonV8asjOXn 8s4fQ0yZKK8iIBMmyZVdKeIIwJUFKRx1EoSG8Fy43Lb9A/4Bly8UWXBboG5r5qwtKY 4uFnU7G6aZEN7alpbkPULRScPtbz33t/LnxjXBPOCEiZ2j9XDFSB1ChUaSiFKtniyD jFDeInZ4Sn8dQ==
Cc: mmusic <mmusic@ietf.org>, Christer Holmberg <christer.holmberg@ericsson.com>
Subject: Re: [MMUSIC] Bundle offer with different ports - where to expect media?
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: Tue, 21 May 2013 17:58:05 -0000

On 5/21/13 4:45 AM, Emil Ivov wrote:
> Hey Paul,
>
> On 20.05.13, 18:09, Paul Kyzivat wrote:
>> On 5/20/13 10:51 AM, Emil Ivov wrote:
>>> Hey Christer,
>>>
>>> On 20.05.13, 17:16, Christer Holmberg wrote:
>>>> Hi,
>>>>
>>>>>>> What happens when the offerer knows the answerer has bundle
>>>>>>> support, sends all m-lines with the same port, then the
>>>>>>> answerer splits the first line away from the bundle? Would the
>>>>>>> answerer still send everything to the same port?
>>>>>>
>>>>>> We discussed this week,
>>>>>>
>>>>> Yes, sorry, I didn't follow this closely.
>>>>>
>>>>>> and the outcome (at least my read of it :) was that the answerer
>>>>>> is not allowed to split any m- lines away from the bundle in this
>>>>>> case. Instead the answerer will have to send a new offer for the
>>>>>> split, allowing new ports to be negotiated at both ends.
>>>>>
>>>>> OK, so shouldn't the same thing happen in the case with different
>>>>> ports?
>>>>
>>>> I suggested that it should never be allowed to split an m- line from
>>>> a bundle group in an answer, but others had other opinions.
>>>
>>> I don't see how we could allow it in one case and disallow it in the
>>> other. The only difference between the two cases is how informed the
>>> offerer is about the answerers bundle support capabilities and I don't
>>> really understand why this would influence the decision to allow
>>> splitting bundles one way or the other.
>>
>> It is a different case because the same port *can't* both be used as the
>> bundle port and a port for an unbundled m-line.
>
> Why not? Obviously the offerer was prepared to demultiplex traffic
> there. Why wouldn't it be able to continue doing so even if the answerer
> would prefer to receive it separately?

The point of wanting the one line unbundled is so that it can be 
*received* on a different address/port. Perhaps there is a separate 
device or process that will be supporting that one, that must be reached 
at its own addr/port.

Unless you expect that this would have a common addr/port on the 
offering side and different addr/ports on the answering side. But we 
investigated that approach early in the bundle discussions, and gave it up.

> Note that I am not defending such an approach. I'd much prefer that
> splitting is only allowed when re-offering.
>
>>>> HOWEVER, it would still not help in the case where the 1st m- line is
>>>> rejected.
>>>
>>> Well, how about looking at it this way: the offerer specifies a bundle
>>> port in the first m=line. This also happens to be the port for the first
>>> media line but the two are different things and just happen to have the
>>> same value for reasons related to syntax and convenience.
>>>
>>> A bundle supporting answerer should understand this. After receiving the
>>> offer that answerer has learned the bundle port number. Rejecting the
>>> first m=line in the answer does not change this.
>>
>> There are many reasons that an answerer may reject an m-line.
>> It is *possible* that it is rejecting it because it has a problem with
>> the address (c=) for the m-line in the offer. If so, then if you insist
>> on using it as the bundle address, even if the m-line is refused, then
>> there is no way for the answerer to refuse it.
>>
>> (*Why* it would have a problem is an open question. Maybe its IPv6 and
>> the answerer can't use it, or maybe its an FQDN and it can't be
>> resolved. I realize this is unlikely. But making the assumption that the
>> address must be acceptable to the answerer is IMO not a good idea.)
>
> Aha! That's a good point.
>
> Still, the thing that I don't quite understand is: if the answerer has a
> problem with the c= line, how could that problem only apply to the first
> m= line and not to the entire bundle?

Presumably this would only happen if the c= for were not all the same in 
the offer. Certainly that is possible. When allocating "ports" for each 
m-line one might also end up with different addresses.

>>> Of course the answer would come with the first m=line having a 0 port
>>> but the offerer would then just learn the bundle port number at the
>>> first m=line with a non-zero port.
>>
>> I presume you must have a motivation for wanting to go this way.
>> Are you thinking this will simplify the implementation?
>
> No. The implementation is going to be slightly more complicated indeed
> because instead of having one bundle demuxing socket and two regular
> ones (well ... if rtcp demuxing counts as regular) you would have three
> of them. I don't think this would be particularly horrifying in terms of
> complexity though.
>
> Still, I think being consistent about the ports where one could get
> multiplexed data is a good thing, and it could help (humans) when
> analysing traffic and debugging network issues.

Consistency is good. But isn't it just as consistent to say that the 
first *accepted* m-line defines the bundle addr/port as it is to say 
that the first offered m-line?

	Thanks,
	Paul