Assuming you're creating a new Conversation
with your UCMA application (instead of getting an incoming call to your app), you can connect this new conversation to a conference.
The trick to to use the conversation's ConferenceSession
object to join the conference, rather than calling to it directly, and then establishing the call without a target uri.
Note that you need to impersonate the conversation if you attempt to make multiple calls to the same conference from the same application endpoint.
For reference of the BeginJoin
, see this MSDN page: ConferenceSession.BeginJoin.
var conversation = new Conversation( <your application endpoint> );
conversation.ConferenceSession.BeginJoin("<your conference uri>", (joinresult) => {
conversation.ConferenceSession.EndJoin(joinresult);
// User has joined conference here.
var call = new AudioVideoCall(conversation);
call.BeginEstablish(new AudioVideoCallEstablishOptions(), (establishresult) => {
call.EndEstablish(establishresult);
// Call is established with conference now.
});
});