Sign a User into Office Communications Server
After creating and initializing the platform object, a Microsoft Unified Communications Client API application must sign the user in to the Microsoft Office Communications Server front-end server. In Unified Communications Client API, an IUccEndpoint instance is used to represent a user or another application entity such as a service. To successfully sign a user in to the Front End Server, the user's principal endpoint must be enabled. When the endpoint is enabled, it is registered on the Front End Server. Because a user can sign in using multiple devices at the same time, a user can have multiple endpoints present in the Unified Communications network simultaneously.
The Front End Server and a custom client or Microsoft Office Communicator client communicate with Session Initiation Protocol (SIP). SIP requires establishment of certain parameters between a SIP server and a client before a communication session can be established. The process of SIP communication is known as signaling. The establishment of SIP signaling parameters is handled by a client using a dedicated server signaling settings interface that is discussed later in this topic.
To sign a user in to a server, the client must first create a IUccEndpoint instance, configure the server signaling settings, and then enable the endpoint object. This type of endpoint is a server-based endpoint. It is also known as the principal endpoint. Configuring the server signaling settings involves specifying an Office Communications Server host, user credentials, and authentication modes. There are two ways to obtain a signaling server. The first way involves directing the endpoint to locate and return a list of available signaling servers. The second requires a client to configure a signaling server instance with information supplied by a user.
When the user's telephone is enabled for Unified Communications, the client can let the user control the telephone. To do so, the application must create and enable another endpoint specifically for a telephone handset. This telephone endpoint is known as a proxy endpoint.
These tasks are discussed in the following topics:
Create a Principal Endpoint
Configure Server Signaling Settings
- Enable an Endpoint
- Create and Enable a Proxy Endpoint
- In-Band Provisioning
- Publishing User Availability
- Publishing Enhanced Presence
- Manage ACL Container Membership
In Unified Communications Client API, the endpoint object represents an active user. In Unified Communications Client API, an enabled IUccEndpoint object handles the following roles:
Session manager responsible for creating outgoing sessions and handling incoming sessions.
Publication manager responsible for publishing the user's presence.
Subscription manager responsible for subscribing to the presence of the user's contacts.
For information about obtaining these embedded functionalities from an enabled principal endpoint, see Managing Enhanced Presence, Communicating with Remote Users, and Configuring a Client Computer for Cross-Firewall Media Connectivity.
The process of initializing a platform object through enabling an endpoint is discussed in the following section. A client following this process uses a combination of class methods and asynchronous callback functions to trigger server registration requests and handle asynchronous responses from Office Communications Server.
This section discusses:
- Creating and initializing a platform object.
- Creating an UccUri instance that represents the local user.
- Instantiating an endpoint with the UccUri Uniform Resource Identifier (URI).
- Setting user credentials in the server signaling settings object.
A server signaling settings object is an instance of the IUccServerSignalingSettings interface.
This interface exposes properties for:
- A local user's sign in credentials.
- An instance of IUccSignalingServer (the target Office Communications Server).
- Supported authentication modes.
- The authentication mode to be used.
Signing Out of a Server
The registration with the server ends when the client calls the Disable method on the enabled endpoint object and the OnDisable event is returned with a succeeded status (StatusCode=0 and IsComplete=true). Before exiting, the client should shut down the platform by calling the Shutdown method on the IUccPlatform object.