Protocol Variance Document: EPP .5, 1.0, 1.0 Consolidated: November 3, 2004
Protocol Variance Document: EPP .5, 1.0, 1.0 Consolidated: November 3, 2004
5,
1.0, 1.0 Consolidated
Version 1.3
November 3, 2004
VeriSign, Inc.
VeriSign Naming and Directory Services
VNDS Proprietary and Confidential
COPYRIGHT NOTIFICATION
This document contains proprietary information that is owned by VeriSign. This document may only
be used by the recipient for the purpose for which it was transmitted. This document must be
returned upon request or when no longer needed by recipient. It may not be copied or its contents
communicated without the written consent of VeriSign.
VeriSign, Inc. has made efforts to ensure the accuracy and completeness of the information in this
document. However, VeriSign, Inc. makes no warranties of any kind (whether express, implied or
statutory) with respect to the information contained herein. VeriSign, Inc. assumes no liability to any
party for any loss or damage (whether direct or indirect) caused by any errors, omissions or
statements of any kind contained in this document. Further, VeriSign, Inc. assumes no liability
arising from the application or use of the product or service described herein and specifically
disclaims any representation that the products or services described herein do not infringe upon any
existing or future intellectual property rights. Nothing herein grants the reader any license to make,
use, or sell equipment or products constructed in accordance with this document. Finally, all rights
and privileges related to any intellectual property right described herein are vested in the patent,
trademark, or service mark owner, and no other person may exercise such rights without express
permission, authority, or license secured from the patent, trademark, or service mark owner.
VeriSign Inc. reserves the right to make changes to any information herein without further notice.
VeriSign, and other trademarks, service marks and logos are registered or unregistered trademarks
of VeriSign and its subsidiaries in the United States and in foreign countries. The inclusion in this
document, the associated on-line file, or the associated software of any information covered by any
other patent, trademark, or service mark rights does not constitute nor imply a grant of, or authority
to exercise, any right or privilege protected by such patent, trademark, or service mark. All such
rights and privileges are vested in the patent, trademark, or service mark owner, and no other
person may exercise such rights without express permission, authority, or license secured from the
patent, trademark, or service mark owner.
1.2 Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
contained in this document are to be interpreted as described in [RFC 2119]. Bolded
items indicate updates/additions to syntax.
In protocol examples, "C:" represents lines sent by the registrar client and "S:" represents
lines sent by the registry server.
The purpose of this document is to analyze the protocol differences between EPP .5, EPP
1.0 and EPP 1.0 Consolidated, clarifying the upgrade path for registrars and internal users
from the NameStore .5 and NameStore 1.0 to NameStore Consolidated. NameStore
Consolidated is an EPP 1.0 system that includes additional features that are not included
with the NameStore 1.0 system. The NameStore .5 and the NameStore 1.0 systems are
being replaced by NameStore Consolidated.
1.5 Audience
The audience for this document is software developers and support personnel planning to
upgrade their software from using NameStore .5 or NameStore 1.0 to NameStore
Consolidated.
There are many differences between the platforms under which the legacy ccTLD (.TV, .CC) imple-
mentations and the NameStore Consolidated implementation is run. Highlights of these differences
include:
For complete documentation on domain statuses within CTLD and EPP, consult the
Registrar Reference Manual, cited in the
With the exception of the added functionality of restore and transfer with CTLD EPP, all
grace periods are consistent between legacy and CTLD implementations.
xmlns:xsi="http://www.w3.org/2001/XMLSchema- xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp- xsi:schemaLocation="urn:ietf:params:xml:ns:epp-
1.0 1.0
epp-1.0.xsd"> epp-1.0.xsd">
<greeting> <greeting>
<svID>Example Company EPP server <svID>Example EPP server
epp.example.com</svID> epp.example.com</svID>
<svDate>2000-06-08T22:00:00.0Z</svDate> <svDate>2000-06-08T22:00:00.0Z</svDate>
<svcMenu> <svcMenu>
<version>1.0</version> <version>1.0</version>
<lang>en</lang> <lang>en</lang>
<lang>fr</lang> <lang>fr</lang>
<objURI>urn:ietf:params:xml:ns:contact-
1.0</objURI> <objURI>urn:ietf:params:xml:ns:obj1</objURI>
<objURI>urn:ietf:params:xml:ns:domain-
1.0</objURI> <objURI>urn:ietf:params:xml:ns:obj2</objURI>
<objURI>urn:ietf:params:xml:ns:host-
1.0</objURI> <objURI>urn:ietf:params:xml:ns:obj3</objURI>
<svcExtension> <svcExtension>
<extURI>http://custom/obj1ext- <extURI>http://custom/obj1ext-
1.0</extURI> 1.0</extURI>
</svcExtension> </svcExtension>
</svcMenu> </svcMenu>
<recipient><ours/><public/></recipient> <recipient><ours/><public/></recipient>
<retention><business/></retention> <retention><stated/></retention>
</statement> </statement>
</dcp> </dcp>
</greeting> </greeting>
</epp> </epp>
The <greeting> for EPP 1.0 Consolidated should look like the following:
xmlns:xsi="http://www.w3.org/2001/XMLSchema- xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp- xsi:schemaLocation="urn:ietf:params:xml:ns:epp-
1.0 1.0
epp-1.0.xsd"> epp-1.0.xsd">
<command> <command>
<creds> <login>
<clID>ClientX</clID> <clID>ClientX</clID>
<pw>foo-BAR2</pw> <pw>foo-BAR2</pw>
<newPW>bar-FOO2</newPW> <newPW>bar-FOO2</newPW>
<options> <options>
<version>1.0</version> <version>1.0</version>
<lang>en</lang> <lang>en</lang>
</options> </options>
</creds> <svcs>
<login>
<svcs> <objURI>urn:ietf:params:xml:ns:obj1</objURI>
<objURI>urn:ietf:params:xml:ns:contact- <objURI>urn:ietf:params:xml:ns:obj2</objURI>
1.0</objURI>
<objURI>urn:ietf:params:xml:ns:obj3</objURI>
<objURI>urn:ietf:params:xml:ns:domain- <svcExtension>
1.0</objURI> <extURI>http://custom/obj1ext-
<objURI>urn:ietf:params:xml:ns:host- 1.0</extURI>
1.0</objURI> </svcExtension>
<svcExtension> </svcs>
<extURI>http://custom/obj1ext- </login>
1.0</extURI> <clTRID>ABC-12345</clTRID>
</svcExtension> </command>
</svcs> </epp>
</login>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
xmlns:xsi="http://www.w3.org/2001/XMLSchema- xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:epp- xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0
1.0 epp-1.0.xsd">
epp-1.0.xsd"> <response>
<response> <result code="2005">
<result code="2005"> <msg>Parameter value syntax error</msg>
<msg>Parameter value range error</msg> <extValue>
<value>Invalid character found.</value> <value
</result> xmlns:epp="urn:ietf:params:xml:ns:epp-1.0">
<trID> <epp:undef/>
<clTRID>ABC-12345</clTRID> </value>
<svTRID>54321-XYZ</svTRID> <reason>Invalid character
</trID> found.</reason>
</response> </extValue>
</epp> </result>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>54321-XYZ</svTRID>
</trID>
</response>
</epp>
xsi:schemaLocation="urn:ietf:params:xml:ns:epp- xsi:schemaLocation="urn:ietf:params:xml:ns:epp-
1.0 1.0
epp-1.0.xsd"> epp-1.0.xsd">
<response> <response>
<result code="1301"> <result code="1301">
<msg id="12345">Transfer <msg>Command completed successfully;
requested.</msg> ack to dequeue</msg>
</result> </result>
<msgQ count="5"> <msgQ count="5" id="12345">
<qDate>2000-06-08T22:00:00.0Z</qDate> <qDate>2000-06-08T22:00:00.0Z</qDate>
</msgQ> <msg>Transfer requested.</msg>
<resData> </msgQ>
<obj:trnData <resData>
xmlns:obj="urn:ietf:params:xml:ns:obj" <obj:trnData
xmlns:obj="urn:ietf:params:xml:ns:obj-
xsi:schemaLocation="urn:ietf:params:xml:ns:obj 1.0"
obj.xsd">
<obj:name>example</obj:name> xsi:schemaLocation="urn:ietf:params:xml:ns:obj-
<obj:trStatus>pending</obj:trStatus> 1.0
<obj:reID>ClientX</obj:reID> obj-1.0.xsd">
<obj:reDate>2000-06- <obj:name>example.com</obj:name>
08T22:00:00.0Z</obj:reDate> <obj:trStatus>pending</obj:trStatus>
<obj:acID>ClientY</obj:acID> <obj:reID>ClientX</obj:reID>
<obj:acDate>2000-06- <obj:reDate>2000-06-
13T22:00:00.0Z</obj:acDate> 08T22:00:00.0Z</obj:reDate>
<obj:exDate>2002-09- <obj:acID>ClientY</obj:acID>
08T22:00:00.0Z</obj:exDate> <obj:acDate>2000-06-
</obj:trnData> 13T22:00:00.0Z</obj:acDate>
</resData> <obj:exDate>2002-09-
<trID> 08T22:00:00.0Z</obj:exDate>
<clTRID>ABC-12345</clTRID> </obj:trnData>
<svTRID>54321-XYZ</svTRID> </resData>
</trID> <trID>
</response> <clTRID>ABC-12345</clTRID>
</epp> <svTRID>54321-XYZ</svTRID>
</trID>
</response>
</epp>
EPP 1.0 Consolidated includes support for the following types of poll messages:
1. Transfer Poll Notification – This is a standard EPP poll notification for transfer
operation (request, cancel, approve, reject) that will be supported for the first
time with EPP 1.0 Consolidated.
2. Low Balance Poll Notification – New poll message, defined in the “EPP Low
Balance Mapping Guide”, that is used to notify a customer that there available
credit is below a specified threshold.
3. RGP Poll Notification – New poll message, defined in “EPP RGP Poll Mapping
Guide”, that is used to notify a customer that a RGP restore command was
received without the required RGP restore report command.
4. RCCTLD Pending Action Notification – EPP 1.0 poll notification, defined in the
“EPP Name Store RCC Domain Mapping Guide”, that is used to provide the
status of a domain pending action.
xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1.0 xsi:schemaLocation="urn:ietf:params:xml:ns:domain-1
domain-1.0.xsd" domain-1.0.xsd"
> >
<domain:name>test.cc</domain:name> <domain:name>test.cc</domain:name>
<domain:period unit="y">2</domain:period> <domain:period unit="y">2</domain:period>
<domain:ns>pri.domainnames.com</domain:ns> <domain:ns>
<domain:ns>ns1.example.cc</domain:ns>
<domain:authInfo <domain:hostObj>pri.domainnames.com</domain:hostObj
type=”pw”>ctldpw</domain:authInfo>
</domain:create> <domain:hostObj>ns1.example.cc</domain:hostObj>
</create> </domain:ns>
<extension> <domain:authInfo>
<namestoreExt:namestoreExt <domain:pw>ctldpw</domain:pw>
xmlns:namestoreExt="http://www.verisign- </domain:authInfo>
grs.com/epp/namestoreExt-1.0" </domain:create>
xsi:schemaLocation="http://www.verisign- </create>
grs.com/epp/namestoreExt-1.0 namestoreExt-1.0.xsd" <extension>
> <namestoreExt:namestoreExt
<namestoreExt:subProduct>dotCC</namestoreExt:subProduct> xmlns:namestoreExt="http://www.verisign-
</namestoreExt:namestoreExt> grs.com/epp/namestoreExt-1.1"
</extension> xsi:schemaLocation="http://www.verisign-
<clTRID>ABC-12345</clTRID> grs.com/epp/namestoreExt-1.1 namestoreExt-1.1.xsd"
</command> >
</epp> <namestoreExt:subProduct>dotCC</namestoreExt:subPro
</namestoreExt:namestoreExt>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
<namestoreExt:subProduct>dotCC</namestoreExt:sub
Product>
</namestoreExt:namestoreExt>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>