The innovaphone PBX manages presence information for the users. The presence information stored is based on RFC 3863, Presence Information Data Format (PIDF). There are several methods to access this information:
- Configuration by the Administrator
- Standard SIP methods PUBLISH, SUBSCRIBE
- H.323/H.450 proprietary facilities based on the SIP methods
- myPBX client
Presence information may come from different sources. These sources are identified by a contact URI. The PBX stores all the presence information from all sources and delivers all this information to subscriptions sorted by currentness, meaning the most current information is at the start of the list.
Structure of the Presence Information
The presence information consists of a list of entries, based on the source of the information. Each entry contains the following fields:
- The contact URI defines the source of the information. There are two predefined contact URIs, 'tel:' - the information was provided by a phone registered to the PBX, 'im:' - The information was provided by a Instant messaging client (e.g. myPBX).
- Indicates the status of the device providing the information. The status can be 'open' or 'closed' meaning if the device is present or not. For the 'im:' Presence from myPBX this indicates if myPBX is started. This information reflects the current status and is not stored in permanent memory.
- This information is related to the person using the device. It can be one of standardized predefined activities (e.g. busy, lunch, meeting, ...)
- A text note, which was entered by the person.
Update of Presence Information by a Device
If the presence information of a single device is updated (e.g. the User sets the presence on the phone), the PBX replaces the information stored for this device (identified by contact) with the new information. At the same time the new information is sorted to the beginning of the list of presence informations.
Display of Presence Information
For many applications a user is interessted in all the information provided by all devices, but only in the most up to date information, so a good algorithm is to search the list and display the first activity found and the first note found (not necessarily from the same device). The status information displayed depends on the device on which the information is displayed. It indicates how the person can be contacted, so it is not usefull to display the status of a device, which cannot be used from the device used to display the information.