[AVT] Comments on draft-ietf-avt-ulp-09.txt
Magnus Westerlund <magnus.westerlund@ericsson.com> Mon, 29 March 2004 16:17 UTC
Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA10737 for <avt-archive@odin.ietf.org>; Mon, 29 Mar 2004 11:17:40 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1B7zRo-0003zc-U2 for avt-archive@odin.ietf.org; Mon, 29 Mar 2004 11:17:13 -0500
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i2TGHCYG015347 for avt-archive@odin.ietf.org; Mon, 29 Mar 2004 11:17:12 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1B7zRd-0003yM-VL; Mon, 29 Mar 2004 11:17:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1B7zRO-0003xP-S9 for avt@optimus.ietf.org; Mon, 29 Mar 2004 11:16:47 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA10695 for <avt@ietf.org>; Mon, 29 Mar 2004 11:16:44 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1B7zRN-0003AV-00 for avt@ietf.org; Mon, 29 Mar 2004 11:16:45 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1B7zQe-00031v-00 for avt@ietf.org; Mon, 29 Mar 2004 11:16:02 -0500
Received: from albatross-ext.wise.edt.ericsson.se ([193.180.251.49]) by ietf-mx with esmtp (Exim 4.12) id 1B7zQ2-0002rP-00 for avt@ietf.org; Mon, 29 Mar 2004 11:15:22 -0500
Received: from esealmw141.al.sw.ericsson.se ([153.88.254.120]) by albatross-ext.wise.edt.ericsson.se (8.12.10/8.12.10/WIREfire-1.8b) with ESMTP id i2TGFLqY028378 for <avt@ietf.org>; Mon, 29 Mar 2004 18:15:21 +0200 (MEST)
Received: from esealnt613.al.sw.ericsson.se ([153.88.254.125]) by esealmw141.al.sw.ericsson.se with Microsoft SMTPSVC(6.0.3790.0); Mon, 29 Mar 2004 18:15:21 +0200
Received: from ericsson.com (research-1fd0e1.ki.sw.ericsson.se [147.214.34.102]) by esealnt613.al.sw.ericsson.se with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72) id H7CMWKX2; Mon, 29 Mar 2004 18:15:21 +0200
Message-ID: <40684B99.6010603@ericsson.com>
Date: Mon, 29 Mar 2004 18:15:21 +0200
X-Sybari-Trust: edec04bb 2c4885b5 832386e3 00000138
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
X-Accept-Language: sv, en-us, en
MIME-Version: 1.0
To: Adam Li <adamli@icsl.ucla.edu>, IETF AVT WG <avt@ietf.org>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 29 Mar 2004 16:15:21.0461 (UTC) FILETIME=[08CE4A50:01C415A9]
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.60
Content-Transfer-Encoding: 7bit
Subject: [AVT] Comments on draft-ietf-avt-ulp-09.txt
Sender: avt-admin@ietf.org
Errors-To: avt-admin@ietf.org
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Hi Adam, I have reviewed draft-ietf-avt-ulp-09.txt, and found a number of thing to comment on. I still think there is need to do another revision before deciding to do a WG last call. I am not satisfied with the explanation of how the FEC stream is bound to the media, especially in regards to the SSRC. See more below. 1. You will need to update the status of this memo, copyright, disclaimer, and IPR section in accordance with RFC 3667 and RFC 3668. 2. Section 1. first paragraph: "FEC has been one of the main methods used to protect against packet loss over packet switched networks [1,9]." Should it say: "FEC is one of the main methods ..." otherwise it sounds that FEC is no longer relevant. 3. Section 7.3: I think this section would benefit from being a bit more structure: I would propose to use a "field name: explanation ..." structure, with separate paragraphs for each section. I would also start with a declaration saying that all RTP header fields are used according to RFC 3550. 4. Section 7.3: The marker bit needs a strict definition, even if it simply says: Is not used and SHALL be set to 0. 5. Section 7.3: The SSRC field text is strange. In a usage where the FEC stream is sent in a separate RTP session then one will need to use the same SSRC as in the media packets that one protects. In general I think the draft is a bit unclear that one for each original SSRC media stream will need to have a corresponding FEC stream. In the case of RED (RFC 2198) one will not have its own SSRC field, it will belong to the primary encoding, thus one may only attach FEC packets that to a media stream that it protects, as they will need to be the same. 6. The usage of RTP sequence number. To my understanding the sequence number is only used to detect the loss of FEC packets, it is not used for any recovery related procedures. The same is true for the RTP timestamp. 7. Section 7.3: "The payload type for the FEC packet is determined through dynamic, out of band means. According to RFC 3550 [3], RTP participants that cannot recognize a payload type must discard it. This provides backwards compatibility. The FEC mechanisms can then be used in a multicast group with mixed FEC-capable and FEC-incapable receivers. In such a case, the FEC stream will have a payload type which is not recognized by the FEC-incapable receivers, and will thus be disregarded." Although this section is correct, it doesn't deal with the signalling plane. If a receiver gets an SDP that declares that FEC will be used, I think it is likely that the receiver will never join the session due to that it contains a media that it understand. The receiver must at least understand the FEC signalling to be able to determine that it can join and ignore the FEC information. 8. Section 7.4: "This header is 12 or 16 octets, depending on whether the extension bit is set." It is not depending on the "extension" bit. It is depending on the "L" bit. 9. Section 7.4: "The SN base field MUST be set to the minimum sequence number of those media packets protected by FEC (at all levels for the extended mode)." I think the use of minimum has some problem in regards to wrap around. For timestamps we always has the possibilities to use the "earliest" designation. However in this case one must probably use a formulation like the "... lowest sequence number, taking wrap around into account, of those ..." 10. Section 7.5: " The setting of mask field when the extended mode FEC is used shall follow the following rules: a. A media packet SHALL be protected only once at each protection level higher than level 0. A media packet MAY be protected more than once at level 0 by different packets, providing the protection lengths of level 0 of these packets are equal. b. For a media packet to be protected at level p, it must also be protect at level p-1. c. If an ULP FEC packet contains protection at level p, it must also contain protection at level p-1." This table and its explanation text has not improved. For example in B. I think it is important to point out that it can be by any packet. Otherwise it is easy to believe that it must be in this packet. I think an example like the following at this place in the specification is a good one. RTP seq / FEC packet 1 | 1 2 4 2 | 1 2 4 3 | 2 2 4 4 | 2 2 4 5 | 3 4 4 6 | 3 4 4 7 | 4 4 4 8 | 4 4 4 ------------------------ Lvl 0 1 2 Which indicates that the first and third FEC packet does only protect level 0. While FEC packet 2 also protects level 0 and 1. And the fourth one protects all three levels. This is in accordance with the above rules. 11. Section 8.1, Second bullet: o Unsigned network-ordered 16 bit representation of the sum of the lengths of the CSRC List, length of the padding, length of the extension, and length of the media packet (16 bits) This text is not as clear as it should be. To my understanding it is only clear by reading the recovery operation, that this is the media packet length - the fixed RTP header (12 bytes). I would recommend that it is formulated as this: * Unsigned networkd-ordered 16 bit representation of the media packet length in bytes minus 12 (for the fixed RTP header), i.e. all of the following if present, CSRC list, extension header, RTP payload, and RTP padding. 12. Section 8.1 sixth bullet: o Padding, if present (variable length) What padding is meant, I guess that it is the optional RTP padding specified by setting the P bit in the RTP header. 13. Section 8.1: Second paragraph: "If the lengths of the bit strings are not equal, each bit string that is shorter than length of the longest, MUST be padded to that length with 0. The pad MUST be added at the end of the bit string." This section does not specify what padding pattern is used, this is important. If not the same pattern is used in protection and recovery operation it may swap bits for a longer packet being recovered. 14. Section 8.2.2: "Any value may be used for the padding." Again a fixed pattern must be used. Use normative language when defining it. 15. Section 9.1: Bullet 2. "For the FEC packet in T, compute the bit string by concatenating the first 64 bits of the FEC header with the FEC payload." I think it is the first 80 bits that shall be copied. Otherwise the packet length recovery field will be present in the FEC strings for the received packets but not the FEC packet. 16. Section 9.1: Bullet 15: There should be a reference to the section that explains how one determines how the FEC stream is bound to the media stream. More of this below. 17. Section 9.2.2: I think this section should clarify that the packets original length is recovered from protection level 0's packet recovery field and will need to be used on higher levels to determine how many bytes that should be included in the recovered packet. 18. Section 11. The initial discussion on application of encryption is missing one important input parameter: Is FEC done on encrypted or unencrypted packets. In certain cases this is possible to do without any problems, however the RTP sequence number will need to be in clear. So it is most probably only SRTP for which it is interesting. Otherwise the FEC must be done prior to encryption. 19. Section 12 and 13 needs to be restructured. I would propose that these two is made into 3 sections. - First a section on the multiplexing issues of FEC. Here one explains the two main ones, separate stream, and the special using RED. It explains how the original stream is bound to the normal, what information is necessary to indicate, and how the SSRC in the recovery step is determined. - as second section we have the MIME parameter registration, listing all parameters that is needed. - Third a mapping to SDP section, which contains rules, an offer-answer section, and examples. This resolves a few loose ends, and will better explain what is necessary to declare in the signalling if one does not use SDP. Either when we migrates to SDP-NG or if one has H.323 or something else. 20. Section 12.1, the example is using PTs 78 and 79 as dynamic PT. please use any number in the range from 96-127, as the current numbers has ended up inside the RTCP PT collision space. 21. Section 12.3: The RTSP chapter is not correct. Each media always has its individual media RTSP control URL. It is the presence at session level that indicates if it aggregated control is available or not. Thus one will need to always use the proposed control URL in the fmtp line if one uses separate streams. Secondly there should be some rules if one needs to use PLAY on a separated FEC stream, or not. One could envision that if one sets up the FEC stream one will receive it in relation to the sent media when one plays the associated media session. This is only a issue for unaggregated control. However there might be reasons that one need to put the FEC stream in PLAY mode to receive any FEC. One should also not that non-aggreaged control with FEC may be problematic as it will not be easy for the server to determine what media stream is bound to the FEC stream. Please see the RTP retransmission format for such a description on this issue. 22. Section 13.1: The first two lines with To: and Subject can be removed. they are replaced by the IANA sections initial lines requesting registration by IANA. 23. Section 13.1 I think one should specify a required parameter "rate", with text declaring that it must (rfc2198 multiplexed) and may be set to the same rate (separate sessions) as the associated media. Requiring the same rate will require the usage of different PTs if one has multiple PTs with different rates for the original media steam. 24. Section 13.1 The address field used is a optional parameter. Also in the current draft it has two different incarnations, one is a RTSP url, the other a complete address specification. These two will be need to be separated. How to do this in SDP will need to be defined, which is best done in a SDP mapping section. 25. Section 13.1 Author/change controller: This should be you adam and possibly also include the AVT wg. 26. Section 13.1: "RTP and SDP Issues: Usage of this format within RTP and the Session Description Protocol (SDP) [6] are fully specified within Section 10 of RFC xxxx." What is the purpose of this section? Cheers Magnus Westerlund Multimedia Technologies, Ericsson Research EAB/TVA/A ---------------------------------------------------------------------- Ericsson AB | Phone +46 8 4048287 Torshamsgatan 23 | Fax +46 8 7575550 S-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com This communication is confidential and intended solely for the addressee(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you believe this message has been sent to you in error, please notify the sender by replying to this transmission and delete the message without disclosing it. Thank you. E-mail including attachments is susceptible to data corruption, interruption, unauthorized amendment, tampering and viruses, and we only send and receive e-mails on the basis that we are not liable for any such corruption, interception, amendment, tampering or viruses or any consequences thereof. _______________________________________________ Audio/Video Transport Working Group avt@ietf.org https://www1.ietf.org/mailman/listinfo/avt
- [AVT] Comments on draft-ietf-avt-ulp-09.txt Magnus Westerlund
- Re: [AVT] Comments on draft-ietf-avt-ulp-09.txt Magnus Westerlund