[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


To: "'ietf-provreg@cafax.se'" <ietf-provreg@cafax.se>
From: "Liu, Hong" <Hong.Liu@neustar.biz>
Date: Wed, 31 Jul 2002 16:30:58 -0400
Sender: owner-ietf-provreg@cafax.se
Subject: RE: I-D on Uniform Treatment of Pending Action Notification in EPP

Scott,

Thanks for taking the time to look at the draft and for being receptive to
our suggestion. Your idea of being consistent with transfer handling is well
taken. I would like to carry this discussion further along your line of
thinking.

When I wrote the draft at the beginning, I was actually thinking exactly
your way since the pending action is performed on a specific object mapping.
But after I finished the writing, I realized that I have to add <paData> to
every object mapping (i.e., domain, contact, and host) that may need this
feature. The advantage for doing so, as you explained, is that more object
specific information can be added in. The downside is that <paData> will
have to be defined in every object mapping (existing and to-be-defined).
Since my main goal is to minimize the changes to existing schemas, after
some struggle myself, I took the approach to extract the basic elements for
notification that are object independent. But this may be just my personal
preference in schema design. Both your suggestion and mine should work. I
will leave it to the WG to decide which way to go.

Just to be complete, taking your input, <paNotify> can be defined as
follows:

<complexType name="paNotify">
  <sequence>
    <element name="paTRID" type="epp:trIDType"/>
    <element name="paDate" type="dateTime"/>
  </sequence>
  <attribute name="paResult" type="boolean" use="required"/>
</complexType>

The <paTRID> will consist of the OPTIONAL clTRID and the svTRID.

I fully agree with you regarding the usage of <msg> in <msgQ>. I also
support your idea to allow more structural information to be included in
<msg> for service messaging. For example, <paNotify> (or <paData>) just says
that the pending action has failed. The <msg> element in <msgQ> may be used
to construct more specific error code and text explaining why it failed.
These error codes and accompanying texts can be defined by each registry.

Cheers, 

--Hong

-----Original Message-----
From: Hollenbeck, Scott [mailto:shollenbeck@verisign.com]
Sent: Wednesday, July 31, 2002 8:50 AM
To: 'ietf-provreg@cafax.se'
Subject: RE: I-D on Uniform Treatment of Pending Action Notification in
EP P


Hong et al:

Having spent some more time thinking about the suggestions presented in your
I-D, I now have a better feel for what you need and why I didn't
particularly care for the suggestion to add a <paNotify> element.  It's not
the "what" that concerned me, it was the "how", and my concern was driven
largely by a desire to use existing facilities and to treat notification
actions consistently.

We're already doing something similar when transfer actions are completed,
so I spent some time thinking about one of the options described in your
proposal -- use of the <resData> element.  I also thought it might be OK to
be a bit more verbose in the notification so that there can't be any
confusion when the client tries to synchronize the notification with their
own queue of pending activity.

Given that these pending actions operate on objects, just like transfers,
I'd like to suggest that we can do the notifications in the same way that
clients are notified of completed transfer activities.  That is, the
<resData> element can contain the information to identify the object, and
the few new elements needed to make this work get defined in the object
mappings.  A polled message could thus look like this:

<?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="1301">
      <msg>Command completed successfully; ack to dequeue</msg>
    </result>
    <msgQ count="5" id="12345">
      <qDate>2000-06-08T22:00:00.0Z</qDate>
      <msg>Pending action completed successfully.</msg>
    </msgQ>
    <resData>
      <domain:paData
       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 paResult="1">example.tld</domain:name>
        <domain:clTRID>ABC-12345</domain:clTRID>
        <domain:svTRID>54321-XYZ</domain:svTRID>
        <domain:paDate>2000-06-08T21:59:00.0Z</domain:paDate>
      </domain:paData>
    </resData>
    <trID>
      <clTRID>BCD-23456</clTRID>
      <svTRID>65432-WXY</svTRID>
    </trID>
  </response>
</epp>

Note that the <msg> element in the <msgQ> tells the client what happened,
and everything the client needs to figure out which object is involved is
carried in the <domain:paData> element.  I thought it best to include both
TRIDs (with an optional clTRID) to exactly mirror the TRIDs returned in the
server's response to the original request.  The <paDate> element notes when
the action was actually completed, just as we note dates and times related
to transfers.

OK, hack away.  We might be able to get by with less info to identify the
client's transaction, but doing it this way is consistent with the transfer
notification mechanism and it provides some detail that might make client
reconciliation easier.

-Scott-

Home | Date list | Subject list