A detailed description of the EPP syntax and semantics can be found in the EPP core protocol specification [
RFC 5730]. The command mappings described here are specifically for use in provisioning and managing bundled names via EPP.
EPP provides three commands to retrieve domain information: <check> to determine if a domain object can be provisioned within a repository, <info> to retrieve detailed information associated with a domain object, and <transfer> to retrieve domain-object transfer status information.
This extension does not add any element to the EPP <check> command or <check> response described in the EPP domain name mapping [
RFC 5731]. However, when either the RDN or BDN is sent for a check, the response should contain both RDN and BDN information, which may also give some explanation in the reason field to tell the registrant that the associated domain name is a produced name according to some bundle domain name policy.
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: <resData>
S: <domain:chkData
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S: <domain:cd>
S: <domain:name avail="1">
S: xn--fsq270a.example</domain:name>
S: </domain:cd>
S: <domain:cd>
S: <domain:name avail="1">
S: xn--fsqz41a.example
S: </domain:name>
S: <domain:reason>This associated domain name is
S: a produced name based on bundle name policy.
S: </domain:reason>
S: </domain:cd>
S: </domain:chkData>
S: </resData>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54322-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>
This extension does not add any element to the EPP <info> command described in the EPP domain mapping [
RFC 5731]. However, additional elements are defined for the <info> response.
When an <info> command has been processed successfully, the EPP <resData> element must contain child elements as described in the EPP domain mapping [
RFC 5731]. In addition, unless some registration policy has some special processing, the EPP <extension> element should contain a child <b-dn:infData> element that identifies the extension namespace if the domain object has data associated with this extension and based on its registration policy. The <b-dn:infData> element contains the <b-dn:bundle>, which has the following child elements:
-
A <b-dn:rdn> element that contains the RDN, along with the attribute described below.
-
An optional <b-dn:bdn> element that contains the BDN, along with the attribute describedbelow.
The above elements contain the following attribute:
-
An optional "uLabel" attribute represents the U-label of the element.
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: <resData>
S: <domain:infData
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S: <domain:name>xn--fsq270a.example</domain:name>
S: <domain:roid>58812678-domain</domain:roid>
S: <domain:status s="ok"/>
S: <domain:registrant>123</domain:registrant>
S: <domain:contact type="admin">123</domain:contact>
S: <domain:contact type="tech">123</domain:contact>
S: <domain:ns>
S: <domain:hostObj>ns1.example.cn
S: </domain:hostObj>
S: </domain:ns>
S: <domain:clID>ClientX</domain:clID>
S: <domain:crID>ClientY</domain:crID>
S: <domain:crDate>2019-04-03T22:00:00.0Z
S: </domain:crDate>
S: <domain:exDate>2022-04-03T22:00:00.0Z
S: </domain:exDate>
S: <domain:authInfo>
S: <domain:pw>2fooBAR</domain:pw>
S: </domain:authInfo>
S: </domain:infData>
S: </resData>
S: <extension>
S: <b-dn:infData
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
S: <b-dn:bundle>
S: <b-dn:rdn uLabel="实例.example">
S: xn--fsq270a.example
S: </b-dn:rdn>
S: <b-dn:bdn uLabel="實例.example">
S: xn--fsqz41a.example
S: </b-dn:bdn>
S: </b-dn:bundle>
S: </b-dn:infData>
S: </extension>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54322-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>
The <info> response for the unauthorized client has not been changed, see [
RFC 5731] for details.
An EPP error response must be returned if an <info> command cannot be processed for any reason.
This extension does not add any element to the EPP <transfer> command or <transfer> response described in the EPP domain mapping [
RFC 5731].
EPP provides five commands to transform domain objects: <create> to create an instance of a domain object, <delete> to delete an instance of a domain object, <renew> to extend the validity period of a domain object, <transfer> to manage domain object sponsorship changes, and <update> to change information associated with a domain object.
When these commands have been processed successfully, the EPP <resData> element must contain child elements as described in the EPP domain mapping [
RFC 5731]. Unless some registration policy has some special processing, this EPP <extension> element should contain the <b-dn:bundle>, which has the following child elements:
-
A <b-dn:rdn> element that contains the RDN, along with the attribute described below.
-
An optional <b-dn:bdn> element that contains the BDN, along with the attribute describedbelow.
The above elements contain the following attribute:
-
An optional "uLabel" attribute represents the U-label of the element.
This extension defines additional elements to extend the EPP <create> command described in the EPP domain name mapping [
RFC 5731] for bundled names registration.
In addition to the EPP command elements described in the EPP domain mapping [
RFC 5731], the <create> command shall contain an <extension> element. Unless some registration policy has some special processing, the <extension> element should contain a child <b-dn:create> element that identifies the bundle namespace and a child <b-dn:rdn> element that identifies the U-label form of the registered domain name with the "uLabel" attribute. The U-label is used for easy reading by the registrants and easy debugging by the registrars and the registries.
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command>
C: <create>
C: <domain:create
C: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
C: <domain:name>xn--fsq270a.example</domain:name>
C: <domain:period unit="y">2</domain:period>
C: <domain:registrant>123</domain:registrant>
C: <domain:contact type="admin">123</domain:contact>
C: <domain:contact type="tech">123</domain:contact>
C: <domain:authInfo>
C: <domain:pw>2fooBAR</domain:pw>
C: </domain:authInfo>
C: </domain:create>
C: </create>
C: <extension>
C: <b-dn:create
C: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
C: <b-dn:rdn uLabel="实例.example">
C: xn--fsq270a.example
C: </b-dn:rdn>
C: </b-dn:create>
C: </extension>
C: <clTRID>ABC-12345</clTRID>
C: </command>
C:</epp>
When a <create> command has been processed successfully, the EPP <creData> element must contain child elements as described in the EPP domain mapping [
RFC 5731]. In addition, unless some registration policy has some special processing, the EPP <extension> element should contain a child <b-dn:creData> element that identifies the extension namespace if the domain object has data associated with this extension and based on its registration policy. The <b-dn:creData> element contains the <b-dn:bundle> element.
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: <resData>
S: <domain:creData
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S: <domain:name>xn--fsq270a.example</domain:name>
S: <domain:crDate>2019-04-03T22:00:00.0Z</domain:crDate>
S: <domain:exDate>2021-04-03T22:00:00.0Z</domain:exDate>
S: </domain:creData>
S: </resData>
S: <extension>
S: <b-dn:creData
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
S: <b-dn:bundle>
S: <b-dn:rdn uLabel="实例.example">
S: xn--fsq270a.example
S: </b-dn:rdn>
S: <b-dn:bdn uLabel="實例.example" >
S: xn--fsqz41a.example
S: </b-dn:bdn>
S: </b-dn:bundle>
S: </b-dn:creData>
S: </extension>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54322-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>
An EPP error response must be returned if a <create> command cannot be processed for any reason.
This extension does not add any element to the EPP <delete> command described in the EPP domain mapping [
RFC 5731]. However, additional elements are defined for the <delete> response.
When a <delete> command has been processed successfully, the EPP <delData> element must contain child elements as described in the EPP domain mapping [
RFC 5731]. In addition, unless some registration policy has some special processing, the EPP <extension> element should contain a child <b-dn:delData> element that identifies the extension namespace if the domain object has data associated with this extension and based on its registration policy. The <b-dn:delData> element should contain the <b-dn:bundle> element.
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: <b-dn:delData
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
S: <b-dn:bundle>
S: <b-dn:rdn uLabel="实例.example">
S: xn--fsq270a.example
S: </b-dn:rdn>
S: <b-dn:bdn uLabel="實例.example">
S: xn--fsqz41a.example
S: </b-dn:bdn>
S: </b-dn:bundle>
S: </b-dn:delData>
S: </extension>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54321-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>
An EPP error response must be returned if a <delete> command cannot be processed for any reason.
This extension does not add any element to the EPP <renew> command described in the EPP domain name mapping [
RFC 5731]. However, when either the RDN or BDN is sent for renewal, the response should contain both RDN and BDN information. When the command has been processed successfully, the EPP <extension> element shall be contained in the response if the domain object has data associated with bundled names. Unless some registration policy has some special processing, this EPP <extension> element should contain the <b-dn:renData>, which contains the <b-dn:bundle> element.
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: <resData>
S: <domain:renData
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S: <domain:name>xn--fsq270a.example</domain:name>
S: <domain:exDate>2022-04-03T22:00:00.0Z</domain:exDate>
S: </domain:renData>
S: </resData>
S: <extension>
S: <b-dn:renData
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
S: <b-dn:bundle>
S: <b-dn:rdn uLabel="实例.example">
S: xn--fsq270a.example
S: </b-dn:rdn>
S: <b-dn:bdn uLabel="實例.example" >
S: xn--fsqz41a.example
S: </b-dn:bdn>
S: </b-dn:bundle>
S: </b-dn:renData>
S: </extension>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54322-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>
This extension does not add any element to the EPP <transfer> command described in the EPP domain name mapping [
RFC 5731]. However, additional elements are defined for the <transfer> response in the EPP object mapping. When the command has been processed successfully, the EPP <extension> element shall be contained in the response if the domain object has data associated with bundled names. Unless some registration policy has some special processing, this EPP <extension> element should contain the <b-dn:trnData>, which contains the <b-dn:bundle> element.
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="1001">
S: <msg>Command completed successfully; action pending</msg>
S: </result>
S: <resData>
S: <domain:trnData
S: xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S: <domain:name>xn--fsq270a.example</domain:name>
S: <domain:trStatus>pending</domain:trStatus>
S: <domain:reID>ClientX</domain:reID>
S: <domain:reDate>2021-04-03T22:00:00.0Z</domain:reDate>
S: <domain:acID>ClientY</domain:acID>
S: <domain:acDate>2021-04-08T22:00:00.0Z</domain:acDate>
S: <domain:exDate>2022-04-03T22:00:00.0Z</domain:exDate>
S: </domain:trnData>
S: </resData>
S: <extension>
S: <b-dn:trnData
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
S: <b-dn:bundle>
S: <b-dn:rdn uLabel="实例.example">
S: xn--fsq270a.example
S: </b-dn:rdn>
S: <b-dn:bdn uLabel="實例.example">
S: xn--fsqz41a.example
S: </b-dn:bdn>
S: </b-dn:bundle>
S: </b-dn:trnData>
S: </extension>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54322-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>
This extension does not add any element to the EPP <update> command described in the EPP domain name mapping [
RFC 5731]. However, additional elements are defined for the <update> response in the EPP object mapping. When the command has been processed successfully, the EPP <extension> element shall be contained in the response if the domain object has data associated with bundled names. Unless some registration policy has some special processing, this EPP <extension> element should contain the <b-dn:upData>, which contains the <b-dn:bundle> element.
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: <b-dn:upData
S: xmlns:b-dn="urn:ietf:params:xml:ns:epp:b-dn">
S: <b-dn:bundle>
S: <b-dn:rdn uLabel="实例.example" >
S: xn--fsq270a.example
S: </b-dn:rdn>
S: <b-dn:bdn uLabel="實例.example">
S: xn--fsqz41a.example
S: </b-dn:bdn>
S: </b-dn:bundle>
S: </b-dn:upData>
S: </extension>
S: <trID>
S: <clTRID>ABC-12345</clTRID>
S: <svTRID>54322-XYZ</svTRID>
S: </trID>
S: </response>
S:</epp>