In its simplest form, presence information is information provided regarding a status of another communication device's availability, capability, and/or another user's desire to communicate. Presence information that can be provided can answer questions such as: Is your contact's mobile telephone powered on? Is your contact in a call? Is your contact in an area serviced by the communication network where she can receive calls? Does your contact's telephone have direct connect capabilities? Does your contact prefer a text message?
Presence information can be detected by the communication network, and/or can be provided by the communication device to the network. Presence information can be collected from applications running on the communication device, from the communication device itself, and/or from queries to the communication network. The communication network can provide presence information about the communication device, for example, whether the communication device is in a coverage zone, whether the communication device is turned on, whether the communication device is on a call, and/or the location of the communication device.
The presence information can be aggregated by a presence server and provided to select groups of people in a user's list of entities for which it subscribes to obtain updated presence information, commonly referred to as a “buddy list,” and/or in other applications utilizing presence information. The presence server can check the user's buddy list and provide the user with information about the status of those entities. In addition, the presence server can update presence information in the buddy lists of the user's buddies to indicate the user's current status.
The problem of obtaining updated presence information from communication devices and then distributing the presence information is multifold. A conventional alternative suggests that a communication device can initiate a data call periodically (e.g., every 5 minutes), submit its current presence information to the communication network, and receive presence information for other entities which the communication device includes in one or more so-called buddy lists. This can be expensive, typically for the subscriber who is consuming valuable air time for transmitting status information. Moreover, the status information that is thereafter distributed to other communication devices upon making similar requests can quickly become stale.