epp by hedongchenchen

VIEWS: 33 PAGES: 12

									Standard EPP Commands Trial
On the SRS Introduction Server

         Version               1.0
       Last Updated   9 April 2012
1. Introduction.
   This documentation is for introduction of the standard EPP commands sequences
   with trying to connect and send requests to the SRS introduction server.


2. Environment.
   The SRS introduction server is now running as plain TCP listener on our
   infrastructure, however it will close after this conference is done.
   We will provide proper testing environment as the SRS OT&E environment which will
   be provided to each of registrars after accreditation process complete.


   SRS introduction server information
   HostName           203.119.112.58
   PortNo             700


3. Connection.
   This SRS Introduction server allows connection via plain text of EPP commands.
   This documentation is going to ask you to input EPP commands on the telnet
   application soon after awhile. Please prepare a terminal window and your text
   editor (for modifying some commands before pasting it to the terminal) on your
   computer to input “telnet” command.
4. Basic sequences of the standard EPP.
   This is a sequence explanation between the EPP client (Registrars) and EPP server
   (Registry).
   Once the connection has established, the EPP client needs to be keeping the session
   to preserve both side's network resources.
   You are going to execute and follow this sequence on the SRS introduction server
   now.
              Client                                  Server
                  |                 Connect                |
                  | >>------------------------------->> |
                  |              Send Greeting             |
                  | <<-------------------------------<< |
                  |              Send <login>              |
                  | >>------------------------------->> |
                  |              Send Response             |
                  | <<-------------------------------<< |
                  |              Send Command              |
                  | >>------------------------------->> |
                  |              Send Response             |
                  | <<-------------------------------<< |
                  |             Send Command X             |
                  | >>------------------------------->> |
                  |    Send Command Y                      |
                  | >>---------------+                     |
                  |                   |                    |
                  |             Send Response X            |
                  | <<---------------(---------------<< |
                  |                   |                    |
                  |                   +--------------->> |
                  |             Send Response Y            |
                  | <<-------------------------------<< |
                  |              Send <logout>             |
                  | >>------------------------------->> |
                  |     Send Response & Disconnect         |
                  | <<-------------------------------<< |
5. Greeting from the server.
   Please input the following command on your terminal window.
   >telnet 203.119.112.58 700
   The SRS sends you a greeting message. And your terminal client starts and keeps
   EPP session until you send EPP logout request.
   <epp>
   …<greeting>…
   </epp>


6. Login to the SRS.
   After connection and receiving a greeting message success, the SRS waits your
   login command. To copy and paste the following EPP login request.

       <?xml version="1.0" encoding="UTF-8" standalone="no"?>

       <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

         <command>

           <login>

             <clID>ClientX</clID>

             <pw>foo-BAR2</pw>

             <options>

                <version>1.0</version>

                <lang>en</lang>

             </options>

           </login>

           <clTRID>ABC-12345</clTRID>

         </command>

       </epp>




   After login certification is done, you will receive a success response from the
   SRS and then the SRS allows you sending any requests in this session.
   …
   <response><result code="1000">
     <msg>Command completed successfully</msg>
   </result></response>
   …
7. Domain check.
   The domain check EPP request is used for checking if the domain name be available
   or not. Please modify the [NAME] tag which name you want to check and paste the
   EPP command on your terminal window.


       <?xml version="1.0" encoding="UTF-8" standalone="no"?>

       <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

         <command>

           <check>

             <domain:check

                xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">

                <domain:name>[NAME].net.id</domain:name>

             </domain:check>

           </check>

           <clTRID>ABC-12345</clTRID>

         </command>

       </epp>



   The domain check response has “avail” attribute to respond the result.
   avail=0 means the domain has already been registered.
   avail=1 means the domain can be registered.
   …
   <domain:cd>
     <domain:name avail="1">TheWordYouChecked.net.id</domain:name>
   </domain:cd>
   …


8. Contact create.
   Before domain creation, it will require some Contact NIC-Handles who will take
   charge of the domain name. Please modify the [VALUE] tag which you want to register
   as NIC-Handle and paste the EPP command on your terminal window.
   The NIC-Handle has to be as unique value on the SRS, please make sure it to be
   unique value as much as you can imagine.
   * recommendation would be “random numbers”+“your name”.
   e.g. 3745-Nakayama
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

  <command>

    <create>

      <contact:create

         xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">

          <contact:id>[VALUE(try it to be unique value like "3745-Nakayama")]</contact:id>

          <contact:postalInfo type="int">

            <contact:name>John Doe</contact:name>

            <contact:org>Example Inc.</contact:org>

            <contact:addr>

              <contact:street>123 Example Dr.</contact:street>

              <contact:street>Suite 100</contact:street>

              <contact:city>Dulles</contact:city>

              <contact:sp>VA</contact:sp>

              <contact:pc>20166-6503</contact:pc>

              <contact:cc>US</contact:cc>

            </contact:addr>

          </contact:postalInfo>

          <contact:voice x="1234">+1.7035555555</contact:voice>

          <contact:fax>+1.7035555556</contact:fax>

          <contact:email>jdoe@example.com</contact:email>

          <contact:authInfo>

            <contact:pw>2fooBAR</contact:pw>

          </contact:authInfo>

          <contact:disclose flag="0">

            <contact:voice/>

            <contact:email/>

          </contact:disclose>

      </contact:create>

    </create>

    <clTRID>ABC-12345</clTRID>

  </command>
</epp>
   The SRS responds a result code and the NIC-Handle which you requested.
   Please copy and keep the RESULT-VALUE for the following step of domain creation.
   <result code="1000">
   …
     <contact:creData xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
        <contact:id>[RESULT-VALUE]</contact:id>
     </contact:creData>
   …


9. Domain create.
   The domain create request requires NIC-Handles that you created at previous
   process. Also it can add some NameServers at the same time optionally (Adding
   NameServers will be explained at the Domain update process later)
   Please modify the [NAME] tag for register the domain name, also modify all the
   [NIC-Handle] tags as your NIC-Handle that you created just before. After that,
   please paste the EPP command on your terminal window.

       <?xml version="1.0" encoding="UTF-8" standalone="no"?>

       <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

         <command>

           <create>

             <domain:create

                xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
                <domain:name>[NAME].net.id</domain:name>

                <domain:period unit="y">1</domain:period>

                <domain:registrant>[NIC-Handle]</domain:registrant>

                <domain:contact type="admin">[NIC-Handle]</domain:contact>

                <domain:contact type="tech">[NIC-Handle]</domain:contact>

                <domain:contact type="billing">[NIC-Handle]</domain:contact>

                <domain:authInfo>

                  <domain:pw>2fooBAR</domain:pw>

                </domain:authInfo>

             </domain:create>

           </create>

           <clTRID>ABC-12345</clTRID>

         </command>

       </epp>
   The SRS responds the [CREATED DATE] and [EXPIRATION DATE] that are generated as
   UTC timezone. Especially the expiration date must be important for managing the
   domain’s life cycle. Please keep the domain name for the following steps.
   …
   <result code="1000">
   …
     <domain:creData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
         <domain:name>[NAME].net.id</domain:name>
         <domain:crDate>[CREATED DATE]</domain:crDate>
         <domain:exDate>[EXPIRATION DATE]</domain:exDate>
     </domain:creData>
   …


10. Host create.
   The Host create request can register new host name as a DNS.
   Please modify the [VALUE + DOMAIN NAME] tag which you want to register as DNS
   and paste the EPP command on your terminal window. The host name would be like
   “dns.nakayama.net.id”.

       <?xml version="1.0" encoding="UTF-8" standalone="no"?>

       <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

         <command>

           <create>

             <host:create

                xmlns:host="urn:ietf:params:xml:ns:host-1.0">

                 <host:name>[VALUE + DOMAIN NAME]</host:name>
                 <host:addr ip="v4">210.1.1.1</host:addr>

                 <host:addr ip="v4">210.1.1.2</host:addr>

             </host:create>

           </create>

           <clTRID>ABC-12345</clTRID>

         </command>

       </epp>



   The SRS returns the result.
   Please keep the host name for the following step for Domain update.
   …
   <result code="1000">
   …


11. Domain update
   The Domain update request can modify the target domain’s information like
   NameServer, NIC-Handles, Statuses and the Authcode.
   Please modify the [DOMAIN NAME] and [HOST NAME] tags which you have registered
   previous processes and paste the EPP command on your terminal window.


       <?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>[DOMAIN NAME]</domain:name>

                <domain:add>

                  <domain:ns>

                    <domain:hostObj>[HOST NAME]</domain:hostObj>

                  </domain:ns>

                </domain:add>

             </domain:update>
           </update>

           <clTRID>ABC-12345</clTRID>

         </command>

       </epp>



   The SRS returns the result.
   …
   <result code="1000">
   …
12. Domain info
   The Domain info request can query the target domain’s current detailed
   information.
   Please modify the [DOMAIN NAME] tag which you have registered previous processes
   and paste the EPP command on your terminal window.

      <?xml version="1.0" encoding="UTF-8" standalone="no"?>

      <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

        <command>

          <info>

            <domain:info

               xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">

               <domain:name hosts="all">[DOMAIN NAME]</domain:name>

            </domain:info>

          </info>

          <clTRID>ABC-12345</clTRID>

        </command>

      </epp>



   The SRS returns all of the domain’s information.
   <?xml version="1.0" encoding="UTF-8" standalone="no"?>
   <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
     <response>
        <result code="1000">
          <msg>Command completed successfully</msg>
        </result>
        <resData>
          <domain:infData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
               <domain:name>[DOMAIN NAME]</domain:name>
               <domain:roid>[DOMAIN ID]</domain:roid>
               <domain:status s="[STATUS]"/>
               <domain:registrant>[NIC-HANDLE]</domain:registrant>
               <domain:contact type="admin">[NIC-HANDLE]</domain:contact>
               <domain:contact type="tech">[NIC-HANDLE]</domain:contact>
               <domain:contact type="billing">[NIC-HANDLE]</domain:contact>
               <domain:ns>
                 <domain:hostObj>[HOST NAME]</domain:hostObj>
              </domain:ns>
              <domain:host>[HOST NAME(Child Name Server)]</domain:host>
              <domain:crDate>[CREATED DATE]</domain:crDate>
              <domain:upDate>[LAST UPDATED DATE]</domain:upDate>
              <domain:exDate>[EXPIRATION DATE]</domain:exDate>
              <domain:authInfo>
                 <domain:pw>[AUTH CODE]</domain:pw>
              </domain:authInfo>
            </domain:infData>
          </resData>
          <trID>
            <clTRID>ABC-12345</clTRID>
            <svTRID>54322-XYZ</svTRID>
          </trID>
      </response>
    </epp>


13. Logout from the SRS.
The Logout request can logoff from the SRS safely. After it is done, the session will
be closed.
Please paste the EPP command on your terminal window to finish this introduction.

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>

 <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">

    <command>

     <logout/>

     <clTRID>ABC-12345</clTRID>

    </command>

 </epp>



You will have the below response and the session closes.
…
<result code="1500">
  <msg>Command completed successfully; ending session</msg>
…
14. Postscript
   The SRS has completely followed the RFC design for EPP(Extensible Provisioning
   Protocol). We highly recommend you to visit and investigate the wiki for improving
   your knowledge of the EPP protocol.


   Wikipedia                http://en.wikipedia.org/wiki/Extensible_Provisioning_Protocol

   Domain Name Mapping      http://tools.ietf.org/html/rfc5731

   Host Mapping             http://tools.ietf.org/html/rfc5732

   Contact Mapping          http://tools.ietf.org/html/rfc5733

   Transport over TCP       http://tools.ietf.org/html/rfc5734



Many thanks!

								
To top