Thomas,

I believe the domain-level availability based on launch phases is a corner case 
that as you point out is currently supported by the Availability Check Form in 
draft-ietf-regext-launchphase.  Providing trial-and-error probing is sort of 
the point of the Check Command and its extensions, so I’m not sure whether 
there is a real problem to solve here.  The Availability Check Form of 
draft-ietf-regext-launchphase extends the Domain Check to qualify which phase 
the Domain Check should be executed against.  There is no extension of the 
Domain Check Response with the Availability Check Form since the intent is to 
only provide the target launch phase to execute the availability logic for.  

Your proposal is to pass any empty <launch:check> extension element with 
type=”avail”, to indicate the Availability Check Form, to the Domain Check 
Command for the server to return the list of launch phases where the domain 
name is available. What is the expected behavior of the Domain Check Command 
itself?  Is the availability of the domain name based on the current phase?  If 
this is the case, then we’re getting into the territory of merging two commands 
(availability of domain in current phase and get a list of phases that the 
domain is available) into one.  If such a feature is really needed, I would 
propose creating another check form (e.g. “Phase Availability Check This Form” 
with a type value of “phase-avail”) that only returns the list of phases that 
the domain is available in or a list of all the known phases with an 
availability flag for each phase.  This would define a new Phase Availability 
Check Command that would return the <launch:chkData> extension of an EPP 
Response like what is done for the Claims Check Form or the Trademark Check 
Form.  The following is what a Phase Availability Check Command and Response 
may look like where all of the known phases with an availability flag for each 
phase is returned:

C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C:  <command>
C:   <check>
C:    <domain:check
C:     xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
C:      <domain:name>domain1.example</domain:name>
C:      <domain:name>domain2.example</domain:name>
C:      <domain:name>domain3.example</domain:name>
C:    </domain:check>
C:   </check>
C:   <extension>
C:    <launch:check
C:     xmlns:launch="urn:ietf:params:xml:ns:launch-1.0"
C:     type="phase-avail"/>
C:   </extension>
C:   <clTRID>ABC-12345</clTRID>
C:  </command>
C:</epp>            

S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:  <response>
S:    <result code="1000">
S:     <msg>Command completed successfully</msg>
S:    </result>
S:    <extension>
S:     <launch:chkData
S:      xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
S:      <launch:pd>
S:        <launch:name>domain1.example</launch:name>
S:        <launch:phase avail=”1”>sunrise</launch:phase>
S:        <launch:phase avail=”0” name=”lrp”>claims</launch:phase>
S:        <launch:phase avail=”1” name=”open”>claims</launch:phase>
S:        <launch:phase avail=”1”>claims</launch:phase>
S:      </launch:pd>
S:      <launch:pd>
S:        <launch:name>domain2.example</launch:name>
S:        <launch:phase avail=”0”>sunrise</launch:phase>
S:        <launch:phase avail=”0” name=”lrp”>claims</launch:phase>
S:        <launch:phase avail=”0” name=”open”>claims</launch:phase>
S:        <launch:phase avail=”0”>claims</launch:phase>
S:      </launch:pd>
S:      <launch:pd>
S:        <launch:name>domain3.example</launch:name>
S:        <launch:phase avail=”1”>sunrise</launch:phase>
S:        <launch:phase avail=”1” name=”lrp”>claims</launch:phase>
S:        <launch:phase avail=”1” name=”open”>claims</launch:phase>
S:        <launch:phase avail=”1”>claims</launch:phase>
S:      </launch:pd>
S:     </launch:chkData>
S:    </extension>
S:    <trID>
S:     <clTRID>ABC-12345</clTRID>
S:     <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:  </response>
S:</epp>
 
I question the need for this functionality, since I view the domain-level 
availability based on launch phases as being already supported by the 
Availability Check Form in draft-ietf-regext-launchphase, and adding a new 
check form to draft-ietf-regext-launchphase as meeting the same need in a 
different way for a corner case.  I would like to hear from the registries and 
registrars of whether this additional functionality is needed.  I believe it is 
not needed.         
 
—
 
JG



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

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

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

On 8/4/17, 7:19 AM, "regext on behalf of Thomas Corte" <regext-boun...@ietf.org 
on behalf of thomas.co...@knipp.de> wrote:

    James,
    
    On 03/08/2017 18:12, Gould, James wrote:
    
    > Roger,
    > 
    > I believe TLD level EPP policies is relevant, but is best suited for
    > something outside of the Launch Phase or Registry Fee command-response
    > extensions.   An example policy EPP mapping is the Registry Mapping
    > 
(https://www.verisign.com/assets/epp-sdk/verisign_epp-extension_registry_v00.html)
    > that does provide launch phase schedule information at the TLD (zone)
    > level.  Something like the Registry Mapping with extensions to define the
    > features and policies of EPP extensions like the Launch Phase or Registry
    > Fee extensions is best suited for defining and discovering the features
    > and policies.    
    
    This "Registry Mapping" extension seems suitable to discover the more
    "static" properties of a registry's setup (including the generally
    supported phases).
    
    However, what I'd also like to see is a more "dynamic" phase discovery.
    In particular, we should cover cases in which a specific domain name may
    only be available when created in specific launch phases, and provide a
    way to determine these phases (this functionality was unfortunately
    removed from the fee extension in draft-ietf-regext-epp-fees-06).
    
    To me, such a feature seems closely tied to the "Availability Check Form"
    defined in the launch phase extension, which is defined exactly for that
    purpose (from the launch phase extension draft: "Domain names may be made
    available only in unique launch phases, whilst remaining unavailable for
    concurrent launch phases.").
    The only problem is that the "Availability Check Form" forces registrars
    to perform trial-and-error probing, since it requires the specification
    of a launch phase and will only tell whether or not that phase is
    suitable. Registrars need to check all known launch phases in turn until
    a suitable one is found.
    
    The problem of launch phase discovery for specific names could therefore
    be solved as an extension of the launch phase extension, e.g. by making
    the specification of the phase for the "Availability Check Form"
    *optional* and, if not specified, allowing the command to return a list
    of suitable launch phases for the name.
    
    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: supp...@tango-rs.com
    Germany
    
    _______________________________________________
    regext mailing list
    regext@ietf.org
    https://www.ietf.org/mailman/listinfo/regext
    

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

Reply via email to