Internet-Draft | Abbreviated Title | June 2020 |
Yee & Galvin | Expires 3 December 2020 | [Page] |
Domain name registries and registrars report to each other by sharing bulk information through files. This document creates two IANA registries to create a standard reporting mechanism between domain name registries and registrars. The first IANA registry lists standard data elements and their syntax for inclusion in the files. The second IANA registry lists standard reports based on the standard data elements. Each report is a file formatted as a CSV file. The advantage of this reporting mechanism is that reports, each file, can be imported by recipients without any prior knowledge of their contents, although reporting is enhanced with a minimum of knowledge about the files. The mechanism for the transmission and reception of the files is a matter of local policy.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 3 December 2020.¶
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.¶
Currently, domain name registry operators (the producer) create and set their own domain name registration reports for use by their registrars (the consumer). Among the distinctions that vary by producers is the syntax of the data provided, e.g., date formats, and the format of the collection of the data provided, e.g., the report may be a CSV file that tends to allow for straightforward importation or a PDF file that can be problematic to import. In addition, although there are a number of best practice reports that have evolved, these are not currently documented as such, which results in a fair amount of customization on the part of the consumers to import data.¶
This document standardizes the name and syntax of the data elements to be used across all existing domain name registration reports and creates an IANA registry of them to facilitate their evolution, including adding additional data elements as needed. In addition, a known set of existing standard reports using the aforementioned data elements is specified in another IANA registry to facilitate the evolution of the reports and adding additional report definitions as needed.¶
Each report definition MUST use the data elements defined here, including all future reports. Future reports and future data elements may be specified in their own individual documents, updating the IANA registries as needed.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].¶
Data elements are grouped into categories for convenience. There is no other significance to the groupings.¶
Each data element conceptually represents the column heading in a printed report. It is a single unit of information that can be passed from the producer to the consumer. The primary purposes of the IANA registry of data elements are to ensure that each data element is assigned a unique name and that the syntax of each data element is specified.¶
The name of the data element MUST be unique and this characteristic MUST be enforced by registry. The name is used in the report definition (in the next section) to alert the consumer as to what to expect in the file and how to import the data element.¶
The field names MUST NOT contain any whitespace and MAY use US-ASCII underscores (_) as a separator.¶
The US-ASCII comma (,) and backslash (\) are special and MUST NOT appear in any field name or data element value. In order to include either character it must be quoted as follows.¶
The syntax of the data element MAY be whatever is appropriate for the information to be passed. In most cases it will be imported from other standard specifications where the data element is already defined for use in other protocols. In all cases the syntax restriction mentioned above MUST be respected.¶
The subsections below comprise an initial list of known data elements commonly being used between producers and consumers as of the date of publication of this document. The title of the subsection is the field name for the data element.¶
The transaction identifier issued by EPP Server. The format MUST conform to "type:trIDStringType" as specified in RFC 5730 [RFC5730].¶
This is the domain name in EPP RFC 5731 [RFC5731] domain object and it SHOULD be in A-Label format.¶
The type of transform action made to the domain object (CREATE, DELETE, UPDATE, TRANSFER, RENEW) as specified in RFC 5730 [RFC5730] Section 2.9.3¶
The object type involved in the report. In the EPP environment, an object could be domain RFC 5731 [RFC5731], contact RFC 5733 [RFC5733], or host RFC 5732 [RFC5732].¶
The timestamp of the transaction recorded in the system. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The number of unit added to the domain registration period in "domain:period" RFC 5731 [RFC5731] in create command or renew command. If there's no "domain:period", it should take the default value set by the registry.¶
The amount of money charged or returned (shown as negative value) to the registrar. The numeric format MUST conform to the currency specified below in Section 2.1.9. The format must conform to "balanceType" as defined in RFC 8748 [RFC8748]¶
The currency used in the money charged as documented above in Section 2.1.18. It is recommended for currency code to follow ISO 4217 [ISO4217]standard.¶
The status of domain object. It MUST be one of the values specified in RFC 5731 [RFC5731] Section 2.3.¶
The name of the registrar. This field is text/string with no naming convention enforced.¶
Additional information regarding the current entry in the report. It is provided by the producer and its actual value is a matter of local policy.¶
The fee charged to create the domain. The format must conform to "balanceType" as defined in [draft-ietf-regext-epp-fees]¶
The fee charged to renew the domain. The format must conform to "balanceType" as defined in [draft-ietf-regext-epp-fees]¶
The fee charged to transfer the domain. The format must conform to "balanceType" as defined in [draft-ietf-regext-epp-fees]¶
The fee charged to restore the domain. The format must conform to "balanceType" as defined in [draft-ietf-regext-epp-fees]¶
The timestamp of when the domain object becomes available. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The timestamp of when the domain was deleted by the end user. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The timestamp of when the domain will complete its redemption grace period. In BestPractice.domains, this is referred to as 'expired'. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The timestamp of when the domain will be purged and become available again. In BestPractice.domains, this is referred to as 'purged'. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The timestamp of the last time the domain object was updated. In BestPractice.domains, this is referred to as 'Updated'. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The timestamp of the domain object was allocated. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The timestamp of the domain object will expire. The date and time format follows the "type=dateTime" specification as defined in RFC 5731 [RFC5731].¶
The identifier assigned to the registrar. If the registrar is accredited under ICANN, it MUST be the registrar's IANA ID. Otherwise it is a value known between the producer and the consumer.¶
The identifier assigned to the contact object that is associated as registrant of the domain name that MUST conform to "clIDType" specified in RFC 5730 [RFC5730].¶
The value MUST be either 'YES' or 'NO' to indicate whether the domain is DNSSEC signed.¶
The identifier of the contact object assigned by registry system.¶
The value MUST be one of value as defined by "contactAttrType" in RFC 5731 [RFC5731].¶
The name of the contact object. Usually it is the name of an individual or an organization as described in RFC 5733 [RFC5733] Section 2.3¶
MUST be either "YES" or "NO" to indicate whether the contact object is associated with a domain object.¶
The full domain name of the host object. The name MUST be in A-Label format.¶
The IP address of the host object. The syntax of the IPv4 address MUST conform to RFC 791 [RFC0791]. The syntax of the IPv6 address MUST conform to RFC 4291 [RFC4291].¶
The identifier of the contact object assigned by registrar.¶
Each report specification conceptually represents a file of comma separated values (commonly called a CSV file) where the values are selected from the data elements specified above. The first row of the file is a comma separated list of field names as specified in the data element registry. The remaining rows of the file are the unordered sets of data elements, one set per row, where each row is one transaction in the report.¶
Each data element conceptually represents the column heading in a printed report. The first row represents the column headings and each succeeding row represents a transaction of the report.¶
A consumer MUST be able to receive data elements that are not recognized and MAY skip them accordingly, both in the header row and in the transaction rows.¶
A report is specified in the report registry with two pieces of information. First is the name of the report. This can be whatever is appropriate as defined by the producer of the report. The name of the report MUST be unique and this characteristic MUST be enforced by registry.¶
Second is the ordered list of field names of what is included in the report. The field names MUST be listed in the data element registry specified above. The field names and the data MUST appear in the report in the order listed in the report registry.¶
The subsections below comprise an initial list of standard reports commonly being used between producers and consumers as of the data of publication of this document. The title of the subsection is the report name.¶
Field | Reference |
---|---|
TLD | RFC XXXX Section 2.1.1 |
Server_TRID | Section 2.1.2 |
Domain | Section 2.1.3 |
DateTime | Section 2.1.6 |
Registrar_ID | Section 2.4.1 |
Registrar | Section 2.1.11 |
Transaction_Type | Section 2.1.4 |
Period | Section 2.1.12 |
Term | Section 2.1.7 |
Fee | Section 2.1.8 |
Currency | Section 2.1.9 |
Description | Section 2.1.13 |
Field | Reference |
---|---|
TLD | RFC XXXX Section 2.1.1 |
Domain | Section 2.1.3 |
Deleted_Date | Section 2.3.2 |
RGP_Date | Section 2.3.3 |
Purge_Date | Section 2.3.4 |
Field | Reference |
---|---|
TLD | RFC XXXX Section 2.1.1 |
Domain | Section 2.1.3 |
Status | Section 2.1.10 |
Field | Reference |
---|---|
TLD | RFC XXXX Section 2.1.1 |
Domain | Section 2.1.3 |
Updated_Date | Section 2.3.5 |
Registrar_ID | Section 2.4.1 |
Create_Date | Section 2.3.6 |
Expiry_Date | Section 2.3.7 |
Server_Registrant_ID | Section 2.4.2 |
DNSSEC | Section 2.4.3 |
Status | Section 2.1.10 |
Field | Reference |
---|---|
Server_Contact_ID | Section 2.4.4 |
Client_Contact_ID | Section 2.4.10 |
TLD | Section 2.1.1 |
Domain | Section 2.1.3 |
Contact_Type | Section 2.4.5 |
Contact_Name | Section 2.4.6 |
Updated_Date | Section 2.3.5 |
INUSE | Section 2.4.7 |
Registrar_ID | Section 2.4.1 |
Field | Reference |
---|---|
TLD | RFCXXXX Section 2.1.1 |
Nameserver_Host | Section 2.4.8 |
Nameserver_IP | Section 2.4.9 |
The authors would like to thank Roger Carney, Jody Kolker for their reviews and suggestions¶
This document asks IANA to create two new registries. Each registry is a first-come first-served registry.¶
DETAILS TO BE SPECIFIED AS THE DOCUMENT EVOLVES.¶
The field name must be unique and case insensitive.¶
PROPOSED FIELD NAME TABLE ENTRY. DETAILS TO BE SPECIFIED AS THE DOCUMENT EVOLVES.¶
The character encoding for the file contents MUST use UTF-8.¶
TBD on file naming convention suggestion¶