[MMUSIC] Difficulties accepting and rejecting with bundling
worley@ariadne.com (Dale R. Worley) Mon, 11 March 2013 02:38 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 0917411E80EF for <mmusic@ietfa.amsl.com>; Sun, 10 Mar 2013 19:38:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.629
X-Spam-Level:
X-Spam-Status: No, score=-2.629 tagged_above=-999 required=5 tests=[AWL=-0.249, BAYES_00=-2.599, J_CHICKENPOX_15=0.6, 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 QBAZYt7Xgfov for <mmusic@ietfa.amsl.com>; Sun, 10 Mar 2013 19:38:02 -0700 (PDT)
Received: from TheWorld.com (pcls5.std.com [192.74.137.145]) by ietfa.amsl.com (Postfix) with ESMTP id AB8FB11E80EA for <mmusic@ietf.org>; Sun, 10 Mar 2013 19:38:02 -0700 (PDT)
Received: from shell.TheWorld.com (root@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r2B2btWo023512 for <mmusic@ietf.org>; Sun, 10 Mar 2013 22:37:58 -0400
Received: from shell01.TheWorld.com (localhost [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r2B2bt4r180460 for <mmusic@ietf.org>; Sun, 10 Mar 2013 21:37:55 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r2B2btIS180463; Sun, 10 Mar 2013 22:37:55 -0400 (EDT)
Date: Sun, 10 Mar 2013 22:37:55 -0400
Message-Id: <201303110237.r2B2btIS180463@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: mmusic@ietf.org
Subject: [MMUSIC] Difficulties accepting and rejecting with bundling
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 02:38:04 -0000
I believe that the current SDP grouping framework (RFC 5888) causes a problem for the offer/answer operations of SDP bundling, and we need to reconsider using SDP grouping, or alter the rules for SDP grouping. Most of the bundling proposals have "constituent" media descriptions, that is, m= lines that describe only components of the bundle, not the bundle as a whole. (In some proposals, these MDs are called "subsequent" MDs, because the first MD in the bundle is used to describe the bundle as a whole. In other proposals, there is a separate MD for the bundle as a whole, and all of the components of the bundle are "constituent" MDs.) Generally, a constituent MD is offered like this: c=10.1.1.1 a=group:BUNDLE bundle con1 con2 ... m=audio 10002 RTP/AVP 0 8 a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 The MD is declared to be part of a bundle by a "group" attribute, and the MD provides a transport address and port. For backward compatibility with answerers that do not support bundling, most proposals require that the address and port of the MD are a real transport address of the offerer. If the answerer wishes the reject the constituent MD, it responds like this: c=10.1.1.1 a=group:BUNDLE bundle con2 ... m=audio 0 RTP/AVP 0 8 a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 (If the answerer does not support bundling at all, it removes the group attribute. But if it supports bundling, it may want to accept other parts of the bundle and yet reject this MD, so it will include the group attribute for the bundle.) The port number is zero. Due to RFC 5888 section 9.2, the mid of this MD MUST be removed from the group attribute describing this bundle. That fact isn't interesting here, but it will become more important later in this discussion. If the answerer wishes to accept the constituent MD not as part of the bundle (perhaps because the answerer does not support bundling), it responds like this: c=10.1.1.1 m=audio 20002 RTP/AVP 0 8 a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 The group attribute is omitted (showing that the bundle is not accepted) and a transport address of the answerer is provided. Note that both of these answer patterns are determined by "legacy" SDP processing rules, and we are not free to change them. If the answerer wishes to accept the constituent MD as part of the bundle, how should it respond? The natural method is something like this: c=10.1.1.1 a=group:BUNDLE bundle con1 con2 ... m=audio 0 RTP/AVP 0 8 a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 We want to include the constituent MD in the group attribute, in order to show that it is part of the bundle. However, we want to answer with a zero port number so that intermediate entities will not be expecting media on this transport association. If an intermediate entity believes that a valid transport association has been established, the entity may time out the multimedia session when it does not see media. (It does not suffice for the answerer to provide a null transport address and non-zero port for the MD, or for the answerer to send "a=inactive", as an intermediate entity may see the MD as being accepted and expect the offerer to send RTCP.) But if the m= line has a zero port number, RFC 5888 section 9.2 requires that the MD's mid label not be included in the group attribute. This prevents the answerer from signaling that the MD has been accepted, but that the media is sent within the bundle, not on a separate transport association. Seven of the nine proposals cataloged in draft-worley-sdp-bundle-05 section 7 have this problem. Currently, only way to avoid this problem is the answerer provides a non-zero port with a null transport address, and then the offerer provides an immediate SDP update that provides a non-zero port with a null transport address. After that, intermediate entities will be warned that they might not see media on the transport association (as both endpoints seem to be managing third-party entities). But a better solution is to allow the answerer to accept the constituent MD as part of the bundle, while at the same time giving a zero port, thus rejecting the constituent MD from a "legacy" point of view. Signaling the acceptance within the bundle is easy enough; we can define a new attribute for doing so: c=10.1.1.1 a=group:BUNDLE bundle con1 con2 ... m=audio 0 RTP/AVP 0 8 a=bundle-accept a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 The difficulty is how to indicate that the MD is part of the bundle. There are at least four choices: 1. The membership of the MD in the bundle is not signaled in the answer; it is implied by the signaling in the offer. c=10.1.1.1 m=audio 0 RTP/AVP 0 8 a=bundle-accept a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 2. We define a new grouping attribute for signaling bundling, one which does not have the restriction that MDs with zero port numbers may not appear in the group. c=10.1.1.1 a=relaxed-group:BUNDLE bundle con1 con2 ... m=audio 0 RTP/AVP 0 8 a=bundle-accept a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 3. We define an attribute for signaling bundle membership in some other way. E.g., a pointer from the constituent MD to the bundle MD: c=10.1.1.1 m=audio 0 RTP/AVP 0 8 a=bundle-owner:bundle a=bundle-accept a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 where the bundle MD is: m=audio 15000 RTP/AVP 0 8 a=mid:bundle 4. We normatively relax RFC 5888 section 9.2 to allow MDs with zero port numbers to appear in group attributes. (This would only have meaning for BUNDLE groups, not LS and FID groups.) c=10.1.1.1 a=group:BUNDLE bundle con1 con2 ... m=audio 0 RTP/AVP 0 8 a=bundle-accept a=mid:con1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 At this point, I prefer the fourth choice, updating RFC 5888. Would this likely cause any backward compatibility problems? Dale
- Re: [MMUSIC] Difficulties accepting and rejecting… Dale R. Worley
- [MMUSIC] Difficulties accepting and rejecting wit… Dale R. Worley
- Re: [MMUSIC] Difficulties accepting and rejecting… Ejzak, Richard P (Richard)
- Re: [MMUSIC] Difficulties accepting and rejecting… Paul Kyzivat
- Re: [MMUSIC] Difficulties accepting and rejecting… Stach, Thomas
- Re: [MMUSIC] Difficulties accepting and rejecting… Ejzak, Richard P (Richard)
- Re: [MMUSIC] Difficulties accepting and rejecting… Dale R. Worley
- Re: [MMUSIC] Difficulties accepting and rejecting… Suhas Nandakumar
- Re: [MMUSIC] Difficulties accepting and rejecting… Ejzak, Richard P (Richard)
- Re: [MMUSIC] Difficulties accepting and rejecting… Suhas Nandakumar