Re: [Gen-art] Genart last call review of draft-ietf-mmusic-trickle-ice-sip-12
Alissa Cooper <alissa@cooperw.in> Tue, 03 April 2018 13:54 UTC
Return-Path: <alissa@cooperw.in>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 927AC12E8D2; Tue, 3 Apr 2018 06:54:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=cooperw.in header.b=DPau2Gvr; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=XCi8IuG+
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cNljZ1OWjNAA; Tue, 3 Apr 2018 06:54:55 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 28F2912E8E4; Tue, 3 Apr 2018 06:54:50 -0700 (PDT)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 8E05B20A59; Tue, 3 Apr 2018 09:54:49 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Tue, 03 Apr 2018 09:54:49 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cooperw.in; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=uup3b5ncS/JDs6UDfMr86CihEslSI pWIT6x8QSH6mIo=; b=DPau2Gvrhv5HOM9k9ZAg7NHrQKvSaTiQRpqB4Fl1CqXmZ CD5cbr6WENhNi7RsH7H/h5XYQwgy3aOPKLbu5thSs598y20DG5Q1hPXbH0ZSuMXK DVyyykfhg+443/S6BmCKO1GTz7pM8Eb9HFZkbeqdFZzx0XrcLsbovHy+xBa/TmN6 q9U+EcmLfbeB3tn+XRcBccTuV5Nc+EAeLoHTbTHEH7eWrSX+ErIu0W6e8hdKunpP 61sqr4Brmg/2xU+/VLBBbAV/S6QneI+WFfR+LWwuapi6BhwcM/yhJ93oXR8bDFOB 6F4/EA1lLRJ8sdsweFF3RQG6fD5tG9K8NOCXvrTDw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=uup3b5 ncS/JDs6UDfMr86CihEslSIpWIT6x8QSH6mIo=; b=XCi8IuG+uqaMtaxUzT8PhV 1WQXHDDrx6vgrIBPEg1/wSM1G4U+abZiVYlI86bBBTX3wmNwUbkeVk23BhKCFlhv DocHxYhgkH0l9q3WsObBwId1nnoPjxxf+6nFtfoyZZHokktv+JEI7FF/uYNy+V59 I8xErYHG4iw5npl2sk3anMyNRFWVzEEARRE1LGNeV3qRzEGKs0+j+qvJGZz6r4Gm VgbHzzxYs5bmzax1svR1XYeyIuc34o9y8d9WZpcEVSMWQhSMyFG89BnNObii3kjR aztj2P7NfCdhs+Y7cnKzNMPaIlSMQoksjTupD+Bb1eNacWrbPNNKTX6yJwcohLQQ ==
X-ME-Sender: <xms:qYfDWhqjkDN1oZPWcnPGadv7MwoZ5sxGVKC_1MybVzmWqZ75xNccJw>
Received: from rtp-alcoop-nitro3.cisco.com (unknown [173.38.117.78]) by mail.messagingengine.com (Postfix) with ESMTPA id EC935E4412; Tue, 3 Apr 2018 09:54:48 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Alissa Cooper <alissa@cooperw.in>
In-Reply-To: <d8a18070-83c1-e5fa-8b5b-fa47fbed11cc@gmail.com>
Date: Tue, 03 Apr 2018 09:54:47 -0400
Cc: Dale Worley <worley@ariadne.com>, gen-art@ietf.org, mmusic@ietf.org, draft-ietf-mmusic-trickle-ice-sip.all@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <E7328CC2-A8C9-4E69-82E9-8D910444C0EA@cooperw.in>
References: <151676553958.24137.4237678593782258786@ietfa.amsl.com> <d8a18070-83c1-e5fa-8b5b-fa47fbed11cc@gmail.com>
To: Thomas Stach <thomass.stach@gmail.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/D6avsBG0VtGZR8b-vU-Py4NyRsU>
Subject: Re: [Gen-art] Genart last call review of draft-ietf-mmusic-trickle-ice-sip-12
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Apr 2018 13:54:59 -0000
Dale, thanks for your review. Thomas, thanks for your responses. I have entered a No Objection ballot. Alissa > On Feb 1, 2018, at 5:47 PM, Thomas Stach <thomass.stach@gmail.com> wrote: > > Dale, > > first of all apologies for the delay in responding to your thorough review. > > Thanks for your effort. > > more inline > > > On 2018-01-24 04:45, Dale Worley wrote: >> Reviewer: Dale Worley >> Review result: Ready with Issues >> >> I am the assigned Gen-ART reviewer for this draft. The General Area >> Review Team (Gen-ART) reviews all IETF documents being processed >> by the IESG for the IETF Chair. Please treat these comments just >> like any other last call comments. >> >> Document: draft-ietf-mmusic-trickle-ice-sip-12 >> Reviewer: Dale R. Worley >> Review Date: 2018-01-23 >> IETF LC End Date: 2018-01-26 >> IESG Telechat date: [unknown] >> >> Summary: >> >> This draft is on the right track but has open issues, described >> in the review. >> >> This draft is technically quite good, and except for various nits, >> quite well written. But there are some significant technical issues >> that need to be properly settled before the protocol is well-defined >> with good advice on robust usage. I don't think settling these issues >> will be difficult. >> >> ** Global/major issues: >> >> * The tokens "end-of-candidate" and "end-of-candidates" seem to be used >> equivalently in this document, with the following number of uses: >> >> 11 end-of-candidate >> 19 end-of-candidates >> >> Which is the correct form? > Hm, as the grammar says "end-of-candidates ", I'll change to the latter. >> * The definition of application/trickle-ice-sdpfrag describes the use of >> "a=charset" as an attribute, but the grammar of sdpfrag in section 9 >> does not permit that attribute. > The grammar allows for using extension attributes. > "a=charset" would be one of these, but might only be needed if non-ASCII characters are possibly introduced via some potential extension. >> >> * Deployment considerations (section 11) >> >> It might be worth mentioning here what happens if a middlebox deletes >> Trickle ICE INFO requests because it does not understand them, but >> does not delete "Supported: trickle-ice" headers. It seems to me that >> in order to be robust in this situation, a UA should provide a >> globally routable address in the m= lines of the initial offer or >> answer, or if Trickle ICE INFO requests fail, eventually amend the >> addresses to be globally routable addresses. > There are so many ways how middle boxes can break any mechanism, that we can't do much to cover everything. > RFC 5245 has recommendations (e.g. relayed candidates will always work) on how to choose the default destination as provided in the m/c-line. > I don't think we need to repeat that reasoning here , and after all the user agent might not want to use such a globally routable address. >> >> But the WG may have more knowledge about this situation. >> >> * There are various locations where the language has usages that seem to >> me to be excessively informal or prolix. Cases I've noticed are: >> >> 2. Terminology >> >> It is assumed that the reader will be >> familiar with the terminology from both documents. >> >> Probably s/will be/is/. > OK >> >> 3.1. Discovery issues >> >> Such Offers and Answers can >> only be handled meaningfully by agents that actually support >> incremental candidate provisioning, which implies the need to confirm >> such support before actually using it. >> >> It's probably best to omit "actually" here and elsewhere. There is >> also a use of "right from the first Offer". And in some places >> "would" is used where it is not needed or could be replaced by "do"; >> "would" should (IMO) be restricted to situations that are >> counter-factual. There is also a use of "like for example" instead of >> "for example". > I'll have pass through the document and look for these. >> >> I expect the RFC Editor can give guidance on this subject. >> >> ** Detailed/editorial/nits: >> >> A Session Initiation Protocol (SIP) usage for Trickle ICE >> draft-ietf-mmusic-trickle-ice-sip-12 >> >> The current practice is to capitalize "usage" in this situation. >> (I expect the RFC Editor can give guidance on the current >> capitalization style for RFCs.) > We switch to capitalized "Usage" as that seems correct to me. >> >> Abstract >> >> This document defines usage semantics for Trickle ICE with the >> Session Initiation Protocol (SIP) and defines a new SIP Info Package. >> >> Perhaps /a new SIP Info Package/a new SIP Info Package to support this >> usage/. >> >> Table of Contents >> >> The capitalization of section titles seems to be inconsistent. > I'll have a pass through the section titles that are taken over into the ToC >> >> 1. Introduction >> >> It describes how ICE candidates >> are to be exchanged incrementally with SIP INFO requests [RFC6086] >> >> Probably s/exchanged incrementally with/exchanged incrementally >> using/, as "with" can be read to mean that the SIP INFO requests are >> one party which is exchanging. > ok >> >> 4. Incremental Signaling of ICE candidates >> >> The following sections provide further details on how Trickle ICE >> Agents perform the initial Offers/Answers exchange (Section 4.1), >> perform subsequent Offers/Answers exchanges (Section 4.2) and >> establish the INVITE dialog usage (Section 4.3) such that they can >> incrementally trickle candidates (Section 4.4). >> >> I think you want to change "Offers/Answers" to "Offer/Answer". > Yes >> >> 4.3.1. Establishing dialog state through reliable Offer/Answer delivery >> >> It was stated in section 4.1, "Trickle ICE Agents MUST indicate >> support for Trickle ICE by including the SIP option-tag 'trickle-ice' >> in a SIP Supported: header field within all SIP INVITE requests and >> responses.", but it would be helpful to remind the reader in figure 3 >> by showing the Supported: headers: >> >> Alice Bob >> | | >> | INVITE (Offer) | >> | Supported: trickle-ice | >> |--------------------------->| >> | 183 (Answer) | >> | Supported: trickle-ice | >> |<---------------------------| >> >> and similarly in later figures. >> >> Something similar might be done with the "SRFLX Cand." elements to >> make the figures less cramped. >> >> 4.3.2. Establishing dialog state through unreliable Offer/Answer >> >> These retransmissions MUST >> cease on receipt of an INFO request or on transmission of the Answer >> in a 2xx response. >> >> Strictly, "a trickle-ice INFO request", as other INFO requests might >> be received as part of other mechanisms. > OK > I'll change to > "These retransmissions MUST cease on receipt of an INFO request > carrying a 'trickle-ice' Info Package body or on ..." >> >> 4.3.4. Considerations for Third Party Call Control >> >> The peer >> Trickle ICE Agent (the UAC) MUST send a Trickle ICE INFO request as >> soon as they receive an unreliable provisional response (see >> Figure 8). >> >> s/they receive/it receives/ > OK >> >> 4.4. Delivering candidates in INFO messages >> >> Agents MUST include a pseudo "m=" line and an identification tag in a >> "a=mid:" attribute for every "m=" line whose candidate list they >> intend to update. Such "a=mid:" attributes MUST immediately precede >> the list of candidates for that specific "m=" line. All >> "a=candidate" or "a=end-of-candidates" attributes following an >> "a=mid:" attribute, up until (and excluding) the next occurrence of a >> pseudo "m=" line, pertain to the "m=" line identified by that >> identification tag. An "a=end-of-candidates" attribute, preceding >> any pseudo "m=" line, indicates the end of all trickling from that >> agent, as opposed to end of trickling for a specific "m=" line, which >> would be indicated by a media level "a=end-of-candidates" attribute. >> >> This seems to be the first section that involves the detailed >> structure of trickle-ice INFO messages. It would probably be useful >> here to tell the reader that there is a grammar in section 9. > OK >> >> This paragraph is very dense and you should see if you can split it in >> some way. In particular, I think it is possible to separate the first >> part, which discusses the structure of the sdpfrag, from the second >> part, which specifies how the pseudo m= lines in the sdpfrag correlate >> with the m= lines in the offer/answer. > I will have a look into this in order to improve >> >> In addition, it seems to me that there is no requirement that the >> sdpfrag contains as many pseudo m= lines as the offer/answer contains >> m= lines, nor that the pseudo m= lines be in the same order as the m= >> lines that they pertain to (the correspondence being made via the mid >> attributes). Since this is very different from the semantics of SDP >> proper, I think it should be pointed out explicitly. > Makes sense, I'll add a note. >> >> 5. Initial discovery of Trickle ICE support >> >> This makes discovery fairly straightforward for Answerers or for >> cases where Offers need to be generated within existing dialogs >> (i.e., when sending UPDATE or re-INVITE requests). In both scenarios >> prior SDP would have provided the necessary information. >> >> I think you need to expand this to note that INVITE requests are >> required to include "Supported: trickle-ice" if the UA supports >> Trickle-ICE. This is important because a UA may receive an offerless >> re-INVITE as part of initiating a 3PCC -- the peer UA may be >> attempting to connect media between the UA and a third UA, and the >> third UA may not support Trickle ICE, even though the peer UA does. >> (See, e.g., RFC 3725 section 4.1 and RFC 7088 section 2.3. >> In this situation, the offerless re-INVITE would not contain >> "Supported: trickle-ice" unless the peer UA knows that the third UA >> supports Trickle-ICE. The UA, seeing the absence of "Supported: >> trickle-ice", would send a non-Trickle-ICE offer, even if the previous >> SDP had indicated support for Trickle-ICE. > Good point. I'll add an explanation along the lines of your reasoning >> >> 5.1. Provisioning support for Trickle ICE >> >> While the exact mechanism for allowing such provisioning is out of >> scope here, this specification encourages trickle ICE implementations >> to allow the option in the way they find most appropriate. >> >> What is "the option"? Perhaps "such provisioning". > Yes. I'll change accordingly >> >> 5.2. Trickle ICE discovery with Globally Routable User Agent URIs >> >> This circumvents to use of forking >> for that request. >> >> I think you want s/circumvents to/prevents the/. > OK >> >> 5.3. Fall-back to Half Trickle >> >> Figure 11 seems to be incorrect -- since Alice is using Half-Trickle >> ICE, all her candidates are sent in the INVITE, and she shouldn't send >> any INFO requests. But an INFO request from Alice is shown. > No, that is correct. The INFO from Alice acknowledges the receipt of the 183 and stop retransmissions (see section 4.3.2) >> >> 6. Considerations for RTP and RTCP multiplexing >> >> INFO sip:alice@example.com SIP/2.0 >> ... >> Info-Package: trickle-ice >> Content-type: application/sdp >> Content-Disposition: Info-Package >> Content-length: 161 >> >> Shouldn't this be "Content-type: application/trickle-ice-sdpfrag"? > Yes. Thanks for spotting this. >> >> 7. Considerations for Media Multiplexing >> >> INFO sip:alice@example.com SIP/2.0 >> ... >> Info-Package: trickle-ice >> Content-type: application/sdp >> Content-Disposition: Info-Package >> Content-length: 219 >> >> Shouldn't this be "Content-type: application/trickle-ice-sdpfrag"? > ditto >> >> 9.2. Grammar >> >> A sender SHOULD stick to lower- >> case for such grammars, but a receiver MUST treat them case- >> insensitive. >> >> This is awkward. Perhaps better is "A sender SHOULD use lower-case >> for attributes from such earlier grammars, but a receiver MUST treat >> them case-insensitively." > OK >> >> I don't know the practice regarding the overall grammar of SDP, but >> the grammar shown here is very rigid regarding the order of fields in >> <session-level-fields> and in <trickle-ice-attribute-fields>. If this >> rigidity is not intended, there should be some notation on the grammar >> to show this. > I don't see any benefit in making it less rigid and I'm somewhat reluctant to change this at this point of the process. >> >> 10.1. Rationale - Why INFO? >> >> The decision to use SIP INFO requests as a candidate transport method >> is based primarily on their lightweight nature. Once a dialog has >> been established, INFO requests can be exchanged both ways with no >> restrictions on timing and frequency and no risk of collision. >> >> On the other hand, using Offer/Answer and UPDATE requests [RFC3311] >> would introduce the following complications: >> >> A critical fact is that the sending of Trickle ICE candidates in one >> direction is entirely uncoupled from sending candidates in the other >> direction. Thus, the sending of candidates in each direction can be >> done by a stream of INFO requests that is not correlated with the >> stream of INFO requests in the other direction. And since each INFO >> request is cumulatively includes the contents of all previous INFO >> requests in that direction, ordering between INFO requests need not be >> preserved. All of this permits using largely-independent INFO >> requests. >> >> Contrarily, UPDATE or other offer/answer mechanisms assume that the >> messages in each direction are tightly coupled with messages in the >> other direction. > I like this text and will take it over, unless somebody objects. >> >> 12.2. application/trickle-ice-sdpfrag Media Type >> >> This section defines a new Media Type 'application/trickle-ice- >> sdpfrag' in accordance with [RFC6838]. >> >> s/This section/This document/ -- as in section 12.2. > OK >> >> This section should refer to the grammar of section 9 as the >> definition of the media type content. >> >> SDP files are primarily UTF-8 format text. >> >> The content of application/trickle-ice-sdpfrag is not SDP, strictly >> speaking. And as noted later in the document, not all of them are >> UTF-8. I think you want something like this: >> >> The media contents follow the same rules as SDP, except as noted >> in this document. The media contents are text, with the grammar >> specified in section 9. >> >> Then continue with "Although the initially ...", which describes the >> character set implications of "are text". > OK, will do. >> >> The "a=charset:" >> attribute may be used to signal the presence of other character >> sets in certain parts of a trickle-ice-sdpfrag body (see >> [RFC4566]). >> >> Except that "a=charset" is not permitted by the grammar of section 9. > As above, it will fall into the extension-attribute bucket if not understood. > > Thanks again for your thorough review and numerous proposal for improvement. > Regards > Thomas >> >> [END] >> >> >> > > _______________________________________________ > Gen-art mailing list > Gen-art@ietf.org > https://www.ietf.org/mailman/listinfo/gen-art
- [Gen-art] Genart last call review of draft-ietf-m… Dale Worley
- Re: [Gen-art] Genart last call review of draft-ie… Thomas Stach
- Re: [Gen-art] Genart last call review of draft-ie… Dale R. Worley
- Re: [Gen-art] Genart last call review of draft-ie… Alissa Cooper