Enable every Application to be a Microsoft Unified Communications Endpoint.

40

Transcript of Enable every Application to be a Microsoft Unified Communications Endpoint.

Page 1: Enable every Application to be a Microsoft Unified Communications Endpoint.
Page 2: Enable every Application to be a Microsoft Unified Communications Endpoint.

Presentation titleSpeaker Name

Session Code

Page 3: Enable every Application to be a Microsoft Unified Communications Endpoint.

Understanding the Microsoft Lync 2013 Developer Platform: What API to Use and What Is Coming! Albert KooimanMicrosoft

OFC-B344

Ganesh SridharanMicrosoft

Page 4: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Page 5: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Unified Communications

Page 6: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Unified Communications

Enterprise Telephony

Page 7: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Unified Communications

Enterprise Communications

Page 8: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Unified Communications

Enterprise Communications

Real-time Web

Page 9: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Unified Communications

Enterprise Communications

Skype

Page 10: Enable every Application to be a Microsoft Unified Communications Endpoint.

The Evolution of LyncCommunications as Software

Unified Communications

Enterprise Communications

Universal Communications

Page 11: Enable every Application to be a Microsoft Unified Communications Endpoint.

Enable every Application to be a Microsoft Unified Communications Endpoint

Our Platform Vision

Page 12: Enable every Application to be a Microsoft Unified Communications Endpoint.

Lync Managed

API

Lync Mobile Lync Web App

UC Managed APIVoiceXML

Lync Server API

Lync Server

Lync Desktop

SIP

C#

SIP

Lync 2010

ServerClient

C#

Page 13: Enable every Application to be a Microsoft Unified Communications Endpoint.

Lync Managed

API

Lync Mobile Lync Web App

UC Managed APIVoiceXML

Lync Server API

Lync Server

Lync Desktop

SIP

C#

SIP

Lync 2010

ServerClient

C#Lync Managed API• Embed Presence/Lync in your app• Kiosk Apps (build your own UI)

UCMA• Alerts, Notifications• Bots• Contact Center (ACD, IVR, Recording, etc)• Gateways (ACP, Interop, etc)

Lync Server API• Compliance (ethical walls, etc)• Routing

Lync Managed API• Office integration

UCMA• AV/AS MCU• Mediation Server• Response Groups Service• CAA/CAS/PVA/GVA• Call Park Server• Exchange Unified Messaging

Page 14: Enable every Application to be a Microsoft Unified Communications Endpoint.

OCObject Model

(OCOM)

UCMAVoiceXML

Lync Server API

Lync Server/Service

Lync Desktop

WPFControls

Silverlight

Controls

Compliance Apps/Scripts

C# API

SPL & C#

SIP

C#

SIP

Speech APICollabSignaling Audio

Lync 2010Lync Managed API• Controls • Object Model

UCMA• Signaling API (Warsaw)• Collab• Audio• Speech

Page 15: Enable every Application to be a Microsoft Unified Communications Endpoint.

UCWA

Lync Mobile

UCMAVoiceXML

Lync Server API

Lync Server

Lync Desktop

Compliance Apps/Scripts

Media Manager

SPL & C#

SIP

C#

SIP

User API

http

UCWA

Lync 2013UC Web API• User Endpoint API• REST-like• Hypermedia

UC Mobile Platform• Native APIs(Abstracts • Media• UCWA)

Lync Managed API• Added Sharing Modalities

Lync Web App

LWAPlug-in UCWA

Lync Managed

API

Page 16: Enable every Application to be a Microsoft Unified Communications Endpoint.

1. Uniform InterfaceConsistent resource representationResource identification via URIsWell defined and consistent semantics

2. Hypermedia and late bindingDiscovery of resources via hyper links – like www

3. Layered architectureAggregation at various levels to reduce impact on services

4. Modifiability Backward and forward compatible

5. Simplicity - Aggregation of various disparate services Abstracting complexities of various services (Search, Contacts API is the same whether it is powered by ABS, Exchange or other data stores)Aggregating data across various services (publish “In a Call” when client is invoking an API to make an audio call)

6. Reduce Chattiness7. Mobile first – optimized for battery and data usage

Reduced number of round trips – embedded format, support for batch etc.Tap on the shoulder events

8. Support multi language client developmentJavaScript Object Model for web developersNative Object Models for mobile developersWell defined User Interface Controls

UCWA Design Principles

