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.

RemotePresenceView and connectivity failures

Posted: December 19th, 2012 | Author: | Filed under: UCMA 3.0, UCMA 4.0 | Tags: , , , | No Comments »

Recently I’ve been doing some investigating on how presence subscriptions from UCMA applications are affected by losses of network connectivity. In some applications, having up to date presence information is critical to the proper functioning of the application, and it is important to be sure that the application can discover and react to interruptions to its notifications of presence updates. Various kinds of network connectivity disruptions can interfere with the delivery of presence notifications: Continue reading “RemotePresenceView and connectivity failures” »


Lync 2013 UI suppression registry setting

Posted: December 14th, 2012 | Author: | Filed under: Lync 2013 SDK | 1 Comment »

There have been a number of changes in the locations of Lync client registry settings in Lync 2013. One change that seems to be causing confusion is the new location for the registry setting that controls UI suppression. Continue reading “Lync 2013 UI suppression registry setting” »


New Lync 2013 development book?

Posted: December 10th, 2012 | Author: | Filed under: Lync Development | Tags: , , | 5 Comments »

Suppose we were to do a new book on Lync development, covering the API platform for Lync Server 2013. Regardless of whether you’ve read my previous book, is this something you would be interested in? Would you buy a book on Lync Server 2013 development? What topics would you want to see covered in the book?

Please leave a comment and let me know.

Thanks!


“Client is not trusted” error on Lync SDK apps and persistent chat add-ins

Posted: December 3rd, 2012 | Author: | Filed under: Lync 2013 SDK | 5 Comments »

The conversation window extension (CWE) feature in the Lync client can be quite useful, but it can also at times be incredibly painful to debug. Often the extension panel simply won’t load your application, or the application will load but won’t work correctly. Figuring out what has gone wrong can be a frustrating guessing game if you don’t know where to look. To compound the problem, the configuration necessary to get the CWE working has changed from Lync 2010 to 2013. The CWE problem that has bitten me the most frequently is misconfigured trusted sites, and I wanted to quickly review how this works in both versions of Lync. Continue reading ““Client is not trusted” error on Lync SDK apps and persistent chat add-ins” »


Filtering instant messages with the Lync Server SDK

Posted: November 10th, 2012 | Author: | Filed under: Lync Development | Tags: , , , , , , | 3 Comments »

Recently I was answering a question about filtering instant messages between Lync users, and I decided that this would make a good topic for a post. It’s a fairly common use case, and one that is not too easy to implement because it requires the arcane and mysterious Lync Server SDK, which is written in hieroglyphics and can only be used by the light of a full moon.

Okay, that last part isn’t true, but it is true that the Lync Server SDK is one of the least well-known and most challenging APIs in the Lync development platform. It consists of two components, the Microsoft SIP Processing Language, a.k.a. MSPL, and the Managed SIP Application API. The latter of these is the one we’ll need to use to filter instant messages. Continue reading “Filtering instant messages with the Lync Server SDK” »


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” »


Webinar on Lync custom solutions

Posted: September 26th, 2012 | Author: | Filed under: Lync Development | 2 Comments »

Tomorrow (September 27) at 1:00pm EDT I’ll be doing a half-hour webinar with ConQuest Technology Services on custom solutions using the Lync development platform. I’ll be giving a general overview of three types of solutions, and the business needs they can help solve. These are the three topics:

  • Application Integration
  • Real-Time Alerting
  • Communications Enabled Business Processes

If you’re interested, you can register using the following link:

https://attendee.gotowebinar.com/register/8750105193089622528


Don’t forget your voice policy!

Posted: September 25th, 2012 | Author: | Filed under: UCMA 3.0 | Tags: , , , | No Comments »

Several different types of UCMA applications need to place calls to the PSTN via the Mediation Server: outbound dialers, click-to-call applications, auto-attendants, and so forth. At some point, you may deploy one of these applications to a new environment, having tested it extensively, only to be stopped in your tracks by an exception like the following when your application tries to place outbound PSTN calls:

Microsoft.Rtc.Signaling.FailureResponseException:A 403 (Forbidden) response was received from the network and the operation failed. See the exception details for more information. Continue reading “Don’t forget your voice policy!” »


Avoiding clipping with outbound UCMA calls

Posted: September 17th, 2012 | Author: | Filed under: UCMA 3.0 | Tags: , , , , , , | 4 Comments »

One of the more common uses of UCMA is to create outbound dialer applications. Unfortunately, many people run into a frustrating problem at first when building dialers in UCMA: the first few seconds of audio seem to get lost somehow. When someone picks up the phone and says “Hello,” the first few seconds of audio back to the dialer get clipped, and there is often a delay before the recipient of the call hears the UCMA application play its message. Continue reading “Avoiding clipping with outbound UCMA calls” »