Search code examples
c#silverlightskype-for-businesslync-client-sdk

Lync client SDK reports wrong status code


My silverlight 5 application, running in IE, has successfully been integrated with the local Lync client for a year or two, happily fetching lych contacts. Now this is suddenly misbehaving. I get the status ClientState.SignedOut even though the lync user is currently signed in when my application starts up.

timer = new DispatcherTimer();
timer.Tick += delegate(object s, EventArgs args)
{
   LyncClient client = LyncClient.GetClient();
   if (client != null && client.State == ClientState.SignedIn)
   {
       timer.Stop();
       // do stuff
       //  --- never happens, client.state is SignedOut even though
       //      the lync client user is signed in :(

I have tried to wait and poll for status for a while after having created the lync client proxy. Didn't help. I also tried to subscribe to status changes and then sign the lync client out and in again while my appication is running. That did help for some users but is not a feasable solution.

My Lync client was recently upgraded to 'Skype for Business' (Microsoft Lync (c) 2013 (15.0.4737.1000), but things appearently did work after the initial upgrade, so it's unclear if this is the culprit. I've tried both the 2010 and the 2015 Lync Client SDK. Same strange behavhiour using both,

I'm stumped.

Thanks,


Solution

  • Apparently this is a newly introduced bug in Windows/IE/Lync. See my comments above for source and workaround.