[MMUSIC] Requirements for bundling
worley@ariadne.com (Dale R. Worley) Fri, 22 February 2013 03:19 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 7B88321E803C for <mmusic@ietfa.amsl.com>; Thu, 21 Feb 2013 19:19:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.706
X-Spam-Level:
X-Spam-Status: No, score=-2.706 tagged_above=-999 required=5 tests=[AWL=0.274, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g6LK2kq9LXmE for <mmusic@ietfa.amsl.com>; Thu, 21 Feb 2013 19:19:07 -0800 (PST)
Received: from TheWorld.com (pcls4.std.com [192.74.137.144]) by ietfa.amsl.com (Postfix) with ESMTP id 71B7621E8039 for <mmusic@ietf.org>; Thu, 21 Feb 2013 19:19:07 -0800 (PST)
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 r1M3Id6k023264 for <mmusic@ietf.org>; Thu, 21 Feb 2013 22:18:41 -0500
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 r1M3Idk12341304 for <mmusic@ietf.org>; Thu, 21 Feb 2013 22:18:39 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r1M3IcNB2337892; Thu, 21 Feb 2013 22:18:38 -0500 (EST)
Date: Thu, 21 Feb 2013 22:18:38 -0500
Message-Id: <201302220318.r1M3IcNB2337892@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: mmusic@ietf.org
Subject: [MMUSIC] Requirements for 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: Fri, 22 Feb 2013 03:19:08 -0000
Here are the requirements (desiderata, really) from the latest version of my draft, draft-worley-sdp-bundle. No doubt they're not complete. 3. Desiderata This section lists desiderata for the bundle mechanism in SDP. (I use the term "desiderata" -- "things that are desired" -- rather than "requirements", because we may discover that we can't optimally satisfy all of these criteria at the same time.) The first section lists desiderata that are arise from considering the ways applications may wish to bundling. The second section lists desiderata that arise from compatibility with existing Internet infrastructure. 3.1. Feature Desiderata DES F1 For each bundle, there is a group of media descriptions which describe the application-level RTP sessions. This specification must allow the same granularity of description as when the media flows were not multiplexed. This description includes identifiers which connect the media flows with the application and with each other. This requirement is taken from draft-jennings-mmusic-media-req-00. DES F2 For each bundle, there is a media description that describes the transport-level RTP session. DES F1 and DES F2 do not specify whether the transport-level media description may or may not also be one of the application-level media descriptions. DES F3 There must be a uniform way to deal with new SDP parameters, so that newly defined SDP parameters do not require a specific updating of the bundling procedures. This desideratum is taken from slides-interim-2013-rtcweb-1-10.pdf. DES F4 Multiple separate bundles within one SDP must be supported. DES F5 Bundles may contain other bundles as constituents. Of course, no bundle may directly or indirectly contain itself. (I don't expect any current implementation to implement bundles within bundles, but we should design the mechanism to allow this, as some day we will likely need it.) DES F6 A bundle may contain zero constituents. A bundle with no constituents serves no purpose for the transport of media, but we are likely to someday need to describe such a bundle. (Compare that an SDP m= line is syntactically constrained to specify at least one payload type. When SDP was used only to specify multicast sessions, this constraint was common sense. But once SDP offer/answer was invented, when a media description was rejected, the natural representation would be an m= line with a zero port and no payload types. But a payload type was syntactically required, so we now have to provide at least one token payload type in rejected m= lines.) DES F7 If an answerer that does understand the bundle mechanism processes an offer that contains a bundle, it must be able to (1) accept the bundle and selectively accept or reject each constituent RTP session within it, (2) reject the bundle as a whole, or (3) reject the bundling and selectively accept or reject each constituent RTP session as separate RTP sessions. Presumably answer (3) resembles that which would be produced by an answerer that does not understand the bundle mechanism. It is a lower priority that the answerer can distinguish between accepting the bundle while rejecting all of its constituents, and rejecting the bundle as a whole. But those two conditions differ conceptually regarding whether any "framing" actions of the bundle are performed. DES F8 There must be a reliable way to demultiplex incoming RTP into the separate application-level RTP sessions. Similarly, there must be a reliable way to demultiplex the associated RTCP information. The RTCP information for each media stream is tagged with the SSRC about which it reports, and the SSRC is used to correlate the RTCP reports with the RTP sessions containing media with the same SSRC. So regarding RTCP, this desideratum appears to be straightforward to satisfy. DES F9 The specification must specify any needed additional procedures for handling SSRC collisions between media sources within different application-level RTP sessions, as those can now collide. In the terminology of RFC 3550, the constituent media descriptions are now part of one RTP session. DES F10 When an offer is constructed, the offerer must not need to pre-allocate TURN relays for constituent media descriptions. When both endpoints support bundling, the mechanism must not require the offerer to allocate TURN relays for constituent media descriptions. This desideratum was suggested by Andrew Hutton. DES F11 It must be possible to add and remove one way video flows within the bundle without requiring an additional offer/answer cycle. Presumably this can be accomplished as it is now, with a single media description carrying multiple video flows that are distinguished only by their SSRCs. This desideratum is taken from slides-interim-2013- rtcweb-1-10.pdf. DES F12 Bundling must not interfere with ICE usage, and in particular, ICE's ability to negotiate both IPv4 and IPv6 addresses simultaneously. This desideratum was suggested by Andrew Hutton. 3.2. Compatibility Desiderata DES C1 In offer/answer usage, an endpoint using the bundle mechanism must interwork correctly with an endpoint that does not understand the bundle mechanism. DES C2 Interworking must continue when SDP endpoints are replaced with other endpoints during a sequence of offer/answer exchanges (such as happens in 3PCC or call transfers "behind an SBC"), including when a supporting endpoint is replaced by a non- supporting endpoint or vice-versa. SDP features (e.g., codec set and ICE) are generally designed so that an offerer offers every facility it is willing to support in the current instance. Thus, if the answerer is a different endpoint than the previous answerer, the new answerer will negotiate a compatible set of facilities without needing knowledge of its predecessor's SDP. The offerer will smoothly transition to the new facilities. This property is required to support 3PCC situations (e.g., RFC 3725 and draft-worley-service-example). This desideratum was suggested by Richard Ejzak. DES C3 Avoid using media types in m= lines other than audio and video unless required for user media, as some SBCs reject SDP that uses other media types. This desideratum was suggested by Hadriel Kaplan. DES C4 Any additional m= lines prescribed by the bundle mechanism should be ordered after the constituent m= lines. Many devices that have only one audio or video channel accept the first m= line with that media type and reject any further ones non-DES C5 SBCs generally pass through attributes that they do not understand. SBCs generally pass through codec specifications that they do not understand, even if they are configured to transcode certain specific codecs. This non-desideratum was suggested by Hadriel Kaplan. DES C6 After offer/answer processing is finished, if the exchanged SDP is examined by a non-supporting SBC, the set of transport associations that it sees being specified for media exchange should be the set that are actually used for media transfer. This is needed because SBCs monitor the packet traffic on the transport associations and if no media is seen on one of the associations for a significant period of time, the SBC will tear down the call. This desideratum was suggested by Hadriel Kaplan. DES C7 In a session description, no endpoint of a transport association may be used multiple times. Such duplication is not defined by [sdp]. Some SBCs do not support such duplication (ultimately, because it was not supported by [RFC 2327]), and they reject SDP specifying duplicated transport association endpoints. This desideratum was suggested by Cullen Jennings. DES C8 Offer/answer processing between supporting processors must be completed in one exchange. When interworking between supporting and non-supporting processors, it is less desirable but admissible that a second offer/answer exchange may be needed to complete configuring the multimedia session. Dale
- [MMUSIC] Requirements for bundling Dale R. Worley