1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-13 21:05:09 -05:00
xeps/inbox/last-seen-online.xml

72 lines
4.0 KiB
XML
Raw Normal View History

2013-02-26 13:04:22 -05:00
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'>
%ents;
]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep>
<header>
<title>Last Presence using Delayed Delivery</title>
<abstract>This specification defines a way to determine the time when a XMPP entity has last changed its presence.</abstract>
&LEGALNOTICE;
<number>XXXX</number>
<status>ProtoXEP</status>
<type>Informational</type>
<sig>Standards</sig>
<dependencies>
<spec>XMPP Core</spec>
<spec>XMPP IM</spec>
<spec>XEP-0203</spec>
</dependencies>
<supersedes>
<xep>XEP-0012</xep>
</supersedes>
<supersededby/>
<shortname>last-presence</shortname>
&tobias;
<revision>
<version>0.0.1</version>
<date>2013-02-20</date>
<initials>tobias</initials>
<remark><p>Initial version.</p></remark>
</revision>
</header>
<section1 topic='Introduction' anchor='intro'>
<p>This protocol describes a way to communicate time of last presence change with other XMPP entities over presence stanzas. This is done extending presence stanzas with delayed delivery information according to &xep0203; and can be used to determine the time of last presence change for XMPP entities includeing servers. For users on the same server, the server also adds delyed delivery information to the presence responses.</p>
<p>The time of the delayed delivery information attatched to the presence indicates the time a XMPP entity has last changed to this presence.</p>
</section1>
<section1 topic='Use Cases' anchor='usecases'>
<section2 topic='Last Presence of a XMPP Entity' anchor='case-xmpp-entity'>
<p>This section describes how to determine the time a user when offline or, in general, changed to her current presence state. This is merly a description since the protocol is already described in &rfc6121;, section 4.3.2.</p>
<p>The following example show a possible incoming presence in response to going online by sending your own available presence.</p>
<example caption='Incoming Presence with Delayed Delivery'><![CDATA[
<presence from='romeo@montague.com/kitchen' to='juliet@capulet.com/balcony' type'unavailable'>
<delay xmlns='urn:xmpp:delay' stamp='2002-09-10T23:41:07Z'/>
</presence>]]></example>
</section2>
<section2 topic='Uptime Reporting of Servers and Components' anchor='case-uptime-report'>
<p>Reqesting the uptime of a server or component is done by sending a directed presence probe to the XMPP entity of interest. The request is shown in the following example.</p>
<example caption='Request for Uptime Reporting using Presence Probe'><![CDATA[
<presence from='juliet@capulet.com/balcony' to='montague.com' type='probe' />]]></example>
<p>The server or component then responds with an available presence, extended with delayed delivery information, according to &xep0203;, indicating its startup time. This is shown below:</p>
<example caption='Response to the Presence Probe'><![CDATA[
<presence from='montague.com' to='juliet@capulet.com/balcony'>
<delay xmlns='urn:xmpp:delay' stamp='2002-09-10T23:41:07Z'/>
</presence>]]></example>
</section2>
</section1>
<section1 topic='Acknowledgements' anchor='ack'>
<p>Thanks to Kim Alvefur and Lance Stout for their helpful comments.</p>
</section1>
<section1 topic='Security Considerations' anchor='security'>
<p>Adding delayed delivery notation to the presence probe responses exposes information a user might not expect to have exposed. However the information about last presence change is known to all entities subscribed to one's presence which are online. This extension just provides this information to XMPP entities which have been offline during the course of presence change.</p>
<p>It's worth to note that the security considerations of &xep0082; apply here.</p>
</section1>
<section1 topic='IANA Considerations' anchor='iana'>
<p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
<p>This document requires no interaction with the &REGISTRAR;.</p>
</section1>
</xep>