Page 17: Enable every Application to be a Microsoft Unified Communications Endpoint.

Reduce Chattiness: IM EscalationSe

arch

Sche

dule

ad-

hoc

conf

eren

ce

Join

Con

fere

nce

Subs

crib

e to

Con

fere

nce

Notifi

catio

ns

Join

MCU

Req

uest

Esta

blish

MCU

Dia

log

Invi

te R

emot

e Pa

rticip

ant

Term

inat

e P2

P Ca

lls

Invi

te T

hird

Use

r

Sear

ch

Add

Parti

cipan

t

Sear

ch

Sche

dule

ad-

hoc

conf

eren

ce

Join

Con

fere

nce

Subs

crib

e to

Con

fere

nce

Notifi

catio

ns

Join

MCU

Req

uest

Esta

blish

MCU

Dia

log

Invi

te R

emot

e Pa

rticip

ant

Term

inat

e P2

P Ca

lls

Invi

te T

hird

Use

r

UCWA

Exchange Server Lync Server Exchange Server Lync Server

1 2 3 4 5 6 7 8 9 1 2

EWS

SIP

Page 18: Enable every Application to be a Microsoft Unified Communications Endpoint.

UCWA

Lync Mobile Lync Web App

Your Web Appss

UCMAVoiceXML

Lync Server API

Lync Server

Lync Desktop

Compliance Apps/Scripts

UCWA JS OM (jLync)LWA

Plug-in

JavaScript

SPL & C#

SIP

C#

SIP

User API

http

JS UC Controls

Speech APIVideoCollabSignaling Audio

Lync Server Update

Lync Managed

API

UCWA JavaScript Object Model• Uses LWA Plug-in for media

UCWA JavaScript Controls• Predefined UI Controls for easy integration

UCMA integrated Video Support• (stretch goal)

Page 19: Enable every Application to be a Microsoft Unified Communications Endpoint.

Media

Signaling

Protocols

Video

Audio

ID/Auth

Other

The WebRTC API covers• Protocols• Media

Signaling, Identity and Auth are mostly application implementation specific

In WebRTC there is broad strokes agreement on the protocols and the audio codecs to use

The industry is divided on the video codecs likely leading to both VPx and H.26x support in case interop is required (though H.264 seems to win…)

The WebRTC 1.0 API spec is hotly debated with a long list of un- or underspecified parts and a timeline running well into 2015 before completion

Your App

Browser

Service

Directory

WebRTC API

Page 20: Enable every Application to be a Microsoft Unified Communications Endpoint.

Media

WebRTC API ID/Auth

Protocols

VideoAudio

Signaling

Other

Media

WebRTC API ID/Auth

Protocols

VideoAudio

Signaling

Other

Most implementations work well today for they are peer to peer via a single website

Your App Your App

Page 21: Enable every Application to be a Microsoft Unified Communications Endpoint.

Microsoft customers wish to connect WebRTC clients to Lync

Media

WebRTC API ID/Auth

Protocols

VideoAudio

Signaling

Lync Server or Service

Other

Directory

Your App

Page 22: Enable every Application to be a Microsoft Unified Communications Endpoint.

Most enterprises want to do B2C – client to server/service

Media

WebRTC API ID/Auth

Protocols

VideoAudio

Signaling

Lync Server or Service

Other

Directory

Your App

Page 23: Enable every Application to be a Microsoft Unified Communications Endpoint.

Microsoft believes the current WebRTC draft standard proposal has serious gaps

Media

WebRTC API ID/Auth

Protocols

VideoAudio

Signaling

Server or Service

Other

Directory

Your App

Page 24: Enable every Application to be a Microsoft Unified Communications Endpoint.

Microsoft UC Media Plugin

Media

ID/Auth

Protocols

VideoAudio

Microsoft UC Web API JavaScript Object Model

Signaling

Lync Server or Service

Other

UC Managed APILync Server API Directory

Your AppTo enable the key customer B2Cscenarios, Microsoft has invested in• The Microsoft UC Web SDK, with an API,

an object model and controls (a.k.a. jLync)• A Lync compatible media plugin

with support for audio, video and sharingDevelopers can build applications with that SDKwithout needing to bother about underlyingcomplexitiesThe UC Web SDK is complemented by the UC Managed API SDK to enable Contact Center scenarios

Page 25: Enable every Application to be a Microsoft Unified Communications Endpoint.

