Bridge Communications

Saturday, January 21, 2017

Building a Modern Skype for Business Profile Switcher

While doing some testing with the Skype for Business online call queues in preview, I found myself logging in and out frequently to test a particular pair of users.  There are a few Skype for Business profile switchers out there, but most of them have a cold war era looking user interface.  I decided I would spent a couple of hours and make one that functioned well, and also looked modern.  Over the next couple of week I'll show you some of what is under the hood, then release this app for free on technet.

Getting started.

The first step is to import the libraries needed to access the client sdk.

using Microsoft.Lync.Model;

Next you need to create a variable and get the current desktop client.  I typically put this is Global class I can get to easily from multiple windows, so I don't repeat my work.

 Globals.lc = LyncClient.GetClient();

So once I have that the next thing I want is a class to store the profiles, I will save these and retrieve them on launch since I don't enjoy re-keying settings over and over.

 [Serializable]
        public class profiles
        {
            public profiles() { }

            public string Signin { get; set; }
            public string Password { get; set; }
            public string User { get; set; }
            public string Name { get; set; }
            public string Sip { get; set; }

        }

Now that we have our class, we'll make a List<T> object of profiles.

List<profiles> cProfiles = new List<profiles>();


Next Steps

The next steps are all WPF GUI related, I'm going to build a small Expander on the top that will hold the mini-form to add a new profile, and then keep itself tucked out of the way when I don't need it.

Below that I will populate a GridView that will hold a number of visible fields, and a delete button so a user can easily remove a profile.

To change the logged in user all that will need to happen is the user will click on and select a different user in the grid, and the client will react accordingly.

Next week I'll share the source code that does the heavy lifting in logging out, and logging in the desktop client.



Doug Routledge, C# Lync, Skype for Business, SQL, Exchange, UC, 
Full Stack Developer  BridgeOC Bridge Operator Console
Twitter - @droutledge @ndbridge







No comments:

Post a Comment

Any spam comments will be deleted and your user account will be disabled.