Presence interface (Version 2)

Module description

This module defines structures and operations for the presence V2 interface.
A version 2 of the presence interface was necessary to improve the amount of contact and service data.
The presence shows at any time the current availability of the person you wish to communicate with. For a detailed description see the help of the UCClient.
The following presence states are available:

  • Available (green)
  • Busy (red)
  • Absent (yellow)
  • Inactive (green/yellow)
  • Don't disturb (red with a white stripe)
  • Offline (gray)

Additionally the API delivers information in form of contact data, service states and much more.
With all these infromations, it is possible to create an application, which give user the ability to see a detailed picture of a contact enriched with live state changes.

The live changes are results of the different services the UCServer combines the presence state of the user:

  • Telephone (via CTI)
  • Calendar
  • Audio/Video
  • Softphone
  • Bluetooth device (locally attached to a client of the user).
  • Manual input of the user

Prerequisite for using the interface

  • The client needs a socket for secure data Transmission between client-server and vise versa.
  • Installation of ProCall Software in advance
  • Then create a user for testing purposes
  • login in this user name and check the functionality of this interface practically


  • The status for client will be driven from various sources like:
  • Digital Telephone, Mobile, Calender(ms outlook), Audio/Video Chat, Manually changing Status and Computer system(login/logout).
  • The user has the permission to manually change the status
  • The user can set a user-defined status (ex: Coffee Break)
  • The user can set a couple of notices (ex: listing the daily appointments)
  • The user can change status and notice
  • The user can remove status and notice


The Events that the client receives from the server are:

- asnUpdatePresence :

  • It delivers the responses from Server to Client as per Client request
  • The Server receives the specific request like asnCustomNote from Client
  • The Client reciprocally receives an asnUpdatePresence from Server
  • The Update-Event will also be sent to those clients who are in touch with this client in the same Server
  • It receives the Event from server in two forms whether an Argument or an Error
  • As Argument: It handles the Presence and iChangedFlags events
    - Presence : it shows updated data of the present-contact.
    - iChangedFlags : it indicates that which area triggers the event and it's included because later on the server fills the fields
    * check the AsnPresence(Active details) for more details

- asnRemovePresence :

  • It needs a contact id to remove the presence state
  • It has an optionalParams for further implementation

How the API works

Here is a very simple diagram of how the presence API works

uml diagram


Name Description

This enum is for selecting the events and direct return values in which the client is interested when it calls asnGetAndSubscribePresence


This enumeration describes the possible iErrorDetail values of AsnRequestError if an error occured in the operation asnSetDynamicRights


This enumeration describes possible values returning from the server calling asnRemoveDynamicRights


This enumeration describes the values possible returned by asnRequestContactImage and asnRequestLargeProfileImage


The structure is used to describe a phone line of a contact.


This structure describes the information about a call on a phone line.


This strutures describes the phone forward state of a phone line.


- DEPRECATED - Structure of client capabilities.
This structure has been superseeded by the AsnClientCapabilitiesV2 structure


Structure for AsnPresence to give the client a hint, whcih access rights are effective to set on an contact.


Struture for AsnPresence of the actual agent state of the contact


Argument for the event asnRemovePresence


Call this operation to get information about and events of another contact.


Argument for stopping contact subscrptions on the ucserver.


Result of asnUnsubscribePresence if the operation was executed successfully


Argument for asnSetDynamicRights to set/change access rights to contact data and its service informations


Result of asnSetDynamicRights if the operation was successful.


Argument for asnRemoveDynamicRights


Result of asnRemoveDynamicRights


Argument for asnRequestLargeProfileImage


Result of asnRequestLargeProfileImage


Argument for asnRequestContactImage


Result of asnRequestContactImage


Future use


List of AsnPresenceLine structures.


List of AsnPresenceCall structures.


List of AsnPresenceForward structures.


This sequence contains the data and service states of a contact, called its 'presence'.


List of AsnPresence sequences


Argument of asnUpdatePresence


Result of asnGetAndSubscribePresence with the list of successfully subscribed contacts.

Version 7