[MMUSIC] Why do we need rtcp-mux-exclusive?

Eric Rescorla <ekr@rtfm.com> Fri, 04 March 2016 00:00 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com []) by ietfa.amsl.com (Postfix) with ESMTP id A85FE1B303C for <mmusic@ietfa.amsl.com>; Thu, 3 Mar 2016 16:00:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001] autolearn=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id KsChoqjgwr7j for <mmusic@ietfa.amsl.com>; Thu, 3 Mar 2016 16:00:12 -0800 (PST)
Received: from mail-yw0-x22a.google.com (mail-yw0-x22a.google.com [IPv6:2607:f8b0:4002:c05::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 971C31B303A for <mmusic@ietf.org>; Thu, 3 Mar 2016 16:00:12 -0800 (PST)
Received: by mail-yw0-x22a.google.com with SMTP id i131so18721358ywc.3 for <mmusic@ietf.org>; Thu, 03 Mar 2016 16:00:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=ZcPqMPk0vujaCFsS/Acww1HY/WnsPrsHrmZOB4onbAo=; b=JoZzDrtwvVxtwRORQjEXUzhAclb3XsVbuWPKEA3E6u9cdwoq54+1NqvWubbXjPMWvy 3IokBLGAqHZPqY6uGFLJtft2bvKUgY5n21edhi3lxC53dbNwka3VC5I6zazrTqt0MeEK N7ajsuluTYOf3AAHse2cpFhEANxdaAAFCzyqTOVHL1JI45qjoyS+ejC6J4/+jxNOGuJQ 0JfD8Rkd932EpJiK75kTKSp+aFErwpd3tCEojBtkHtZERl4I3lu1lFqQsYoWKxHOCu2x 62H/+c6n/Bkl9Y7/g8JKzOJSSy/cWSSdfmTfJLCU7rcUMrtTyww6wcd1H/k25N2GiTF9 Q7PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ZcPqMPk0vujaCFsS/Acww1HY/WnsPrsHrmZOB4onbAo=; b=CetniYNSNmpBxIePHmRevHDXP9/d229YbyJOFzKbYJmXGB5Sg03p7vbEus19unhJ56 y1Yx+M+u8QOpn1telXqnM3U/Ry4G6lNDGtZQ00jJpGOnCjzfFBY215ZlRXAgxehdjOxC yNJtROvlAXXZzuhl6miaZRRcN8xBFl+GsekYqqyw7fH8cTAcC7vyxe0/oWkUaxYFFjR/ I/7UQPX1rW6FhUtUfrHqcfPZZAfBmCbUmlvaMzZlCQa/14noS7bcd9bCFOnUO1eLn8/I eVRVff6M3iWyvxYsfsc1r7u6PUIwMEUvOuGc560rjQN/QXWULIH7VdzAnpZ7aDaTRufB /SZw==
X-Gm-Message-State: AD7BkJIRaXJbE1vjPfIqp4r4S0eMpORi09nEs2msp/VKNZ2EuyL5Fy3anYiO0LseE6Mnk0WZOnYFTa9pz/qjNA==
X-Received: by with SMTP id w198mr3346128ywa.223.1457049611838; Thu, 03 Mar 2016 16:00:11 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Thu, 3 Mar 2016 15:59:32 -0800 (PST)
From: Eric Rescorla <ekr@rtfm.com>
Date: Thu, 3 Mar 2016 15:59:32 -0800
Message-ID: <CABcZeBNsJkqGcU3Z=eekP4ntj7r3WMz6YOSiFt=u+HdDH2Zk3Q@mail.gmail.com>
To: mmusic WG <mmusic@ietf.org>
Content-Type: multipart/alternative; boundary=001a114dc91c88e32e052d2dcca4
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/7fcpfQWcfV8qkWFyAaaVl_2xBGA>
Subject: [MMUSIC] Why do we need rtcp-mux-exclusive?
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
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: <https://mailarchive.ietf.org/arch/browse/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: Fri, 04 Mar 2016 00:00:13 -0000

I've been reading this document and I'm finding myself confused about
why we need it.

As I understand it, the current state of play is that mux-only
endpoints will send offers with both a=rtcp-mux and one set of
candidates for each m= line (and with trickle, perhaps no candidates
in the initial offer).  If that offer is processed by a non-mux
endpoint, that endpoint will reject rtcp-mux and then eventually you
end up with a failure to negotiate transport connections because there
will never be RTCP-candidates.

What this draft seems to offer is that a way for the mux-only endpoint
to indicate that it is mux-only, so that non-mux endpoints can instead
fail the connection immediately (section 4.3). So you get a hard
failure instead of a transport failure. Is that correct so far?

If so, here's my problem: because unknown a= lines are ignored, old
endpoints won't know about rtcp-mux-exclusive and so they will just
ignore it. Thus, this attribute is only useful for *new* endpoints
which don't want to do mux (but do know about this attribute). I
suppose that endpoints like that might exist (maybe gateways) but I'm
skeptical that it's worth extra effort to have a hard fail here.

What am I missing here?