[MMUSIC] Review of draft-nandakumar-mmusic-sdp-mux-attributes-02
Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 30 April 2013 09:44 UTC
Return-Path: <magnus.westerlund@ericsson.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 9F9FF21F9B39 for <mmusic@ietfa.amsl.com>; Tue, 30 Apr 2013 02:44:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.549
X-Spam-Level:
X-Spam-Status: No, score=-102.549 tagged_above=-999 required=5 tests=[AWL=-3.100, BAYES_00=-2.599, GB_SUMOF=5, HELO_EQ_SE=0.35, J_CHICKENPOX_12=0.6, J_CHICKENPOX_18=0.6, J_CHICKENPOX_19=0.6, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 eA5gQhqgMkAl for <mmusic@ietfa.amsl.com>; Tue, 30 Apr 2013 02:44:52 -0700 (PDT)
Received: from mailgw1.ericsson.se (mailgw1.ericsson.se [193.180.251.45]) by ietfa.amsl.com (Postfix) with ESMTP id B5F7D21F9B38 for <mmusic@ietf.org>; Tue, 30 Apr 2013 02:44:42 -0700 (PDT)
X-AuditID: c1b4fb2d-b7f316d0000028db-f6-517f9289183a
Received: from esessmw0256.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw1.ericsson.se (Symantec Mail Security) with SMTP id 3B.1D.10459.9829F715; Tue, 30 Apr 2013 11:44:41 +0200 (CEST)
Received: from [127.0.0.1] (153.88.115.8) by esessmw0256.eemea.ericsson.se (153.88.115.97) with Microsoft SMTP Server id 8.3.279.1; Tue, 30 Apr 2013 11:44:41 +0200
Message-ID: <517F9288.4050507@ericsson.com>
Date: Tue, 30 Apr 2013 11:44:40 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: "mmusic (E-mail)" <mmusic@ietf.org>, suhasietf@gmail.com
X-Enigmail-Version: 1.5.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNJMWRmVeSWpSXmKPExsUyM+JvrW7npPpAgyUHNCymLn/MYrFzbgez A5PHzll32T2WLPnJFMAUxWWTkpqTWZZapG+XwJVx6MQvpoL7dhXn5ixgbWA8aNTFyMkhIWAi sefaQlYIW0ziwr31bF2MXBxCAqcYJc4vvMgMkhASWM4osf6EP4jNK6AtseJjEzuIzSKgKnHy +WUwm03AQuLmj0agZg4OUYFgia2tMRDlghInZz5hAbFFBGwkVh6+C2YLCzhIzL8xix1ir6TE lhftYDazgJ7ElKstjBC2vETz1tlQJ2hLNDR1sE5g5J+FZOwsJC2zkLQsYGRexciem5iZk15u uIkRGGAHt/zW3cF46pzIIUZpDhYlcd6i/PpAIYH0xJLU7NTUgtSi+KLSnNTiQ4xMHJxSDYwh C8POK9e+O2q4veZoQ/MBufNVz+zCzjPt2dJfUCv9ckc225vXH68bppewLvAtLBEp098gdlaR d3Kvz/bwf3eeKG2WOmx6fcnR/tot9/+X3+VSNMvYJtTNtP+UTei+C79zjYzi58nV9sybx8qr rf9G/IZv+JXGb+8zK7ava6pianiy4b2DJaMSS3FGoqEWc1FxIgC6fopM/gEAAA==
Subject: [MMUSIC] Review of draft-nandakumar-mmusic-sdp-mux-attributes-02
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: Tue, 30 Apr 2013 09:44:57 -0000
Hi, Here is my review of the introduction and those sections related to RFCs that I have been part of writing as requested (5.3, 5.9, 6.2, 6.3, 8.3). I would have to note that although it is good to solicit reviews it would have been desirable to not CC the WG mailing list for each solicitation. 1) Section 1) However, in the RTCWeb WG, a requirement has arisen to multiplex several RTP Sessions over a single transport layer flow. I wished this was the part there was strong consensus because, the only solution on the table that tries to solve this issue is: https://datatracker.ietf.org/doc/draft-westerlund-avtcore-transport-multiplexing/ What so far been most discussed is having multiple media types in one RTP session. That also implies multiple SDP Media Descriptions (m= blocks) describing one RTP session. There are a very important distinction here. Something I will return to. 2) Section 3: The specific problem is that there are attribute combinations which make sense when specified on independent m-lines -- as with classical SDP -- that do not make sense when those m-lines are then multiplexed over the same transport. I think this must be clarified to discuss one particular case: do not make sense when those m-lines are then jointly describing an RTP session over one specific transport. If you want to describe the issues of having multiple RTP sessions over the same transport, then you gets a different problem, as having multiple RTP sessions over the same transport requires some method for explicitly indicating which RTP session a particular RTP/RTCP packet belongs to as well as its signaling attribute. In fact almost the whole problem that arises in SDP signaling can go away as long as one enforces one m-line equals one RTP session. The "only" issue that remains under a paradigm of one m-line equeals one RTP session, and then using SHIM multiplexing are the SDP parameters that describe the common transport, i.e. ports, protocols, ICE, flow level QoS and aggregate bandwidths. 3) Section 4: o Attributes related to media content such as media type, encoding schemes, payload types. o Attributes specifying media transport characteristics like RTP/ RTCP port numbers, network addresses, QOS. o Metadata description attributes capturing session timing and origin information. o Attributes establishing relationships between media streams such as grouping framework This is clearly one way of classifying them. However, for the task in hand I think it would make more sense to maybe classify them in relation to: * Transport level: Specifying the underlying transport and protocol, such as ICE. * RTP Session level: RTP/RTCP extensions, payload types * Media Stream level: Identities, bandwidth, purpose, timing * Releationships: Grouping information I think using a two part classification might help: One for describing what scope a parameter has, and some might have more than one scope, and in that scope discuss the perceived impact on the attribute according to the proposed handling, i.e. normal, not recommended, identical, sum, special. The transport class should possibly be changed to "select one". 4) I also think your classes are assuming a bit of the solution as it appears to include make a difference for things that you think needs to be different to work with legacy, but if multiple media lines form one RTP session in the end must have a particular result. For example the difference between Transport and Identical is actually encoding that difference. If you have no legacy you could set all transport parameters identical over all the m-lines that are part of a common RTP session. Only if might encounter legacy do you need to have a different behavior. Thus a potential would be to separate the required behavior for legacy resulting in fallback into separate RTP sessions compared to forming a common one. For example a=candidate LEGACY: Unique BUNDLE: Identical I have not analyzed if this would expose new information, or if the transport category is sufficient to capture this difference? 5) Section 5.3: Appears correct. This is clearly a transport and RTP session affecting parameter. 6) Section 5.9: Identical works, but as being an RTP session level parameter one can see two interpretations here: A) RTP session level only, i.e. is reduced size RTCP enable for the RTP session. Then it should truly be identical. B) That is both an enabling and an indication of intent/allowance to use it related to the RTP media streams specified under this m-line. Thus the RTP session would be enabled for reduced size RTCP as soon as any m-line includes it and the peer acks it, while the individual m= lines indicates if it should be used. I don't know if that level of indication is necessary. Just pointing out that this is not a clear cut classification. 7) Section 6.1: For b=AS isn't normal and SUM a conflict? b=AS has two impacts, it will specify the RTCP bandwidth unless b=RR and/or b=RS is used. Thus it is a RTP session parameter. It is also one of these paramters that I gotten the feeling that people applies for an individual media stream, rather than a session aggregate. We also have the directionality issue here. In which directions does it applies? Note these issues arise from the unclear specification of b=AS rather than anything else. 8) Section 6.2: SUM is a reasonable classification. However, for a multi-stream environment it is not clear that an application actually need the sum of all RR and RS, as there is significant efficiency benefits in sharing RTCP bandwidth for multiple flows compared to needing to reach statistical feedback timeliness goals individually. Thus, you might want to have different values for a BUNDLE compared to a legacy case. 9) Section 6.3: First of all TIAS has no defined Offer/Answer usage. I know it is used in O/A context but that is not well defined. In fact it can't be providing accurate information of expected bit-rate for RTP level, only on media level prior to packetization. I would also note that a=maxprate is missing. It is an integral part of the solution that can't be ignored. The intention of TIAS is that you take the media level bit-rate and then multiply the known per-packet overhead for the selected transport with the maxprate value to determine the worst case bit-rate from the transport to more accurately capture the required usage. Thus, these values can't be SUMMED independently and then multiplied. That would inflate the value significantly. Multiply first then sum must be applied to even get close. This still ignores the fact that this is a send side declaration, and not intended for receiver negotiation. 9) Section 8.3: The capabilitiy to use ECN is a combination of transport and RTP session. I would note that it does requires certain additional SDP paremters such as the a=ecn-capable-rtp: attribute. I think these should be more explicitly be listed together. Especially as they don't appear to be mentioned otherwise in the document. As this is something you enable on RTP session level, I think it is need to arrive in identical parameters in a bundle case. And they can actually be identical in a legacy case also. I don't really see an reason for trying to use ECN with RTP for some RTP media streams and not all. cheers Magnus Westerlund ---------------------------------------------------------------------- Multimedia Technologies, Ericsson Research EAB/TVM ---------------------------------------------------------------------- Ericsson AB | Phone +46 10 7148287 Färögatan 6 | Mobile +46 73 0949079 SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com ----------------------------------------------------------------------
- [MMUSIC] Review of draft-nandakumar-mmusic-sdp-mu… Magnus Westerlund