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

Justin Uberti <> Tue, 21 May 2013 22:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 424C41F0D46 for <>; Tue, 21 May 2013 15:39:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -100.268
X-Spam-Status: No, score=-100.268 tagged_above=-999 required=5 tests=[AWL=-0.556, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_14=0.6, NO_RELAYS=-0.001, SARE_HTML_USL_OBFU=1.666, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 6+LANPuIcYrK for <>; Tue, 21 May 2013 15:39:11 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4001:c03::229]) by (Postfix) with ESMTP id 284E31F0D23 for <>; Tue, 21 May 2013 15:39:11 -0700 (PDT)
Received: by with SMTP id u16so3537994iet.0 for <>; Tue, 21 May 2013 15:39:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=FLZ3h5QcxoYOt7ok8Tl0IGCej8oYENGUb9lk/g9VBVQ=; b=g3K6mj64ozVY2F0fJuf2JfnCzqDcRDQien49T1mcyQGrr9nw3iA7n0HoAoxyTH4ogH P7tjtWMXyVSwBsGbi/2pAwv8vaIJgMZFwBWN3VNSe/fgehPJkWpxgYqvwGlsgfanThbv 3RDDOXtEKSsH81n4ak3YZv+d9KOO6gMTNgl/gClGqN5rYKut+/FwlII26vuXxyNav6LF qgcL5UhQSVrKOLDmFVI0s3+ynAkPrybYYeoKR1eHlzQpH6+upnV7R70P3gRB+6ACNgWH 10kbUzVmTTJbQud3I5d381RFw21iMA1xE311m5Xmc/sn3Jp4vr5cdHC81nAQrGyXacWB p8Ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=FLZ3h5QcxoYOt7ok8Tl0IGCej8oYENGUb9lk/g9VBVQ=; b=Dz5Y2sUM7nQlTGsqkIGgf7wPq2Hv7hQ+J5IJ4qmG22slUl0CodW7mX3+1qPJaD/Ygk 8M5IZ6kY0BH6NpeDOFgplD6hnkCJtm8YsaRnscxwtc36BcA2vJfP/MK1/uPk053IJtiV 0knaPZeey3yOB5zRlcCI26L29/ZtV8rl2l2h/wIObARRKpDDoi/tpIpR6uiJDglmblZv UJY0/8WU2qwbT/jO/r6fmUkSe0MFIZNFcIK9cwRjoCZARlXJxw6RP+q1AVlcFGhLCrUR cIQ4Z3vaaIsXoaz8CgtnxVD0K+sjXtHOgEowZ99/+M7cuSTrh/TEHvuXLsumvqn8Myxd 0sxA==
X-Received: by with SMTP id s14mr2203965icm.40.1369175950719; Tue, 21 May 2013 15:39:10 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Tue, 21 May 2013 15:38:50 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <>
From: Justin Uberti <>
Date: Tue, 21 May 2013 15:38:50 -0700
Message-ID: <>
To: Paul Kyzivat <>
Content-Type: multipart/alternative; boundary="14dae9d7c0942d956104dd421e63"
X-Gm-Message-State: ALoCoQlEfG9YseLUSkSIFdwFQozI3rf/0/Sp/ntqYEbwMHPV8A/7iBGLkHyzP9XG4O+MqvIACAr0o1jKE9cN9yXWk/Kw1IF+lYM9rS02RKwnraxEo5yby7GCLcH+8FeBKAWO9nArXRWk1mTBTB01y7TzFU4UMPiekzPInEUgoLSad/KWTgl5kQoE4ThfCqW5C88Bwfo/G3fS
Cc: mmusic <>, 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:39:12 -0000

Lots of discussion here; is this an accurate summary of the discussed

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:

> 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