[MMUSIC] How to arrange for the rejection of the bundle media description?

worley@ariadne.com (Dale R. Worley) Mon, 11 March 2013 16:01 UTC

Return-Path: <worley@shell01.TheWorld.com>
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 9838511E80E4 for <mmusic@ietfa.amsl.com>; Mon, 11 Mar 2013 09:01:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.916
X-Spam-Level:
X-Spam-Status: No, score=-2.916 tagged_above=-999 required=5 tests=[AWL=0.065, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
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 goy9AqZUKE9z for <mmusic@ietfa.amsl.com>; Mon, 11 Mar 2013 09:01:05 -0700 (PDT)
Received: from TheWorld.com (pcls4.std.com [192.74.137.144]) by ietfa.amsl.com (Postfix) with ESMTP id A9EEA21F8BD5 for <mmusic@ietf.org>; Mon, 11 Mar 2013 09:01:05 -0700 (PDT)
Received: from shell.TheWorld.com (svani@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r2BG0mfp020085 for <mmusic@ietf.org>; Mon, 11 Mar 2013 12:00:50 -0400
Received: from shell01.TheWorld.com (localhost.theworld.com [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r2BG0ln7222750 for <mmusic@ietf.org>; Mon, 11 Mar 2013 11:00:47 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r2BG0lKQ222769; Mon, 11 Mar 2013 12:00:47 -0400 (EDT)
Date: Mon, 11 Mar 2013 12:00:47 -0400
Message-Id: <201303111600.r2BG0lKQ222769@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: mmusic@ietf.org
Subject: [MMUSIC] How to arrange for the rejection of the bundle media description?
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: Mon, 11 Mar 2013 16:01:06 -0000

Assuming that there is a separate bundle media description in the
offer -- and I think that there are many benefits of having a separate
bundle media description -- we must arrange that an answerer that does
not implement bundling will always reject that media description.

As far as I can tell, there are three possible ways to force the
answerer to reject a media description:

1. The media description uses a special media type that is not
otherwise implemented.

2. The media description uses a special proto value that is not
otherwise implemented.

3. The media description only provides encoding names (codec names)
that are not otherwise implemented.

(Although this seems to be an obvious application of SDP capability
negotiation, I see no way to use capneg to specify alternative port
numbers (zero or non-zero) depending on what capabilities the answerer
supports.  And we probably can't rely on legacy SBCs to handle
properly a situation where the offered port number is zero and the
answered port number is non-zero.)

Solution 1 is the cleanest from a design point of view.  (I personally
like using "m=multipart".)  But Hadriel tells me that a lot of legacy
SBCs reject any SDP that contains a media type that is not "audio" or
"video".

Regarding solution 2, there are now 32 defined proto values
(http://www.iana.org/assignments/sdp-parameters/sdp-parameters.xml#sdp-parameters-2),
so it is more likely that a legacy SBC (that is, one not designed to
support bundling) will pass unknown proto values.  But we need
feedback on that point from people who understand what is now deployed
in the Internet.

Solution 2 is also reasonably sound from a design point of view, as
the proto value is allowed to modify the significance of the fmt
values in the m= line.  If do not use an encapsulating payload format,
then the payloads are a mix of various RTP payload formats and
SCTP-over-DTLS packets, and that mixture is not accurately described
by any of the defined proto values; defining a new proto value
allows the m= line to describe the situation accurately.

Solution 3 is the safest from a legacy interoperation point of view.
If bundling encapsulates all the constituent media packets, it is also
correct from a design point of view, as the encapsulation payload
format is the only payload type being sent (at this layer of the
stack).  But if bundling does not encapsulate RTP packets, then
providing only one encoding name is not correct from a design point of
view.  (Although the feedback I get is that SBCs are not very
particular about the encoding names and payload types in media
descriptions.)

How are we to handle this problem?  At this point, I favor defining a
new proto value, as it avoids the legacy SBC problems that I know of,
but also accurately describes the multiplexed packet stream.

Dale