Re: [regext] draft-ietf-regext-epp-fees-02.txt: currency error handling, command wildcard

Thomas Corte <Thomas.Corte@knipp.de> Tue, 28 March 2017 15:35 UTC

Return-Path: <Thomas.Corte@knipp.de>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9AE712943D for <regext@ietfa.amsl.com>; Tue, 28 Mar 2017 08:35:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=no
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 BQKT28WdTF9u for <regext@ietfa.amsl.com>; Tue, 28 Mar 2017 08:35:31 -0700 (PDT)
Received: from kmx10a.knipp.de (clust3a.bbone.knipp.de [195.253.6.83]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 675B8126FB3 for <regext@ietf.org>; Tue, 28 Mar 2017 08:35:31 -0700 (PDT)
Received: from localhost (localhost.bbone.knipp.de [127.0.0.1]) by kmx10a.knipp.de (Postfix) with ESMTP id F1FFC97FC; Tue, 28 Mar 2017 17:35:29 +0200 (MESZ)
X-Knipp-VirusScanned: Yes
Received: from kmx10a.knipp.de ([127.0.0.1]) by localhost (kmx10a.knipp.de [127.0.0.1]) (amavisd-new, port 10004) with ESMTP id Uub7PMEI6Wr5; Tue, 28 Mar 2017 17:35:23 +0200 (MESZ)
Received: from hp9000.do.knipp.de (hp9000.do.knipp.de [195.253.2.54]) by kmx10a.knipp.de (Postfix) with ESMTP id 7610C9807; Tue, 28 Mar 2017 17:34:32 +0200 (MESZ)
Received: from [195.253.2.11] (seth.do.knipp.de [195.253.2.11]) by hp9000.do.knipp.de (@(#)Sendmail version 8.15.2 - Revision 1.0 :: HP-UX 11.31 - 29th July,2016/8.15.2) with ESMTP id v2SFYWDC021819; Tue, 28 Mar 2017 17:34:32 +0200 (MESZ)
To: "Gould, James" <jgould@verisign.com>, Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>, regext <regext@ietf.org>
References: <216C099C-41E6-48EA-8925-E239AA3F2015@verisign.com>
Cc: support@tango-rs.com
From: Thomas Corte <Thomas.Corte@knipp.de>
Message-ID: <bfe3eb81-dce6-45fe-28a4-3ffdb29639c6@knipp.de>
Date: Tue, 28 Mar 2017 17:34:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <216C099C-41E6-48EA-8925-E239AA3F2015@verisign.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/CoTHk4OOiHHGqZEiA76O_pqAYYQ>
Subject: Re: [regext] draft-ietf-regext-epp-fees-02.txt: currency error handling, command wildcard
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>, <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>, <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Mar 2017 15:35:41 -0000

Hello,

On 2017-03-28 15:09, Gould, James wrote:

> I had an action item from the working session yesterday to describe
> the proposal for the extension to the check response that matches
> Option C discussed at IETF-95.  The “more complex option” outlined in
> the list message
> https://www.ietf.org/mail-archive/web/eppext/current/msg00883.html
> provides an example of the extension to the check command and
> response for what was called Option C.  Option C included a single
> currency and a list of commands that is applied to all the domains in
> the availability check.  In the case of an invalid currency, the
> <fee:cd avail=”false”> with a <fee:reason>Invalid
> currency</fee:reason> could be returned for each of the domain names
> in the check instead of returning a failure to the availability
> check.  In this case Option C truly is an extension of the check with
> a single set of requested fee information.

I like this approach better than the current fee-0.15 solution, which allows/requires restricting the fee checks to a subset of the checked object, and supports a different currency and set of commands for every object. While this may come in handy sometimes, the most common usage would probably select all checked objects and a single currency and set of commands. Most servers will probably only support a single currency anyway.

What I don't like is that the "avail" attribute has been moved to the framing <fee:cd> element, while it's an attribute of <fee:command> in the current fee-0.15 draft. The latter has the big advantage of the server being able to report e.g. the availability of a fee (and the domain in general) for different launch phases.

For example, with fee-0.15, this response could indicate that the domain premium-500.example is available in the launch phase "custom/open-500", but not in "open".

S: <?xml version="1.0"?>
S: <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
S:   <response>
S:     <result code="1000">
S:       <msg>Command completed successfully</msg>
S:     </result>
S:     <resData>
S:       <domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S:         <domain:cd>
S:           <domain:name avail="false">premium-500.example</domain:name>
S:           <domain:reason>not registrable in this phase</domain:reason>
S:         </domain:cd>
S:       </domain:chkData>
S:     </resData>
S:     <extension>
S:       <chkData xmlns="urn:ietf:params:xml:ns:fee-0.15">
S:         <cd>
S:           <objID>premium-500.example</objID>
S:           <currency>EUR</currency>
S:           <command avail="false" name="create" phase="open">
S: 	       <reason>the requested launch phase is not suitable for the domain</reason>
S: 	     </command>
S:           <command name="create" phase="custom" subphase="open-500">
S:             <period unit="y">1</period>
S:             <fee applied="immediate" description="domain creation in phase 'open-500'" grace-period="PT1M" refundable="true">500.00</fee>
S:           </command>
S:         </cd>
S:       </chkData>
S:     </extension>
S:     <trID>
S:       <clTRID>e1f8b4cd61f84469436bf16585f976b3</clTRID>
S:       <svTRID>1490271424463-9</svTRID>
S:     </trID>
S:   </response>
S: </epp>

I'd like to retain this feature. I'm aware that this somewhat "abuses" the fee extension to determine which launch phase is suitable for a domain (and there is an overlap with the extension's "domain class" concept), but it's not too far from the intended use in my opinion.

Best regards,

Thomas

-- 
TANGO REGISTRY SERVICES® is a product of:
Knipp Medien und Kommunikation GmbH
Technologiepark                             Phone: +49 231 9703-222
Martin-Schmeisser-Weg 9                       Fax: +49 231 9703-200
D-44227 Dortmund                       E-Mail: support@tango-rs.com
Germany