Alex,

The availability of the domain name and the availability of the fee information 
can be separate.  Consider the use case where a client does a check for an 
existing domain name (e.g., “existing-domain.example”), where the availability 
check returns “false” but the fee extension could return the fee information, 
which may be useful if the existing domain name is in pendingDelete.  Let me be 
clear that the fee information for an existing domain name is based strictly 
off the fee tables and not looking at the fee and credit information of the 
existing domain itself.  The opposite case is sending a check for an available 
domain name (e.g., “invalid-currency.example”) with an invalid currency.  In 
this case, the availability check would return “true” but the fee extension 
would return “false” at the object level.  It’s best to separate the 
availability values, where the availability of the object is based on the 
availability for registration and the availability of the fee is based on the 
availability of the fee information.  I believe it’s best to support a 
fast-fail at the object level by including the avail attribute at the 
<fee:objID> level and leave the avail attribute out of the <fee:command> level.


—

JG

[cid:image001.png@01D2A884.9B48BAB0]

James Gould
Distinguished Engineer
jgo...@verisign.com

703-948-3271
12061 Bluemont Way
Reston, VA 20190

VerisignInc.com<http://verisigninc.com/>

From: regext <regext-boun...@ietf.org> on behalf of Alexander Mayrhofer 
<alexander.mayrho...@nic.at>
Date: Wednesday, March 29, 2017 at 11:37 AM
To: Alexander Mayrhofer <alexander.mayrho...@nic.at>, Roger Carney 
<rcar...@godaddy.com>, "regext@ietf.org" <regext@ietf.org>
Subject: [EXTERNAL] Re: [regext] draft-ietf-regext-epp-fees

[ i hate responding to my own message, but i think i need to add something ]

I wrote my message under the impression that it was suggested to change the 
semantics of the “avail” flag, which is currently defined as:

   The <fee:command> element also has an OPTIONAL "avail" attribute
   which is a boolean.  If the value of this attribute evaluates to
   false, this indicates that the server cannot calculate the relevant
   fees, because the object, command, currency, period or class is
   invalid according to server policy.

The key part here is “indicates that the server cannot calculate the relevant 
fees”. It should *not* imply that the command in question would be available 
for the given combination. I suggest that we simply truncate that paragraph to

   The <fee:command> element also has an OPTIONAL "avail" attribute
   which is a boolean.  If the value of this attribute evaluates to
   false, this indicates that the server cannot calculate the relevant
   fees.

It still has the potential for confusion with the semantics of “this command is 
available” rather than “we could calculate fees”. We could clear this up by 
renaming the attribute to “feeavail” (or anything less awkward than that, just 
something that does not collide with the “regular” avail attribute) ?

If we keep it, my preference would be to keep it on the command level, because 
a registry might be able to calculate fees for one command in the set, but not 
for another, so it should be specific to a certain combination.

Alex

Alex> I think we need to be very very clear what the “avail” attribute on 
either of the levels imply. We should *really* try to stick to the purpose of 
this extension, which is about *fees*. In detail:


-          I think it would be highly confusing and redundant to have it at 
both levels. This would mean we have three instances of “avail” attributes in a 
check response (including the one from the “regular” check).

-          As i have said before, “avail” on the command level seems 
overarching to me, if this is supposed to indicate whether a certain command 
(with a certain period, a certain phase, and a certain currency?) is available 
at this point in time. That’s overlaying too many policy engine decisions, and 
sounds scary to me (besides that it has nothing to do with fees anymore – it’s 
wrapping in “more stuff”)

-          Then again, the “avail” attribute on the fee:objID would essentially 
be a 1:1 copy of the “regular” “avail” attribute – which is redundant too.  
Adding data to a machine-to-machine protocol just for the purpose of comfort 
seems weird to me.

Therefore, thinking about all that, i suggest that we simply remove the “avail” 
attribute from the extension *unless* we find a really precise semantic 
definition of its meaning.




We should keep the purpose of this check to *fees*, not make it a generic 
“policy query oracle” which command is available under which conditions.

best,
Ale
_______________________________________________
regext mailing list
regext@ietf.org
https://www.ietf.org/mailman/listinfo/regext

Reply via email to