The present invention provides distributed communication services based on
a presence technology platform. Presence messaging and communication
techniques allow a variety of communication agents to cooperate with one
another to provide distributed services. Essentially, the messaging
between the agents is used to facilitate media sessions and update
participating devices of state changes bearing on providing the services.
In one embodiment, each of the participating devices is associated with a
logic entity, referred to as a presentity, which subscribes to
notification services for the other participating devices. When a state
change occurs on any one of the participating devices, the corresponding
presentity notifies the other devices of the state change. As such, each
participating device knows the status of the other participating devices
via the presentities and can systematically determine when and how to
provide services based on its current state and the current state of the
other participating devices.