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

Christer Holmberg <> Tue, 21 May 2013 11:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6774021F96B6 for <>; Tue, 21 May 2013 04:53:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.842
X-Spam-Status: No, score=-5.842 tagged_above=-999 required=5 tests=[AWL=-0.193, BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_14=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jiJ4kkAEcMwR for <>; Tue, 21 May 2013 04:53:13 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 78FEA21F966B for <>; Tue, 21 May 2013 04:53:12 -0700 (PDT)
X-AuditID: c1b4fb30-b7f8a6d000001a2d-1b-519b6026ce9b
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 9A.EF.06701.6206B915; Tue, 21 May 2013 13:53:10 +0200 (CEST)
Received: from ([]) by ([]) with mapi id 14.02.0328.009; Tue, 21 May 2013 13:53:10 +0200
From: Christer Holmberg <>
To: Emil Ivov <>, Paul Kyzivat <>
Thread-Topic: [MMUSIC] Bundle offer with different ports - where to expect media?
Date: Tue, 21 May 2013 11:53:09 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsUyM+Jvra5awuxAg9VnjCzW7JzAYjF1+WMW ixUbDrA6MHv8ff+ByWPJkp9MHv/fBAYwR3HZpKTmZJalFunbJXBlbDrjWtCsUtH4cwVbA+M1 mS5GTg4JAROJ16dvM0LYYhIX7q1n62Lk4hASOMwo8XX2NShnCaPEq75tQA4HB5uAhUT3P22Q BhEBV4nHN16xgdjMAjISM842MoHYwgJBEltXL2GGqAmW6H/zgBHC9pPYc/YPM8gYFgFViZ4e CxCTV8BXYs2yYIhNK1gltn1+zAJSzimgLrF+9V6wVkag276fWsMEsUpc4taT+UwQNwtILNlz nhnCFpV4+fgfK8hMCQFFieX9chDlOhILdn+CulJbYtnC12DlvAKCEidnPmGZwCg2C8nUWUha ZiFpmYWkZQEjyypG9tzEzJz0cvNNjMB4Objlt8EOxk33xQ4xSnOwKInz9mlPDRQSSE8sSc1O TS1ILYovKs1JLT7EyMTBKdXA2Hf87SX9m02Or1MmFFUv2Dj7TGrd76t2x3sk/78uVzyra1xn wSQyr+br8e/PHx0Ky/obpqL1er7LtLWT1XuY+jonpN44/cDkq4OR5v7IljNVk2V+/j75+91O oeOHDF93t6y13NfdJO7DmcP8sSEh8+9K5fbZEkLxKkZKnaYv4qZ6n5eN+54uocRSnJFoqMVc VJwIAKDra8dlAgAA
Cc: mmusic <>
Subject: Re: [MMUSIC] Bundle offer with different ports - where to expect media?
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 21 May 2013 11:53:18 -0000


>>>>>>> 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 :)

>>>> 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".



>>>> 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.