Bridge Communications

Saturday, February 7, 2015

Building a Lync Kiosk - Part 1

From the time I was child I was always fascinated by the prospect of video calls.  Growing up in an age where I remember rotary phones, things have definitely come a long way in my lifetime.  As a single dad of 42 with 3 kids, there is never a dull moment at home.  Years ago I turned all my home phone wiring into network to support an asterisk phone system.  Having 3 kids separated by 2 floors it is nice to hit the page all button and tell everyone supper is ready without running a mile inside the house.  Now that things have evolved again with Lync/Skype I think it's time to create a simple video auto answering kiosk on my children s computers, so I can pop in on them Mel Brooks style, just not in the bathroom.

So over the next few weeks, I'm going to create one, right here, then post the code for download.  So before we begin writing this, I think it's important to define the features we are going to desire for our Lync kiosk application.

1.  The app needs to small and run hidden or minimized when there is no Lync audio call present.
2.  The app should auto answer calls, then maximize the video window.
3.  The app will not care if it impedes other Lync functions so running wit the UI suppressed is on the table.  We are a kiosk after all.

To get started I think a small wpf exe with no toolbar and a minimized starting state will do.  Remember to add the Lync client sdk runtimes to your app.

using Microsoft.Lync.Model;
using Microsoft.Lync.Model.Conversation;
using Microsoft.Lync.Model.Conversation.Sharing;

and the simple WPF code...

<Window x:Class="LyncKiosk.MainWindow"
        Title="Lync Kiosk" Height="20" Width="20" WindowState="Minimized" WindowStyle="None" Loaded="Window_Loaded">

        Microsoft.Lync.Model.LyncClient _LyncClient;

                _LyncClient = LyncClient.GetClient();

Tune in next week when we define the incoming call events and use the Lync automation to control the call window.

Doug Routledge, C# Lync, SQL, Exchange, UC Developer


  1. Hi Doug Routledge,

    In this example to get instance of Running SFB you are using LyncClient.GetClient() API using Microsoft.Lync.Model.

    Can you please tell me how to get the Running instances of SFB using Microsoft.Rtc.Collaboration namespace.

    Thanks in advance.

    1. That library is part of the UCMA sdk, and cannot control a windows desktop client. UCMA will allow you to create a client but it's designed more for a server side or bot type client, not a gui client you can interact with.


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