Show / Hide Table of Contents

The Call

Calls in the SDK are denoted with the ICall interface. Different actions on calls like joining existing calls, placing new calls, or transferring the call to another participant are provided as part of this ICall object.

Call Properties

The call has a number of important properties.

  1. The LegId property is the identifier for one leg of the call. For example, if multiple instances of the bot are connected to the same conversation, each ICall instance in that conversation will have its own unique LegId. This id is generated by the SDK, or provided by the server.
  2. The CallLink Uri points to where this conversation is hosted. It also enables the SDK to rehydrate the call object to get all it's required internal properties.
  3. The CorrelationId property is the identifier for the entire conversation. Each leg of the call will share the same CorrelationId as long as they are part of the same conversation. This property is largely owned by the server.
  4. The SignalingHandler property provides access to the CallHandler that the the call was initialized with during the CallInitializeAsync callback. This is a convenience to be able to access the call handler through the SDK.
  5. The MediaSession property provides access to the IMediaSession that the call was initialized with during the CallInitializeAsync callback. This is a convenience to be able to access the call handler through the SDK, and is only available for calls with locally hosted media.
Important

To fetch an existing call from the SDK, or to access an existing call from the server, the SDK requires both the LegId and the CallLink parameters. The LegId properly identifies the call, and the CallLink lets the SDK know where the call is located. In the future the LegId parameter may dissapear, and the CallLink may serve both of these purposes.

Joining an existing call

In order to join an existing call, you require to fill in the JoinCallParameters object. Once a new Call Object is created, you can call the StartJoinCallAsync method on the ICall object. This would start the process of joining a call. The outcome (OnJoinCallCompletedAsync) and other events on the call are raised on the ISignalingHandler implementation for the call.

  • Improve this Doc
Back to top Copyright © 2015-2017 Microsoft
Generated by DocFX