This documentation is archived and is not being maintained.

Basic Application Tasks Using Unified Communications Client API

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

Typically, in a Unified Communications Client API application, a user logs in to an Office Communications Server server to communicate with other users. This user registration ensures that the client is properly authenticated, the server logon profile appropriately maintained, and the user's presence duly notified to other users. Ensuing communications then take place in the form of instant messaging, voice, or video chat that can include computer-to-computer or computer-to-phone calls. Updates of presence information of a user are dispatched to the subscribers. The process continues until the user logs off from Communications Server. For clients connecting to Communications Server from outside of the enterprise network, the applications must also work with the media connectivity server (also known as Media Relay) configured to support Communications Server.

The following list summarizes the basic application tasks that an application is likely to perform. The tasks are presented according to functional categories:

  • Initializes the application framework of Unified Communications Client API. This amounts to creating a UccPlatform class and calling the Initialize method on the IUccPlatform interface. This must be the first operation of every Unified Communications Client API application.
  • Registers a user with Office Communications Server, including logging on to and logging off from a server.
  • Subscribes to receive categories sent in-band by Office Communications Server. Categories include configuration information, contact lists, and self-presence information. Continue to monitor for updates to these categories as they are sent by Office Communications Server.
  • Establishes and maintains media communications sessions for application sharing, instant messaging, audio/video (AV) calls between a computer and another computer or between a computer and a telephone, as well as controlling telephone calls.
  • Establishes and maintains conference sessions for managing a conference, including the maintenance of the conference roster and Focus, provisioning of the supported multipoint control units (MCUs) to enable IM, AV, and application-sharing among the conference participants.
  • Manages local devices that can be used in a media or conference session.
  • Publishes data that is represented by generic category instances and subscribes to the notifications of updates of such data. Data can be of general nature or specific to an application. Use of generic category instances provides a greater flexibility for an application to publish and subscribe to custom or specialized data.
  • Manages contacts, publishing, and subscribing to contacts-related category instances. Such category instances are also represented by dedicated API objects, for example IUccPresenceContactCardInstance and IUccPresenceCalendarDataInstance. The strongly typed category instances make the programming pattern more user-friendly for contact management.
  • Manages presence, publishing, and subscribing to presence-related category instances. Such category instances are also represented by dedicated API objects, for example, IUccPresenceStateInstance and IUccPresenceNoteInstance.
  • Chooses an appropriate media connectivity server to ensure media delivery across firewalls if the client connects from outside the enterprise network.