Re: [apps-discuss] APPSDIR review of draft-ietf-simple-chat-13
Alexey Melnikov <alexey.melnikov@isode.com> Mon, 10 September 2012 14:16 UTC
Return-Path: <alexey.melnikov@isode.com>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A545621F8694 for <apps-discuss@ietfa.amsl.com>; Mon, 10 Sep 2012 07:16:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.073
X-Spam-Level:
X-Spam-Status: No, score=-103.073 tagged_above=-999 required=5 tests=[AWL=0.846, BAYES_00=-2.599, GB_I_LETTER=-2, SARE_ADLTOBFU=0.68, USER_IN_WHITELIST=-100]
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 6bPXJsBLYxgt for <apps-discuss@ietfa.amsl.com>; Mon, 10 Sep 2012 07:16:02 -0700 (PDT)
Received: from statler.isode.com (statler.isode.com [62.3.217.254]) by ietfa.amsl.com (Postfix) with ESMTP id 4A77121F867E for <apps-discuss@ietf.org>; Mon, 10 Sep 2012 07:16:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1347286561; d=isode.com; s=selector; i=@isode.com; bh=fkZP33SUNwMeoJtYMY5qr8fgT21G3Pb5lNHWf+F5wqw=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=iq7y1G4L1UcLv1evkKdF2N2Mtcg3CuknQooCtGcOsh+4z5c9YVkyoRNcVp2FlOIX/HjoPw LLoNVeurVW1TNHtIrzFdGx/p4CUz9lLGIv02fOJodAAy6BCGsHCngd8CDelaUyimJiqurJ Mm/WQulY0YiEfV73ZwWuwTYuNHD3r68=;
Received: from [172.16.1.29] (shiny.isode.com [62.3.217.250]) by statler.isode.com (submission channel) via TCP with ESMTPSA id <UE32HAAv34wY@statler.isode.com>; Mon, 10 Sep 2012 15:16:01 +0100
X-SMTP-Protocol-Errors: PIPELINING
Message-ID: <504DF62F.3090101@isode.com>
Date: Mon, 10 Sep 2012 15:16:15 +0100
From: Alexey Melnikov <alexey.melnikov@isode.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
To: "Miguel A. Garcia" <Miguel.A.Garcia@ericsson.com>
References: <4F2FA266.8040406@telecomitalia.it> <5044C19A.3080505@ericsson.com>
In-Reply-To: <5044C19A.3080505@ericsson.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: Geir Arne Sandbakken <geirsand@cisco.com>, "apps-discuss@ietf.org" <apps-discuss@ietf.org>, Ben Campbell <ben@nostrum.com>
Subject: Re: [apps-discuss] APPSDIR review of draft-ietf-simple-chat-13
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Sep 2012 14:16:03 -0000
On 03/09/2012 15:41, Miguel A. Garcia wrote: > Enrico, Alexey: > > I am pulling up your original review of draft-ietf-simple-chat back in > February, and I will try to address the pending issues. > > The current version of the draft is 16: > http://datatracker.ietf.org/doc/draft-ietf-simple-chat/ > > See inline comments. > > On 06/02/2012 10:50, Enrico Marocco wrote: >> Document: draft-ietf-simple-chat-13 >> Title: Multi-party Chat Using the Message Session Relay Protocol (MSRP) >> Reviewers: Alexey Melnicov and Enrico Marocco >> Review Date: 2012-02-06 >> IETF Last Call Date: 2012-02-06 >> >> >> Summary: This draft is almost ready for publication as a Proposed >> Standard, but has a major issue to be taken into consideration and a few >> minor issues to be fixed. >> >> >> Major Issue >> >> The document doesn't describe allowed characters in Nicks and any >> normalization that needs to be applied. > > With respect to the issue of "allowed characters", only UTF-8 s > allowed. This draft is an extension to RFC 4975 (MSRP). The ABNF > syntax of the Use-Nickname header refers to RFC 4975. Section 9 of RFC > 4975 says: "MSRP is a text protocol that uses the UTF-8 [14] > transformation format". So, I believe this issue is solved by indirect > reference. However, to add a bit more emphasis, we can add the > following text: > > According to <xref target="RFC4975">RFC 4975</xref>, MSRP > uses the <xref target="RFC3629"> UTF-8 transformation > format</xref>. The syntax of the MSRP NICKNAME method and the > "Use-Nickname" header field is built upon the <xref > target="RFC4975">MSRP formal syntax </xref> using the > <xref target="RFC5234">Augmented Backus-Naur Form (ABNF > </xref>. That would be perfect, thanks. > With respect to the issue of normalization, I believe this is now > solved in version 16. Section 7.1 contains now the following paragraphs: > > If the policy of the chat room allows the usage of nicknames, any new > nickname requested MUST be prepared and compared with nicknames > already in use or reserved following the rules defined in Preparation > and Comparison of Nicknames [I-D.ietf-precis-nickname]. > > This mitigates the problem of nickname duplication, but it does not > solve a problem whereby users can choose similar (but different) > characters to represent two different nicknames. For example, "BOY" > and "B0Y" are different nicknames which can mislead users. The > former uses the capital letter "O" while the latter uses the number > zero "0". In many fonts the letter "O" and the number zero "0" might > be quite similar, and difficult to be perceived as different > characters. Chat rooms MAY provide a mechanism to mitigate > confusable nicknames. Yes, this is addressed. >> Minor Issues >> >> The document strictly forbids multiple To: headers in the CPIM message, >> that could be used for example to send public personal messages (i.e. >> messages addressed to some particular individual, but shared with the >> entire conference, a-la Twitter). If there's a reason for that, some >> explanation would be useful. > > This was a decision taken by the working group due to the complexity. > For example, what happens if one of the recipients is correct, but > another one is incorrect or has left the chat room. Should the server > process the message to one recipient and not to the other? what would > be the error? It was also conflicting with requirements for side > conferences, something that was part of the deliverables in XCON. > > At the end of the day, the endpoint can always send multiple messages, > each one with a single To header. > > To address this issue, I proposed to add the following text in Section > 6.2: > > This version of the specification does not support > sending a private message to multiple recipients, i.e., > the presence of multiple To headers in the Message/CPIM > wrapper of the MSRP SEND request. This is due to added > complexity, for example, with the need to determine > whether a message was not deliver to some of the > intended recipients. Implementations that still want to > recreate this function can send a series of single > private messages, one private message per intended > recipient. The endpoint can correlate this series of > messages and create the effect of a private message > addressed to multiple recipients. Sounds good. > >> Figure 1 seems to imply that MSRP relays are mandatory. Since they are >> not -- and the draft is pretty clear about it -- I'd suggest to have >> some of MSRP flows in the diagram flow straight from the client to the >> switch. > > Agreed. > >> >> A reference to the SDP mechanism defined in S. 8. would be useful in in >> S. 5.2., last paragraph, S. 6.2, last paragraph, and in any other part >> that deals with discovering of client capability. >> > > Agreed for section 5.2. The proposed change is as follows: > > Last paragraph in Section 5.2 starts with: > > The conference focus of a chat room MUST learn the chat room > capabilities of each participant that joins the chat > room. This is achieved by the exchange of new 'chatroom' > attributes in SDP (see <xref target="chatroom-attribute"/> > for further details). > > > But I believe the last paragraph of S. 6.2 does not talk about > discovering capabilities, so I think the text does not fit there. But > I have found a paragraph in S 4 that talks about capability discovery, > so I have added the last sentence of the previous paragraph too. > >> In Section 5.2: >> >> The conference focus of a chat room MUST learn the chat room >> >> How can this be achieved? A forward pointer might be missing here. > > Yes, this is the previously mentioned paragraph. >> >> capabilities of each participant that joins the chat room. The >> conference focus MUST inform the MSRP switch of such support in >> order to prevent the MSRP switch from distributing private messages >> to participants who do not support private messaging. The >> recipient >> would not be able to render the message as private, and any >> potential reply would be sent to the whole chat room. >> >> In Section 7.1: >> >> The reservation of a nickname can fail, e.g. if the NICKNAME >> request >> contains a malformed or non-existent Use-Nickname header field, or >> if the same nickname has already been reserved by another >> participant (i.e., by another URI) in the chat room. The >> validation can also fail where the sender of the message is not >> entitled to reserve the nickname. In any of these cases the MSRP >> switch MUST answer the NICKNAME request with a 423 response. The >> semantics of the 423 response are: "Nickname usage failed; the >> nickname is not allocated to this user". >> >> It would be better to use different response codes for different error >> conditions. > > In the current version 16, these have been split into two errors: > - 424: Malformed nickname > - 425: Nickname reserved or already in use > > We believe this solves the issue. > Ok. >> Nits [Only the few that came out in non-nitpicking read] >> >> S. 3, REQ-3: s/depend no/depend on/ > > ok. > >> >> S. 4, second paragraph after Figure 2: s/a text/text/ > > ok > >> >> A few 2119 refuses can be also found in the text, e.g.: >> >> S. 5.2, sixth paragraph: s/URI must not/URI MUST NOT/ > > Ok. > > Thanks for your comments. They will be deployed in a newer version of > the document. Thanks, will sanity check it when it is posted.
- [apps-discuss] APPSDIR review of draft-ietf-simpl… Enrico Marocco
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Ben Campbell
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Miguel A. Garcia
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Ben Campbell
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Miguel A. Garcia
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Alexey Melnikov
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Miguel A. Garcia
- Re: [apps-discuss] APPSDIR review of draft-ietf-s… Alexey Melnikov