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.

UCMA and Office 365: Updates

Posted: November 12th, 2016 | Author: | Filed under: Uncategorized | No Comments »

In an earlier post, I talked about how UCMA applications work with Office 365 users. Since some time has passed, I thought I’d post an update outlining what has changed and what hasn’t when it comes to UCMA compatibility with Office 365 and Skype for Business Online.

Same Limitations as Before

First, very little has changed in UCMA itself and how it interacts with Skype for Business Online. UCMA 5.0 is largely identical to UCMA 4.0, and given that and the direction the Skype API platform has taken, I don’t expect to see any significant development of UCMA at this point. Like before, you can’t use UCMA to create applications that run within a Skype for Business Online tenant. You also can’t run a UCMA application on an on-premises server but have it register against Skype for Business Online; its next hop still needs to be an on-premises Front End pool.

I don’t expect these limitations of UCMA to change in the future, since there are new APIs that do many of the same things that you’d want to use UCMA for in Skype for Business Online.


UCMA with O365 via Federation

At the same time, UCMA applications located on premises can still deliver services to users that belong to a Skype for Business Online tenant using federation. Today, this appears to be the best option for getting an existing UCMA application to work with a user base on O365.

Doing this requires some on-premises infrastructure. Besides application servers for the UCMA application, you need at least a bare-bones Skype for Business Server environment, including an Edge Server so that traffic can pass to O365 users via federation – something like what’s shown below. Depending on your application, you may also want a Mediation Server and a PSTN gateway or SIP trunks to handle incoming PSTN calls directly to your UCMA application. Keep in mind that this Skype for Business Server infrastructure will ONLY be handling the traffic generated by communications to and from your UCMA application, so you can plan capacity accordingly. Unless you have very strict resiliency requirements, anything other than a minimal Standard Edition deployment is likely to be overkill.

Federation with O365 for a UCMA app

There are certain things that won’t work across federation boundaries. You can’t use UCMA to register as a user that belongs to the Skype for Business Online tenant. For example, if you have a UCMA application that signs in as a user and then publishes presence updates on behalf of that user, or sends and receives IMs for the user, that’s not going to work over federation. What you CAN do is send messages/calls to (or receive messages/calls from) O365 users, at a contact associated with your UCMA application and its (on-premises) SIP domain.


Options with Other APIs

For a long time, there were essentially no options for building applications that register as O365 users, in order to act on behalf of those users or create a customized front-end for them in a web app. This is now possible with both the Skype Web SDK (a set of JavaScript libraries and pre-built HTML controls you can use to build Skype-like interfaces and behaviors into web apps) and UCWA (a REST API platform you can use to automate IM and presence operations on behalf of users). This means that many of the things you can’t do with UCMA and O365 due to the limitations of federation (like log in as a specific Skype for Business Online user and send IMs on their behalf) are possible with either UCWA or the Skype Web SDK. In some cases, your best bet may be to combine the two.


Future Options

The upcoming Trusted Application API appears to be the closest thing to a replacement for UCMA that is currently in the pipeline. If you’re looking ahead to what’s next for Skype for Business application development, it may be wise to start thinking about porting your applications to this new API once it becomes available.

Leave a Reply

  • Note: Comment moderation is in use because of excessive spam. Your comment may not appear immediately.