Re: [AVT] draft-ietf-avt-ports-for-ucast-mcast-rtp-04: Review Comments [csp]

Colin Perkins <csp@csperkins.org> Wed, 01 December 2010 17:45 UTC

Return-Path: <csp@csperkins.org>
X-Original-To: avt@core3.amsl.com
Delivered-To: avt@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9A6C83A6C13 for <avt@core3.amsl.com>; Wed, 1 Dec 2010 09:45:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.949
X-Spam-Level:
X-Spam-Status: No, score=-102.949 tagged_above=-999 required=5 tests=[AWL=0.650, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5K4FPqoG+Npc for <avt@core3.amsl.com>; Wed, 1 Dec 2010 09:45:46 -0800 (PST)
Received: from lon1-msapost-2.mail.demon.net (lon1-msapost-2.mail.demon.net [195.173.77.181]) by core3.amsl.com (Postfix) with ESMTP id 44BBD3A6BED for <avt@ietf.org>; Wed, 1 Dec 2010 09:45:46 -0800 (PST)
Received: from mangole.dcs.gla.ac.uk ([130.209.247.112]) by lon1-post-2.mail.demon.net with esmtpsa (AUTH csperkins-dwh) (TLSv1:AES128-SHA:128) (Exim 4.69) id 1PNqlf-0003Od-c0; Wed, 01 Dec 2010 17:46:59 +0000
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: text/plain; charset="us-ascii"
From: Colin Perkins <csp@csperkins.org>
In-Reply-To: <EDC0A1AE77C57744B664A310A0B23AE21E36365E@FRMRSSXCHMBSC3.dc-m.alcatel-lucent.com>
Date: Wed, 01 Dec 2010 17:46:57 +0000
Content-Transfer-Encoding: quoted-printable
Message-Id: <396D3FC7-9DA5-416E-9883-7FABD7234652@csperkins.org>
References: <4CF3BAB3.2000501@ericsson.com> <04CAD96D4C5A3D48B1919248A8FE0D540DC93041@xmb-sjc-215.amer.cisco.com> <EDC0A1AE77C57744B664A310A0B23AE21E36365E@FRMRSSXCHMBSC3.dc-m.alcatel-lucent.com>
To: "DRAGE, Keith (Keith)" <keith.drage@alcatel-lucent.com>
X-Mailer: Apple Mail (2.1082)
Cc: Magnus Westerlund <magnus.westerlund@ericsson.com>, 'IETF AVT WG' <avt@ietf.org>
Subject: Re: [AVT] draft-ietf-avt-ports-for-ucast-mcast-rtp-04: Review Comments [csp]
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/avt>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Dec 2010 17:45:47 -0000

On 1 Dec 2010, at 14:46, DRAGE, Keith (Keith) wrote:
> (As WG chair)
...
> Members of the WG, please chime in - we'd like to get these closed and issue a new version of the draft by the 10th.


In general, I support this approach to port mapping, but there are a number of details that I believe need to be resolved in the draft.

- Introduction, 1st paragraph: suggest clarifying that the ports "are a shared resource that is defined declaratively"?

- Section 3.2, 1st paragraph, begins "We illustrate the second step with an example", but it's not clear what is "the second step" being referred to here.

- Section 3.2 is written as an example, but uses RFC 2119 language, and contains many normative requirements. I would suggest that Section 3 be split into two Sections: one giving the motivating example, and another giving normative requirements for use of the port mapping extensions to RTCP.

- Section 3.2, 1st bullet point on page 8 ("Port P3 denotes..."): the draft should clarify that the client may send any type of RTCP packet to the feedback target, any not just RTCP feedback messages, receiver, and extended reports. 

- Section 3.2, 3rd bullet on page 8, sub-point 1: it's not clear what is meant by "When the retransmission server sends unicast packets for a long period of time, this can exceed that timeout". Would it be clearer to say "when the gap between retransmission requests (or other traffic sent from client to server) is long, this can exceed that timeout"?

- Section 3.2, 4th bullet on page 8: the discussion of how the token may remain valid for multiple sessions is unclear. It may be clearer to say that the token is valid for that port on the server until its expiration time, irrespective of what that port is used for. Following on from this, would it be appropriate to add a warning that the server port SHOULD NOT be reused for other RTP sessions until the expiration time of the tokens issued?

- Section 3.2, step 4 on page 9: the draft needs to give a normative list of which RTCP packet types require an associated token.

- Section 3.2, step 1-5 on pages 9 and 10: these need to be moved out of the example, into a separate normative section.

- Section 5: The RTCP extensions defined here are exchanged in order to setup a unicast session, rather than to provide feedback on an existing session. Accordingly, it's not clear that they should be sent as RTCP Feedback messages. Would it be appropriate to define new RTCP packet types to convey this information, rather than trying to shoehorn this into transport layer feedback packets (this would also avoid the problem of how to set the SSRCs)?

- Section 5: Does the nonce have to be 64 bits? If a 56 bit nonce were sufficient, the feedback packets could be packed much more efficiently.

- Section 5.3 should give a normative list of which RTCP packet types require the token verification messages. Does the RTCP BYE packet need this?

- Section 5.4: it would be useful to include the nonce from the token that failed in the verification failure message, so the client can match up the failure to the token used.

- Section 5 should discuss timings and failure modes. RTCP is not a timely or reliable protocol. What is the expected behaviour if these messages are lost and/or delayed? (e.g., that's the retransmission behaviour).

- Section 6: is this section normative, or an example of how the server can generate a token? There seems little requirement for it to be normative.

- Section 6: why base-64 encode the output? RTCP is a binary protocol.

- Section 7: it would seem appropriate to always send the verification failure RTCP message, even if another error response has been delivered. 

Cheers,
Colin

-- 
Colin Perkins
http://csperkins.org/