Thursday, February 23, 2017

Skype For Business 2016 client in UI Suppression mode

Introduction

I was tasked with creating a POC for a simple custom desktop video client that leverages the Skype desktop client to join a meeting. I am using an Office 365 E3 subscription with the latest 2016 Skype for Business client.

UI Suppression mode

For some good background on UI Suppression mode as it applied to Lync 2013 - see here  
Official documentation is here.
The Registry location for the UISuppressionMode flag for the latest client is HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Lync\UISuppressionMode - I found this using the still awesome sysinternals process monitor tool

Skype for Business 2016 client SDK

It seems that Microsoft has not updated the documentation for the client SDK for the latest release. 
According to a few peoples experiences here and here the Lync 2013 SDK seems to work just fine.  
Beware though as this could mean it will be depreciated in the future.
Firstly you will need to install the Lync 2013 SDK. Essentially you need to download the SDK here and extract it using 7-zip (or whatever). Then install the msi for your platform.
Lastly you need to add the missing registry keys that the Lync 2013 SDK looks for to determine the client state :
HKCU\Software\Microsoft\Office\15.0\Lync

HKCU\SOFTWARE\Microsoft\Office\15.0\Lync\UISuppressionMode

Bugs and workarounds...

Never a dull moment, SO to the rescue - make sure to add a '?' to the end of the conf uri!
Remember you cant use the Automation object in UI Suppression mode, so you will have to modify some of the samples (and handle your own UI obviously).