Media

WebRTC API ID/Auth

Protocols

VideoAudio

Microsoft UC Web or Mobile Object Models

Signaling

Lync Server or Service

Other

UC Managed API Lync Server API Directory

Your AppThe SDK shields developers from havingto worry about the underlying technology

In theory such app would even be able towork with WebRTC once it ever were to be a standard

Page 26: Enable every Application to be a Microsoft Unified Communications Endpoint.

Media

WebRTC API based on ORTC ID/Auth

Protocols

VideoAudio

Microsoft UC Web or Mobile Object Models

Signaling

Microsoft UC Services

Other

Directory

Your AppIn that context Microsoft continuesto be actively involved in the standards process

Microsoft recently joined the ORTC W3C Community Working Group

Microsoft sees significant advantages in the ORTC approach

If ORTC would ever be the API of choicefor WebRTC, the same Microsoft UC Web SDKwould also be able to enable apps leveragingORTC

Page 27: Enable every Application to be a Microsoft Unified Communications Endpoint.

UCWA

Lync Mobile

Your Mobile Apps

Your Web Apps

UCMAVoiceXML

Lync Server API

Lync Server

Lync Desktop

Compliance Apps/Scripts

UCWA JS OMMedia

JavaScript

SPL & C#

SIP

C#

SIP

User API

http

JS UC Controls

Speech APIVideoCollabSignaling Audio

Future Server Release

Lync Managed

API

Lync WebApp

UCWA Mobile OM

UC Controls

Media UCWA UCWA

UCWA Mobile Controls• Predefined UI Controls for easy integration

UCWA Mobile Object Model• Native or Browser Media stack support

Page 28: Enable every Application to be a Microsoft Unified Communications Endpoint.

UCWA

Lync Mobile

Your Mobile Apps

Your Web Apps

Lync Service

Lync Desktop UCWA JS OMMedia

JavaScript

SIP

C#

SIP

User API

http

JS UC Controls

Speech APIVideoCollabSignaling Audio

Future Service release

Lync Managed

API

Lync WebApp

UCWA Mobile OM

UC Controls

Media UCWA UCWA

Lync Online/Office 365 Support• Predefined UI Controls for easy integration

Page 29: Enable every Application to be a Microsoft Unified Communications Endpoint.

UCWA

Your Service ApplicationsLync Mobile

Your Mobile Apps

Your Web Appss

Service

Lync Desktop UCWA JS OMMedia

JavaScript

SIP

User API Application API

http

JS UC Controls

Speech APIVideoCollabSignaling Audio

Future Service Release

Lync Managed

API

Lync WebApp

UCWA Mobile OM

UC Controls

Media UCWA UCWA

Page 30: Enable every Application to be a Microsoft Unified Communications Endpoint.

Communications Enabling Applications

Page 31: Enable every Application to be a Microsoft Unified Communications Endpoint.

Communications Enabling Applications

Enhance Communications

•“Enhanced Presence”

•“Click to Communicate”

•Communications context

Cut-down Human Latency

•Notifications and Alerts

• Interactive Outbound

•Expert Finder

Customer Self-service

•Web Chat

•Query-Response Bots

• Interactive Voice Response

Page 32: Enable every Application to be a Microsoft Unified Communications Endpoint.

Demo Time

Page 33: Enable every Application to be a Microsoft Unified Communications Endpoint.

In Summary

Every application can be an Endpoint!

Page 34: Enable every Application to be a Microsoft Unified Communications Endpoint.

Questions?

Page 35: Enable every Application to be a Microsoft Unified Communications Endpoint.

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 36: Enable every Application to be a Microsoft Unified Communications Endpoint.
Page 37: Enable every Application to be a Microsoft Unified Communications Endpoint.

ResourcesLearning

Microsoft Certification & Training Resourceswww.microsoft.com/learning

msdnResources for Developers

http://microsoft.com/msdn

TechNetResources for IT Professionals

http://microsoft.com/technet

Sessions on Demandhttp://channel9.msdn.com/Events/TechEd

Page 38: Enable every Application to be a Microsoft Unified Communications Endpoint.

Complete an evaluation and enter to win!

Page 39: Enable every Application to be a Microsoft Unified Communications Endpoint.

Evaluate this session

Scan this QR code to evaluate this session.

Page 40: Enable every Application to be a Microsoft Unified Communications Endpoint.

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.