Endpoint Registration with Office Communications Server

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.

Registering a SIP endpoint with Microsoft Office Communications Server involves a client sending a REGISTER SIP request to an underlying server, specifying user credentials, and specifying modes of communications and authentication. Registration ensures that the server can route any messages targeted to this user using a particular client instance and provide a means for the server to authenticate the user. When you log on to the server, you register with the server.

A user is allowed to use multiple means or devices to communicate concurrently with other users. For example, a user can have multiple instant messaging (IM) windows opened in different IM sessions or the user can be available on a desktop computer, laptop computer, hand-held computer, or mobile phone to receive calls. Each of these communication means or devices corresponds to a real-time communication endpoint that is essentially an addressable network node. A Unified Communications Client API application must register each endpoint. To register a user with Office Communications Server using Unified Communications Client API, the client creates a SIP endpoint for a user identified by a SIP URI, specifies appropriate communication settings including the IP address of the underlying server, provides user credentials, chooses one or more supported authentication modes, and then enables the newly created SIP endpoint.

Enabling an Endpoint

A client begins a request of a SIP endpoint registration by calling the Enable method. Like many other operations in Unified Communications Client API, registration is intrinsically asynchronous. After a client calls the Enable method, the method returns immediately. The server returns the result of the registration in the OnEnable event. The client should proceed with other Unified Communications Client API tasks only if the OnEnable event returns successfully. The client can verify this by examining the StatusCode property. When an endpoint is successfully enabled, StatusCode >= 0. If the client version does not match that expected by the server, the registration request is denied. In this case, the returned status is StatusText="Forbidden" and StatusCode is -403.

Note

The StatusCode property of the IUccOperationProgressEvent must be checked in any callback function that returns this interface as an argument. A non-negative status code value indicates the operation completed successfully.

Attempts to access a not-yet-enabled endpoint result in an error status code being returned. Thus, after Enable is called, the client should wait until it receives an OnEnable event with a non-negative StatusCode value. During the waiting period, the client should disable any UI controls to prevent a user from accidentally accessing not-yet-ready Unified Communications Client API features.

Disabling an Endpoint

A client can cancel the registration of an endpoint with Office Communications Server by calling the Disable method. When you log off the server, you cancel the registration. The logoff operation is also asynchronous. The status of a logoff request is returned in the OnDisable event.

Before disabling an endpoint, the application should terminate all existing sessions and clean up unused resources. Attempts to access a disabled endpoint results in a failure code.

See Also

Concepts

Endpoint Object
Endpoint as Server Logon Profile
Endpoint as Session Manager
Endpoint as Publication Manager
Endpoint as Subscription Manager
Endpoint as Media Connectivity Manager
Programming Pattern with Endpoint Objects