exl402. 2 3 microsoft.speech sip/simple (sip stack) srtp/codecs (media stacks) srtp/codecs (media...
TRANSCRIPT
Microsoft Lync Server Unified Communications Managed API: Writing Advanced SIP Applications Stephane TaineSr. Program Manager LeadMicrosoft Corporation
EXL402
Albert KooimanSr. Product ManagerMicrosoft Corporation
Agenda
UCMA 3.0 – Introduction and what is new
What can you do with UCMA 3.0?
Deep Dive in Audio Routes and Scaling UCMA applications
Key Take-Aways, Q&A and Resources
2
UC Managed API 3.0 in a nutshell
.NET APIFamiliar .NET Developer Experience (requires .NET 3.5 sp1)Scenario-based Communication and Collaboration API (intuitive concepts)Multi-threaded, highly scalable, and resilient
Zero-Royalty Redistribution Licensing Model for ApplicationsFree SIP stackFree State-of-the-Art Speech Recognition and Speech Synthesis
Open and ExtensibleInteroperates with SIP PSTN Gateways and IP-PBXs for TelephonyVoiceXML 2.x browser
Broadly Adopted by Microsoft and PartnersMicrosoft Lync Server (RGS, Conference Dial-In, Application Sharing MCU, etc) Microsoft Exchange 2010 SP1 Unified Messaging & Outlook Web AccessHundreds of applications & federated services
3
UC Managed API 3.0 SDK
Microsoft.Speech
SIP/SIMPLE(SIP Stack)
SRTP/Codecs(Media Stacks)
Server SAPI(Speech Engines)
UCMA Core API
Communications & Collaboration
Workflow API VoiceXML 2.x
4
UC Managed API 3.0 – Communications
Call ManagementBasic Call establishment, transfer, redirect, decline, hold APIs
Instant MessagingWith LyncWith Web and mobile custom clients
Audio/VideoWMA File play back, WMA File recordingDTMF controller & recognizerAutomatic Speech Recognition and Speech SynthesisConversation Impersonation
Multimodal Communications
Platform
Signaling
Communications Instant
Messaging AudioVideo
Conferencing Conference Management
ConversationCall
Extensibility
CollaborationPresence Contact
Groups
Workflow
Call ControlActivities
DialogActivities
GeneralActivities
Call ControlCommunications
Event Types
DialogCommunications
Event Types
Commands
Err
or H
andl
ing
Exc
eptio
ns
VoiceXMLBrowser
MicrosoftSpeech Recognizer
MicrosoftSpeech Synthesizer
SAPI
Server Speech API
Signaling End Point/ConnectionManagement
Common Basic Classes
5
UC Managed API 3.0 – Communications
ConferencingSupports Multi-party Communications
Conference Scheduling and ManagementOrganize and modify Conferences Set Attendee / Presenter roles
Extensible & OpenModality-based extensibility Allows to add support for another modalityor replace built-in implementationof an already existing modality
Multi-party capable and extensible to add or replace modalities
Platform
Signaling
Communications Instant
Messaging AudioVideo
Conferencing Conference Management
ConversationCall
Extensibility
CollaborationPresence Contact
Groups
Workflow
Call ControlActivities
DialogActivities
GeneralActivities
Call ControlCommunications
Event Types
DialogCommunications
Event Types
Commands
Err
or H
andl
ing
Exc
eptio
ns
VoiceXMLBrowser
MicrosoftSpeech Recognizer
MicrosoftSpeech Synthesizer
SAPI
Server Speech API
Signaling End Point/ConnectionManagement
Common Basic Classes
6
UC Managed API 3.0 – Collaboration
Presence For UsersPublish Users Presence (State, Contact Card, Note, Device Capability etc)Allows to control who gets to see whatAllows to subscribe for continuous updates on others presenceAllows querying for Presence
Presence For ApplicationsSupport for always appear online
Contact Group Services for Users
Multi-party capable and extensible to add or replace modalities
Platform
Signaling
Communications Instant
Messaging AudioVideo
Conferencing Conference Management
ConversationCall
Extensibility
CollaborationPresence Contact
Groups
Workflow
Call ControlActivities
DialogActivities
GeneralActivities
Call ControlCommunications
Event Types
DialogCommunications
Event Types
Commands
Err
or H
andl
ing
Exc
eptio
ns
VoiceXMLBrowser
MicrosoftSpeech Recognizer
MicrosoftSpeech Synthesizer
SAPI
Server Speech API
Signaling End Point/ConnectionManagement
Common Basic Classes
7
UC Managed API 3.0 – Speech
Managed Server Speech APIIncludes free Microsoft Speech Recognition and Synthesis EnginesIncludes key speech technology toolsSupports W3C standards like SRGS and SSML
Support for VoiceXMLSame VXML Browser as Speech Server (2007)VoiceXML 2.x compliant
Support for 26 LanguagesFor Command & Control
Includes top-class Speech Technology in 26 languages
Platform
Signaling
Communications Instant
Messaging AudioVideo
Conferencing Conference Management
ConversationCall
Extensibility
CollaborationPresence Contact
Groups
Workflow
Call ControlActivities
DialogActivities
GeneralActivities
Call ControlCommunications
Event Types
DialogCommunications
Event Types
Commands
Err
or H
andl
ing
Exc
eptio
ns
VoiceXMLBrowser
MicrosoftSpeech Recognizer
MicrosoftSpeech Synthesizer
SAPI
Server Speech API
Signaling End Point/ConnectionManagement
Common Basic Classes
8
UCMA 3.0 Goals UCMA 3.0 Features
Powerful Audio Conferencing & Collaboration DX • Trusted Conference User model • Audio route management• One-click Conference Scheduling • Meeting control (lobby, PSTN bypass, access
level, global announcements, mute-all)
Presence Object Model • Higher level abstraction• Presence Manifest• Presence Views
Contextual Communications • Select, launch, & control a Web application integrated into Lync Conversation Window Extension.
UC Managed API 3.0 – New Features (1/3)
9
UCMA 3.0 Goals UCMA 3.0 Features
Business Voice platform • Back-To-Back-User-Agent (B2BUA)• Call Park & Retrieve• DTMF/Speech PIN-based Authentication • Interoperable with most common IP-PBXs and
SIP PSTN Gateways.
Best of breed Voice Quality• WAN Bandwidth Management• Platform monitoring for call establishment, mid-
way call control, and audio quality of experience.• Support for G.722 codec for audio conferencing
Speech-enabled • VoiceXML 2.x Browser• Automatic Speech Recognition and Speech
Synthesis in 26 Languages
UC Managed API 3.0 – New Features (2/3)
10
UCMA 3.0 Goals UCMA 3.0 Features
99.9% Availability • Registration & SIP Dialog Resiliency• Draining and Failover• User Services Availability
Application Server deployment and provisioning• Scriptable activation through Windows
PowerShell • Simple Application Provisioning• UCMA Runtime Deployment• DNS Load balancing • Service Discovery
Continuity• UCMA 2.0 Applications supported against Lync
server• API Backwards compatibility (UCMA 1.0 and
UCMA 2.0)
UC Managed API 3.0 – New Features (3/3)
11
What can you do with UCMA 3.0?
Alerts & Notifications
Enable Lync from any device, any platform
Enable Customer Care using the Lync Platform
Enable Expert Search
12
Jennifer, Inventory Manager (Online)Device: ERP Web application
Text To Speech
IM
Alert :Low Inventory
Inventory Chart
Aida , Financial Controller (Appears Offline)Device: Outlook
John, Chief Operating Officer (DND, Urgent Interruptions Only)Device: Smartphone
Contoso Warehouse
Lync Server 2010
Alerts & Notifications Platform
IM
SV , Financial Controller (Online)Device: Lync
Alert System
UCMA 3.0
13
CTI Server
Traditional Contact Center Topology
ACD ServerIVR Server Call Recording Server
Agents Back Office
PBX
PSTN Internet
Web Chat Server
Customer
VoIP GatewayLync Server Server
Speech Engines
14
UCMA – A Customer Care Platform for Partners A multi channel platform
Unified Communications Managed API
Match MakerSoftware
IVRCapabilities
ACDCapabilities
Call RecordingCapabilities
ReportingSoftware
Back-endIntegrationSoftware
Agent DesktopIntegrationSoftware
Help Desk Solution
Microsoft Lync Server InfrastructureAgents Back Office
LOBSoftware
Customer
Query/Response Bot Capabilities
PSTN
Internet
Music Player Capabilities
15
Web Chat, Click-to-CallEmbed Contextual Communications in Web Sites
16
Lync Server 2010
Web Portal (WCF)
UCMA 3.0
Contact Center
UCMA 3.0
1. Web Chat + Context
2. INVITE + Context
3. Response
4. Response
.
16
demo
Web Chat & Windows Live Messenger
Extend your reach
Contact Center
UCMA 3.0
4. Agent w/ matching skills becomes available
6. Supervisor silently listens & whispers
Front Office Back Office
1. Makes call
2. IVR or IM response
(Determines required skills)
Agent skills &
availability
3. Agent hunting& Music On Hold
5. Call Dispatch & Agent Anonymity
Lync Server 2010
Customer
Customer Care PlatformTurn the Lync Platform into a profit Center
Microsoft Lync
Windows Live Messenger
Web chat, click-to-call(external customer)
18
demo
Customer Care Demo
Agent and Supervisor Experience
Customer Care: Key Features
Back-To-Back User agent AnonymizationClick to communicateSupervisor silent monitoring
Speech Technology (ASR, TTS)
WMA multicast player
Scalable Presence ViewAgent availability
ConversationIM escalation to conferencingMulti-channel
Trusted Conferencing User &Audio Route Management
Silent monitoringWhisperingIntervening
20
Audio Routes in the Contact Center Demo
Customer Care -Default mix
Agent
ExpertCustomer
AVMCU
SRTP
SIPDefault Audio
Routing
B2BUAUCMA 3.0
=
Agent - source
Cust
omer
- si
nk
Agen
t - s
ink
Expe
rt -
sink
Customer - source
Expert - source“Who talks to whom?” table
Audio Source is connected to Audio Sink (i.e. the sink
can hear the source)Audio Source is not
connected to Audio Sink (i.e. the sink cannot hear
the source)
Customer Care - On HoldMusic On Hold
Agent - source
Cust
omer
- si
nk
Agen
t - s
ink
Mus
ic O
n H
old
- sin
k
Expe
rt -
sink
Customer - source
Expert - source
Music On Hold - source“Who talks to whom?” table
Audio Source is connected to Audio Sink (i.e. the sink
can hear the source)Audio Source is not
connected to Audio Sink (i.e. the sink cannot hear
the source)
Agent - source
Cust
omer
- si
nk
Agen
t - s
ink
Mus
ic O
n H
old
- sin
k
Expe
rt -
sink
Customer - source
Expert - source
Music On Hold - source“Who talks to whom?” table
Audio Source is connected to Audio Sink (i.e. the sink
can hear the source)Audio Source is not
connected to Audio Sink (i.e. the sink cannot hear
the source)
Agent
ExpertCustomer
AVMCU
SRTP
SIP
Default mix
Outgoing Audio Route
B2BUAUCMA 3.0
Music On Hold Trusted Conferencing User
UCMA 3.0
Customer Care - SupervisorSilent Monitor
Agent - source
Cust
omer
- si
nk
Agen
t - s
ink
Supe
rvis
or (v
ia T
CU) -
si
nk
Expe
rt -
sink
Customer - source
Expert - source
Supervisor (via TCU) - src“Who talks to whom?” table
Audio Source is connected to Audio Sink (i.e. the sink
can hear the source)Audio Source is not
connected to Audio Sink (i.e. the sink cannot hear
the source)
B2BUAUCMA 3.0
B2BUA & TCU UCMA 3.0
Supervisor
Agent
ExpertCustomer
AVMCU
SRTP
SIP
Default mix
Incoming Audio Route
Customer Care - SupervisorWhisper
Agent - source
Cust
omer
- si
nk
Agen
t - s
ink
Supe
rvis
or (v
ia T
CU) -
si
nk
Expe
rt -
sink
Customer - source
Expert - source
Supervisor (via TCU) - src“Who talks to whom?” table
Audio Source is connected to Audio Sink (i.e. the sink
can hear the source)Audio Source is not
connected to Audio Sink (i.e. the sink cannot hear
the source)
B2BUAUCMA 3.0
B2BUA & TCU UCMA 3.0
Supervisor
Agent
ExpertCustomer
AVMCU
SRTP
SIP
Default mix
Incoming Audio Route
Outgoing Audio Route
Supervisor
Agent
Expert
Trusted Conferencing User
AVMCU
SRTP
B2BUA SIP
B2BUA
Default mix
Incoming Audio Route
Outgoing Audio Route
Customer Care - SupervisorIntervene
Agent - source
Cust
omer
- si
nk
Agen
t - s
ink
Supe
rvis
or (v
ia T
CU) -
si
nk
Expe
rt -
sink
Customer - source
Expert - source
Supervisor (via TCU) - src“Who talks to whom?” table
Lync Server 2010
App Server 1
App 1
UCMA 3.0
AppEp1
App Server 2
App 1
UCMA 3.0
AppEp1
App 2App 2
Lync Server Management Shell:
New-CsTrustedApplicationPoolNew-CSSetCertificate
Lync Server Management Shell:
New-CSTrustedApplication
Lync Server Management Shell:
New-CSTrustedApplicationEndpoint
Application Pool
DNS load-balanced
Incoming Call
27
Key Take-Aways
The UC Managed API enables advanced communications scenarios
The UC Managed API is a powerful API for reach scenarios
28
Get Started with Unified Communications!
UC Developer Portals
http://msdn.microsoft.com/Lync
Sign-up for http://gotuc.net - a UC Developer Sandbox
Download the UCMA 3.0 SDK
Download the samples from MSDN
Visit CodePlex, MSDN Code Gallery
Download the Virtual Test Drive – http://www.microsoft.com/vhd
29
Q & A
References
Microsoft Unified Communications Managed API 3.0 Software Development Kit
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4493baab-6214-4770-8cf9-69c813e8a9fa
Microsoft Unified Communications Managed API 3.0 Runtime
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=418cc593-f31e-48be-957c-d3c9020c6b01
Microsoft Unified Communications Managed API 3.0 Core SDK Documentation
http://msdn.microsoft.com/en-us/library/gg421023.aspx
UCMA 3.0 REST Sample
http://ucma3restsample.codeplex.com/
Related Content
EXL201 – Microsoft Lync 2010: Winning in Voice and Video
EXL303 – Four Ways to Leverage the Microsoft Lync 2010 Client APIs in Your Applications
EXL402 – Microsoft Lync Server Unified Communications Managed API:Writing Advanced SIP Applications
EXL324 – Top 10 Insights on Development of Microsoft Exchange Server and Microsoft Lync Server 2010 against Microsoft Office 365
Related Content
EXL201 – Microsoft Lync 2010: Winning in Voice and Video
EXL303 – Four Ways to Leverage the Microsoft Lync 2010 Client APIs in Your Applications
EXL402 – Microsoft Lync Server Unified Communications Managed API:Writing Advanced SIP Applications
EXL324 – Top 10 Insights on Development of Microsoft Exchange Server and Microsoft Lync Server 2010 against Microsoft Office 365
Resources
www.microsoft.com/teched
Sessions On-Demand & Community Microsoft Certification & Training Resources
Resources for IT Professionals Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
Learning
http://northamerica.msteched.com
Connect. Share. Discuss.
Complete an evaluation on CommNet and enter to win!
Scan the Tag to evaluate this session now on myTech•Ed Mobile
© 2011 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.