This RFC is no longer being updated, the proposed changes have been implemented.
Please refer to the EPP Service Specification and the Registrar Portal Service Specification for details.
DKHM RFC for handling of Automatic Renewal or Expiration
2020-11-23 Revision: 1.3
Table of Contents
Introduction
This is a draft and proposal for changes to the process for automatic renewal for domain names via the DK Hostmaster EPP portal/service. The specification briefly touches on the registrar portal service, which mimicks the EPP service for consistency.
The overall description of the concept of the registrar model offered by DK Hostmaster A/S provided as a general overview, where this RFC digs into the details of automatic renewal in the context of an implementation proposal.
About this Document
We have adopted the term RFC (Request For Comments), due to the recognition in the term and concept, so this document is a process supporting document, aiming to serve the purpose of obtaining a common understanding of the proposed implementation and to foster discussion on the details of the implementation. The final specification will be lifted into the DK Hostmaster EPP Service Specification implementation and this document will be closed for comments and the document no longer be updated and it will be archived.
This document is not the authoritative source for business and policy rules and possible discrepancies between this an any authoritative sources are regarded as errors in this document. This document is aimed at the technical specification and possible implementation and is an interpretation of authoritative sources and can therefor be erroneous.
License
This document is copyright by DK Hostmaster A/S and is licensed under the MIT License, please see the separate LICENSE file for details.
Document History
-
1.3 2020-11-23
- Addition of additional links to resources
- Correction to links pointing to redundant resources
- Minor rephrasing and clarifications
-
1.2 2020-11-04
- Corrected namespace in examples, the
params
part was not included
- Corrected namespace in examples, the
-
1.1 2020-09-19
- Addition of disclaimer
-
1.0 2020-08-25
- Initial revision
XML and XSD Examples
All example XML files are available in the DK Hostmaster EPP XSD repository.
The proposed extensions and XSD definitions are available in version 4.0 of the DK Hostmaster XSD, which is currently marked as a pre-release.
The referenced XSD version is not deployed at this time and is only available in the EPP XSD repository, it might be surpassed by a newer version upon deployment of the EPP service implementing the proposal, please refer to the revision of EPP Service Specification describing the implementation.
Description
DK Hostmaster introduces the concept of auto renewal. This is will be based on a single value assigned to a designated domain name.
The default is that auto renewal is enabled, meaning that domain names will be renewed unless requested not to.
The basic request to alter this behaviour is to use the update domain
command. The command will support both enabling and disabling auto renewal.
info domain
will be extended with information on the current status for auto renewal.
In addition to updating the auto renewal state using by updating the setting. The setting can be set both at the time of:
- domain creation via
create domain
- transfer via
transfer domain
The handling of automatic renewal for transfer is described in detail in this RFC, for additional details on the DK Hostmaster implementation for the transfer domain
command, please refer to the separate RFC: "DKHM RFC for Transfer Domain EPP Command" for details.
And last but not least the auto renewal can be disabled by using the delete domain
command, by providing a date prior to the expiry date, auto renewal will be implicitly disables. Please see the RFC: "DKHM RFC for Delete Domain EPP Command" for details.
<extension>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">false</dkhm:autoRenew>
</extension>
The XSD for the extension look as follows:
<!-- custom: autoRenew -->
<simpleType name="autoRenew">
<restriction base="token">
<enumeration value="true"/>
<enumeration value="false"/>
<restriction/>
</simpleType>
Ref: dkhm-4.0.xsd
The complete command for disabling automatic renewal will look as follows (example lifted from RFC:5731 and modified):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>eksempel.dk</domain:name>
</domain:update>
</update>
<extension>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">false</dkhm:autoRenew>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
And the complete command for enabling automatic renewal will look as follows (example lifted from RFC:5731 and modified):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<update>
<domain:update
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>eksempel.dk</domain:name>
</domain:update>
</update>
<extension>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">true</dkhm:autoRenew>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
The alteration of the value will be reflected in the info domain
response using the same extension (example lifted from DK Hostmaster EPP service specification revision 3.8 and modified):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<response>
<result code="1000">
<msg>Info result</msg>
</result>
<resData>
<domain:infData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>dk-hostmaster.dk</domain:name>
<domain:roid>DK_HOSTMASTER_DK-DK</domain:roid>
<domain:status s="serverUpdateProhibited"/>
<domain:status s="serverTransferProhibited"/>
<domain:status s="serverDeleteProhibited"/>
<domain:registrant>DKHM1-DK</domain:registrant>
<domain:ns>
<domain:hostObj>auth01.ns.dk-hostmaster.dk</domain:hostObj>
<domain:hostObj>auth02.ns.dk-hostmaster.dk</domain:hostObj>
<domain:hostObj>p.nic.dk</domain:hostObj>
</domain:ns>
<domain:host>auth01.ns.dk-hostmaster.dk</domain:host>
<domain:host>auth02.ns.dk-hostmaster.dk</domain:host>
<domain:host>venteliste1.dk-hostmaster.dk</domain:host>
<domain:host>venteliste2.dk-hostmaster.dk</domain:host>
<domain:host>blocked1.ns.dk-hostmaster.dk</domain:host>
<domain:host>blocked2.ns.dk-hostmaster.dk</domain:host>
<domain:clID>DKHM1-DK</domain:clID>
<domain:crID>DKHM1-DK</domain:crID>
<domain:crDate>1998-01-19T00:00:00.0Z</domain:crDate>
<domain:exDate>2022-03-31T00:00:00.0Z</domain:exDate>
</domain:infData>
</resData>
<extension>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">true</dkhm:autoRenew>
</extension>
<trID>
<clTRID>fee9352765ab62fefc69558d3f4e0eed</clTRID>
<svTRID>CF056EB6-D2CA-11E9-8DAB-C853983F0358</svTRID>
</trID>
</response>
</epp>
As described the flag can be set at the time of transfer or creation.
A creation command would look as follows:
<?xml version="1.0" encoding="utf-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd">
<command>
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd">
<domain:name>eksempel.dk</domain:name>
<domain:period unit="y">1</domain:period>
<domain:ns>
<domain:hostObj>ns1.dk-hostmaster.dk</domain:hostObj>
<domain:hostObj>ns2.dk-hostmaster.dk</domain:hostObj>
</domain:ns>
<domain:registrant>DKHM1-DK</domain:registrant>
<domain:authInfo>
<domain:pw />
</domain:authInfo>
</domain:create>
</create>
<extension>
<dkhm:orderconfirmationToken xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">testtoken</dkhm:orderconfirmationToken>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">true</dkhm:autoRenew>
</extension>
<clTRID>92724843f12a3e958588679551aa988d</clTRID>
</command>
</epp>
Do note the above example also includes the dkhm:orderconfirmationToken
, which is not related to dkhm:autoRenew
, but can co-exist as demonstrated by the example.
For transfer an example using the same extension would look as follows (example lifted from RFC:5731 and modified):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<transfer op="request">
<domain:transfer
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>eksempel.dk</domain:name>
<domain:authInfo>
<domain:pw>DKHM1-DK-098f6bcd4621d373cade4e832627b4f6</domain:pw>
</domain:authInfo>
</domain:transfer>
</transfer>
<extension>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">true</dkhm:autoRenew>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
Since the support for the EPP command transfer domain
is only a proposal, the above example relies on the outcome of the RFC. please refer to the separate RFC: "DKHM RFC for Transfer Domain EPP Command" for more details.
In order to minimise the use of extensions, the registrar will be allowed to define default values for autorenewal behaviour and these defaults will be used by the above commands, where the extensions are not used.
If a registrar specifies the default behaviour of own account to be that auto renewal should not happen and this setting is now overwritten by using the extension for the specific commands, auto renewal will be set to false
.
Command\Default | Auto Renew | Expire |
---|---|---|
update | N/A | N/A |
create | true |
false |
transfer | true |
false |
The update domain
will only rely on the use of the extension for explicitly setting the auto renewal for the designated domain name. Whereas create domain
and transfer
domain will use the default setting, unless explicitly overwritten using the extension and of course specifying a value holding the opposite value of the default. Specifying the same value as the default using the extension will of course not have any effect.
Administration of these values for controlling the default behaviour will have to be done via the Registrar Portal, since account level commands are not offered by the EPP service.
XSD Definition
This XSD definition is for the proposed extension dkhm:autoRenew
, which is used to communicate a the setting of auto renewal for a designated domain name.
<!-- custom: autoRenew -->
<simpleType name="autoRenew">
<restriction base="token">
<enumeration value="true"/>
<enumeration value="false"/>
<restriction/>
</simpleType>
Example (lifted from above):
<extension>
<dkhm:autoRenew xmlns:dkhm="urn:dkhm:params:xml:ns:dkhm-4.0">false</dkhm:autoRenew>
</extension>
Ref: dkhm-4.0.xsd
The referenced XSD version is not deployed at this time and is only available in the EPP XSD repository, it might be surpassed by a newer version upon deployment of the EPP service implementing the proposal, please refer to the revision of EPP Service Specification describing the implementation.
References
- "New basis for collaboration between registrars and DK Hostmaster"
- DK Hostmaster EPP Service Specification
- DK Hostmaster EPP Service XSD Repository
- DKHM RFC for Delete Domain EPP Command
- DKHM RFC for Transfer
- RFC:5730 "Extensible Provisioning Protocol (EPP)"
- RFC:5731 "Extensible Provisioning Protocol (EPP) Domain Name Mapping"