[MMUSIC] Comments on draft-holmberg-mmusic-sdp-mmt-negotiation-00
worley@ariadne.com (Dale R. Worley) Fri, 01 February 2013 23: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 AEEA721F8FA9 for <mmusic@ietfa.amsl.com>; Fri, 1 Feb 2013 15:38:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.553
X-Spam-Level:
X-Spam-Status: No, score=-1.553 tagged_above=-999 required=5 tests=[AWL=-0.973, BAYES_00=-2.599, J_CHICKENPOX_12=0.6, J_CHICKENPOX_13=0.6, J_CHICKENPOX_15=0.6, J_CHICKENPOX_18=0.6, 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 Ft4xNNppYhKN for <mmusic@ietfa.amsl.com>; Fri, 1 Feb 2013 15:38:02 -0800 (PST)
Received: from TheWorld.com (pcls5.std.com [192.74.137.145]) by ietfa.amsl.com (Postfix) with ESMTP id F092B21F8F5F for <mmusic@ietf.org>; Fri, 1 Feb 2013 15:38:01 -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 r11NbeaW030733 for <mmusic@ietf.org>; Fri, 1 Feb 2013 18:37:42 -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 r11NbeMq1014308 for <mmusic@ietf.org>; Fri, 1 Feb 2013 18:37:40 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r11Nbe6C1014772; Fri, 1 Feb 2013 18:37:40 -0500 (EST)
Date: Fri, 01 Feb 2013 18:37:40 -0500
Message-Id: <201302012337.r11Nbe6C1014772@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: mmusic@ietf.org
Subject: [MMUSIC] Comments on draft-holmberg-mmusic-sdp-mmt-negotiation-00
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, 01 Feb 2013 23:38:03 -0000
generally Conceptually, this draft looks on the task as being: we either establish a set of media streams defined by a set of m= lines, or we establish a RTP stream that contains multiple media types. I think this is slightly incorrect, the MMT RTP stream should be seen as a container that encapsulates several media streams -- the anymedia m= line describes the container and its properties, and the constituent m= lines describe the constituent media streams. (And it is possible that two constituent media streams have the same media type -- one can easily have more than one audio or video stream in a session.) Within that change, an answer that accepts the MMT m= line should be allowed to also accept/reject the constituent m= lines, to indicate whether or not it wants to process those particular media streams within the bundle. (The port numbers for the constituent m= lines in the answer would be dummies, only significant as to whether they are zero or not, just as the port numbers for the constituent m= lines in the offer become dummies if the MMT is accepted.) abstract "5-tuple" should be defined; it is not commonly used in RFCs. section 4 Is there any reason to restrict MMT from being used in non-O/A situations? Of course, there would have to be out-of-band knowledge that the interpreter of the SDP understands MMT, but out-of-band knowledge (e.g., of the media types and codecs supported) is required in non-O/A situations already. section 5.2.1 A "MMT" group MUST contain a "anymedia" SDP Media Description, and at ------------------------------^ should be "exactly one" least one SDP Media Description for a specific SDP Media Type (audio, video, etc). From a "MMT" group the SDP Answerer [RFC3264] will accept either the SDP Media Descriptions for the specific SDP Media Types, or the "anymedia" SDP Media Description. This doesn't allow the answerer to reject all of the media in the group. A more complete phrasing: From a "MMT" group, the SDP Answerer [RFC3264] will either (1) accept the "anymedia" SDP Media Description and reject the specific SDP media types, (2) reject the "anymedia" SDP Media Description and accept some or all of the specific SDP media types, or (3) reject both the "anymedia" SDP Media Description and the specific SDP media types (to reject all the media streams in any form). However, that would change if the answerer was allowed to accept/reject specific media streams even when they were bundled into the anymedia stream. section 5.2.2.1 1) Include a "anymedia" SDP Media Description; and --------------^ should be "exactly one" section 5.2.2.2 2) Reject the "anymedia" SDP Media Description, and accept some or all of the other SDP Media Descriptions associated with the MMT group. But the answerer must be allowed to reject *both* the anymedia m= line and all of the contained m= lines (if it doesn't like any of the media streams involved). So it would be easier to specify: When an SDP Answerer generates an SDP Answer, for each "MMT" group in the associated SDP Offer, if it accepts the "anymedia" SDP Media Description, it MUST reject all of the other SDP Media Descriptions associated with the MMT group. Within this dichotomy, it would be useful to spell out the consequences for the a=group:MMT line, viz.: 1) [...] Consequently, the mid values of the rejected lines are removed from the a=group:MMT line in the answer. Or, 2) [...] Consequently, the a=group:MMT line is removed from the answer. However, that would change if the answerer was allowed to accept/reject specific media streams even when they were bundled into the anymedia stream. NOTE: As described in [RFC3264], an SDP Media Description can be -------------------------------------------------------------^^^^^^ This probably should be "is", as there is no other way to reject a media description. rejected by setting the port value of the associated m- line to zero in the SDP Answer. ... and remove that m= line's mid value from the group attribute. RFC 5888 section 9.2 section 6.1 It allows, if both endpoints support the mechanism, multiple media typex to be multiplexed on a single 5-tuple. More exactly stated, it allows multiple media *streams* to be multiplexed on a single 5-tuple. (In some cases, all of the streams may have the same media *type*, but we still want to be able to distinguish them.) [...] the SDP mmtype attribute will be used to map each PT to a specific media type (e.g. audio, video, etc). ditto In addition, as it might not always be possible to retreive the media type from the "rtpmap" SDP Attribute value, [...] ---^^^^^^^^ I think "determine" is better here. section 6.3 NOTE: Additional extensions are needed in order to specify SDP Attribute values for individual media types, or individual media sources, associated with the "anymedia" SDP Media Description. Perhaps the attributes given on the constituent m= lines would specify the attributes for the constituent media streams. Alternatively, we could define: a=mmtattr:<mid-value>:<attribute>:<value> to provide "a=<attribute>:<value>" for the constituent media stream identified by "a=mid:<mid-value>". section 7 If mmtype is to properly demultiplex received RTP, it has to specify which of the constituent m= lines that particular PT is mapped to -- just knowing the media type and codec name is not necessarily sufficient, since more than one constituent m= line use a single codec. Also, how is RTCP to be demultiplexed? (Probably throught SSRCs.) section 7.2 a=mmtype: format media Presumably the space after ":" is a typo. (Given the syntax rules of SDP, a space appearing in that location is significant.) A better syntax would be: a=mmtype:<format> <mid> <media> That would specify the mid value of the constituent media stream. But of course, once we know the mid value, we can determine the media type from the corresponding m= line. Which would suggest a syntax like: a=mmtype:<format> <mid> Or all the formats for a single mid could be specified together: a=mmtype:<mid> <format> <format> ... It would be useful to mention here that the format number in the anymedia m= line does not have to be the same as the format number in the constituent m= line for the same codec, but that the codec does have to appear in the constituent m= line. (Or do we wish to require that the format numbers be the same, for sanity's sake?) section 9 SDP Answer (multiplexed media types accepted) [...] a=group:MMT foo bar This is backwards; it must be "a=group:MMT zoe" based on RFC 5888 section 9.2. (Though I'm proposing to change what this attribute value would be; see below.) SDP Answer (multiplexed media types not accepted) [...] a=group:MMT foo bar This attribute is incorrect, as the group does not contain one m= line for anymedia. This attribute should be omitted. Incorporating the above suggestions into the examples (changes indicated by ">"), the offer becomes: v=0 o=alice 2890844526 2890844526 IN IP4 host.atlanta.com s= c=IN IP4 host.atlanta.com t=0 0 a=group:MMT foo bar zoe m=audio 10000 RTP/AVP 0 8 97 a=mid:foo b=AS:200 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 iLBC/8000 m=video 20000 RTP/AVP 31 32 a=mid:bar b=AS:1000 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000 m=anymedia 30000 RTP/AVP 0 8 97 31 32 a=mid:zoe a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 iLBC/8000 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000 > a=mmtype:foo 0 8 97 > a=mmtype:bar 31 32 The answer accepting the MMT group (and both constituent streams) becomes: v=0 o=bob 2808844564 2808844564 IN IP4 host.biloxi.com s= c=IN IP4 host.biloxi.com t=0 0 > a=group:MMT foo bar zoe > m=audio 1 RTP/AVP 0 a=mid:foo a=rtpmap:0 PCMU/8000 > m=video 1 RTP/AVP 32 a=mid:bar a=rtpmap:32 MPV/90000 m=anymedia 60000 RTP/AVP 0 32 a=mid:zoe a=rtpmap:0 PCMU/8000 a=rtpmap:32 MPV/90000 > a=mmtype:foo 0 > a=mmtype:bar 32 The answer rejecting the MMT group (but accepting both constituent streams independently) becomes: v=0 o=bob 2808844564 2808844564 IN IP4 host.biloxi.com s= c=IN IP4 host.biloxi.com t=0 0 > [a=group:MMT omitted] m=audio 40000 RTP/AVP 0 a=mid:foo a=rtpmap:0 PCMU/8000 m=video 50000 RTP/AVP 32 a=mid:bar a=rtpmap:32 MPV/90000 m=anymedia 0 RTP/AVP 0 32 a=mid:zoe [The a=mid attributes may be missing if the answerer does not understand SDP grouping.] Dale
- [MMUSIC] Comments on draft-holmberg-mmusic-sdp-mm… Paul Kyzivat
- [MMUSIC] Comments on draft-holmberg-mmusic-sdp-mm… Dale R. Worley