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

Emil Ivov <emcho@jitsi.org> Tue, 21 May 2013 12:15 UTC

Return-Path: <emil@sip-communicator.org>
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 34B1021F96B6 for <mmusic@ietfa.amsl.com>; Tue, 21 May 2013 05:15:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.239
X-Spam-Level:
X-Spam-Status: No, score=-2.239 tagged_above=-999 required=5 tests=[AWL=-0.240, 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 OgbxUu+HgnR3 for <mmusic@ietfa.amsl.com>; Tue, 21 May 2013 05:15:28 -0700 (PDT)
Received: from mail-bk0-x229.google.com (mail-bk0-x229.google.com [IPv6:2a00:1450:4008:c01::229]) by ietfa.amsl.com (Postfix) with ESMTP id E657021F9631 for <mmusic@ietf.org>; Tue, 21 May 2013 05:15:27 -0700 (PDT)
Received: by mail-bk0-f41.google.com with SMTP id jc10so322611bkc.28 for <mmusic@ietf.org>; Tue, 21 May 2013 05:15:27 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:organization:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=WT6q0TyEVgTAjNu1MpWeMIMekbzEW7fqe4cnKNAbQgA=; b=DY2xwCPLzFlVGgGf1wUr7IRquE0C1+VCekZppH/LOQbX6er3IpcxSBJAid5fdjbY02 opP5VcWAfCrsgNCAT4dzX7gnTfR6Hri4/5xQLenNSYCwNzHBp1+rVAsHOuOxqx1PrgoK v3Kep09U1VxNlWXOs7uooDWQuhAhrLvyxBx4sNamLu25ULJ/6jVtbHg+tIRxxM+MyVMm f6nT+6cdxWmlIj/vwD/Q2K2I/eErIfDL2CnIXRpgtRtTwU3M6smWL5U9fxc0th8pYl4z rcK/neIWf1bJx9iAFAi5BIypDxVi4pYuKg+Ee+hKr9nG9s5QiGL73r8ccbH0kMTcwUKY 8z/g==
X-Received: by 10.204.184.69 with SMTP id cj5mr1053735bkb.60.1369138526820; Tue, 21 May 2013 05:15:26 -0700 (PDT)
Received: from [192.168.1.119] ([88.203.232.9]) by mx.google.com with ESMTPSA id tl1sm606902bkb.7.2013.05.21.05.15.24 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 21 May 2013 05:15:25 -0700 (PDT)
Message-ID: <519B655B.3010005@jitsi.org>
Date: Tue, 21 May 2013 15:15:23 +0300
From: Emil Ivov <emcho@jitsi.org>
Organization: Jitsi
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Christer Holmberg <christer.holmberg@ericsson.com>
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> <7594FB04B1934943A5C02806D1A2204B1C375336@ESESSMB209.ericsson.se>
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B1C375336@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQladSHvfzbC9VHRYQbkARzZw8izIwBkQ6kqUJYnznQc1FgJ1oUFFbwQOh5TneXzY1Wu4n+W
Cc: mmusic <mmusic@ietf.org>, Paul Kyzivat <pkyzivat@alum.mit.edu>
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 12:15:29 -0000

Hey Christer,

On 21.05.13, 14:53, 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?
>>
>> Note that I am not defending such an approach. I'd much prefer that splitting is only allowed when re-offering.
> 
> Well, it could maybe work - but that means that the endpoint using the same port would have to include the m- line in the bundle group in subsequent offers/answers - otherwise you break the rule of not being allowed to use the same port number in an m- line :)

Right. Or now that it at that point it could choose a different port
(but again I am not defending this approach).


>>>>> 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?
> 
> It could. The reason we're talking about the first m= line is because it has been suggested that should represent the "bundle port".

What I meant was the following:

Paul expressed a concern that if we were to insist on using the first
port from the rejected m= line, this could cause problems in cases where
that line was rejected exactly because of that port (or the entire c=
address for that line) did not please the answerer.

I suppose this was an argument for using the remaining topmost
address/port as a bundle address (rather than the one that was rejected).

I guess what I don't understand is: what would be the case where an
offerer created an offer such that the address in the topmost m=line was
problematic for the answerer but the one in the second m= line was
different enough so that it wouldn't be and so that it could
successfully become the new bundle address.

How likely would such a case be?

Emil



> 
> Regards,
> 
> Christer
> 
> 
> 
>>>>> 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.
> 
> Emil
> 
> --
> https://jitsi.org
> 

-- 
https://jitsi.org