1

I'm working on a project that uses the Lync 2013 client SDK in UI suppression mode to show a custom UI for Skype. I am able to call the ConversationManager.AddConversation() method and connect to IM, audio and video just fine for 1 on 1 calls.

Now, I would like to call the ConversationManager.JoinConference(conferenceUri) to join an online meeting. I am using the uri for a scheduled meeting and I format it like this:

conf:sip:aweston@meet.dev.domain.com;gruu;opaque=app:conf:focus:id:6OHB2XXX?required-media=audiovideo

The call seems to connect but after going through some state changes it just goes to Disconnected.

If I join the same meeting using the standard S4B client, the meeting connects just fine so I think the meeting and the connectivity is all setup and working ok.

I have looked for samples on how to do this here …

https://msdn.microsoft.com/en-us/library/office/jj933140.aspx

And also in the SDK here … C:\Program Files (x86)\Microsoft Office 2013\LyncSDK\samples

I'm starting to look at the S4B logs here … .\AppData\Local\Microsoft\Office\15.0\Lync\Tracing

But I'm not really sure what I 'm looking at there.

Here is a log of the calls that I'm making. Any suggestions or samples you have that are doing a similar thing would be most appreciated.

Thanks

--Andy

11:01:11 PM SkypeService: _lyncClient_ConversationAdded 11:01:11 PM SkypeService: Conversation: Inactive, Modality: Disconnected, Video: None, Audio: None, Count: 1 11:01:11 PM SkypeService: ListenToConversation 11:01:17 PM SkypeService: ConferenceId: sip:aweston@meet.dev.domain.com;gruu;opaque=app:conf:focus:id:6OHB2XXX 11:01:17 PM SkypeService: Conversation: Inactive, Modality: Disconnected, Video: None, Audio: None, Count: 1 11:01:17 PM SkypeService: Conversation_ActionAvailabilityChanged: False, RemoveParticipant 11:01:17 PM SkypeService: Conversation_ActionAvailabilityChanged: False, Merge 11:01:17 PM SkypeService: Conversation_ParticipantAdded 11:01:20 PM SkypeService: Conversation_ActionAvailabilityChanged: False, Park 11:01:20 PM SkypeService: CallModality_ActionAvailabilityChanged: True, Connect 11:01:20 PM SkypeService: AudioChannel_ActionAvailabilityChanged: True, Start ... 11:01:24 PM SkypeService: CallModality_StateChanged: Connecting 11:01:24 PM SkypeService: Conversation: Inactive, Modality: Connecting, Video: None, Audio: None, Count: 1 11:01:24 PM SkypeService: AudioChannel_StateChanged: Connecting 11:01:24 PM SkypeService: Conversation: Inactive, Modality: Connecting, Video: None, Audio: None, Count: 1 11:01:24 PM SkypeService: VideoChannel_StateChanged: Connecting 11:01:24 PM SkypeService: Conversation: Inactive, Modality: Connecting, Video: None, Audio: None, Count: 1 11:01:24 PM SkypeService: Conversation_ActionAvailabilityChanged: False, AddParticipant 11:01:24 PM SkypeService: Conversation_ActionAvailabilityChanged: False, Merge 11:01:24 PM SkypeService: SharingModality_ActionAvailabilityChanged: False, Connect 11:01:24 PM SkypeService: SharingModality_ActionAvailabilityChanged: True, Connect 11:01:25 PM SkypeService: Conversation_ActionAvailabilityChanged: False, RemoveParticipant 11:01:25 PM SkypeService: VideoChannel_ActionAvailabilityChanged: False, Start 11:01:30 PM SkypeService: CallModality_StateChanged: Disconnected

Detailed Error ...

<?xml version="1.0"?>
<request xmlns="urn:ietf:params:xml:ns:cccp"
         xmlns:mscp="http://schemas.microsoft.com/rtc/2005/08/cccpextensions"
         C3PVersion="1"
         to="sip:aweston@meet.dev.DOMAIN.com;gruu;opaque=app:conf:focus:id:6OHB2E3Y"
         from="sip:aweston@dev.DOMAIN.com"
         requestId="935284871552">
  <addUser>
    <conferenceKeys confEntity="sip:aweston@meet.dev.DOMAIN.com;gruu;opaque=app:conf:focus:id:6OHB2E3Y"/>
    <ci:user xmlns:ci="urn:ietf:params:xml:ns:conference-info"
             entity="sip:aweston@dev.DOMAIN.com">
      <ci:roles>
        <ci:entry>attendee</ci:entry>
      </ci:roles>
      <ci:endpoint entity="{F4E183FE-5304-4281-ABAE-0A5EE56A7175}"
                   xmlns:msci="http://schemas.microsoft.com/rtc/2005/08/confinfoextensions"/>
    </ci:user>
  </addUser>
</request>

Response Data:
504  Server time-out
ms-diagnostics:  1065;reason="Federation is disabled";domain="meet.dev.DOMAIN.com";source="sip.dev.DOMAIN.com"

1 Answers1

0

Your conference link suggests that audio/video is required but your log is showing that there is no Audio or video devices connected. Try the following conference link remember to include the ? at the end conf:sip:aweston@meet.dev.domain.com;gruu;opaque=app:conf:focus:id:6OHB2XXX?

Paul Hodgson
  • 939
  • 8
  • 15
  • Thanks Paul, I tried your idea, same result. After JoinConference, in the Conversation_Added() event, I'm not sure what to call, I've tried AddParticipant and BeginConnect but I keep getting Connecting ... disconnected. – Andy Weston Sep 21 '15 at 17:15
  • You shouldn't need to do anything, calling conversationManage,JoinConference(conferenceuri) should be sufficient. Are you handling any of the events of the resulting conversation and if you are how so? – Paul Hodgson Sep 22 '15 at 07:18
  • I'm seeing the ParticipantAdded event for myself but that is all. The modalities are all disconnected. If I join the conference in the S4B client with a second user, it seems like I have 2 separate conversations. – Andy Weston Sep 23 '15 at 13:01
  • It's a long shot but recently I have seen anti virus software affecting conference joins (Norton in particular) is there a chance you can disable your anit virus briefly just to rule it out? – Paul Hodgson Sep 23 '15 at 13:26
  • 1
    I turned on Windows Event Logging and I got a good error message from my request: **ms-diagnostics: 1065;reason="Federation is disabled"**. I'm looking at server side configuration now but I'm wondering why the S4B client works fine but my API call fails. – Andy Weston Sep 29 '15 at 13:28
  • Did that message also include source and domain values? It seems odd that you are getting federation issues here and not in the normal client. – Paul Hodgson Sep 29 '15 at 13:55
  • Added error details ... this is a dev environment that was recently setup for us. – Andy Weston Sep 30 '15 at 17:23
  • Success! The keys to making this work were 1) adding that lone ? to the end of the link, 2) stripping "meet." out of the domain name when calling the API, and 3) enabling Federation in the S4B control panel on the server, thanks! – Andy Weston Oct 07 '15 at 02:22