This commit is contained in:
stpeter 2012-03-08 14:58:05 -07:00
parent e4ebe6c2e6
commit 0aa01b64c3
1 changed files with 44 additions and 5 deletions

View File

@ -22,6 +22,12 @@
<shortname>NOT_YET_ASSIGNED</shortname>
&hildjj;
&stpeter;
<revision>
<version>0.2</version>
<date>2012-03-08</date>
<initials>psa</initials>
<remark><p>Replaced jabber:iq:last with a specialized namespace.</p></remark>
</revision>
<revision>
<version>0.1</version>
<date>2012-02-29</date>
@ -43,14 +49,14 @@
</header>
<section1 topic='Introduction' anchor='introduction'>
<p>Many &xep0060; and &xep0163; services send notifications based on information about the presence of subscribers. This implies that subscribers might not receive notifications that were generated when they are offline at a particular resource. While &xep0256; defines a way for clients to include their last logout time, this specification closes the loop by defining how pubsub and PEP services can use the last logout information to send interim notifications to subscribers.</p>
<p>Many &xep0060; and &xep0163; services send notifications based on information about the presence of subscribers. This implies that subscribers might not receive notifications that were generated when they are offline at a particular resource. This specification defines how pubsub and PEP services can use the last logout information to send interim notifications to subscribers. (Although &xep0256; defines a way for clients to note their last logout time, this document defines a specialized namespace to reduce the possibility that non-initial presence notifications would trigger the synchronization behavior.)</p>
</section1>
<section1 topic='How It Works' anchor='feature'>
<p>As described in XEP-0256, a subscriber (i.e., a subscriber's specific full JID) can indicate its last logout time when sending initial presence.</p>
<example caption='Last Indication in Initial Presence'><![CDATA[
<p>When sending initial presence, A subscriber (more precisely, a subscriber's specific full JID) can indicate how long ago it last logged out by including an &lt;ago/&gt; element qualifed by the 'urn:xmpp:ago' namespace; the 'secs' attribute indicates the number of seconds since this resource was last online.</p>
<example caption='Last Logout Indication in Initial Presence'><![CDATA[
<presence from='juliet@capulet.com/balcony'>
<query xmlns='jabber:iq:last' seconds='86511'/>
<ago xmlns='urn:xmpp:ago' secs='86511'/>
</presence>
]]></example>
<p>Upon receiving such an indication, a pubsub or PEP service that supports presence-based notifications and the "pubsub-since" feature defined herein would behave as follows:</p>
@ -104,8 +110,11 @@
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<section2 topic='Protocol Namespaces' anchor='registrar-namespaces'>
<p>The &REGISTRAR; shall add 'urn:xmpp:ago' to its registry at &NAMESPACES;.</p>
</section2>
<section2 topic='Service Discovery Features' anchor='registrar-features'>
<p>Support for the feature defined in this document is advertised by the ""http://jabber.org/protocol/pubsub#since"" Service Discovery feature.</p>
<p>Support for the feature defined in this document is advertised by the "http://jabber.org/protocol/pubsub#since" Service Discovery feature.</p>
<p>The XMPP Registrar shall add this feature to its registry at &DISCOFEATURES;. The registration is as follows.</p>
<code caption='Registry Submission'><![CDATA[
<var>
@ -120,4 +129,34 @@
</section2>
</section1>
<section1 topic='XML Schema' anchor='schema'>
<code><![CDATA[
<?xml version='1.0' encoding='UTF-8'?>
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='urn:xmpp:ago'
xmlns='urn:xmpp:ago'
elementFormDefault='qualified'>
<xs:element name='ago'>
<xs:complexType>
<xs:simpleContent>
<xs:extension base='empty'>
<xs:attribute name='secs' type='xs:unsignedLong' use='required'/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:simpleType name='empty'>
<xs:restriction base='xs:string'>
<xs:enumeration value=''/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
]]></code>
</section1>
</xep>