Endpoint Object

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.

An endpoint is an addressable node, representing a communication entity, in the communications network. There are two types of Unified Communications Client API endpoints:

  • SIP endpoints, or simply endpoints. This type of endpoints is used to represent users, devices, or services that can be engaged in activities over IP networks. These endpoints are identified by their SIP URIs; for example, "sip:user@contoso.com".
  • Proxy endpoints. This type of endpoints is used to represent a public switched telephone network (PSTN) telephone set in remote call controls or computer-to-phone communications. A proxy endpoint is identified by a SIP URI and a TEL URI. The SIP URI of a proxy endpoint is of the "sip:+14255550100@cstaDomain" format and the TEL URI is of the "tel:+14255550100". The numbers are of the global telephone number format and the domain name refers to the CSTA domain. Both the SIP URI and TEL URI are required to create a local proxy endpoint. Only the SIP URI is required to specify a remote proxy endpoint in a computer-to-phone session and only the TEL URI is required to specify a remote proxy endpoint in a phone-to-phone session. Also, a local PBX extension can be used to specify the telephone number. For example, "sip:50100;phone-context=ctsaServer@ctsaDomain", where the URI parameter "phone-context" is required and "ctsaServer" is the name of a CTSA server.

In Unified Communications Client API, an endpoint is encapsulated by the IUccEndpoint interface. An application creates an IUccEndpoint object by calling the CreateEndpoint method when an IUccPlatform is obtained from a newly created UccPlatform object. When a client is using a PBX telephone for audio sessions, the CreateProxyEndpoint method is also called. This method call creates a proxy endpoint that represents the PSTN telephone.

An IUccEndpoint object is an important object because it supports the following functionalities.

  • It maintains a cache for the communications settings that specify the address of the underlying SIP server, the type of transport, the mode of authentication, and the required user credentials. The settings are encapsulated by the IUccServerSignalingSettings interface.
  • It holds a session manager for communication sessions. The session manager is encapsulated by the IUccSessionManager interface. For more information, see Session Objects.
  • It implements a conference manager for creating, modifying, and deleting conferences. The conference manager is encapsulated by the IUccConferenceManager interface. For more information, see Conference Creation Objects.
  • It contains publication and subscription managers for publishing and subscribing to user information or other data that are represented by category instances. The publication manager is encapsulated by the IUccPublicationManager interface and the subscription manager by IUccSubscriptionManager. For more information, see Publication and Subscription Objects.
  • It provides a connectivity manager for enabling or disabling media traversal across firewalls. The connectivity can be configured using the IUccMediaEndpointSettings interface. For more information, see Device Management Objects.

An application accesses these functionalities by obtaining the respective interface pointers from an IUccEndpoint object. In C#, this amounts to type casting an IUccEndpoint object into one of the above types. In C++, this amounts to calling QueryInterface on an IUccEndpoint object for a pointer to the above interfaces.

Each interface obtained from an endpoint has a one-to-one relationship with the endpoint. That is, making a second QueryInterface call for a given interface on the same endpoint results in a reference to the original interface in the endpoint.

Events exposed by an obtained interface pointer come through the queried endpoint object. If an application creates a SIP endpoint for a device within a network hosted by Office Communications Server and a proxy endpoint to control a PBX telephone, the application can obtain two sets of endpoint interfaces. The events raised on the SIP endpoint based interface are differentiated from those raised on the proxy endpoint by the endpoint reference passed as the pEventSource parameter of the interface event callback function.

Note

If an endpoint is disabled, any interface queried from the endpoint is disabled. Events exposed by the disabled interfaces are not received by the client.

The following diagram illustrates the object model for the IUccEndpoint interface.

Bb804140.c62ac0a0-622c-4e10-b6ca-bc2df628da6e(en-us,office.12).gif

In This Section

Endpoint Creation

Endpoint Events

Endpoint as Server Logon Profile

Endpoint Registration with Office Communications Server

Endpoint as Session Manager

Endpoint as Conference Manager

Endpoint as Publication Manager

Endpoint as Subscription Manager

Endpoint as Media Connectivity Manager

Endpoint as Server Signaling Manager

Programming Pattern with Endpoint Objects

See Also

Concepts

Using Unified Communications Client API
Platform Object