API Object Models
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.
Unified Communications Client API is a COM-based API. It consists of a set of interfaces (for operations and events), co-classes, and enumeration types. These API types are declared in the UCCAPI.idl file and distributed in the UCCAPI.dll. The type library containing these types is named UCCAPILib. Through the COM-interop (System.Runtime.InteropServices), this COM API is accessible to .NET applications. The primary interop assembly, the reference of which must be added to a .NET application, is Microsoft.Office.Interop.UccApi.dll. The namespace to which the API types belong in a .NET application is Microsoft.Office.Interop.UccApi.
The object model of the API builds on the following concepts:
- Application framework, providing the entry point to the Unified Communications Client API.
- Endpoint, representing a communication entity including a user, an application, and a service.
- Session, identifying an association of two or more endpoints in some communication mode. A session falls into one of the four session types:
- Instant messaging session
- Audio/video session
- Application sessions
- Conference session
The first three session types are transmission-based, in which text messages or other data are transmitted between a pair of participant's endpoints. Audio/video sessions and some application sessions require that a communication channel be established explicitly. A transmission-based session is also known as a media session. Conference sessions are transmission-free, in which there is no direct data transmission between pairs of participant's endpoints of the session. Participants in a conference session communicate with each other by establishing appropriate transmission-based (or media) sessions with the multipoint control units (MCUs) of the conference.
- Category and category instances, representing information used in or for communications and collaborations. The information includes the presence information of a user, the contact information of the user, and custom data and system information such as the MCUs enabled by a conference and a media connectivity server. Such data is communicated among users with help from a general publication and subscription framework.
- Publication and subscription of category instances, providing a general framework to publish, subscribe, and query data supporting Unified Communications.
- Media connectivity, supporting Interactive Connectivity Establishment (ICE) to connect media channels across firewalls.
- Media device on a local computer and its management.
The following diagram illustrates the Unified Communications Client API object model.
In the previous diagram, the Platform object corresponds to the Unified Communications Client API application framework. Platform is the starting point used by Unified Communications Client API applications to access Unified Communications Client API functionalities, including:
- Enable an endpoint. This amounts to registering a user with Microsoft Office Communications Server. An enabled endpoint means a user who is successfully logged on to the Unified Communications network.
- Create a session to invite other participants and communicate with each other using text messaging, audio/video calls, and other communication means. No session can be created unless an endpoint is enabled.
- Publish, subscribe, or query category instances. A user cannot publish, subscribe, or query category instances unless its endpoint is enabled.
- Maintain media connectivity for establishing media channels across firewalls. With this type of functionality, the endpoint must be enabled.
- Manage local devices for rendering or capturing media.