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

"Mo Zanaty (mzanaty)" <mzanaty@cisco.com> Thu, 21 March 2013 04:43 UTC

Return-Path: <mzanaty@cisco.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 44A6611E8108; Wed, 20 Mar 2013 21:43:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.399
X-Spam-Level:
X-Spam-Status: No, score=-8.399 tagged_above=-999 required=5 tests=[AWL=0.001, BAYES_00=-2.599, J_BACKHAIR_55=1, J_CHICKENPOX_14=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z9JrJcaT4VSW; Wed, 20 Mar 2013 21:43:29 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) by ietfa.amsl.com (Postfix) with ESMTP id 07A1611E80BA; Wed, 20 Mar 2013 21:43:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3247; q=dns/txt; s=iport; t=1363841009; x=1365050609; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AyICW4RX5JOzl2wntRMXwfu2dxYeeWCRvV2IhpDVSTI=; b=AcIAjnPdeWUWcceqKeK8AZbzF+gbDHjfhgnLBbiipLTdr10xaGGNuBS+ 01f+tM+PGfwtrEUm6OuusbF5rI2Nfx55ExQs5xbGOBaPf5AbkSvUgR8qd 8bv66olbJTHmhZG8jmzbyDpa/Tx72g0HZIuh/Glexa9kedo9bmy/GNflP g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgEFAM6NSlGtJV2a/2dsb2JhbABDxTyBWRZ0giQBAQEDAScTPwUHBAIBCBEEAQELFAkHMhQJCAIEDgUIiAYGwlSOXzEHBoJZYQOnYoMKgig
X-IronPort-AV: E=Sophos;i="4.84,883,1355097600"; d="scan'208";a="189804172"
Received: from rcdn-core-3.cisco.com ([173.37.93.154]) by rcdn-iport-5.cisco.com with ESMTP; 21 Mar 2013 04:43:28 +0000
Received: from xhc-aln-x08.cisco.com (xhc-aln-x08.cisco.com [173.36.12.82]) by rcdn-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id r2L4hSgb021424 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 21 Mar 2013 04:43:28 GMT
Received: from xmb-rcd-x14.cisco.com ([169.254.4.51]) by xhc-aln-x08.cisco.com ([173.36.12.82]) with mapi id 14.02.0318.004; Wed, 20 Mar 2013 23:43:28 -0500
From: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>
To: "Dale R. Worley" <worley@ariadne.com>
Thread-Topic: [rtcweb] [MMUSIC] Is bundle just a port override?
Thread-Index: Ac4kHg5Y6RAUfNpKQfaYxrqiVMYCTQAjG6gAAAGCK8AADz+6gAAJ0yXg//+IxWj///4R0A==
Date: Thu, 21 Mar 2013 04:43:27 +0000
Message-ID: <3879D71E758A7E4AA99A35DD8D41D3D90F6951B8@xmb-rcd-x14.cisco.com>
References: <3879D71E758A7E4AA99A35DD8D41D3D90F6942C3@xmb-rcd-x14.cisco.com> <514829CE.4010004@alvestrand.no> <3879D71E758A7E4AA99A35DD8D41D3D90F694591@xmb-rcd-x14.cisco.com> <51489A43.3030109@jitsi.org> <3879D71E758A7E4AA99A35DD8D41D3D90F69476F@xmb-rcd-x14.cisco.com> <201303191936.r2JJakU4763611@shell01.TheWorld.com>
In-Reply-To: <201303191936.r2JJakU4763611@shell01.TheWorld.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.82.216.176]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [rtcweb] [MMUSIC] Is bundle just a port override?
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Mar 2013 04:43:31 -0000

Hi Dale,

In your draft (and Richard's), I understand your motivation to answer with port 0 (or 9 or IP 0), to plug the nostrils of intermediaries that sniff ports so they don't smell anything fishy. I won't comment on whether they will react better to nostril-plugging than fishy smells, because I don't know, but that is orthogonal to what I'm describing here.

Your bundle alternatives (and Richard's) also work fine with a simple attribute without complex grouping semantics.

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 0 RTP/AVP 31         <-- Dale's variant to answer with port 0
a=port 40000
...so audio and video ports are 10000<->40000.
 
Answer doesn't support the port override attribute, or doesn't want to mux:
m=audio 40000 RTP/AVP 0
m=video 40002 RTP/AVP 31
...so audio ports are 10000<->40000 and video ports are 10002<->40002.

Cheers,
Mo


-----Original Message-----
From: Dale R. Worley [mailto:worley@ariadne.com] 
Sent: Tuesday, March 19, 2013 3:37 PM
To: Mo Zanaty (mzanaty)
Cc: emcho@jitsi.org; rtcweb@ietf.org; mmusic@ietf.org
Subject: Re: [rtcweb] [MMUSIC] Is bundle just a port override?

> From: "Mo Zanaty (mzanaty)" <mzanaty@cisco.com>
> 
> 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.)
> 
> Regarding the concern about non-use of the discarded RTP ports
> confusing SBCs, see this part of my original message [with
> clarifications], which is what the current bundle draft also
> suggests:
> 
> > 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 [that may monitor the unused ports].

It's messier than that, unfortunately.

One requirement is that after negotiation is completed, the negotiated
transport associations (as seen by a legacy intermediary) must match
the actual media flows.

Another requirement is that two media descriptions shouldn't use the
same port (because a lot of legacy SBCs can't handle that).  This
applies to offer/answer updates as well as original offers/answers.

So what we want is a way for a media description to say, "I'm
reporting port zero so SBCs think this MD is rejected, but I'm
actually using port 1234 (which is officially reported in another
MD)."

There are also situations where the we want to signal perferences as
to which media descriptions share ports with which other media
descriptions.

Dale