Presence information
From Free net encyclopedia
In computer and telecommunications networks, presence information conveys a presentity's availability and willingness to communicate. A client publishes presence information to other systems' users—sometimes called watchers or subscribers—to convey its communication state. Presence information has wide application in voice over IP and instant messaging.
Contents |
Presence state
A user may publish a variety of presence states to indicate their communication status. This published state informs others that wish to contact the user of their availability and willingness to communicate. The most common use of presence today is the status indicator displayed on most instant messaging clients. A more simple everyday example is the 'on-hook' or 'off-hook' state of a telephone receiver, resulting in a distinctive ring tone for caller. Some states that offer extended information on the user's availiability are "free for chat", "away", "do not disturb", and "out to lunch", which are often seen on many modern instant messaging clients. In fact, users and communication applications can create arbitrary presence states, since there is no standardization of state itself. Presence is different from traditional 'on-hook' telephone status in that it deals with the user not the device.
MPOP and presence by observation
Presence becomes interesting for communication systems when it spans a number of different communication channels. The idea that multiple communication devices can combine state, to provide an aggregated view of a user's presence has been termed Multiple Points of Presence (MPOP). MPOP becomes even more powerful when it is automatically inferred from passive observation of a user's actions. This idea is already familiar to instant messaging users who have their status set to "Away" (or equivalent) if their computer keyboard is inactive for some time. Extension to other devices could include whether the user's cell phone is on, whether they are logged into their computer or perhaps checking their electronic calendar to see if they are in a meeting or on vacation. For example, if a user's calendar was marked as out of office and their cell phone was on, they might be considered in a "Roaming" state.
MPOP status can then be used to automatically direct incoming messages across all contributing devices. For example "Out of office" might translate to a system directing all messages and calls to the user's cell phone. The status "Do not disturb" might automatically save all messages for later and send all phone calls to voicemail.
XMPP, discussed below, allows for MPOP by assigning each client a "resource" (a specific identifier) and a priority number for each resource. A message directly to the user's ID would go to the resource with highest priority, although messaging a specific resource is possible by using the form user@domain/resource.
Watchers
Users have the potential to publish different presence states depending on who the communicator (or watcher) is. A worker may only want colleagues to see detailed presence information during office hours, for instance. Some users may want to only publish information to a select few. Basic versions of this idea are already common in instant messaging clients as a 'Block' facility, where users can appear as unavailable to selected watchers.
Commercial products
Presence, particularly MPOP, requires collaboration between a number of electronic devices (for example IM client, home phone, cell phone and electronic calendar). To date, presence has only seen wide scale implementation in closed, SPOP (Single Point of Presence, where a single device publishes state) systems. For presence to work in an MPOP environment, multiple devices must be able to intercommunicate.
2.5G and 3G cell phone networks promise the possibility of users publishing the presence of their cell phone handsets. In the workplace, private messaging servers offer the possibility of MPOP within a company or work team.
XMPP and SIMPLE
The implementation of a more complex presence system is limited by the amount of information that various devices exchange with each other.
Currently there are several working groups trying to standardize a presence protocol:
The XML-based XMPP or Extensible Messaging and Presence Protocol was designed and currently maintained by the Jabber Software Foundation. It is the base of the Jabber IM protocol, which is a robust and widely extended protocol, it is also the protocol used by Google Talk. In October 2004, the XMPP working group at IETF published the RFC documents 3920, 3921, 3922 and 3923, to standardize the core XMPP protocol.
Another standardization effort is SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE). SIMPLE specifies extensions to the SIP protocol which deal with a publish and subscribe mechanism for presence information and sending instant messages. SIMPLE has an IETF working group, trying to also standardize this protocol.
References
- Day, M., J. Rosenberg, and H. Sugano. "A Model for Presence and Instant Messaging." RFC 2778. February 2000.