Course10:Advanced - Presence
This books explains the basic mechanism of presence.
Introduction
Introduction
What is presence?
In computer and telecommunications networks, presence information is a status indicator that conveys ability and willingness of a potential communication partnerfor example a user--to communicate.
A user's client provides presence information (presence state) via a network connection to a presence service, which is stored in what constitutes his personal availability record (called a presentity) and can be made available for distribution to other users (called watchers) to convey his availability for communication.
Presence information has wide application in many communication services and is one of the innovations driving the popularity of instant messaging or recent implementations of voice over IP clients.
Source: Wikipedia
This book
This book will give you an overview about the implementation of presence mechanisms within innovaphone products.
It shows you the concept, the technical realisation, some use-cases within dedicated products and of course gives some hints about configuration and potential issues.
Concept
Concept
The concept drawing
shows you where presence can be "generated" and might be distributed to within an innovaphone setup.
Presence sources
One can see that different "presence sources" may be available:
- PBX
- the phone
- myPBX
- outlook calendar
- any 3rd party application
Presence is set in different ways on these sources:
PBX
Presence states can be set directly at the PBX by a user having at least cf-grp rights in the respective PBX. When setting the state, user can choose from predefined values or enter a custom, more specific, presence information.
Additionally, the PBX provides DTMF Feature codes to set presence state. This option is specially implemented to allow users to configure their presence information via their mobile extension.
Phone
As already known, each user can own a presence key on his phone to set its presence directly here. Second option is using the phone menu (main menu -> user settings -> presence). The configured state will then be propagated to the PBX, which will inform all subscribed clients.
myPBX
Beside the phone, of course presence settings are possible from the UC-client myPBX via an easy-to-understand drop down menu. Details will be explained in the separate
Outlook calendar
This optional presence source can be used since V10 to retrieve presence information from Exchange2010 (or newer versions) using the innovaphone exchange calender connector Linux Application Platform.
3rd party applications
A 3rd party application to be mentioned is Opticaller - a GSM client which - together with the innovaphone mobility object - turns a GSM-phone into an extension of the PBX. It uses SOAP and SetPresence to provides presence manipulation.
Other 3rd party applications can deliver presence to the innovaphone PBX as long as their either speak SOAP or subscribe themselves via SIP.
Presence sinks
Once available within the innovaphone PBX, presence states of other PBX-users can be distributed to and displayed in
- phones
- myPBX
- MS Office applications
- other 3rd party applications
Phone and myPBX
For phones and myPBX, presence distribution and its display should be clear.
The presence state of a user is displayed when you make a call to the respective extension. The presence state is shown in the display of the calling phone.
To subscribe for the presence state of a user, you will add the user to your myPBX contact list or define a Partner key. Enable the flag Subscribe for presence for the specific target.
Another possibility is to use the innovaphone OperatorV9, since it can show the presence state of all PBX users. The Operator software does not monitor the presence by subscription but uses SOAP to access the presence info of each user.
MS office applications
The new myPBX10 introduces a mechanism to distribute presence of PBX-users to MS Office applications (starting version 2010 onwards), mostly used in Outlook. For the time being, this information shall be sufficient here, details are explained in the myPBX book.
3rd party applications
As mentioned above any 3rd party application which either speaks SOAP or can subscribe itself via SIP to the innovaphone PBX can receive any presence information also.
If you wonder why the Outlook calendar is not mentioned here - there's (currently) no way to achieve this. It is a single-directional communication only (from Calendar to PBX).
Technical Implementation
Technical Implementation
The presence data is stored in a presence server, in most cases this is the PBX.
The presence mechanism was implemented in the SIP protocol stack as defined by the SIMPLE standard. Additionally innovaphone uses the standard H.450 protocol extension, in order to transport presence information via H.323. Beside those two signaling protocols, SOAP or the admin UI can handle presence as well.
Each user can change his own presence, currently this can be done by using a phone or myPBX.
The presence information stored at a user consists of three parts
:
For each device-type the presence server will store a set of activity, note and state.
There are currently three device types, phone, instant messaging and calendar. The phone device-type is abbreviated as tel:, the instant messaging type (myPBX) is displayed as im: and the calendar as calendar: .
Each device type must have a state, which can be either open or closed.
- the state is open if a device of this type assigned to this specific user, is currently active (i.e. phone is registered at PBX user object or myPBX client is started and the user is logged in)
- the state is closed if no device of this type is available.
- the state is changed automatically by the PBX
- the current state of a presence information is displayed by its colour. When orange the state is open and if grey the state is closed.
The activity of a user describe what the person is doing. The note is an optional element, it gives the user the possibility to add further explanations/specifications for her or his activity. E.g. userx has the activity lunch and the note from 12.00 to 14.00.
As a result from storing an activity, note and state for each device type, the PBX creates a list of presence sets
.
The latest activity entry in the list is displayed as presence information to all users. If a presence info is deleted, the next entry in the list is displayed. A change of activity or note will update the entry in the list, making it the most current presence set.
Any activity starting in the past and lasting to the future will overwrite any intermediate acitivites.
A change of state has no effect on the order/sequence of elements in the list.
A change in the state of the presence information, has effect on the communication possibilities of a remote user towards this user. E.g. if userx has the state closed for his instant messaging presence, then this means he hasn't started his myPBX client. As a result, when other users try to reach him, the chat button is not displayed as an communication option.
Presence security
Presence security
Each user can define a group of users that are allowed to see his presence.
Access rights can be granted for specific PBX users only or for a complete user group.
If a user (e.g. user1) adds another user (e.g. user2) to his contact list, a request for presence is displayed
at the remote contact. User2 can then decide if his presence information is displayed to User1. Moreover, he can specify if only presence information or also dialog information( in conversation or not) and dialog IDs(number of partner involved in conversation) is displayed at User1.
Access rights can be deployed as well automatically to a range of users using config templates. This is beneficial when having groups of users with specific responsabilities and therefore different rights.
In addition to these mechanisms, a person can use the visibility option in myPBX or the
Access column in the PBX - objects screen (if having PBX-access rights) to change his personal user-rights list individually.
Note: All of these settings refer to persons or groups known by the PBX - which is not the favourites (aka buddy) list of myPBX.