Re: [MMUSIC] Is bundle just a port override?

"Mo Zanaty (mzanaty)" <> Thu, 21 March 2013 05:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9E41F21F9002; Wed, 20 Mar 2013 22:59:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.899
X-Spam-Status: No, score=-8.899 tagged_above=-999 required=5 tests=[AWL=0.500, BAYES_00=-2.599, J_CHICKENPOX_14=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 1ZcSK++4a2p1; Wed, 20 Mar 2013 22:59:37 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id F320821F8EF1; Wed, 20 Mar 2013 22:59:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=2460; q=dns/txt; s=iport; t=1363845576; x=1365055176; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=8zG6tcnrlHeJjsPnZtBDIXvNNfDOZRFzohf+/AJ2RtU=; b=RHwYGQ9yoBA0GkojiZjwVGP+yPXM3+xKv0F/DTymPWZW9REuDVxWNr4l tza3yHMu9YcORNMynUsXL/r0Z5Vg1+VJS8pxXWN5S1CosEGCJtmm3Yb1v lFdsZ63xKhEViQFIKLB/e0JqIAFpiAXxx+D8P2wvx2levusmBdVJDRboi U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="4.84,884,1355097600"; d="scan'208";a="189822883"
Received: from ([]) by with ESMTP; 21 Mar 2013 05:59:35 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id r2L5xZ3U015180 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 21 Mar 2013 05:59:35 GMT
Received: from ([]) by ([]) with mapi id 14.02.0318.004; Thu, 21 Mar 2013 00:59:35 -0500
From: "Mo Zanaty (mzanaty)" <>
To: Harald Alvestrand <>
Thread-Topic: [MMUSIC] Is bundle just a port override?
Thread-Index: Ac4kHg5Y6RAUfNpKQfaYxrqiVMYCTQAjG6gAAAGCK8AADz+6gAAJ0yXgAAE+TwAANTO+sA==
Date: Thu, 21 Mar 2013 05:59:35 +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
Cc: "" <>, "" <>
Subject: Re: [MMUSIC] Is bundle just a port override?
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: Thu, 21 Mar 2013 05:59:40 -0000

Hi Harald,

You're right, both are essentially groupings, and all of our wheels have ugly angles. To me, the ugly angles in bundle are unnecessary indirection by grouping with artificial bindings (mid), and that it pretends to be more than it is. To me, it is just a port override, but with unnecessary indirection. Why not just say the port you want to use directly?

m=audio 10000 RTP/AVP 0
m=video 10002 RTP/AVP 31
a=port 10000


a=group:BUNDLE foo bar
m=audio 10000 RTP/AVP 0
m=video 10002 RTP/AVP 31

Why is the direct approach more complex? Why is ICE any different in either approach?


-----Original Message-----
From: Harald Alvestrand [] 
Sent: Tuesday, March 19, 2013 6:20 PM
To: Mo Zanaty (mzanaty)
Cc: Emil Ivov;;
Subject: Re: [MMUSIC] Is bundle just a port override?

On 03/19/2013 07:43 PM, Mo Zanaty (mzanaty) wrote:
> Hi Emil,
> Those drafts use the SDP grouping framework (a=group:BUNDLE/TOGETHER), which I think is unnecessary complexity and ambiguity for something which can be solved in a much simpler and clearer way with a single attribute: a=port <port>. (Or, if we want to warn humans about RTP muxing, then name it a=rtp-mux:<port>, but machines won't care about the name, and their RTP implementations already know how to deal with muxing if they use this attribute, so stronger warnings are unnecessary.)

To me, what you're describing is a grouping (the ports with the same 
a=rtp-mux:port attribute form a single RTP session), so it seems to me 
that using the grouping framework and using matching a=rtp-mux:port 
attribute have exactly the same level of complexity - but in the case of 
a=rtp-mux:port, you lose the ability to use ICE attributes to negotiate 
the actual ports, addresses and network interfaces actually used - so 
the a=rtp-mux:port mechanism will actually turn out to be *more* complex 
than the grouping framework once you've added all the other features you 
need to take advantage of ICE and so on.

So - after I've thought about it for a while - I think calling it a 
"port override" is not just misleading, the implementation you're 
suggesting will be more complex than using the grouping framework.

Why invent square wheels when the pentagonal ones are doing just fine?