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.

Third-party manual audio routes: not possible

Posted: January 3rd, 2013 | Author: | Filed under: UCMA 3.0, UCMA 4.0 | Tags: , | 2 Comments »

A while ago, in a post about how “manual audio routes” work behind the scenes, I mentioned I was planning to see if it was possible to set manual audio routes for endpoints other than the “local” endpoint for the call, by sending INFO messages manually to the audio/video MCU. In other words, can I join a conference from my UCMA application as a trusted participant, and then send manually constructed INFO messages to create a manual audio route between two other participants in the conference? Continue reading “Third-party manual audio routes: not possible” »


Prevent Lync calls from going to voice mail

Posted: December 28th, 2012 | Author: | Filed under: Lync Development, UCMA 3.0, UCMA 4.0 | Tags: , , , , , , , | 1 Comment »

There are some instances where a call that is sent to a Lync user really shouldn’t be going to voice mail, or to the user’s cell phone, or anywhere like that. There’s nothing that screams “good customer service” to an agitated customer like being dropped into John Smith’s cell phone voice mail (“Hi, this is John. Leave a message”) after calling the tech support line. Response Group calls seem to magically ward off UM voice mail and call forwarding, and this has led to some questions: if Response Groups can do it, why can’t we do it in UCMA applications? Actually, you can. Continue reading “Prevent Lync calls from going to voice mail” »


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


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


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


VIDEO: Lync Server Logging Tool

Posted: July 17th, 2012 | Author: | Filed under: UCMA 3.0 | Tags: , , | No Comments »

I’ve put together a 10-minute video showing how to use the Lync Server Logging Tool (a.k.a. OCSLogger.exe) to look at SIP messages to and from your UCMA app and troubleshoot issues.


Firewalls and UCMA applications

Posted: July 2nd, 2012 | Author: | Filed under: UCMA 3.0 | Tags: , , , , | 1 Comment »

If you’ve worked with UCMA for a while, it’s likely that you’ve had at least one incident where firewall settings caused issues with a UCMA application. Since firewall configuration seems to be one of the most common sources of mysterious troubles with UCMA applications, I thought I would write up a few notes about this in the hope that it will save someone a long and frustrating troubleshooting session. Continue reading “Firewalls and UCMA applications” »


Outbound calls from UCMA without Lync Server

Posted: June 15th, 2012 | Author: | Filed under: UCMA 3.0 | Tags: , , , | 7 Comments »

In my past blog post on standalone UCMA applications, I described how to build a UCMA application that can answer calls totally independently of Lync Server. Since then, I’ve gotten a lot of questions about standalone UCMA applications, and I wanted to answer two of them in this post. The first is how to place outbound calls from a UCMA application that isn’t connected to Lync Server. The second is how to bypass Lync Server for certain calls from a UCMA application that is connected to Lync Server.

For both of these things, you can use an awesome, little-known UCMA class called ConnectionContext. Continue reading “Outbound calls from UCMA without Lync Server” »


Standalone UCMA applications: which features work?

Posted: May 24th, 2012 | Author: | Filed under: UCMA 3.0 | Tags: | 2 Comments »

Recently I’ve been getting lots of questions about standalone UCMA applications, by which I mean UCMA applications that don’t register at all with Lync Server, and I thought it might be helpful to write about which features of UCMA work with standalone applications, and which require Lync Server. Continue reading “Standalone UCMA applications: which features work?” »