Success With Skype: A Developing Platform?
From ComputerTalk's chief software architect, we learn about the ins and outs of using the Microsoft UC platform for developing business communications apps.
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:
Firstly, you describe ice Contact Center as a "native" Lync/Skype for Business contact center. What exactly does being a native application mean, and why is this important to business users?
The distinction between "native" versus "connected" (or non-native) applications is based on where the application sits in relation to the Mediation Server role. Native applications exist as a full part of the Skype for Business topology, behind the Mediation Server, while connected applications exist outside the Skype for Business topology, as standalone entities that only communicate with Skype for Business via SIP calls, similar to how a legacy PBX can interconnect with Skype for Business. A native application is more secure, easier to manage, and better leverages the power of the Skype for Business platform; this can drive some significant cost savings.
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