Freigeben über


Delegator Client Class (Lync 2010 SDK)

A delegator is a user who has directed their incoming audio calls to be answered by another user known as a delegate user. The Microsoft.Lync.Model.DelegatorClient class represents a delegator client while Microsoft.Lync.Model.LyncClient represents the delegate client. The delegate client exposes the LyncClient.DelegatorClients property. This property returns a collection of Microsoft.Lync.Model.DelegatorClient instances representing all delegator clients that have delegated calls to the delegate client.

A delegate client can receive redirected calls on behalf of a delegator as well as direct audio calls on their own behalf. A delegated client must be able to distinguish between delegated and direct audio calls. It is important that your application alert a local user that an incoming call was delegated to the local user by another user so the local user can respond appropriately. For example, the local user may choose to ignore a direct call in favor of a delegated call.

The DelegatorClient class allows your application to take incoming delegated calls, identify them as delegated calls, and provide your local user with the identity of the delegator as well as the identity of the caller. The DelegatorClient is not a full implementation of Microsoft.Lync.Model.LyncClient and only gives you access to five properties and one event. Only the Client.ConversationManager property returns an object representing the delegator client. The other properties; Client.ContactManager, Client.Self, Client.Uri, and Client.State return the same object that the delegated Microsoft.Lync.Model.LyncClient returns. You cannot access a delegator’s contact list or current state using these properties.

The Client.ConversationManager property on Microsoft.Lync.Model.DelegatorClient is the source of the ConversationManager.ConversationAdded event that is raised when a delegated call comes in. You must register for this event on the DelegatorClient.Client.ConversationManager property to receive these delegated call events. To continue receiving call events for direct calls, you also register for ConversationManager.ConversationAdded events on the LyncClient instance of the delegated client.

If you cache the two different Client.ConversationManager instances, then you can use one ConversationManager.ConversationAdded event handler that uses simple logic to determine which of the two ConversationManager instances raised the ConversationAdded event. With that determination, you can update your UI with a hint about the origin of the call. All following conversation logic in your application applies to either delegated or direct calls.

See Also

Concepts

Walkthrough: Handle Delegated Calls (Lync 2010 SDK)

Walkthrough: Respond to a Conversation Invitation (Lync 2010 SDK)