From 732ca534f394406ae1b4b43037d5cbeeaefbb446 Mon Sep 17 00:00:00 2001 From: Peter Saint-Andre Date: Tue, 26 Feb 2013 11:04:22 -0700 Subject: [PATCH] inbox proposals from Tobian Markmann --- inbox/last-seen-online.xml | 71 +++++++++++++++++++++++++++++++++ inbox/last-user-in-presence.xml | 70 ++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 inbox/last-seen-online.xml create mode 100644 inbox/last-user-in-presence.xml diff --git a/inbox/last-seen-online.xml b/inbox/last-seen-online.xml new file mode 100644 index 00000000..ead9bfef --- /dev/null +++ b/inbox/last-seen-online.xml @@ -0,0 +1,71 @@ + + +%ents; +]> + + +
+ Last Presence using Delayed Delivery + This specification defines a way to determine the time when a XMPP entity has last changed its presence. + &LEGALNOTICE; + XXXX + ProtoXEP + Informational + Standards + + XMPP Core + XMPP IM + XEP-0203 + + + XEP-0012 + + + last-presence + &tobias; + + 0.0.1 + 2013-02-20 + tobias +

Initial version.

+
+
+ +

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.

+

The time of the delayed delivery information attatched to the presence indicates the time a XMPP entity has last changed to this presence.

+
+ + +

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.

+

The following example show a possible incoming presence in response to going online by sending your own available presence.

+ + +]]> +
+ +

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.

+ ]]> +

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:

+ + +]]> +
+
+ +

Thanks to Kim Alvefur and Lance Stout for their helpful comments.

+
+ +

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.

+

It's worth to note that the security considerations of &xep0082; apply here.

+
+ +

This document requires no interaction with &IANA;.

+
+ +

This document requires no interaction with the ®ISTRAR;.

+
+
diff --git a/inbox/last-user-in-presence.xml b/inbox/last-user-in-presence.xml new file mode 100644 index 00000000..795b1410 --- /dev/null +++ b/inbox/last-user-in-presence.xml @@ -0,0 +1,70 @@ + + +%ents; +]> + + +
+ Last User Interaction in Presence + This specification defines a way to communicate time of last user interaction with her system using XMPP presence notifications. + &LEGALNOTICE; + XXXX + ProtoXEP + Standards Track + Standards + + XMPP Core + XMPP IM + XEP-0082 + + + XEP-0256 + + + idle + &tobias; + + 0.0.1 + 2013-02-17 + tobias +

Initial version.

+
+
+ +

This protocol describes a way to communicate time of last user interaction with other XMPP entities over presence stanzas. User interaction refers to a human end user interacting with her device by means of keyboard, mouse, touch and so on. Based on this information XMPP clients can display the time a contact went idle or how for how long a contact has been idle. Thereby end users can get a hunch on the expected responsiveness of their contacts.

+

The described protocol uses absolute timestamps indicated as value of the 'since'-attribute in the ]]>-tag. The time, represented in the 'since'-attribute, is to be formatted according to &xep0082;.

+
+ + Generally there are two main use cases for this extension explained in more detail in the following sections. + +

After a user has not interacted with her device for some amount of time the user wants to inform her contacts about this fact. For this the client sends a presence stanza with time of last interaction.

+ + away + + + ]]> +

The amount of time after a client sends this enhanced presence is not set in stone but 5 minutes is suggested as a sensible default value.

+
+ + + The moment a user comes back and uses her device again the client can inform user's contacts by sending a normal presence stanza like shown in the following example. + + available + + ]]> + +
+ +

Including a last user interaction notation in presence notifications can enable those who receive such notifications to determine exactly when a user has stopped interacting with his or her XMPP client or even their system, but this information is in essence already available if the user publishes timely presence updates. Therefore, this specification introduces no new vulnerabilities.

+

It's worth to note that the security considerations of &xep0082; apply here.

+
+ +

This document requires no interaction with &IANA;.

+
+ +

This document requires no interaction with the ®ISTRAR;.

+
+