TopBanner

UCWA API in Lync Server 2013 Opens Ability to Have Lync Functionality in Any Device or Application Without Lync Client Installed

UCWAIt has not been trumpeted, but the new UC Web API, or UCWA, in Microsoft Lync Server 2013 opens a whole new field of integration possibilities. Lync Server 2013 UCWA brings Lync functionality to PC applications, web applications and embedded devices WITHOUT Microsoft Lync client being needed and without Server side component either.

In Lync 2010, if you wanted to Lync “enable” your applications or embedded devices you had one of three options:

  • Interface with the Lync 2010 SDK (Con: required Lync 2010 client be present)
  • use UCMA Server Side API (Con: required server install, more advanced knowledge)
  • Write your own SIP stack like snom, Polycom and Damaka have done (Con: basically no normal programmer will have resources to do this)

UCWA makes customizations possible on any platform, device or application that can talk http…and no browser plugin or ActiveX or Lync client is required with UCWA.

UCWA gives developers access to these Lync 2013 features at a user level:

  • Presence
  • Group Membership
  • Contacts
  • Privacy Relationships
  • Scheduled Conferences: read/write 
  • Search
  • Instant Messaging

What are some ideas of things that will now become easily possible with Lync 2013 and UCWA?

  • Write your own Linux Lync Client (or any other exotic OS for that matter)
  • Web Based Lync Client
  • Web Chat
  • Standard SIP deskphone makers could Lync Presence enable their phone with ease
  • Standard SIP deskphone/endpoint makers have a dramatically simpler path to creating endpoint firmware: just have hardware that runs a browser that supports UCWA (media support on roadmap AFTER RTM)
  • BusyLight on Steroids: Want your busy light in another room? Or another location altogether?
  • Add Instant Message or Presence capabilities to any embedded device that can do HTTP

What are some things UCWA cannot do

  • No Audio, Video or other Real Time Media (at this time, see below)
  • Only lets you connect at a user level (for example: if you can to read or set all contacts presence you will use UCMA API’s)

Below is a great introductory video on UCWA by George Durzi.

[UPDATED 2/13/2013] But What About Audio and Video?

According to the below Channel 9 video, UCWA is on the RoadMap to get voice/video/screen sharing capability over IP after Lync 2013 goes RTM.

(see 45seconds)
http://channel9.msdn.com/posts/Lync-Developer-Roundtable-UCWA-Overview

Windows Media Player_2012-12-24_14-25-39

My question has been: how will Microsoft achieve voice/video in the browser with no plug-in? According to the MSDN blog article introducing Micosoft’s first no-plugin-in CU-RTC-WEB prototype between Skype and Microsoft Lync , Adalberto Foresti notes that CU-RTC-WEB or even RTC-Web could be used:

“UCWA can be layered on the existing draft WebRTC API, however it would interoperate more easily with WebRTC implementations if the standard adopted would follow a cleaner CU-RTC-Web proposal.

 

Some more Excellent video about UCMA or Lync 2013 API’s:
http://msdn.microsoft.com/en-us/lync/jj543530

UCWA Forum:
http://social.msdn.microsoft.com/Forums/en-US/ucwebapi/threads

More Lync 2013 SDK/API stuff:
http://msdn.microsoft.com/en-us/library/lync/jj162980(v=office.15)

Microsoft CU-RTC Web Prototype:
http://blogs.msdn.com/b/interoperability/archive/2013/01/17/ms-open-tech-publishes-html5-labs-prototype-of-a-customizable-ubiquitous-real-time-communication-over-the-web-api-proposal.aspx

6 comments:

  1. I was flow the video of George Durzi "Introducing the Unified Communications Web API", and then I tried to do the sample of Get Presence. Actually I modified authentication.js correctly according to the lab samples, but when I use the correct token the UCWA server returns a 404 ERROR.

    Detailed Error Information:
    Module IIS Web Core
    Notification MapRequestHandler
    Handler StaticFile
    Error Code 0x80070002
    Requested URL https://lync2013.DOMAIN.eu:4443/ucwa/me/dynamicData
    Physical Path C:\Program Files\Microsoft Lync Server 2013\Web Components\Ucwa\Ext\me\dynamicData
    Logon Method WebTicketAssertions
    Logon User Chat@Domain



    Requested URL
    https://lync2013.DOMAIN.eu:4443/ucwa/me/dynamicData

    The Request are forwarded to port 4443?

    Same question as above, how do I resolve this?

    EDIT: the location C:\Program Files\Microsoft Lync Server 2013\Web Components\Ucwa\Ext\me\dynamicData also doesn't exist

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. UC Web API Update:

    In March 2013, Microsoft released the some of the UCWA features to the general public. Developers can get started with UCWA via the new UC Web API Developer Website (https://ucwa.lync.com).

    This new website has been designed to incorporate some significant innovations, including:
     
    - It complements the Lync Dev Center on MSDN by specifically targeting mobile and web developers.

    - It offers instant gratification via an interactive UC Web API demo (https://ucwa.lync.com/explore). This demo is unique because it showcases the power of the UC Web API in real-time action while also teaching developers to set and subscribe to presence, send instant messages, and call via work. All demonstrated live with code snippets shown in curl, a cross platform web request tool.

    - It integrates with a Developer Sandbox so that users get their feet wet without having to set up a Lync Server. This sandbox enables developers to start coding right away!

    - Check it out at https://ucwa.lync.com

    ReplyDelete
  4. I'm looking for a web chat module that uses UCWA, but I haven't found any vendors yet. Do you know of any.

    ReplyDelete
  5. Can we post messages to Persistent Chat room using UCWA?
    Thanks,
    Boris

    ReplyDelete
  6. Any updates for this API to support Audio, Video or Real Time Media? Or maybe there is other wai to implement Audio, Video or Real Time Media session innitation from browsers with no Lync client installed?

    ReplyDelete

Note: Only a member of this blog may post a comment.