Microsoft Lync and Skype for Business have a rich set of .NET APIs which make it easy to extend the platform and integrate it with other applications. This blog helps explain how to use those APIs.

Determining whether a user has Enterprise Voice

Posted: February 16th, 2014 | Author: | Filed under: UCMA 4.0 | Tags: , , , | No Comments »

How can your UCMA application determine whether a Lync user is enabled for Enterprise Voice? The answer is a bit more complex than you might think. In short, the best way appears to be establishing a UserEndpoint for the user in question, subscribing to local owner presence, and checking the information in the userProperties presence category. The rest of this post describes how to do this. Continue reading “Determining whether a user has Enterprise Voice” »

UCMA 4.0 Async Extension Methods

Posted: October 26th, 2012 | Author: | Filed under: UCMA 4.0 | Tags: , , , , , , , | 9 Comments »

To make it easier for developers to use the new multithreading techniques from .NET 4.5 in UCMA 4.0 applications, I’ve put together a set of extension methods that turn pairs of Begin/End methods (such as BeginEstablish/EndEstablish) into Task objects that can be used with the awaitkeyword.

The collection of extension methods is available on CodePlex. Let me know if you have questions or suggestions.

UCMA 3.0 and Lync Server 2013

Posted: October 16th, 2012 | Author: | Filed under: Lync Development, UCMA 3.0, UCMA 4.0 | Tags: , , , , | 3 Comments »

With the Lync Server 2013 Preview available, you may be starting to give some serious thought to upgrade paths from Lync Server 2010. You may be getting questions from eager customers. What will happen to UCMA 3.0 applications when you move to Lync Server 2013? This post outlines three options to consider: running your application in a 2010/2013 coexistence environment, running your application against Lync 2013 directly, or converting it to UCMA 4.0. Continue reading “UCMA 3.0 and Lync Server 2013” »

New multi-threading techniques with UCMA 4.0

Posted: August 30th, 2012 | Author: | Filed under: UCMA 4.0 | Tags: , , , | 2 Comments »

Recently I’ve written a lot about using some of the new multi-threading capabilities in .NET 4.5 with the UCMA SDK, and I wanted to put together a complete example in an application that might actually be useful.

I like to take a break every so often to get up from the computer, walk around, and stretch, and I’ve tried a few break reminder applications that give you a pop-up reminder after a period of time. The trouble I always have is that I forget to disable them when I’m on calls, or presenting, and they pop up and get in the way. So I thought I would write a simple app to send IM break reminders, but only when the user is in an Available state in Lync. Continue reading “New multi-threading techniques with UCMA 4.0” »

Error about SIPEPS DLL with UCMA 4.0

Posted: August 21st, 2012 | Author: | Filed under: UCMA 4.0 | Tags: , , | 10 Comments »

One of the first issues you may run into when trying out the new version of UCMA is an exception that says a DLL called SIPEPS, Version= could not be found. This happened to me, and a few other people I’ve spoken to had this problem as well. So, to help anyone else who gets this exception, here are a few troubleshooting steps that should fix it. Continue reading “Error about SIPEPS DLL with UCMA 4.0” »

UCMA 4.0 – Lync Developer Roundtable

Posted: August 2nd, 2012 | Author: | Filed under: Lync Development | Tags: , | No Comments »

Today at 9:00am Pacific Time I’ll be doing a Lync Developer Roundtable session on a couple of topics related to the new version of UCMA. Information is here: