No Jitter is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Success With Skype: A Developing Platform?

For many years I have reminded IT professionals that Microsoft Lync is a platform on which they can develop business communications applications. Not surprisingly, the same holds true for rebranded evolution of Lync, Skype for Business.

Several months ago, I wrote about my firsthand experience implementing ComputerTalk's ice Contact Center, a native Lync contact center (read Living With Lync: In the Contact Center). Recently I had an opportunity to sit down with Chris Bardon, Chief Software Architect at ComputerTalk, for a discussion on how the development platform has changed in moving from Lync to Skype for Business and what the future of the platform may hold. My discussion with Chris went something like this:

A native Skype for Business application endpoint is a special type of Skype for Business user. It can be assigned policies and a dial plan, which means that native applications respect any normalization rules, least cost routing, and high-availability strategies. This includes working seamlessly with users outside an Edge Server, federated users, or even consumer Skype users; this greatly extends the reach of a native application.

A native application can interoperate with anything Skype for Business supports. Being a native application has allowed our contact center application to take advantage of things like Skype video federation and directory search with no extra work on our part. As Microsoft enables new features for Skype for Business users those capabilities become available to our contact center to use as well.

I have often written and said "Microsoft builds platforms." I'm interested in your perspective, as chief architect, why ComputerTalk decided to adopt the Microsoft platform for your applications, and how good of a job you think Microsoft is doing to support you?
ComputerTalk has been working with the Microsoft UC team for about 10 years now, starting with Live Communications Server 2005 and Microsoft Speech Server. Back then our contact center platform was based on hardware telephony cards, and we were working with Microsoft on integrations with instant messaging, presence, and speech.

At the same time, we were looking at ways to transition to being a software-only solution, and Microsoft was rolling out the first versions of the Unified Communications Managed API (UCMA), which is the managed code-platform developers can use to extend Lync, and now Skype for Business. We selected UCMA as the basis for ice moving forward because of the potential it offered for adding new modalities such as video and application sharing to the contact center, as well as solidifying what we were already doing with voice and IM. Microsoft supported us along the way with early access to new software, developer training, and guidance, and in turn we provided extensive feedback to Microsoft on what we needed to build a strong platform.

Over the years our relationship with Microsoft has continued, and we've helped Microsoft make enhancements to the APIs and core Skype for Business platform that benefit everyone. Building a contact center is substantially more involved than running a PBX, so there are things we've needed and managed to do with Skype for Business that nobody at Microsoft had likely considered in the early days of UCMA.

With the introduction of Skype for Business, Microsoft has released an updated version, 5.0, of UCMA. From your perspective as an architect and developer, what is new, what is exciting, and what is improved?
UCMA 5.0 brings the platform up to the same level as Skype for Business 2015, but other than the provisioning support for the new topology, not much has changed. There are some key bug fixes to issues we'd identified that necessitated some workarounds in our products, but overall it's mostly the same API as UCMA 3.0. That being said, the platform as a whole has evolved in the move from Lync 2013 to Skype for Business, and as a native application, we're seeing the benefits. For example, because Skype for Business supports federation with consumer Skype users, now 300 million more users can click to reach a native contact center. And all of these Skype users can use voice, video, and IM to interact with contact centers.

Microsoft recently released version 2.0 of Unified Communications Web API (UCWA), which allows Web developers to access on-premises Skype for Business IM, presence, and audio capabilities. What do you see as the significance of this?
One thing that's always been difficult with bringing new technologies into the contact center is reach. Voice and email are ubiquitous, but, IM, video, and collaboration are much more varied and partitioned. Skype for Business works great in the enterprise because everyone has the same client; that breaks down when you try to extend multimodal communications to external users. What the Web APIs such as the upcoming Skype Web SDK will let us do is offer all of these contact modalities to any Web user, including the ability to elevate from IM, to voice, to video.

Click to the next page to read about platform challenges

You mentioned that Microsoft made some advances in both UCMA (the server application) and UCWA (the Web application) development toolkits. Are there any key areas where Microsoft still has work to do in order to enable your products?
Over the past couple of releases (Lync 2013, Skype for Business 2015), the focus of the platform team has been on enhancements to UCWA and the Skype Web API, both of which are mainly concerned with enabling new ways for users that already have a client access license to interact with the Skype for Business server. This has taken the focus away from UCMA and server-side applications, which is a shame because some new things are either extremely difficult or impossible to do without some fundamental platform changes.

For example, in the ice Contact Center we've managed to get active speaker video and two-party application sharing working with some creative hacks. These hacks were necessary because the Microsoft product team has been slow or unable to react to some of our server change requests (in this case, adding the ability for a trusted application endpoint to directly manipulate A/V routes for non-B2B endpoints in a trusted conference). Also, we'd love to be able to support multi-view video, native conference escalation, and in-band file transfers (and have had requests from customers for all of these), but limitations in the current APIs have made this impossible.

To compensate for known Skype for Business server issues, we've needed to deploy workarounds. These were either more difficult to create than they should have been (since UCMA has no direct access to modify the Session Description Protocol body in a SIP message, for example) or should have instead been addressed by Microsoft as platform bugs. Again, the way a contact center uses Skype for Business is different from regular PBX use: With a PBX, a five-second delay in establishing audio for a normal meeting would probably never be noticed, but if it happens to a contact center agent 100 times a day, the problem becomes much more apparent and troublesome.

We see some hope in the future though, since the server-side APIs finally seem poised to get the attention they deserve. We're looking forward to being a key partner in this design process, which should bring some long-desired features to the platform, as well as open up new scenarios that we weren't able to support previously. We think Microsoft needs to extend the underlying UCMA platform in parallel with developing the Web-based APIs that ride on top of the foundational layer.

Despite some challenges, many organizations, including ComputerTalk, are developing and delivering powerful contact center applications that natively extend the capabilities of the Lync and Skype for Business platforms. The complete list of Lync qualified applications is found here. The variety of applications that extend the Microsoft UC platform have been one key differentiator for Lync.

Surprisingly, according to Microsoft: "The Lync 2013 Qualification Program is now officially closed! At the present time there is no Skype for Business Qualification Program for Independent Software Vendors. Note: If the lack of the Skype for Business Qualification Program critically impacts your business, please contact us at [email protected]." This appears an odd approach for a company that has always supported platforms and the developers who have adopted those platforms.

If you are near San Francisco, Orange County, New York, or Chicago please register to join me when I keynote and moderate the upcoming Enterprise Connect Tour: Implementing Microsoft Lync/Skype for Business in Your Enterprise. This free all-day event brings together a powerful collection of experts to assist you on your Lync and Skype for Business journey. I expect we will be discussing Lync and Skype for Business as application platforms. Register now for a city near you!

Follow Kevin Kieller on Twitter and Google+!
@kkieller
Kevin Kieller on Google+