Enable every Application to be a Microsoft Unified Communications Endpoint.
-
Upload
barrie-jackson -
Category
Documents
-
view
220 -
download
0
Transcript of Enable every Application to be a Microsoft Unified Communications Endpoint.
Presentation titleSpeaker Name
Session Code
Understanding the Microsoft Lync 2013 Developer Platform: What API to Use and What Is Coming! Albert KooimanMicrosoft
OFC-B344
Ganesh SridharanMicrosoft
The Evolution of LyncCommunications as Software
The Evolution of LyncCommunications as Software
Unified Communications
The Evolution of LyncCommunications as Software
Unified Communications
Enterprise Telephony
The Evolution of LyncCommunications as Software
Unified Communications
Enterprise Communications
The Evolution of LyncCommunications as Software
Unified Communications
Enterprise Communications
Real-time Web
The Evolution of LyncCommunications as Software
Unified Communications
Enterprise Communications
Skype
The Evolution of LyncCommunications as Software
Unified Communications
Enterprise Communications
Universal Communications
Enable every Application to be a Microsoft Unified Communications Endpoint
Our Platform Vision
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
Communications Enabling Applications
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
Demo Time
In Summary
Every application can be an Endpoint!
Questions?
© 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.
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
Complete an evaluation and enter to win!
Evaluate this session
Scan this QR code to evaluate this session.
© 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.