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.

Call Admission Control and UCMA

Posted: October 23rd, 2013 | Author: | Filed under: UCMA 4.0 | Tags: , , , , | No Comments »

Just as dial plans, voice policies, conferencing policies, and so forth apply to trusted application endpoints, calls placed by UCMA applications can be affected by call admission control (CAC). This can produce seemingly inexplicable call failures when call admission control is enabled, and the problem is exacerbated by the fact that CAC only makes sense in larger, distributed Lync environments, and therefore is almost never turned on in development or testing environments. Issues with CAC are therefore much more likely to arise in production, and cause a great deal of vexation and hair-pulling. This post explains how to build your UCMA applications to avoid or at least identify failures related to CAC so that they will be less mysterious if they come up in a new environment. Continue reading “Call Admission Control and UCMA” »


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


Getting endpoint policy info programmatically

Posted: May 2nd, 2012 | Author: | Filed under: UCMA 3.0 | Tags: , , | No Comments »

I wanted to share an approach you can use to find out your endpoint’s capabilities and policy settings through UCMA code. To give you an example of where this can be useful, imagine you have an application that creates conferences or provides services to conferences, and in order to work it needs to be able to invite anonymous participants. If the endpoint has this capability turned off in meeting policy, the application will fail or exhibit strange behaviour. You might already have exception handling to deal with the situations where the application tries to do something that’s prohibited by policy, but by that time your application is already running. By querying policy information, you can confirm that the necessary settings are there when your application starts and avoid unpleasant surprises later. Continue reading “Getting endpoint policy info programmatically” »


Trusted applications and policy settings

Posted: February 16th, 2012 | Author: | Filed under: Lync Development | Tags: , , , , , | 3 Comments »

Unless your Lync environment has a single global policy for each type of policy setting (voice policy, conferencing policy, dial plan, etc.) you may run into problems where your UCMA trusted application endpoints don’t work properly with the default policy. A couple of common examples:

  • Voice policy – the default collection of PSTN usages may not be appropriate for the PSTN calls initiated by your application
  • External access policy – if your application needs to contact public IM or federated users and the default policy doesn’t allow this Continue reading “Trusted applications and policy settings” »