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

"Mo Zanaty (mzanaty)" <> Tue, 19 March 2013 15:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 98BDF21F85F3; Tue, 19 Mar 2013 08:28:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.398
X-Spam-Status: No, score=-8.398 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_BACKHAIR_55=1, 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 PprtoPGguo+d; Tue, 19 Mar 2013 08:28:49 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9216521F85E8; Tue, 19 Mar 2013 08:28:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=13580; q=dns/txt; s=iport; t=1363706929; x=1364916529; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=/tAWSd1xq53W164+bB0eaN/Fo+6u3Gn2tdf4SaBe/LM=; b=UraQMHQ1Nk8XMV773BY/PTjyDIq8IV52I4q0Q+Rx8zGjLVx6HR7N6cfK WmLlotUSoM/m8E/VB5NL7iznRWeZNwEK1ogclNRrkQBG88qvxGNbHTsr+ u99itRd57Uwwuyvnp1NgKzKo1p31vIwNQ6AnLAMxGXau79LE9YNhpF1qe w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos; i="4.84,872,1355097600"; d="scan'208,217"; a="189152687"
Received: from ([]) by with ESMTP; 19 Mar 2013 15:28:49 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id r2JFSmSZ001237 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 19 Mar 2013 15:28:48 GMT
Received: from ([]) by ([]) with mapi id 14.02.0318.004; Tue, 19 Mar 2013 10:28:48 -0500
From: "Mo Zanaty (mzanaty)" <>
To: Harald Alvestrand <>
Thread-Topic: [MMUSIC] Is bundle just a port override?
Thread-Index: Ac4kHg5Y6RAUfNpKQfaYxrqiVMYCTQAjG6gAAAGCK8A=
Date: Tue, 19 Mar 2013 15:28:48 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_3879D71E758A7E4AA99A35DD8D41D3D90F694591xmbrcdx14ciscoc_"
MIME-Version: 1.0
Cc: "" <>, "" <>
Subject: Re: [rtcweb] [MMUSIC] Is bundle just a port override?
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 19 Mar 2013 15:28:52 -0000

I understand the RTP session rules, but they are a matter for AVTCORE, and several drafts already detail the RTP considerations for multiplexing streams, of potentially different media types, over the same port (using plain RTP not SHIM). Bundle does not need to solve that (solved) problem, it just needs to signal which port(s) to use. If we feel we should signal some sort of human-level warning about RTP mux rules when signaling ports, the attribute can be named a=rtp-mux:<port> instead of a=port <port>.

I don't see how any grouping semantics help with any of the rules. Actually, I think grouping semantics hurt, not just due to complexity, but also due to ambiguity about which attributes are inherited or overridden from other m-blocks. Keeping all the m-block attributes independent seems simpler and clearer. If an attribute needs to be consistent across m-blocks, repeating it seems simpler and clearer than inheritance/override rules across m-blocks. (Of course, if all m-blocks need the same attribute, it can be defined at session level instead of repeating in all media levels.)

In my simple (perhaps too simple) mind, all we're trying to do in bundle is temporarily lie on the m-line port to avoid confusing peers/intermediaries. In the process, I think we have confused ourselves about what is truly needed to accomplish this deception. Or maybe I'm the only one confused...


From: Harald Alvestrand []
Sent: Tuesday, March 19, 2013 5:03 AM
To: Mo Zanaty (mzanaty)
Subject: Re: [MMUSIC] Is bundle just a port override?

On 03/19/2013 05:19 AM, Mo Zanaty (mzanaty) wrote:
Does bundle imply anything beyond a simple port override of the m-line port? If not, then why not just directly signal the port override in an attribute without any grouping semantics?

No, it's not just a port override.

BUNDLE shoves things into the same RTP session, which means that one has to obey the rules for being in the same RTP session:
- Security done consistently
- RTCP-mux done consistently
- No SSRC collision
- No payload type collision
So it's a good deal more than just a port override.

Magnus argued in favour of a solution that inserted a multiplex layer, so that one could use the same ports but still have stuff in different RTP sessions, but that did not appeal to many.

Offer to mux audio and video on the same port:
m=audio 10000 RTP/AVP 0
m=video 10002 RTP/AVP 31
a=port 10000
i=I really want 10000, but lied on the m-line for fear of confusing you. Confused yet?

Answer supports the port override attribute and agrees to mux audio and video:
m=audio 40000 RTP/AVP 0
m=video 40000 RTP/AVP 31
a=port 40000 audio and video ports are 10000<->40000.

Answer supports the port override attribute but doesn't want to demux on his end:
m=audio 40000 RTP/AVP 0
m=video 40002 RTP/AVP 31
a=port 40002 audio ports are 10000<->40000 and video ports are 10000<->40002.

Answer doesn't support the port override attribute, or doesn't want either end to mux:
m=audio 40000 RTP/AVP 0
m=video 40002 RTP/AVP 31 audio ports are 10000<->40000 and video ports are 10002<->40002.

Either end can re-offer without lies about ports on the m-line after confirming the peer is not confused by muxing, if they want to avoid confusing intermediaries.

Has this approach been tried yet? Dismissed?



mmusic mailing list<>