PresenceV2

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

Functionalities

  • 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

Events

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

Operations:

Name Description
asnGetAndSubscribePresence

Operation to retrieve contact data and to subscribe to events when these data will change.

asnUnsubscribePresence

Operation to end subscriptions on contacts on the ucserver.

asnSetDynamicRights

Operation to set access rights for another contact on contact data and contcat service information.

asnRemoveDynamicRights

This operation is used for removing access rights to contact data and service states between contacts.

asnRequestLargeProfileImage

Request an large image of a contact.

asnRequestContactImage

Request an image of a contact

Events:

Name Description
asnUpdatePresence

Event from the server to the client about presence updates

asnRemovePresence

Event from the server tzhat the contact has been removed from the presence system.

Types:

Name Description
AsnPresenceSubscriptionFlags

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

AsnSetDynamicRightsErrorEnum

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

AsnRemoveDynamicRightsErrorEnum

This enumeration describes possible values returning from the server calling asnRemoveDynamicRights

EnumRequestImageResult

This enumeration describes the values possible returned by asnRequestContactImage and asnRequestLargeProfileImage

AsnPresenceLine

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

AsnPresenceCall

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

AsnPresenceForward

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

AsnContactCapabilities

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

AsnActualUserDynamicRights

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

AsnAgentState

Struture for AsnPresence of the actual agent state of the contact

AsnRemovePresenceArgument

Argument for the event asnRemovePresence

AsnGetAndSubscribePresenceArgument

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

AsnUnsubscribePresenceArgument

Argument for stopping contact subscrptions on the ucserver.

AsnUnsubscribePresenceResult

Result of asnUnsubscribePresence if the operation was executed successfully

AsnSetDynamicRightsArgument

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

AsnSetDynamicRightsResult

Result of asnSetDynamicRights if the operation was successful.

AsnRemoveDynamicRightsArgument

Argument for asnRemoveDynamicRights

AsnRemoveDynamicRightsResult

Result of asnRemoveDynamicRights

AsnRequestLargeProfileImageArgument

Argument for asnRequestLargeProfileImage

AsnRequestLargeProfileImageResult

Result of asnRequestLargeProfileImage

AsnRequestContactImageArgument

Argument for asnRequestContactImage

AsnRequestContactImageResult

Result of asnRequestContactImage

AsnMonitorGroupingAttribute

Future use

AsnPresenceLines

List of AsnPresenceLine structures.

AsnPresenceCalls

List of AsnPresenceCall structures.

AsnPresenceForwards

List of AsnPresenceForward structures.

AsnPresence

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

AsnPresenceList

List of AsnPresence sequences

AsnUpdatePresenceArgument

Argument of asnUpdatePresence

AsnGetAndSubscribePresenceResult

Result of asnGetAndSubscribePresence with the list of successfully subscribed contacts.

Version 7