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

Eric Rescorla <> Tue, 21 May 2013 22:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3716821F90EA for <>; Tue, 21 May 2013 15:46:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -98.298
X-Spam-Status: No, score=-98.298 tagged_above=-999 required=5 tests=[AWL=-1.133, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_14=0.6, RDNS_NONE=0.1, RELAY_IS_203=0.994, SARE_HTML_USL_OBFU=1.666, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id tqi2rxX49PoZ for <>; Tue, 21 May 2013 15:46:44 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:400d:c01::230]) by (Postfix) with ESMTP id DCA2021F90DF for <>; Tue, 21 May 2013 15:46:43 -0700 (PDT)
Received: by with SMTP id o10so708301qcv.35 for <>; Tue, 21 May 2013 15:46:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=rrQrZ113FshSd1uT0KZgo9pRhWe+vCNcLZX/hVpQOpw=; b=bpsTogWHKUsQSmtnx7HKKaszcW7f/qv/TJdipAHLFmmZipTcbLZIC6U5m5JEaKevgW eS4Xne4zglQ146FfqXAYoKQcsuoszL5LCcvSfnu4WK0i3I3wC4EzlIdWU1qQ5UQIpiUl /OPs+FtDPAgIqHdEpTODed52DP6YuBaC+sK+wi2UeQDBR0048/j5o1xAyUOJDmOYPQzW VP0Gj9vgEwpfW4IpXuzSa5DsCEn+m+yac8IuYU4/AcbvHFlEpzbD7TJmeD/pbACw0Jr+ w8Jo4K/Vhf2H9/Ju3XiLhF6iLu2myG83FBJUAtsca9VtOwO5s/hzlLvEjk2ZpkRWEOaW PcdQ==
X-Received: by with SMTP id dn7mr4887723qeb.63.1369176403246; Tue, 21 May 2013 15:46:43 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Tue, 21 May 2013 15:46:03 -0700 (PDT)
X-Originating-IP: []
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
From: Eric Rescorla <>
Date: Tue, 21 May 2013 15:46:03 -0700
Message-ID: <>
To: Justin Uberti <>
Content-Type: multipart/alternative; boundary=047d7b6da4082694a704dd4239a1
X-Gm-Message-State: ALoCoQk30Q38y0pEKqD0cFDTMWnvo1/UPZGgjROvQyGYbNHKJqf3DcGJDickSIIEXC+Sgs3iC0w8
Cc: mmusic <>, Paul Kyzivat <>, Christer Holmberg <>
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 22:46:48 -0000

That sounds good to me.

On Tue, May 21, 2013 at 3:38 PM, Justin Uberti <> wrote:

> Lots of discussion here; is this an accurate summary of the discussed
> behavior?
> 1) BUNDLE offerers must be able to receive on any port (until they get a
> BUNDLE-compatible answer)
>  2) Once the answer is received, bundling is activated, and BUNDLEs use
> the port of the first non-rejected m= line in the offer
> 2a) at this point, the other ports can be discarded
> 3) All m= lines offered in a BUNDLE must be present in the answer, unless
> they are rejected
> 3a) no selective unbundling/BUNDLE splitting is permitted
> On Tue, May 21, 2013 at 10:57 AM, Paul Kyzivat <>wrote;wrote:
>> 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
>> ______________________________**_________________
>> mmusic mailing list
> _______________________________________________
> mmusic mailing list