<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced.
     An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC0020 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.0020.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3688 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml">
<!ENTITY RFC3915 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3915.xml">
<!ENTITY RFC5730 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5730.xml">
<!ENTITY RFC5731 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5731.xml">
<!ENTITY RFC7942 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7942.xml">
<!ENTITY RFC7451 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7451.xml">
<!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
<!ENTITY W3C.REC-xmlschema-2-20041028 PUBLIC '' 'http://xml2rfc.ietf.org/public/rfc/bibxml4/reference.W3C.REC-xmlschema-2-20041028.xml'>]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="yes"?>
<!-- keep one blank line between list items -->
<?rfc comments="yes" ?>
<!-- show cref output -->
<?rfc inline="yes" ?>
<!-- inline cref output -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-ietf-regext-change-poll-12" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN"
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title abbrev="changePoll">
    Change Poll Extension for the Extensible Provisioning Protocol (EPP)</title>

    <author fullname="James Gould" initials="J.G" surname="Gould">
      <organization>VeriSign, Inc.</organization>

      <address>
        <postal>
          <street>12061 Bluemont Way</street>

          <city>Reston</city>

          <region>VA</region>

          <code>20190</code>

          <country>US</country>
        </postal>

        <email>jgould@verisign.com</email>

        <uri>http://www.verisign.com</uri>
      </address>
    </author>

 	<author fullname="Kal Feher" initials="K.F" surname="Feher">
       <organization>Neustar</organization>

       <address>
          <postal>
             <street>lvl 8/10 Queens Road</street>

             <city>Melbourne</city>

             <region>VIC</region>

             <code>3004</code>

             <country>AU</country>
          </postal>

         <email>ietf@feherfamily.org</email>

         <uri>http://www.neustar.biz</uri>
      </address>
    </author>

    <date day="4" month="January" year="2019"/>

    <abstract>
      <t>This document describes an Extensible Provisioning Protocol (EPP)
      extension for notifying clients of operations on client-sponsored objects
      that were not initiated by the client through EPP. These operations may
      include contractual or policy requirements including but not limited to
      regular batch processes, customer support actions, Uniform Domain-Name
      Dispute-Resolution Policy (UDRP) or Uniform Rapid Suspension (URS)
      actions, court-directed actions, and bulk updates based on customer
      requests.  Since the client is not directly involved or knowledgable of
      these operations, the extension is used along with an EPP object mapping
      to provide the resulting state of the post-operation object, and
      optionally a pre-operation object, with the operation meta-data of
      what, when, who, and why.</t>
    </abstract>

  </front>

  <middle>
    <section title="Introduction">
      <t>This document describes an extension mapping for version 1.0 of the
      <xref target="RFC5730">Extensible Provisioning Protocol (EPP)</xref>.
      This mapping, an extension to EPP object mappings like the <xref
      target="RFC5731">EPP domain name mapping</xref>, is used to notify
      clients of operations they are not directly involved in,
      on objects that the client sponsors.
      It is up to server policy to determine what transform operations and
      clients to notify.
      Using this extension, clients can
      more easily keep their systems in-sync with the objects stored in the
      server.  When a change occurs that a client needs to be
      notified of, a poll message can be inserted by the server for
      consumption by the client using the EPP &lt;poll&gt; command and
      response defined in <xref target="RFC5730"/>.  The extension supports
      including a "before" operation poll message and an "after"
      operation poll message.  
      The extension only extends the EPP &lt;poll&gt; response in 
      <xref target="RFC5730"/> and does not extend the EPP &lt;poll&gt; command.  
      Please refer to <xref target="RFC5730"/> for information and examples of 
      the EPP &lt;poll&gt; command.</t>

      <section title="Conventions Used in This Document">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
      "MAY", and "OPTIONAL" in this document are to be interpreted as
      described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
      when, and only when, they
      appear in all capitals, as shown here.</t>
      
        <t>XML is case sensitive. Unless stated otherwise, XML specifications
        and examples provided in this document MUST be interpreted in the
        character case presented in order to develop a conforming
        implementation.</t>

        <t>In examples, "C:" represents lines sent by a protocol client and "S:" represents lines returned by a protocol server.
        Indentation and white space in examples are provided only to illustrate element relationships
        and are not a REQUIRED feature of this protocol.
        </t>

        <t>The XML namespace prefix "changePoll" is used for the namespace
           "urn:ietf:params:xml:ns:changePoll-1.0", but implementations
           MUST NOT depend on it and instead employ a proper namespace-aware XML
           parser and serializer to interpret and output the XML documents.</t>
      </section>
    </section>

    <section anchor="attrs" title="Object Attributes">

      <t>This extension adds additional elements to EPP object mappings like the <xref
      target="RFC5731">EPP domain name mapping</xref>. Only those new elements
      are described here.</t>

      <section anchor="operation" title="Operation">

        <t>An operation consists of any transform operation that impacts
        objects that the client sponsers and should be notified of.  The
        &lt;changePoll:operation&gt; element defines the operation.  The OPTIONAL "op"
        attribute is an identifier, represented in the 7-bit US-ASCII character set defined in <xref target="RFC0020"/>, that 
        is used to define a sub-operation or the name of a "custom" operation.
        The enumerated list of &lt;changePoll:operation&gt; values is:</t>

		  <t><list hangIndent="4" style="hanging">
				<t hangText="&quot;create&quot;:">Create operation as defined in <xref target="RFC5730"/>.</t>
				<t hangText="&quot;delete&quot;:">Delete operation as defined in <xref target="RFC5730"/>.  If the delete operation results in an immediate
				purge of the object, then the "op" attribute MUST be set to "purge".</t>
				<t hangText="&quot;renew&quot;:">Renew operation as defined in <xref target="RFC5730"/>.</t>
				<t hangText="&quot;transfer&quot;:">Transfer operation as defined in <xref target="RFC5730"/> that MUST set the 
				"op" attribute with one of the possible transfer type values that include "request", "approve", "cancel", or "reject".</t>
				<t hangText="&quot;update&quot;:">Update operation as defined in <xref target="RFC5730"/>.</t>
				<t hangText="&quot;restore&quot;:">Restore operation as defined in <xref target="RFC3915"/> that MUST set the 
				"op" attribute with one of the possible restore type values that include "request" or "report".</t>
				<t hangText="&quot;autoRenew&quot;:">Auto renew operation executed by the server.</t>
				<t hangText="&quot;autoDelete&quot;:">Auto delete operation executed by the server.  If the "autoDelete" operation results in an immediate
				purge of the object, then the "op" attribute MUST be set to "purge".</t>
				<t hangText="&quot;autoPurge&quot;:">Auto purge operation executed by the server when removing the object
				after it had the "pendingDelete" status.</t>
				<t hangText="&quot;custom&quot;:">Custom operation that MUST set the "op" attribute with the custom operation name.  
				The custom operations supported is up to server policy.</t>
		  </list></t>

      </section>

      <section anchor="state" title="State">

        <t>The state attribute reflects the state of the object "before" or "after" the operation.  
        The state is defined using the OPTIONAL "state" attribute of the &lt;changePoll:changeData&gt; element, 
        with the possible values "before" or "after" and with a default value of "after".  
        The server MAY support both the "before" state and the "after" state of the operation, by using one
        poll message for the "before" state and one poll message for the "after" state.  
        The "before" state poll message MUST be inserted into the message queue prior to the "after" state poll message.</t>
        <t>For operations in <xref target="operation"/> that don't have an "after" state, 
        the server MUST use the "before" state poll message.  
        For example, for the "delete" operation with the "op" attribute set to "purge", 
        or the "autoPurge" operation, the server includes the state of the object prior to being purged 
        in the "before" state poll message.</t>
        <t>For operations in <xref target="operation"/> that don't have a "before" state, 
        the server MUST use the "after" state poll message.  
        For example, for the "create" operation, 
        the server includes the state of the object after creation in the 
        "after" state poll message.</t>

      </section>


      <section anchor="who" title="Who">

        <t>The &lt;changePoll:who&gt; element defines who executed the operation for audit purposes.
        It is a freeform value that is strictly meant for audit purposes and not meant to drive client-side logic.
        The scheme used for the possible set of &lt;changePoll:who&gt; element
        values is up to server policy.  The server MAY identify the &lt;changePoll:who&gt; element value based on:
        </t>

		  <t><list hangIndent="4" style="hanging">
				<t hangText="&quot;Identifier&quot;:">Unique user identifier of the user that executed the operation.  An
				example is "ClientX".</t>
				<t hangText="&quot;Name&quot;:">Name of the user that executed the operation.  An example is "John Doe".</t>
				<t hangText="&quot;Role&quot;:">Role of the user that executed operation.  An example is "CSR" for a Customer
				Support Representative or "Batch" for a server batch.</t>
		  </list></t>

      </section>
      
      <section anchor="datestimes" title="Dates and Times">
      
        <t>Date and time attribute values MUST be represented in Universal
           Coordinated Time (UTC) using the Gregorian calendar.  The extended
           date-time form using upper case "T" and "Z" characters defined in
           <xref target="W3C.REC-xmlschema-2-20041028"/> MUST be used to represent date-time
           values, as XML Schema does not support truncated date-time forms or
           lower case "T" and "Z" characters.</t>

      </section>


    </section>

    <section anchor="commands" title="EPP Command Mapping">
      <t>A detailed description of the EPP syntax and semantics can be found
      in the EPP core protocol specification <xref target="RFC5730"/>.</t>

      <section anchor="queryCommands" title="EPP Query Commands">

        <t>EPP provides three commands to retrieve object information: &lt;check&gt; to determine
        if an object is known to the server, &lt;info&gt; to retrieve detailed information associated
        with an object, and &lt;transfer&gt; to retrieve object transfer status information.</t>

      <section anchor="checkCommand" title="EPP &lt;check&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;check&gt; command
       or &lt;check&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>

      <!-- end CHECK command -->

      <section anchor="infoCommand" title="EPP &lt;info&gt; Command">

        <t>This extension does not add any elements to the EPP &lt;info&gt; command
        described in the <xref target="RFC5730"/>.</t>

        <t>This extension adds operation detail of EPP object mapping operations 
        <xref target="operation"/> to an EPP poll response, as described in <xref target="RFC5730"/>.  
        The extension is an extension of the EPP object mapping info response.  Any transform operation
        to an object defined in an EPP object mapping by a client other than the sponsoring
        client MAY result in extending the &lt;info&gt; response of the object for
        inserting an EPP poll message with the operation detail.
        The sponsoring client will then receive the
        state of the object with operation detail like what, who, when, and why the object
        was changed.  The &lt;changePoll:changeData&gt; element contains the operation detail along
        with an indication of whether the object reflects the state before or after the operation as defined in <xref target="state"/>.  
        The &lt;changePoll:changeData&gt; element includes the operation detail with the following child elements:</t>

		 <t><list hangIndent="4" style="hanging">
			  <t hangText="&lt;changePoll:operation&gt;:">Transform operation executed on the object as defined
			  in <xref target="operation"/>.</t>
			  <t hangText="&lt;changePoll:date&gt;:">Date and time when the operation was executed.</t>
			  <t hangText="&lt;changePoll:svTRID&gt;:">Server transaction identifier of the operation.</t>
			  <t hangText="&lt;changePoll:who&gt;:">Who executed the operation as defined in <xref target="who"/>.</t>
			  <t hangText="&lt;changePoll:caseId&gt;:">OPTIONAL case identifer associated with the operation.  The required
			  "type" attribute defines the type of case.  The OPTIONAL "name" attribute is an identifier, 
			  represented in the 7-bit US-ASCII character set defined in <xref target="RFC0020"/>, that is used to define the name of the "custom" case type.  
			  The enumerated list of case types is:</t>
			    <t><list hangIndent="4" style="hanging">
			      <t hangText="udrp:">a Uniform Domain-Name Dispute-Resolution Policy (UDRP) case.</t>
			      <t hangText="urs:">a Uniform Rapid Suspension (URS) case.</t>
			      <t hangText="custom:">A custom case that is defined using the "name" attribute.</t>
			    </list></t>
			  <t hangText="&lt;changePoll:reason&gt;:">OPTIONAL reason for executing the operation.  If present,
			  this element contains the server-specific text to help explain the reason the operation was executed.
			  This text MUST be represented in the response language previously negotiated with the client; an
			  OPTIONAL "lang" attribute MAY be present to identify the language if the negotiated value
			  is something other than the default value of "en" (English).</t>
		</list></t>


       <figure>
            <preamble>Example poll &lt;info&gt; response with the &lt;changePoll:changeData&gt;
            extension for a URS lock transaction on the domain.example domain name, with the
            "before" state.  The "before" state is reflected in the &lt;resData&gt; block:</preamble>

            <artwork><![CDATA[
S:<?xml version="1.0" encoding="UTF-8"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:   <response>
S:      <result code="1301">
S:         <msg lang="en-US">
S:       Command completed successfully; ack to dequeue</msg>
S:      </result>
S:      <msgQ id="201" count="1">
S:         <qDate>2013-10-22T14:25:57.0Z</qDate>
S:         <msg>Registry initiated update of domain.</msg>
S:      </msgQ>
S:    <resData>
S:      <domain:infData
S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S:        <domain:name>domain.example</domain:name>
S:        <domain:roid>EXAMPLE1-REP</domain:roid>
S:        <domain:status s="ok"/>
S:        <domain:registrant>jd1234</domain:registrant>
S:        <domain:contact type="admin">sh8013</domain:contact>
S:        <domain:contact type="tech">sh8013</domain:contact>
S:        <domain:clID>ClientX</domain:clID>
S:        <domain:crID>ClientY</domain:crID>
S:        <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate>
S:        <domain:exDate>2014-04-03T22:00:00.0Z</domain:exDate>
S:      </domain:infData>
S:    </resData>
S:    <extension>
S:      <changePoll:changeData
S:        xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0"
S:        state="before">
S:        <changePoll:operation>update</changePoll:operation>
S:        <changePoll:date>2013-10-22T14:25:57.0Z</changePoll:date>
S:        <changePoll:svTRID>12345-XYZ</changePoll:svTRID>
S:        <changePoll:who>URS Admin</changePoll:who>
S:        <changePoll:caseId type="urs">urs123</changePoll:caseId>
S:        <changePoll:reason>URS Lock</changePoll:reason>
S:      </changePoll:changeData>
S:    </extension>
S:    <trID>
S:      <clTRID>ABC-12345</clTRID>
S:      <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:   </response>
S:</epp>]]></artwork>
       </figure>

       <figure>
            <preamble>Example poll &lt;info&gt; response with the &lt;changePoll:changeData&gt;
            extension for a URS lock transaction on the domain.example domain name, with the
            "after" state. The "after" state is reflected in the &lt;resData&gt; block:</preamble>

            <artwork><![CDATA[
S:<?xml version="1.0" encoding="UTF-8"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:   <response>
S:      <result code="1301">
S:         <msg lang="en-US">
S:       Command completed successfully; ack to dequeue</msg>
S:      </result>
S:      <msgQ id="202" count="1">
S:         <qDate>2013-10-22T14:25:57.0Z</qDate>
S:         <msg>Registry initiated update of domain.</msg>
S:      </msgQ>
S:    <resData>
S:      <domain:infData
S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S:        <domain:name>domain.example</domain:name>
S:        <domain:roid>EXAMPLE1-REP</domain:roid>
S:        <domain:status s="serverUpdateProhibited"/>
S:        <domain:status s="serverDeleteProhibited"/>
S:        <domain:status s="serverTransferProhibited"/>
S:        <domain:registrant>jd1234</domain:registrant>
S:        <domain:contact type="admin">sh8013</domain:contact>
S:        <domain:contact type="tech">sh8013</domain:contact>
S:        <domain:clID>ClientX</domain:clID>
S:        <domain:crID>ClientY</domain:crID>
S:        <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate>
S:        <domain:upID>ClientZ</domain:upID>
S:        <domain:upDate>2013-10-22T14:25:57.0Z</domain:upDate>
S:        <domain:exDate>2014-04-03T22:00:00.0Z</domain:exDate>
S:      </domain:infData>
S:    </resData>
S:    <extension>
S:      <changePoll:changeData
S:        xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0"
S:        state="after">
S:        <changePoll:operation>update</changePoll:operation>
S:        <changePoll:date>2013-10-22T14:25:57.0Z</changePoll:date>
S:        <changePoll:svTRID>12345-XYZ</changePoll:svTRID>
S:        <changePoll:who>URS Admin</changePoll:who>
S:        <changePoll:caseId type="urs">urs123</changePoll:caseId>
S:        <changePoll:reason>URS Lock</changePoll:reason>
S:      </changePoll:changeData>
S:    </extension>
S:    <trID>
S:      <clTRID>ABC-12345</clTRID>
S:      <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:   </response>
S:</epp>]]></artwork>
       </figure>

       <figure>
            <preamble>Example poll &lt;info&gt; response with the &lt;changePoll:changeData&gt;
            extension for a custom "sync" operation on the domain.example domain name, with
            the default "after" state.  The "after" state is reflected in the &lt;resData&gt; block:</preamble>

            <artwork><![CDATA[
S:<?xml version="1.0" encoding="UTF-8"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:   <response>
S:      <result code="1301">
S:         <msg>Command completed successfully; ack to dequeue</msg>
S:      </result>
S:      <msgQ id="201" count="1">
S:         <qDate>2013-10-22T14:25:57.0Z</qDate>
S:    <msg>Registry initiated Sync of Domain Expiration Date</msg>
S:      </msgQ>
S:    <resData>
S:      <domain:infData
S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S:        <domain:name>domain.example</domain:name>
S:        <domain:roid>EXAMPLE1-REP</domain:roid>
S:        <domain:status s="ok"/>
S:        <domain:registrant>jd1234</domain:registrant>
S:        <domain:contact type="admin">sh8013</domain:contact>
S:        <domain:contact type="tech">sh8013</domain:contact>
S:        <domain:clID>ClientX</domain:clID>
S:        <domain:crID>ClientY</domain:crID>
S:        <domain:crDate>2012-04-03T22:00:00.0Z</domain:crDate>
S:        <domain:upID>ClientZ</domain:upID>
S:        <domain:upDate>2013-10-22T14:25:57.0Z</domain:upDate>
S:        <domain:exDate>2014-04-03T22:00:00.0Z</domain:exDate>
S:      </domain:infData>
S:    </resData>
S:    <extension>
S:      <changePoll:changeData
S:        xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0">
S:        <changePoll:operation op="sync">custom
S:        </changePoll:operation>
S:        <changePoll:date>2013-10-22T14:25:57.0Z</changePoll:date>
S:        <changePoll:svTRID>12345-XYZ</changePoll:svTRID>
S:        <changePoll:who>CSR</changePoll:who>
S:        <changePoll:reason lang="en">Customer sync request
S:        </changePoll:reason>
S:      </changePoll:changeData>
S:    </extension>
S:    <trID>
S:      <clTRID>ABC-12345</clTRID>
S:      <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:   </response>
S:</epp>]]></artwork>
       </figure>

       <figure>
            <preamble>Example poll &lt;info&gt; response with the &lt;changePoll:changeData&gt;
            extension for a "delete" operation on the domain.example domain name that is
            immediately purged, with the "before" state.  The "before" state is reflected in the
            &lt;resData&gt; block:</preamble>

            <artwork><![CDATA[
S:<?xml version="1.0" encoding="UTF-8"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:  <response>
S:    <result code="1301">
S:      <msg>Command completed successfully; ack to dequeue</msg>
S:    </result>
S:    <msgQ id="200" count="1">
S:      <qDate>2013-10-22T14:25:57.0Z</qDate>
S:      <msg>Registry initiated delete of 
S:         domain resulting in immediate purge.</msg>
S:    </msgQ>
S:    <resData>
S:      <domain:infData 
S:        xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S:        <domain:name>domain.example</domain:name>
S:        <domain:roid>EXAMPLE1-REP</domain:roid>
S:        <domain:clID>ClientX</domain:clID>
S:      </domain:infData>
S:    </resData>
S:    <extension>
S:      <changePoll:changeData 
S:        xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0" 
S:        state="before">
S:        <changePoll:operation op="purge">delete
S:        </changePoll:operation>
S:        <changePoll:date>2013-10-22T14:25:57.0Z
S:        </changePoll:date>
S:        <changePoll:svTRID>12345-XYZ
S:        </changePoll:svTRID>
S:        <changePoll:who>ClientZ
S:        </changePoll:who>
S:        <changePoll:reason>Court order
S:        </changePoll:reason>
S:      </changePoll:changeData>
S:    </extension>
S:    <trID>
S:      <clTRID>ABC-12345</clTRID>
S:      <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:  </response>
S:</epp>]]></artwork>
       </figure>

       <figure>
            <preamble>Example poll &lt;info&gt; response with the &lt;changePoll:changeData&gt;
            extension for an "autoPurge" operation on the domain.example domain name that
            previously had the "pendingDelete" status, with the "before" state.
            The "before" state is reflected in the &lt;resData&gt; block:</preamble>

            <artwork><![CDATA[
S:<?xml version="1.0" encoding="UTF-8"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:  <response>
S:    <result code="1301">
S:      <msg>Command completed successfully; ack to dequeue
S:      </msg>
S:    </result>
S:    <msgQ id="200" count="1">
S:      <qDate>2013-10-22T14:25:57.0Z</qDate>
S:      <msg>Registry purged domain with pendingDelete status.
S:      </msg>
S:    </msgQ>
S:    <resData>
S:      <domain:infData 
S:        xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
S:        <domain:name>domain.example</domain:name>
S:        <domain:roid>EXAMPLE1-REP</domain:roid>
S:        <domain:clID>ClientX</domain:clID>
S:      </domain:infData>
S:    </resData>
S:    <extension>
S:      <changePoll:changeData 
S:        xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0"
S:        state="before">
S:        <changePoll:operation>autoPurge
S:        </changePoll:operation>
S:        <changePoll:date>2013-10-22T14:25:57.0Z
S:        </changePoll:date>
S:        <changePoll:svTRID>12345-XYZ
S:        </changePoll:svTRID>
S:        <changePoll:who>Batch
S:        </changePoll:who>
S:        <changePoll:reason>Past pendingDelete 5 day period
S:        </changePoll:reason>
S:      </changePoll:changeData>
S:    </extension>
S:    <trID>
S:      <clTRID>ABC-12345</clTRID>
S:      <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:  </response>
S:</epp>]]></artwork>
       </figure>

       <figure>
            <preamble>Example poll &lt;info&gt; response with the &lt;changePoll:changeData&gt;
            extension for an "update" operation on the ns1.domain.example host, with
            the default "after" state.  The "after" state is reflected in the &lt;resData&gt; block:</preamble>

            <artwork><![CDATA[
S:<?xml version="1.0" encoding="UTF-8"?>
S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
S:   <response>
S:      <result code="1301">
S:         <msg>Command completed successfully; ack to dequeue</msg>
S:      </result>
S:      <msgQ id="201" count="1">
S:         <qDate>2013-10-22T14:25:57.0Z</qDate>
S:         <msg>Registry initiated update of host.</msg>
S:      </msgQ>
S:    <resData>
S:      <host:infData
S:       xmlns:host="urn:ietf:params:xml:ns:host-1.0">
S:        <host:name>ns1.domain.example</host:name>
S:        <host:roid>NS1_EXAMPLE1-REP</host:roid>
S:        <host:status s="linked"/>
S:        <host:status s="serverUpdateProhibited"/>
S:        <host:status s="serverDeleteProhibited"/>
S:        <host:addr ip="v4">192.0.2.2</host:addr>
S:        <host:addr ip="v6">2001:db8:0:0:1:0:0:1</host:addr>
S:        <host:clID>ClientX</host:clID>
S:        <host:crID>ClientY</host:crID>
S:        <host:crDate>2012-04-03T22:00:00.0Z</host:crDate>
S:        <host:upID>ClientY</host:upID>
S:        <host:upDate>2013-10-22T14:25:57.0Z</host:upDate>
S:      </host:infData>
S:    </resData>
S:    <extension>
S:      <changePoll:changeData
S:        xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-1.0">
S:        <changePoll:operation>update</changePoll:operation>
S:        <changePoll:date>2013-10-22T14:25:57.0Z</changePoll:date>
S:        <changePoll:svTRID>12345-XYZ</changePoll:svTRID>
S:        <changePoll:who>ClientZ</changePoll:who>
S:        <changePoll:reason>Host Lock</changePoll:reason>
S:      </changePoll:changeData>
S:    </extension>
S:    <trID>
S:      <clTRID>ABC-12345</clTRID>
S:      <svTRID>54321-XYZ</svTRID>
S:    </trID>
S:   </response>
S:</epp>]]></artwork>
       </figure>


      </section>
      <!-- end INFO command -->

      <section anchor="transferQueryCommand" title="EPP &lt;transfer&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;transfer&gt; query command
       or &lt;transfer&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>
      <!-- end TRANSFER QUERY command -->

      </section>

      <section anchor="transformCommands" title="EPP Transform Commands">

        <t>EPP provides five commands to transform objects: &lt;create&gt; to create an instance of an object,
        &lt;delete&gt; to delete an instance of an object, &lt;renew&gt; to extend the validity period of an object,
        &lt;transfer&gt; to manage object sponsorship changes, and &lt;update&gt; to change information associated
        with an object.</t>

      <section anchor="createCommand" title="EPP &lt;create&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;create&gt; command
       or &lt;create&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>
      <!-- end CREATE command -->

      <section anchor="deleteCommand" title="EPP &lt;delete&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;delete&gt; command
       or &lt;delete&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>
      <!-- end DELETE command -->

      <section anchor="renewCommand" title="EPP &lt;renew&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;renew&gt; command
       or &lt;renew&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>
      <!-- end RENEW command -->

      <section anchor="transferCommand" title="EPP &lt;transfer&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;transfer&gt; command
       or &lt;transfer&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>
      <!-- end TRANSFER command -->

      <section anchor="updateCommand" title="EPP &lt;update&gt; Command">

       <t>This extension does not add any elements to the EPP &lt;update&gt; command
       or &lt;update&gt; response described in the <xref target="RFC5730"/>.</t>

      </section>
      <!-- end UPDATE command -->

    </section>

    </section>

    <!-- EPP command mapping -->

    <section anchor="syntax" title="Formal Syntax">

      <t>One schema is presented here that is the EPP Change Poll Extension
      schema.</t>

      <t>The formal
      syntax presented here is a complete schema representation of the object
      mapping suitable for automated validation of EPP XML instances. The
      BEGIN and END tags are not part of the schema; they are used to note the
      beginning and ending of the schema for URI registration purposes.</t>

    <section title="Change Poll Extension Schema">

      <figure>
        <artwork><![CDATA[
BEGIN
<?xml version="1.0" encoding="UTF-8"?>
 <schema targetNamespace="urn:ietf:params:xml:ns:changePoll-1.0"
         xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
         xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
         xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-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"/>
  <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>


   <annotation>
     <documentation>
       Extensible Provisioning Protocol v1.0
       Change Poll Mapping Schema.
     </documentation>
   </annotation>

   <!--
    Change element.
   -->
   <element name="changeData" type="changePoll:changeDataType"/>

   <!--
    Attributes associated with the change.
   -->
   <complexType name="changeDataType">
     <sequence>
       <element name="operation" type="changePoll:operationType"/>
       <element name="date" type="dateTime"/>
       <element name="svTRID" type="epp:trIDStringType"/>
       <element name="who" type="changePoll:whoType"/>
       <element name="caseId" type="changePoll:caseIdType"
         minOccurs="0"/>
       <element name="reason" type="eppcom:reasonType"
         minOccurs="0"/>
     </sequence>
    <attribute name="state" type="changePoll:stateType"
      default="after"/>
   </complexType>

   <!--
    Enumerated list of operations, with extensibility via "custom".
   -->
   <simpleType name="operationEnum">
     <restriction base="token">
       <enumeration value="create"/>
       <enumeration value="delete"/>
       <enumeration value="renew"/>
       <enumeration value="transfer"/>
       <enumeration value="update"/>
       <enumeration value="restore"/>
       <enumeration value="autoRenew"/>
       <enumeration value="autoDelete"/>
       <enumeration value="autoPurge"/>
       <enumeration value="custom"/>
     </restriction>
   </simpleType>

   <!--
    Enumerated of state of the object in the poll message.
   -->
   <simpleType name="stateType">
     <restriction base="token">
       <enumeration value="before"/>
       <enumeration value="after"/>
     </restriction>
   </simpleType>

   <!--
    Transform operation type
   -->
  <complexType name="operationType">
    <simpleContent>
      <extension base="changePoll:operationEnum">
        <attribute name="op" type="token"/>
      </extension>
    </simpleContent>
  </complexType>

   <!--
    Case identifier type
   -->
  <complexType name="caseIdType">
    <simpleContent>
      <extension base="token">
        <attribute name="type" type="changePoll:caseTypeEnum"
          use="required"/>
        <attribute name="name" type="token"
          use="optional"/>
      </extension>
    </simpleContent>
  </complexType>

   <!--
    Enumerated list of case identifier types
   -->
   <simpleType name="caseTypeEnum">
     <restriction base="token">
       <enumeration value="udrp"/>
       <enumeration value="urs"/>
       <enumeration value="custom"/>
     </restriction>
   </simpleType>

   <!--
    Who type
   -->
  <simpleType name="whoType">
    <restriction base="normalizedString">
      <minLength value="1"/>
      <maxLength value="255"/>
    </restriction>
  </simpleType>

 <!--
 End of schema.
 -->
 </schema>
END]]></artwork>
      </figure>
      </section>
    </section>

    <section anchor="IANA" title="IANA Considerations">

    	<section anchor="IANA-XML-Namespace" title="XML Namespace">
         <t>
             This document uses URNs to describe XML namespaces and XML schemas
             conforming to a registry mechanism described in <xref target="RFC3688"/>.
             The following URI assignment is requested of IANA:
         </t>

         <t>Registration request for the changePoll namespace:</t>
         
         <t><list>
         <t>URI: urn:ietf:params:xml:ns:changePoll-1.0</t>
         
         <t>Registrant Contact: IESG</t>
          
         <t>XML: None. Namespace URIs do not represent an XML specification.</t>
         </list></t>
         
         <t>Registration request for the changePoll XML schema:</t>
         
         <t><list>
         <t>URI: urn:ietf:params:xml:ns:changePoll-1.0</t>
         
         <t>Registrant Contact: IESG</t>
          
         <t>XML: See the "Formal Syntax" section of this document.</t>
         
         </list></t>

       </section>

       <section anchor="EPP-Extension-Registry" title="EPP Extension Registry">

       	<t>
   The EPP extension described in this document should be registered by
   the IANA in the EPP Extension Registry described in <xref target="RFC7451"/>.  The
   details of the registration are as follows:
   </t>

   <t>
   Name of Extension: &quot;Change Poll Extension for the Extensible Provisioning Protocol (EPP)&quot;
   </t>

   <t>
   Document status: Standards Track
   </t>

   <t>
   Reference: (insert reference to RFC version of this document)
   </t>

   <t>
   Registrant Name and Email Address: IESG, &lt;iesg@ietf.org&gt;
   </t>

   <t>
   TLDs: Any
   </t>

   <t>
   IPR Disclosure: None
   </t>

   <t>
   Status: Active
   </t>

   <t>
   Notes: None
   </t>

       </section>

    </section>

    <section anchor="Implementation" title="Implementation Status">
      <t>Note to RFC Editor: Please remove this section and the reference to
         <xref target="RFC7942">RFC 7942</xref> before publication.</t>
      <t>This section records the status of known implementations of the
      protocol defined by this specification at the time of posting of
      this Internet-Draft, and is based on a proposal described in <xref target="RFC7942">RFC
      7942</xref>.  The description of implementations in this section is
      intended to assist the IETF in its decision processes in
      progressing drafts to RFCs.  Please note that the listing of any
      individual implementation here does not imply endorsement by the
      IETF.  Furthermore, no effort has been spent to verify the
      information presented here that was supplied by IETF contributors.
      This is not intended as, and must not be construed to be, a
      catalog of available implementations or their features.  Readers
      are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942">RFC 7942</xref>, "this will allow reviewers and working
      groups to assign due consideration to documents that have the
      benefit of running code, which may serve as evidence of valuable
      experimentation and feedback that have made the implemented
      protocols more mature.  It is up to the individual working groups
      to use this information as they see fit".</t>
      <section title="Verisign EPP SDK">
        <t>Organization: Verisign Inc.</t>
        <t>Name: Verisign EPP SDK</t>
        <t>Description: The Verisign EPP SDK includes both a full client implementation
        and a full server stub implementation of draft-ietf-regext-change-poll.</t>
        <t>Level of maturity: Production</t>
        <t>Coverage: All aspects of the protocol are implemented.</t>
        <t>Licensing: GNU Lesser General Public License</t>
        <t>Contact: jgould@verisign.com</t>
        <t>URL: https://www.verisign.com/en_US/channel-resources/domain-registry-products/epp-sdks</t>
      </section>
      <section title="Verisign Consolidated Top Level Domain (CTLD) SRS">
        <t>Organization: Verisign Inc.</t>
        <t>Name: Verisign Consolidated Top Level Domain (CTLD) Shared Registry System (SRS)</t>
        <t>Description: The Verisign Consolidated Top Level Domain (CTLD) Shared Registry System (SRS)
         implements the server-side of draft-ietf-regext-change-poll for a variety of Top Level Domains (TLD's).</t>
        <t>Level of maturity: Production</t>
        <t>Coverage: The "after" state poll message for an "update" transform operation of a domain name
        due to server policy.</t>
        <t>Licensing: Proprietary</t>
        <t>Contact: jgould@verisign.com</t>
      </section>
      <section title="Verisign .COM / .NET SRS">
        <t>Organization: Verisign Inc.</t>
        <t>Name: Verisign .COM / .NET Shared Registry System (SRS)</t>
        <t>Description: The Verisign Shared Registry System (SRS) for .COM and .NET
        implements the server-side of draft-ietf-regext-change-poll.</t>
        <t>Level of maturity: Production</t>
        <t>Coverage: The "after" state poll message for an "update" transform operation of a domain name
        due to server policy.</t>
        <t>Licensing: Proprietary</t>
        <t>Contact: jgould@verisign.com</t>
      </section>
      <section title="Neustar EPP SDK">
        <t>Organisation: Neustar Inc.</t>
        <t>Name: Neustar EPP SDK</t>
        <t>Description: The Neustar EPP SDK includes a full client implementation
        of draft-ietf-regext-change-poll.</t>  
        <t>Level of maturity: Production</t>
        <t>Coverage: All client side aspects of the protocol are implemented.</t>
        <t>Licensing: GNU Lesser General Public License</t>
        <t>Contact: quoc-anh.np@team.neustar</t>
      </section>
    </section>



    <section anchor="Security" title="Security Considerations">
      <t>The mapping extensions described in this document do not provide any
      security services beyond those described by <xref
      target="RFC5730">EPP</xref> and protocol layers used by EPP. The security
      considerations described in these other specifications apply to this
      specification as well.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors wish to acknowledge the original concept for this draft and the
      efforts in the initial versions of this draft by Trung Tran and Sharon Wodjenski.</t>

      <t>Special suggestions that have been incorporated into this document
      were provided by Scott Hollenbeck, Michael Holloway, and Patrick Mevzek.</t>
    </section>

  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">

      &RFC0020;

      &RFC2119;

      &RFC3688;

      &RFC3915;

      &RFC5730;

      &RFC5731;

      &RFC7942;
      
      &W3C.REC-xmlschema-2-20041028;

    </references>

    <references title="Informative References">  
    
      &RFC7451; 
      
      &RFC8174;      
      
    </references>

   <section title="Change History">
    <section title="Change from 00 to 01" anchor="change-00-to-01">
      <t><list style="numbers">
        <t>Added an optional caseId element that defines the case identifier from
        UDRP, URS, or custom case, based on feedback from Michael Holloway.</t>
      </list></t>
    </section>
    <section title="Change from 01 to 02" anchor="change-01-to-02">
      <t><list style="numbers">
        <t>Amended XML Namespace section of IANA Considerations, added EPP Extension Registry section.</t>
        <t>Moved Change History to the back section as an Appendix.</t>
      </list></t>
    </section>
    <section title="Change from 02 to 03" anchor="change-02-to-03">
      <t><list style="numbers">
        <t>Fixed "before" state example to use the "before" state value based on feedback from Patrick Mevzek.</t>
      </list></t>
    </section>
    <section title="Change from 03 to 04" anchor="change-03-to-04">
      <t><list style="numbers">
        <t>Updated the authors for the draft.</t>
      </list></t>
    </section>
    <section title="Change from 04 to 05" anchor="change-04-to-05">
      <t><list style="numbers">
        <t>Ping update.</t>
      </list></t>
    </section>
    <section title="Change from 05 to REGEXT 00" anchor="change-04-to-WG00">
      <t><list style="numbers">
        <t>Changed to regext working group draft by changing draft-gould-change-poll to
        draft-ietf-regext-change-poll.</t>
      </list></t>
    </section>
    <section title="Change from REGEXT 00 to REGEXT 01" anchor="version-WG00-to-WG01">
      <t><list style="numbers">
        <t>Ping update.</t>
      </list></t>
    </section>
    <section title="Change from REGEXT 01 to REGEXT 02" anchor="version-WG01-to-WG02">
      <t><list style="numbers">
        <t>Added the Implementation Status section.</t>
      </list></t>
    </section>
    <section title="Change from REGEXT 02 to REGEXT 03" anchor="version-WG02-to-WG03">
      <t><list style="numbers">
        <t>Changed Neustar author to Kal Feher.</t>
      </list></t>
    </section>
    <section title="Change from REGEXT 03 to REGEXT 04" anchor="version-WG03-to-WG04">
      <t><list style="numbers">
        <t>Added Neustar implementation to the Implementation Status section.</t>
      </list></t>
    </section>
    <section title="Change from REGEXT 04 to REGEXT 05" anchor="version-WG04-to-WG05">
      <t><list style="numbers">
        <t>Updates based on feedback from Patrick Mevzek, that include:
          <list style="numbers">
          	<t>Added a missing comma to "Using this extension, clients" in the Introduction section.</t>
          	<t>Modified the description of the "transfer", "restore", and "custom" operations to include "MUST set the "op" attribute" language.</t>
          	<t>Rephrased the first sentence of the Who section.</t>
          	<t>Added references to the &lt;changePoll:who&gt; element in the Who section.</t>
          	<t>Revise the sentence that describes how the extension extends the info response in the EPP &lt;info&gt; Command section.</t>
          	<t>Refer to EPP Object Mapping as EPP object mapping throughout the document.</t>
          	<t>Add a Dates and Times section to the Object Attributes section.</t>
          </list>
        </t>
      </list></t>
    </section>
    
    <section title="Change from REGEXT 05 to REGEXT 06" anchor="version-WG05-to-WG06">
      <t><list style="numbers">
        <t>Added the "State" sub-section to the "Object Attributes" section to describe the expected 
        behavior for the "before" and "after" states, based on feedback from Patrick Mevzek.</t>
        <t>Added a colon suffix to each hangText entry to provide better separation.</t>
      </list></t>
    </section>
    
    <section title="Change from REGEXT 06 to REGEXT 07" anchor="version-WG06-to-WG07">
      <t><list style="numbers">
        <t>Updates based on feedback from Scott Hollenbeck, that include:
          <list style="numbers">
            <t>Changed MAY to may in the Abstract.</t>
            <t>Revised the "IANA Considerations" section to include the registration of the XML schema.</t>
            <t>Revised the description of the &lt;changePoll:caseId&gt; "name" attribute and the "changePoll:operation&gt; 
            "op" attribute as containing 7-bit US-ASCII identifiers for the case type or the operation type, respectively.</t>
          </list>
        </t>
      </list></t>
    </section>
 
    <section title="Change from REGEXT 07 to REGEXT 08" anchor="version-WG07-to-WG08">
      <t><list style="numbers">
        <t>Updated obsoleted RFC 6982 to RFC 7942.</t>
        <t>Moved RFC 7451 to an informational reference based on a check done by the Idnits Tool.</t>
        <t>Changed Kal Feher's contact e-mail address.</t>
        <t>Changed Neustar's Implementation Status contact e-mail address.</t> 
      </list></t>
    </section>
    
    <section title="Change from REGEXT 08 to REGEXT 09" anchor="version-WG08-to-WG09">
      <t><list style="numbers">
        <t>Fixed Section 1.1 (Conventions) to contain the updated language (e.g. "NOT RECOMMENDED", RFC 8174, BCP 14), based on feedback from the Document Shepherd.</t> 
      </list></t>
    </section>
    
    <section title="Change from REGEXT 09 to REGEXT 10" anchor="version-WG09-to-WG10">
      <t><list style="numbers">
        <t>Updates based on the AD review by Adam Roach, that include:
          <list style="numbers">
            <t>Fix the "purge" and "autoPurge" examples to use the normative "before" state instead of the default "after" state.</t>
            <t>Added the sentences "The extension only extends the EPP &lt;poll&gt; response in 
               <xref target="RFC5730"/> and does not extend the EPP &lt;poll&gt; command.  
               Please refer to <xref target="RFC5730"/> for information and examples of 
               the EPP &lt;poll&gt; command." in the "Introduction" to 
               clarify what is extended and reference <xref target="RFC5730"/> 
               for the EPP &lt;poll&gt; command.</t>
            <t>Added missing hyphens to "client-sponsored" and "court-directed".</t>
            <t>Removed "changePoll-1.0" is used as an abbreviation for
            "urn:ietf:params:xml:ns:changePoll-1.0" and replaced the paragraph 
            based on what was done in draft-ietf-regext-allocation-token.</t>
            <t>Changed normative "SHOULD" to non-normative "should" in "An operation consists 
            of any transform operation that impacts objects that the client sponsers and should be notified of."</t>
            <t>Added normative reference to <xref target="RFC0020"/> to define "7-bit US-ASCII".</t> 
            <t>Added the sentence "The custom operations supported is up to server policy." to the description of the "custom" operation.</t>
            <t>Broke up the "This extension adds operation detail..." sentence into two seperate sentences to address the "does" and the "is" 
            seperately.</t>
            <t>Removed the commas from "Any transform operation to an object..." sentence.</t>
            <t>Changed to use an IPv6 address from the documentation-only prefix "2001:DB8::/32" in RFC 3849.  The IPv6 address
            2001:db8:0:0:1:0:0:1 was used.</t>
          </list>
        </t>
      </list></t>
    </section>
     
    <section title="Change from REGEXT 10 to REGEXT 11" anchor="version-WG10-to-WG11">
      <t><list style="numbers">
        <t>Updates based on the review by Benjamin Kaduk, that include:
          <list style="numbers">
            <t>Change references of "The enumerated list ... include:" to "The enumerated list ... is:".</t>
            <t>In section 2.2, explicitly state what the message is inserted into, with the change of "... MUST be inserted prior to ..." to "... MUST be inserted into the message queue prior to ...".</t>
          </list>
        </t>
      </list></t>
    </section>

    <section title="Change from REGEXT 11 to REGEXT 12" anchor="version-WG11-to-WG12">
      <t><list style="numbers">
        <t>Added clarification for the &lt;changePoll:who&gt; element based on the feedback from Benjamin Kaduk.</t>
      </list></t>
    </section>
     
   </section>

  </back>

  <!-- vim: set ts=2 sw=2 expandtab: -->
</rfc>
