Quantcast
Channel: Microsoft Unified Communications Managed API SDK forum
Viewing all articles
Browse latest Browse all 889

ApplicationEndpoint schedule conference problem.... :(

$
0
0

Hi all,

I am creating a UCMA 4.0 application should schedule a conference and invite a user to Lync This was achieved successfully only if the user is a UserEndPoint scheduler.

If I use a ApplicationEndpoint to schedule the conference ... The Lync user can not make video or audio conference only IM.

This is the partial code I have:

LocalEndpointState currentEndpointState = applicationEndpoint.State;
                    if (currentEndpointState == LocalEndpointState.Established || currentEndpointState == LocalEndpointState.Reestablishing)
                    {
                        UserEndpoint operatorEndpoint = CreateOperatorUserEndPoint(ChoosenOperator(applicationEndpoint));
                        //UserEndpoint organizerEndpoint = CreateOperatorUserEndPoint(applicationEndpoint.OwnerUri);

                        if (operatorEndpoint != null)
                        {
                            Dictionary<string, string> contexto = new Dictionary<string, string>();
                            contexto.Add("reason", reason);
                            contexto.Add("userAgent", userAgent);
                            // Schedule conference with Creator endpoint and invited operator.
                            operatorEndpoint = ScheduleConference(applicationEndpoint, operatorEndpoint, userId);

                            // Initialize a conversation of the Operator endpoint.
                            Conversation operatorConversation = new Conversation(operatorEndpoint);
                            operatorConversation.ApplicationContext = contexto;
                            operatorConversation = JoinConferenceWithJoinModeExplicit(operatorConversation, JoinMode.Default);

                            // Placing a call on the conference-connected conversation and 
                            // connects to the respective MCUs.
                            PlaceCallToAVMcu(operatorConversation);

                            #region Organizer Join
                            
                            //// Organizer join and let in everyone in Lobby.
                            //// -
                            //// Initialize a conversation of the Operator endpoint.
                            Conversation organizerConversation = new Conversation(applicationEndpoint);
                            organizerConversation.ApplicationContext = contexto;
                            organizerConversation = JoinConferenceWithJoinModeExplicit(organizerConversation, JoinMode.TrustedParticipant);

                            //// Placing a call on the conference-connected conversation and 
                            //// connects to the respective MCUs.
                            PlaceOrganizerCallToAVMcu(organizerConversation);
                            
                            #endregion

                            //send conf invite
                            ConferenceInvitationDeliverOptions deliverOptions = new ConferenceInvitationDeliverOptions();
                            deliverOptions.ToastMessage = new ToastMessage("Hola un cliente desea tu atención");
                            ConferenceInvitation invitation = new ConferenceInvitation(organizerConversation);
                            invitation.StateChanged += invitation_StateChanged;
                            invitation.BeginDeliver(operatorEndpoint.OwnerUri, deliverOptions, EndDeliverInvitation, invitation);

                            // Synchronize to ensure that invitation is complete
                            _waitForConversationInviteRemoteParticipants.WaitOne();

Inside the ScheduleConference method i change between AplicationEndpoint and UserEndPoint for test purpose: 

operatorEndpoint = ScheduleConference(applicationEndpoint, operatorEndpoint, userId);

inside the method:

 operatorEndpoint.ConferenceServices.BeginScheduleConference(conferenceScheduleInformation,
                EndScheduleConference, operatorEndpoint.ConferenceServices);


If you do not understand me try Spanish :)


Viewing all articles
Browse latest Browse all 889

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>