TOC |
|
This document describes application layer client-server protocol extensions for the Extensible Provisioning Protocol as needed for the management of domain objects stored in the .au Registry. Specified in XML, the protocol defines specific object management operations and an extensible framework that maps the protocol extensions to the relevant objects. This document includes a protocol specification, an object mapping template, and an XML media type registration. This document obsoletes the .au Extensions version 1.1.
This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC 2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft.
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 http://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 January 2, 2016.
1.
Introduction
2.
EPP <greeting>
3.
EPP <login>
3.1.
EPP <login> Command
3.2.
EPP <login> Response
4.
EPP <domain:info>
4.1.
EPP <domain:info> Command
4.2.
EPP <domain:info> Response
5.
EPP <domain:create>
5.1.
EPP <domain:create> Command
5.2.
EPP <domain:create> Response
6.
EPP <domain:update>
6.1.
EPP <domain:update> Command
6.2.
EPP <domain:update> Response
7.
au Extensions <auext:registrantTransfer>
7.1.
au Extensions <auext:registrantTransfer> Command
7.2.
au Extensions <auext:registrantTransfer> Response
8.
Formal Syntax
8.1.
XML Schema [urn:X-au:params:xml:ns:auext-1.2]
8.2.
XML Schema [urn:X-au:params:xml:ns:audomain-1.1]
9.
Security Considerations
10.
Normative References
§
Authors' Addresses
TOC |
This document contains explanations of the relevant commands from the EPP RFCs that are affected by the inclusion of the au extensions.
The use of these extensions by the client/server will be identified in the following commands as explained in the relevant sections below:
EPP's command response extension framework [EPP RFC4930 2.7.3] is used to extend the following commands:
And the following responses:
The following additional Protocol Extensions (object/operation extension) [EPP RFC4930 2.7.1] are defined:
TOC |
All standard EPP elements apply plus:
Example <greeting> with .au extensions specified:
<?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"> <greeting> <svID>AusRegistry EPP Server</svID> <svDate>2006-02-09T15:42:29.0Z</svDate> <svcMenu> <version>1.0</version> <lang>en</lang> <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI> <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI> <objURI>urn:ietf:params:xml:ns:host-1.0</objURI> <svcExtension> <extURI>urn:X-au:params:xml:ns:auext-1.2</extURI> <extURI>urn:X-au:params:xml:ns:audomain-1.1</extURI> </svcExtension> </svcMenu> <dcp> <access><all/></access> <statement> <purpose><admin/><prov/></purpose> <recipient><ours/><public/></recipient> <retention><stated/></retention> </statement> </dcp> </greeting> </epp>
TOC |
The login command is not "extended" however the au extensions uri must be specified at time of login.
TOC |
In addition to the standard EPP elements, an EPP <login> command must also include:
Example EPP Login command with .au extensions specified:
<?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"> <command> <login> <clID>REGISTRAR</clID> <pw>p4ssw0rd!</pw> <options> <version>1.0</version> <lang>en</lang> </options> <svcs> <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI> <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI> <objURI>urn:ietf:params:xml:ns:host-1.0</objURI> <svcExtension> <extURI>urn:X-au:params:xml:ns:auext-1.2</extURI> <extURI>urn:X-au:params:xml:ns:audomain-1.1</extURI> </svcExtension> </svcs> </login> </command> </epp>
TOC |
No modifications are required.
TOC |
Extensions are provided to support the ability to view the current .au information associated with a particular domain stored within the registry system.
TOC |
No modifications required.
TOC |
In addition to the standard EPP elements found in a <domain:info> response a <domain:info>response should also conform to the following using an <extension> element that contains the extensions information specific to the domain.
Example <domain:info> response for an authorized client:
<?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>Command completed successfully</msg> </result> <resData> <domain:infData 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>example.com.au</domain:name> <domain:roid>D0000003-AR</domain:roid> <domain:status s="ok" lang="en"/> <domain:registrant>EXAMPLE</domain:registrant> <domain:contact type="tech">EXAMPLE</domain:contact> <domain:ns> <domain:hostObj>ns1.example.com.au</domain:hostObj> <domain:hostObj>ns2.example.com.au</domain:hostObj> </domain:ns> <domain:host>ns1.example.com.au</domain:host> <domain:host>ns2.exmaple.com.au</domain:host> <domain:clID>Registrar</domain:clID> <domain:crID>Registrar</domain:crID> <domain:crDate>2006-02-09T15:44:58.0Z</domain:crDate> <domain:exDate>2008-02-10T00:00:00.0Z</domain:exDate> <domain:authInfo> <domain:pw>0192pqow</domain:pw> </domain:authInfo> </domain:infData> </resData> <extension> <auext:infData xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xsi:schemaLocation= "urn:X-au:params:xml:ns:auext-1.2 auext-1.2.xsd"> <auext:auProperties> <auext:registrantName> RegistrantName Pty. Ltd. </auext:registrantName> <auext:registrantID type="ACN"> 123456789 </auext:registrantID> <auext:eligibilityType> Other </auext:eligibilityType> <auext:eligibilityName> Registrant Eligibility </auext:eligibilityName> <auext:eligibilityID type="ABN"> 987654321 </auext:eligibilityID> <auext:policyReason>2</auext:policyReason> </auext:auProperties> </auext:infData> </extension> <trID> <clTRID>ABC-12345</clTRID> <svTRID>805</svTRID> </trID> </response> </epp>
This .au Extension information is only returned to the sponsoring Registrar, all others will receive the response as below:
Example <info> response for an unauthorized client:
<?xml version="1.0" encoding="UTF-8" standalone='no'?> <epp xmlns="urn:ietf:paramxml:nepp-1.0" xmlnxsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:paramxml:nepp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg>Command completed successfully</msg> </result> <resData> <domain:infData xmlndomain="urn:ietf:paramxml:ndomain-1.0" xsi:schemaLocation="urn:ietf:paramxml:ndomain-1.0 domain-1.0.xsd"> <domain:name>example.com.au</domain:name> <domain:roid>D0000003-AR</domain:roid> <domain:clID>Registrar</domain:clID> </domain:infData> </resData> <trID> <clTRID>ABC-12345</clTRID> <svTRID>805</svTRID> </trID> </response> </epp>
TOC |
The EPP domain create command is extended to enable the client to supply the required .au information at time of registration.
TOC |
In addition to the standard EPP elements found in a <domain:create> command a <domain:create> command should also conform to the following using the <extension> element that contains the extension information specific to the domain being created.
Example <domain:create> command:
<?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"> <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>example.com.au</domain:name> <domain:registrant>Registrant</domain:registrant> <domain:contact type="tech">Tech2</domain:contact> <domain:authInfo> <domain:pw>0192pqow</domain:pw> </domain:authInfo> </domain:create> </create> <extension> <auext:create xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xsi:schemaLocation= "urn:X-au:params:xml:ns:auext-1.2 auext-1.2.xsd"> <auext:auProperties> <auext:registrantName> RegistrantName Pty. Ltd. </auext:registrantName> <auext:registrantID type="ACN"> 123456789 </auext:registrantID> <auext:eligibilityType> Other </auext:eligibilityType> <auext:eligibilityName> Registrant Eligibility </auext:eligibilityName> <auext:eligibilityID type="ABN"> 987654321 </auext:eligibilityID> <auext:policyReason>2</auext:policyReason> </auext:auProperties> </auext:create> </extension> <clTRID>ABC-12345</clTRID> </command> </epp>
TOC |
No modifications neccessary
TOC |
Extensions are provided to enable a client to make "corrections" to domain name .au information as required.
TOC |
In addition to the standard EPP elements found in a <domain:update> command a <domain:update> command can also conform to the following using the <extension> element that contains the extension information to be updated specific to the domain being updated.
Note: these elements are equivilent to an EPP "chg" element, meaning that all information will be replaced with the new .au extension information supplied I.E. the entire .au extension unit is one atomic unit.
Example <domain:update> command:
<?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"> <command> <update> <domain:update 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>example.com.au</domain:name> <domain:add> <domain:contact type="tech">Tech2</domain:contact> </domain:add> </domain:update> </update> <extension> <auext:update xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xsi:schemaLocation= "urn:X-au:params:xml:ns:auext-1.2 auext-1.2.xsd"> <auext:auProperties> <auext:registrantName> New Name </auext:registrantName> <auext:registrantID type="ACN"> 123456789 </auext:registrantID> <auext:eligibilityType> Other </auext:eligibilityType> <auext:eligibilityName> Registrant Eligibility </auext:eligibilityName> <auext:eligibilityID type="ABN"> 987654321 </auext:eligibilityID> <auext:policyReason>2</auext:policyReason> </auext:auProperties> <auext:explanation> Registrant made spelling mistake during registration. </auext:explanation> </auext:update> </extension> <clTRID>ABC-12345</clTRID> </command> </epp>
TOC |
No modifications necessary
TOC |
With this version of the .au extensions an additional command is added to allow a client to request a "transfer of domain registrant".
TOC |
This command is used to initiate a transfer of registrant of a domain name. A transfer of domain name from one registrant to another also results in a new license period for the domain name. An <auext:registrantTransfer> command is defined as follows:
Example <auext:registrantTransfer> command:
<?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"> <extension> <auext:command xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xsi:schemaLocation="urn:X-au:params:xml:ns:auext-1.2 auext-1.2.xsd"> <auext:registrantTransfer> <auDomain:registrantTransfer xmlns:auDomain="urn:X-au:params:xml:ns:audomain-1.1" xsi:schemaLocation="urn:X-au:params:xml:ns:audomain-1.1 audomain-1.1.xsd"> <auDomain:name>domain.com.au</auDomain:name> <auDomain:curExpDate>2000-04-03</auDomain:curExpDate> <auDomain:period unit="y">2</auDomain:period> <auDomain:auProperties> <auDomain:registrantName> New Name </auDomain:registrantName> <auDomain:registrantID type="ACN"> 123456789 </auDomain:registrantID> <auDomain:eligibilityType> Other </auDomain:eligibilityType> <auDomain:eligibilityName> Registrant Eligibility </auDomain:eligibilityName> <auDomain:eligibilityID type="ABN"> 987654321 </auDomain:eligibilityID> <auDomain:policyReason>2</auDomain:policyReason> </auDomain:auProperties> <auDomain:explanation> Previous registrant has sold the business </auDomain:explanation> </auDomain:registrantTransfer> </auext:registrantTransfer> <auext:clTRID>ABC-12345</auext:clTRID> </auext:command> </extension> </epp>
TOC |
The following response will be returned from the au extensions <registrantTransfer> command:
The resData section of this response contains the following:
Example <auext:registrantTransfer> response:
<?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"> <extension> <auext:response xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xsi:schemaLocation="urn:X-au:params:xml:ns:auext-1.2 auext-1.2.xsd"> <auext:result code="1000"> <auext:msg>Command completed successfully</auext:msg> </auext:result> <auext:resData> <auDomain:rtrnData xmlns:auDomain="urn:X-au:params:xml:ns:audomain-1.1" xsi:schemaLocation="urn:X-au:params:xml:ns:audomain-1.1 audomain-1.1.xsd"> <auDomain:name>domain.com.au</auDomain:name> <auDomain:exDate>2005-04-03T22:00:00.0Z</auDomain:exDate> </auDomain:rtrnData> </auext:resData> <auext:trID> <auext:clTRID>ABC-12345</auext:clTRID> <auext:svTRID>2389742981742</auext:svTRID> </auext:trID> </auext:response> </extension> </epp>
TOC |
TOC |
<?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="urn:X-au:params:xml:ns:auext-1.2" xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <!-- Import common element types. --> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/> <annotation> <documentation> .au Extensions to the Extensible Provisioning Protocol v1.2 schema. </documentation> </annotation> <!-- Protocol extension framework elements. --> <element name="command" type="auext:commandType"/> <!-- Protocol extension type definitions. --> <complexType name="commandType"> <sequence> <choice> <element name="registrantTransfer" type="epp:readWriteType"/> </choice> <element name="clTRID" type="epp:trIDStringType" minOccurs="0"/> </sequence> </complexType> <!-- Command-response framework extension elements. --> <element name="create" type="auext:createType"/> <element name="update" type="auext:updateType"/> <element name="infData" type="auext:infDataType"/> <!-- .au update command extension --> <complexType name="updateType"> <sequence> <element name="auProperties" type="auext:auPropertiesType" minOccurs="1"/> <element name="explanation" type="auext:explanationType" minOccurs="1"/> </sequence> </complexType> <!-- .au create command extension --> <complexType name="createType"> <sequence> <element name="auProperties" type="auext:auPropertiesType" minOccurs="1"/> </sequence> </complexType> <!-- .au info response extension --> <complexType name="infDataType"> <sequence> <element name="auProperties" type="auext:auPropertiesType" minOccurs="1"/> </sequence> </complexType> <!-- the .au extension domain properties --> <complexType name="auPropertiesType"> <sequence> <element name="registrantName" type="eppcom:labelType" minOccurs="1"/> <element name="registrantID" type="auext:registrantIDType" minOccurs="0"/> <element name="eligibilityType" type="eppcom:labelType" minOccurs="1"/> <element name="eligibilityName" type="eppcom:labelType" minOccurs="0"/> <element name="eligibilityID" type="auext:eligibilityIDType" minOccurs="0"/> <element name="policyReason" type="integer" minOccurs="1"/> </sequence> </complexType> <!-- the explanation type --> <simpleType name="explanationType"> <restriction base="normalizedString"> <maxLength value="1000"/> </restriction> </simpleType> <!-- registrant id type is used for registrantID --> <complexType name="registrantIDType"> <simpleContent> <extension base="eppcom:labelType"> <attribute name="type" type="token" use="required"/> </extension> </simpleContent> </complexType> <!-- eligibility id type is used for eligibilityID --> <complexType name="eligibilityIDType"> <simpleContent> <extension base="eppcom:labelType"> <attribute name="type" type="token" use="required"/> </extension> </simpleContent> </complexType> <!-- End of schema. --> </schema>
TOC |
<?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="urn:X-au:params:xml:ns:audomain-1.1" xmlns:auDomain="urn:X-au:params:xml:ns:audomain-1.1" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" xmlns:auext="urn:X-au:params:xml:ns:auext-1.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <!-- Import common element types. --> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:domain-1.0" schemaLocation="domain-1.0.xsd"/> <import namespace="urn:X-au:params:xml:ns:auext-1.2" schemaLocation="auext-1.2.xsd"/> <annotation> <documentation> .au Domain Extensions to the Extensible Provisioning Protocol v1.0. schema. </documentation> </annotation> <!-- Protocol extension framework command elements. --> <element name="registrantTransfer" type="auDomain:registrantTransferType"/> <!-- Protocol extension framework response elements. --> <element name="rtrnData" type="auDomain:rtrnDataType"/> <!-- Type definitions. --> <complexType name="registrantTransferType"> <sequence> <element name="name" type="eppcom:labelType" minOccurs="1"/> <element name="curExpDate" type="date" minOccurs="1"/> <element name="period" type="domain:periodType" minOccurs="0"/> <element name="auProperties" type="auDomain:auPropertiesType" minOccurs="1"/> <element name="explanation" type="auext:explanationType" minOccurs="1"/> </sequence> </complexType> <!-- the .au extension domain properties --> <complexType name="auPropertiesType"> <sequence> <element name="registrantName" type="eppcom:labelType" minOccurs="1"/> <element name="registrantID" type="auext:registrantIDType" minOccurs="0"/> <element name="eligibilityType" type="eppcom:labelType" minOccurs="1"/> <element name="eligibilityName" type="eppcom:labelType" minOccurs="0"/> <element name="eligibilityID" type="auext:eligibilityIDType" minOccurs="0"/> <element name="policyReason" type="integer" minOccurs="1"/> </sequence> </complexType> <complexType name="rtrnDataType"> <sequence> <element name="name" type="eppcom:labelType" minOccurs="1"/> <element name="exDate" type="dateTime" minOccurs="1"/> </sequence> </complexType> <!-- End of schema. --> </schema>
TOC |
The mapping extensions described in this document do not provide any security services beyond those described by EPP (Hollenbeck, S., “Extensible Provisioning Protocol (EPP),” August 2009.) [RFC5730], the EPP Domain Name Mapping (Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” August 2009.) [RFC5731], and protocol layers used by EPP. The security considerations described in these other specifications apply to this specification as well.
TOC |
[RFC5730] | Hollenbeck, S., “Extensible Provisioning Protocol (EPP),” STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009. |
[RFC5731] | Hollenbeck, S., “Extensible Provisioning Protocol (EPP) Domain Name Mapping,” STD 69, RFC 5731, DOI 10.17487/RFC5731, August 2009. |
TOC |
Quoc Pham | |
AusRegistry | |
8/10 Queens Road | |
Melbourne, Victoria 3004 | |
AU | |
Email: | quoc.pham@ausregistry.com.au |
URI: | www.ausregistry.com |
Chris Wright | |
AusRegistry | |
8/10 Queens Road | |
Melbourne, Victoria 3004 | |
AU | |
Email: | chris@ausregistry.com |
URI: | www.ausregistry.com |