2

I am trying to schedule a lync conference with UCMA 3.0. After creating the conference I send the ConferenceUri to the users and let them join the conference.

<a href="callto:sip:tuser02@domain.ch;gruu;opaque=app:conf:focus:id:XXXXXXX">Lync Test 2.0</a>

I schedule the conference with the following code:

public LyncConference CreateConference(LyncConference lyncConference)
       {
        ApplicationEndpoint appEndpoint = CreateApplicationEndpoint();
        if (appEndpoint == null)
        {
            return null;
        }

        // Event to notify the main thread when the endpoint has scheduled a conference.
        AutoResetEvent waitForConferenceScheduling = new AutoResetEvent(false);

        LyncConference newLyncConference = null;

        ConferenceScheduleInformation conferenceScheduleInformation = CreateConferenceScheduleInformation(lyncConference, null);

        WriteLine("New Conference Schedule Information created. Calling Lync ...", EventLogEntryType.Information);

        Exception error = null;

        appEndpoint.ConferenceServices.BeginScheduleConference(conferenceScheduleInformation,
            result =>
            {
                try
                {
                    Conference conference = appEndpoint.ConferenceServices.EndScheduleConference(result);
                    newLyncConference = CreateLyncConference(conference);
                    waitForConferenceScheduling.Set();
                }
                catch (Exception e)
                {
                    error = e;
                    WriteLine(e.Message, EventLogEntryType.Error);
                    waitForConferenceScheduling.Set();
                }
            },
            appEndpoint.ConferenceServices);


        // Wait until scheduling of the conference completes.
        waitForConferenceScheduling.WaitOne();


        if (error != null)
        {
            String errorMessage = "Error while creating a new lync conference: " + error.Message;
            WriteLine(errorMessage, EventLogEntryType.Error);
            throw new Exception(error.Message, error);
        }

            WriteLine("Conference scheduled with ID: " + newLyncConference.ConferenceId, EventLogEntryType.Information);
            PrintConferenceInfo(newLyncConference);

        return newLyncConference;
    }

After scheduling the conference i send the property Conference.ConferenceUri to the users. If the users clicks on the link with the ConferenceUri, the lync client reacts and asks if one would like to call the conference. Everything works fine but i am alone in the conference together with a other impersonate user who is offline since 120 days.

Can someone help me? Thanks a lot.

Sam Hueppi
  • 49
  • 7

3 Answers3

1

As per UCMA 3.0 Conference flow is:

  1. Schedule conference using BeginScheduleConference and EndScheduleConference.
  2. Join Conference using BeginJoin and EndJoin-Important (your local end point will join the conference through these calls).
  3. Escalate using BeginEscalateToConference and EndEscalateToConference for your local endpoint.
  4. Now you can publish the conference id and uri for other participants.
  • Hello and thank you for your post. You describe the way from the sample code basic conferencing. But i just want to create a conference without joining a user on the conference. The users should join the conference in the future by clicking on the conference URI. Thats why i distribute the conference link to all users. But if they do so the link comunicator opens a conversation window but the users cant see each other inside the conversation. – Sam Hueppi Jul 09 '14 at 13:34
  • If i use the BeginEscalateToConference method the error is: "The conversation is not in conferencing state when escalation was requested" – Sam Hueppi Jul 09 '14 at 14:17
  • When i print out the state from the conversation, the state is: "Conferenced" – Sam Hueppi Jul 10 '14 at 06:38
0

Have you looked at the sample apps that ship with UCMA 3? There's one on conferencing. The sample is described in this brief article:

Schedule and Join a Conference (QuickStart)

user3076137
  • 111
  • 3
  • Thanks for your answer. Yes i saw this example in the SDK. But in this example they actively add users to a conference. What i want to do is just creating the conference on serverside and wait until someone clicks on the ConferenceUri. If a user clicks the link he should be added to the conference. I am not sure if my conceptual idea is correct. – Sam Hueppi Jan 13 '14 at 11:36
0

i think you can use

conferenceScheduleInformation.ExpiryTime
user3581073
  • 11
  • 1
  • 6
  • Hello and thank you for your help. But the ExpiryTime has no influence... i tried it with no ExpiryTime and with System.DateTime.Now.AddHours(24); . – Sam Hueppi Jul 10 '14 at 14:43