Re: [MMUSIC] Bundle-only, Port 0, and other options
Paul Kyzivat <pkyzivat@alum.mit.edu> Tue, 15 October 2013 18:07 UTC
Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8FE1F11E81A1 for <mmusic@ietfa.amsl.com>; Tue, 15 Oct 2013 11:07:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.267
X-Spam-Level:
X-Spam-Status: No, score=-0.267 tagged_above=-999 required=5 tests=[AWL=0.170, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1]
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 qi5GCP3l5NFg for <mmusic@ietfa.amsl.com>; Tue, 15 Oct 2013 11:07:22 -0700 (PDT)
Received: from qmta10.westchester.pa.mail.comcast.net (qmta10.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:17]) by ietfa.amsl.com (Postfix) with ESMTP id 3762911E814C for <mmusic@ietf.org>; Tue, 15 Oct 2013 11:07:20 -0700 (PDT)
Received: from omta03.westchester.pa.mail.comcast.net ([76.96.62.27]) by qmta10.westchester.pa.mail.comcast.net with comcast id dW631m0040bG4ec5AW7KPL; Tue, 15 Oct 2013 18:07:19 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta03.westchester.pa.mail.comcast.net with comcast id dW7K1m00k3ZTu2S3PW7K0t; Tue, 15 Oct 2013 18:07:19 +0000
Message-ID: <525D8456.1070600@alum.mit.edu>
Date: Tue, 15 Oct 2013 14:07:18 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: mmusic@ietf.org
References: <525D649E.5040608@nostrum.com>
In-Reply-To: <525D649E.5040608@nostrum.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1381860439; bh=QV2wcy21agnFH/S3IXeX7d58oHw5sdxK2bLTGe5SGLc=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=U9V70+Gm52MNQhWdxBngdTZA+W43nReDRWICYjA4qkWwc4fInP2bvHmmrNmmZQ77/ tn6dQpRyzoamDusHRyk/dq6hzOGZkYJtJEk3JyPsDqh8TuhTDuPFOvbzprxVF5gnuo 9fCbpsccCavYJB4cD8xQlM83JRzGea/xyzvuQU7Q6XE6dMd+7SGBTXJJ3Oe+OAUbCs zUEdD0zpwp/np/ionkWrd9YsHw4ucXcz3aBfD7m519YE5Pwz6Uux1wzHKcGanhblGw dcrOSlJkH8yexgIZuxX6A4CsG424rW79DNhiaqPYpXk4LSTMc76ZhkWbHmeiBksy3d fACcXTwWeHb2w==
Subject: Re: [MMUSIC] Bundle-only, Port 0, and other options
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Oct 2013 18:07:34 -0000
Adam, I agree with most of your analysis. Comment inline. On 10/15/13 11:51 AM, Adam Roach wrote: > There's been a bit of a brouhaha (from small but disproportionately > vocal quarters) around the use of port zero in an offer for bundle-only > lines. So I wanted to take a step back and see whether we could untangle > this knot a bit. > > The key property that we need here is that bundle-only lines must be > formed in a way that causes them to be rejected by non-bundling agents, > but accepted by bundling agents. Since bundle deals with ports, that > seems like an extremely natural place to make the distinction. It has > the spectacular advantage of being defined in a crystal clear way in RFC > 3264: > > "A port number of zero in the offer indicates that the > stream is offered but MUST NOT be used. This has no useful semantics > in an initial offer, but is allowed for reasons of completeness..." > > "A stream that is offered with a port of zero MUST be marked with port > zero in the answer." > > By overriding this second normative statement for bundle clients, we > turn it into an extremely well-defined extension point. > > ---------------------------------------------------------------------- > > But this is exactly the approach that is causing people heartburn, so > let's look at other potential ways of achieving the goal. In a media > section, there are only a small handful of fields that an implementation > is required to read and understand: > > m=<media> <port>/<number of ports> <proto> <fmt> ... > c=<nettype> <addrtype> <connection-address> > > Taken one-by-one: > > 1. Extending "media" would be somewhat problematic, since we use this > information extensively in our use cases. We would effectively have > to register bundle-only variations on "audio," "video," and > "application" (at a minimum), which is horribly inelegant. > > 2. Port is discussed above. > > 3. Setting "number of ports" to zero would clearly have the semantics > that we're interested in here. The down-side of using this approach > is that (in my experience) there are a lot of implementations that > simply ignore the "number of ports" field, and a small handful that > simply choke when it is present. > > 4. Proto is an interesting one. Right now, we use RTP/SAVPF and > DTLS/SCTP. We could conceivably additionally register > RTP/SAVPF/BUNDLEONLY and DTLS/SCTP/BUNDLEONLY, which would > presumably be rejected by non-bundle clients as unrecognized. > > 5. Fmt isn't really an option -- we need to use it to identify formats. > > 6. Moving on to the c= line (which, if present, is mandatory to parse, > understand, and honor), nettype is pretty much hardwired to "IN." We > could register an "IN-BUNDLEONLY" option, but there's a good chance > that implementations don't really look at the value of this field, > so they wouldn't reject the new value. > > 7. Addrtype is necessary for indicating IP4 versus IP6. We could > register IP4-BUNDLEONLY and IP6-BUNDLEONLY, but this is > approximately as elegant as option #1. > > 8. Overloading connection-address would be dicey, since it ruins the > ability to send different streams to different places. While WebRTC > might not care too much about these use cases, they *are* important > in other contexts. I don't understand this last point. We are only talking about bundle-only lines that are either going to use the address and port of the bundle (defined elsewhere) or aren't going to be used at all. IMO we *could* use an invalid address (pick one) as the indicator if the port number is a problem. OTOH, I'm not convinced this is better. I can imagine problems arising from this too. Thanks, Paul > In summary: of the above options, the strongest option still seems to be > "port," followed (perhaps) by "proto." We could probably force "media" > or "addrtype" to work, but these would be pretty messy. I think "number > of ports" and "nettype" are at high risk of being ignored by non-bundle > implementations (i.e., they won't trigger the failure we want), and we > need to maintain the existing meanings for "fmt" and "connection-address". > > Even more tersely: if we don't want to port zero, I think the only other > realistic option is registering new "proto" values. > > /a > > > > _______________________________________________ > mmusic mailing list > mmusic@ietf.org > https://www.ietf.org/mailman/listinfo/mmusic >
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Adam Roach
- [MMUSIC] Bundle-only, Port 0, and other options Adam Roach
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Christer Holmberg
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Paul Kyzivat
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Martin Thomson
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Christer Holmberg
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Christer Holmberg
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Suhas Nandakumar
- Re: [MMUSIC] Bundle-only, Port 0, and other optio… Eric Rescorla