[Simple] WGLC Review: draft-ietf-simple-chat-04
"Mary Barnes" <mary.barnes@nortel.com> Tue, 21 April 2009 23:22 UTC
Return-Path: <mary.barnes@nortel.com>
X-Original-To: simple@core3.amsl.com
Delivered-To: simple@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 917393A6B27 for <simple@core3.amsl.com>; Tue, 21 Apr 2009 16:22:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.471
X-Spam-Level:
X-Spam-Status: No, score=-6.471 tagged_above=-999 required=5 tests=[AWL=0.128, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 UOOwgpAooBCM for <simple@core3.amsl.com>; Tue, 21 Apr 2009 16:22:45 -0700 (PDT)
Received: from zcars04e.nortel.com (zcars04e.nortel.com [47.129.242.56]) by core3.amsl.com (Postfix) with ESMTP id AEE3328C1D6 for <simple@ietf.org>; Tue, 21 Apr 2009 16:22:44 -0700 (PDT)
Received: from zrc2hxm0.corp.nortel.com (zrc2hxm0.corp.nortel.com [47.103.123.71]) by zcars04e.nortel.com (Switch-2.2.0/Switch-2.2.0) with ESMTP id n3LNMkh21752; Tue, 21 Apr 2009 23:22:46 GMT
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 21 Apr 2009 18:26:19 -0500
Message-ID: <1ECE0EB50388174790F9694F77522CCF1D94512B@zrc2hxm0.corp.nortel.com>
In-Reply-To: <5EFAF624-8101-41B8-B173-E7E77129E243@estacado.net>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: WGLC Review: draft-ietf-simple-chat-04
Thread-Index: Acm+4kyb2Xvi3cEqRhSpHxquTpbsPgDw4C/Q
References: <66cd252f0904052227o32a1513an4e4d55f7b29173c6@mail.gmail.com> <5EFAF624-8101-41B8-B173-E7E77129E243@estacado.net>
From: Mary Barnes <mary.barnes@nortel.com>
To: Simple WG <simple@ietf.org>
Cc: draft-ietf-simple-chat@tools.ietf.org
Subject: [Simple] WGLC Review: draft-ietf-simple-chat-04
X-BeenThere: simple@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP for Instant Messaging and Presence Leveraging Extensions <simple.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/simple>, <mailto:simple-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/simple>
List-Post: <mailto:simple@ietf.org>
List-Help: <mailto:simple-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/simple>, <mailto:simple-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Apr 2009 23:22:46 -0000
Document: draft-ietf-simple-chat-04 Reviewer: Mary Barnes Review Date: April 21, 2009 WGLC LC End Date: April 27, 2009 Summary: On the right track but needs a good bit more work prior to progressing. General comments/questions/caveats: ----------------------------------- 1) Caveat and comments: I am not an MSRP expert and the doc really needs review by one prior to forwarding, in particular with regards to ensuring normative protocol changes are correct. Obviously, if Ben is the PROTO shepherd, that should cover it. However, my personal opinion is the doc needs a couple more detailed reviews, or at a minimum feedback that folks believe the document is ready, since it is standard's track. 2) General question: Does anyone have a implementation of MSRP chat? That might help identify additional reviewers and would certainly help validate the completeness of the protocol changes in this document. 3) General question: What is the relationship between the "MSRP Switch" and an "MSRP Relay"? It might be good to also show a diagram of how the "MSRP Switch" fits into the overall MSRP model, including relays. This may be quite obvious to most folks, but I think it would help the average developer understand the "big picture". It would also help to clarify this in the definition of "MSRP Switch" (in Terminology - section 2) since the definition uses the term "relay". One suggestion might be to use the term "distributed" or "replicated and forwarded", which is the term that is used in the XCON chat document. 4) Caveat: I did not review the call flows in detail. Again, if there's an implementation, it might be good to pull real call flows or have one of the implementers validate the call flows in the document. Larger issues (i.e., must be resolved prior to leaving WG): ----------------------------------------------------------- 1) Section 6.2 Private Messages: Either I'm not understanding OR there is some duplicate text between paragraphs 5 (starting with "If the recipient is valid...") and paragraph 7. I also found that text rather dense and think that a table might help to clarify the handling of the various cases of support (or not) of private messages. Also, it might help to add some more discrete sections to section 6.2. In particular, it might help to split out the "sender" versus "recipient" processing, as well as "MSRP Switch". 2) Nicknames a) Section 3 (Requirements) i) REQ-3: deals with determining identities. I'm assuming this should include Nicknames, however, the definition of Nickname doesn't put it into the general category of being an Identifer. So, perhaps the definition of Nickname (in section 2) should be changed to something like the following OR a separate requirement for Nicknames should be added: OLD Nickname: a pseudonym or descriptive name associated to a participant. See Section 7 for details NEW Nickname: an additional identifier for a user which provides a pseudonym or descriptive name associated with the participant. See Section 7 for details This would consistent with its description in 7.1 - i.e., the statement "Nicknames are an alternate form of identity, associated ....." b) If a Nickname is another form of identifier, it should be mentioned in section 6.1 in the list of identities. c) Section 7, 1st paragraph, last sentence. This is where some of my confusion is introduced, if a Nickname is another form of Identifier, then it doesn't seem to me that anonymity is being preserved. This likely be more clear when the security considerations are further documented. d) Section 7.1 (Using Nicknames): i) Paragraph 4 introduces a normative reference to P-Asserted-Identity (RFC 3325) since this is the only mechanism described for the validation of the SIP AOR for Nicknames. ii) RFC 3325 is not currently listed as a reference, but needs to be added (to the normative section). iii) This security requirement needs to be added to the Security Considerations (Section 11). And, actually a more detailed description of potential security issues around the use of Nicknames should be added to Section 11. e) Section 7.2 & 7.3(Modifying a Nickname and Removing a Nickname): These sections do not seem to address the reuse of a Nickname that has been changed (i.e., the old one) or one that has been deleted. It would seem that the Nickname should certainly not be reusable within the same chat room instance in which it was previously being used. And, it would seem that a specific or recommended length of time should be associated with a system reusing a specific Nickname. f) Section 7.4 (Nicknames in the Conference Event Package): Aren't you adding the <nickname> attribute to the "user-type" attribute rather than the the "user" element? It would be helpful either way to show the new attribute as it would appear in the context of the schema for clarity Also, it might be nice to add an example Conference Event notification to one of the examples. Minor issues (i.e., wbn to resolve or clarify prior to leaving WG): ------------------------------------------------------------------ 1) Section 3 (Requirements): REQ-10: I would suggest that you delete the "(and perhaps others)" from that requirement. It doesn't seem reasonable to have that as a core requirement since it's open ended, thus you can't be sure this solution would address the "others". 2) Section 5.2 - this section doesn't seem to mention how conference "unaware" participants are involved. Based on the 1st sentence of the second paragraph of the Requirements (section 3) I understood that they would be supported. If not, then that needs to be documented. 3) Section 6.1, second paragraph after the bulleted list, first sentence. I think the "Then" needs to be qualified, since this processing wouldn't occur unless the URI is valid. Thus, I would suggest to preface that sentence with "If the URI is valid, then" 4) Section 8, 2nd paragraph: How does the switch respond (to the sender) in the case of a message sent to a participant that does not support the functionality in this document? It would seem that the sender should be notified, so that Alice could be contacted via another mechanism or the chat room host might want to pick an alternate mechanism for communicating. Nits/editorial comments (depending upon who does the gen-art review, you will likely see them again, so it's likely easier to address now): ------------------------------------------------------------------------ ------- 1) Section 1 (Introduction): There's a bit of redundancy in this section. It would add clarity to move the 4th paragraph prior to the current 3rd and delete the first sentence in the current third paragraph as it's redundant with that in the 4th. The 2nd sentence of the third paragraph is really too detailed and would fit much better as an intro to the 5th paragraph. Thus, I would suggest the following changes: OLD (3rd P): Several such systems already exist in the Internet. Participants in a chat room can be identified with a pseudonym or nickname, and decide whether their real identity is disclosed to other participants. Participants can also use a rich set of features such as the ability to send private instant messages to other participants. They also allow combining instant messaging with other media components, such as voice, video, white boarding, screen sharing, and file transfer. OLD (4th P): Similar conferences are already available today with other technologies different than MSRP. For example, Internet Relay Chat (IRC) [RFC2810], Extensible Messaging and Presence Protocol [RFC3920] based chat rooms, and many other proprietary systems provide this kind of functionality. It makes sense to specify equivalent functionality for MSRP-based systems to both provide competitive features as well as enable interworking between the systems. OLD (5th P): This document defines requirements, conventions, and extensions for providing private messages and nickname management in centralized conferences with MSRP. This document, however, does not specify functionality that can be used in conference with media different than MSRP. This memo uses the SIP Conferencing Framework [RFC4353] as a design basis. It also aims to be compatible with the Centralized Conferencing Framework [I-D.ietf-xcon-framework]. It is expected that future mechanisms will be developed for providing similar functionality in generic conferences, i.e., where the media is not only restricted to MSRP. The mechanisms described in this document provide a future compatible short-term solution for MSRP centralized conferences. ================ NEW (with some minor editorial changes ================= NEW (merging 4th paragraph with the 3rd): Similar conferences supporting chat rooms are already available today supporting media other than MSRP. For example, Internet Relay Chat (IRC) [RFC2810], Extensible Messaging and Presence Protocol [RFC3920] based chat rooms, and many other proprietary systems provide chat room functionality. Specifying equivalent functionality for MSRP-based systems provides competitive features and enables interworking between the systems. While existing systems combine instant messaging with other media components, such as voice, video, white boarding, screen sharing, and file transfer, this document does not specify functionality associated with media other than MSRP. NEW (5th paragraph (with some 3rd paragraph text) becoming the 4th paragraph): This document defines requirements, conventions, and extensions for providing private messages and nickname management in centralized conferences with MSRP. Participants in a chat room can be identified with a pseudonym or nickname, and decide whether their real identity is disclosed to other participants. Participants can also use a rich set of features such as the ability to send private instant messages to other participants. This memo uses the SIP Conferencing Framework [RFC4353] as a design basis. It also aims to be compatible with the Centralized Conferencing Framework [RFC5239]. It is expected that future mechanisms will be developed for providing similar functionality in generic conferences, i.e., where the media is not only restricted to MSRP. The mechanisms described in this document provide a future compatible short-term solution for MSRP centralized conferences. 2) Section 2 (Terminology): a) Private Instant Message - suggest the following change: OLD Private Instant Message: an instant message sent in a chat room whose intended to a single participant. A private IM is usually rendered distinctly from the rest of the IMs, as to indicate that the message was a private communication. NEW Private Instant Message: an instant message sent in a chat room intended for a single participant. A private IM is usually rendered distinctly from the rest of the IMs, indicating that the message was a private communication. b) Anonymous URI: "..in the a..." -> "...in the..." 2) Section 6.2 (Private Messages): a) 3rd paragraph, 1st sentence: It's not clear to me what is meant by "regular instant message". Is it referring to the "received" instant message which is to be sent to the specific participant. b) 5th paragraph, 3rd sentence: "...cased by..." -> "...caused by...." 3) Section 7.1 (Nicknames) a) 1st paragraph: "as long as the participants is" -> "as long as the participantis" b) 1st paragraph: "other mechanisms may exists" -> "other mechanisms may exist" 4) Section 7.5 - "chat room do not allow" -> "chat room does not allow" 5) Section 8, 6th paragraph (the one right after the attribute syntax): i) "allows to use the procedures" -> "allows the use of the procedures" (2 occurences) 6) In addition to the nits listed above, the IDNITS identified below must be fixed prior to forwarding the document. idnits 2.11.08 tmp/draft-ietf-simple-chat-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see http://trustee.ietf.org/license-info): ------------------------------------------------------------------------ ---- No issues found here. Checking nits according to http://www.ietf.org/ietf/1id-guidelines.txt: ------------------------------------------------------------------------ ---- No issues found here. Checking nits according to http://www.ietf.org/ID-Checklist.html: ------------------------------------------------------------------------ ---- No issues found here. Miscellaneous warnings: ------------------------------------------------------------------------ ---- == Line 602 has weird spacing: '...ssaging and P...' == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: Then the MSRP switch MUST inspect the To header field of the Message/ CPIM wrapper. If the To header field of the Message/CPIM wrapper does not contain the chat room URI, it must check if it contains a participants URI associated with a participant. If the URI in the To header can not be resolved (e.g. cased by a mistyped URI or that the recipient has abandoned he chat room), and the Failure-Report header field of the SEND request was either not present in the original request, or had a value of "yes" or "partial", the MSRP switch MUST generate a REPORT request to the sender. The status header field MUST be set to 427. The new 427 status code indicates a failure to resolve the recipient URI in the To header field. If the recipient is valid, but the recipient does not support private messages, and the Failure-Report header field of the SEND request was either not present in the original request, or had a value of "yes" or "partial", the MSRP switch MUST send a REPORT request having the status code of 428. The new response 428 indicate that the recipient does not support private messages. In either case the REPORT request MUST include a Message/CPIM wrapper, with the original From header field included in the SEND request, and the To header field of the original message. The message MUST not be forwarded to the recipient if above conditions applies. The MSRP switch should search it's mapping table to find the MSRP session established towards the recipient. If a match is found the MSRP switch MUST create a SEND request and MUST copy the contents of the sender's message to it. Checking references for intended status: Proposed Standard ------------------------------------------------------------------------ ---- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 4346 (Obsoleted by RFC 5246) == Outdated reference: draft-ietf-xcon-framework has been published as RFC 5239 Summary: 1 error (**), 3 warnings (==), 0 comments (--).
- [Simple] WGLC for draft-ietf-simple-chat-04 Hisham Khartabil
- Re: [Simple] WGLC for draft-ietf-simple-chat-04 Evgeniy Khramtsov
- Re: [Simple] WGLC for draft-ietf-simple-chat-04 Ben Campbell
- Re: [Simple] WGLC for draft-ietf-simple-chat-04 Ben Campbell
- [Simple] WGLC Review: draft-ietf-simple-chat-04 Mary Barnes