Jan 03, 2016
Developing Unified Communications AppsKyle MarshPrincipal Program ManagerUnified CommunicationsMicrosoft [email protected]
Communications Transformation
1837 1876 1984 2007
Opportunity Software Brings
Software-Powered VoIP
Connect to the right people
and information
Click to Communicate
within MS Office and
other applications
Work Together in real-time
from anywhere
Streamlined CommunicationStreamlined CommunicationStreamlined CommunicationStreamlined CommunicationOperational ControlOperational ControlOperational ControlOperational Control
Extensible VoIP FoundationExtensible VoIP FoundationExtensible VoIP FoundationExtensible VoIP Foundation
How Enterprises Are Moving Forward
PBX / IP-PBXPBX / IP-PBXPBX / IP-PBXPBX / IP-PBXLCS / OCSLCS / OCSExchangeExchange
Office Office SystemSystem
LCS / OCSLCS / OCSExchangeExchange
Office Office SystemSystem
ADADADAD
Consistent ExperienceConsistent ExperienceConsistent ExperienceConsistent Experience
Communications PlatformCommunications PlatformValue-Added Feature ServersValue-Added Feature Servers
Communications PlatformCommunications PlatformValue-Added Feature ServersValue-Added Feature Servers
BusinessApps
Smart Unified ClientsSmart Unified ClientsSmart Unified ClientsSmart Unified Clients
Unified Communications
What Should Developers do?
• Contextual Collaborations• Communications Enable your Services and Business
Processes• Extend and Enhance Enterprise Communications
Communications Enable your Services and Business Processes
• Supply services over Unified Communications• Send an alert to a user that they need to call a customer.
Text and/or Voice• Start a conversation with a user when they become available
and have expense reports to approve. Show information from the reports and ask for approvals
• Use the IM Channel to send structured data– Control a PBX– Control an audio conference provider– Shared data and client coordination
Extend and Enhance Enterprise Communications
• Communications Server is the center of Enterprise Communications
• Communications Server Applications– Routing Applications– Authorization – Ethical Walls– Call Center Routing– Content Logging – Filtering/Virus Scanning– Billing– Translation
Contextual Collaboration
• Communicate with the right person at the right time• Your applications are the “Contact List”• Use the Standard Communications Experience via Office
Communicator Automation• Your application can be a first class communications client
– VoIP – 2 party and multiparty– Video – 2 party and multiparty– Drive Conferencing– Instant Messaging– Call Control of a desktop phone
Public Beta
Public Beta
Unified Communications Devices Specification
Interoperability Specification
Communicator Automation• Fastest and Easiest way to
add Communications to your Applications
• Used by Office and SharePoint
• COM control can be access from web pages, VB, .NET, C++
Communicator Automation Tools
• NameCtrl ActiveX that is installed by NameCtrl ActiveX that is installed by Microsoft Office 2003 and 2007 Office systemMicrosoft Office 2003 and 2007 Office system
• Presence Controls from MSDNPresence Controls from MSDN
ShortCuts (Shell Extensions)
tel: Brings up phone view but does not dial
callto: Brings up phone view but does not dial
sip: Bring up Conversation Window. If the user self, email
sips:
If in TLS, Bring up Conversation Window. If the user self, email
In not TLS, dialog box stating high security is required
conf: PSTN Conference Control
im: Conversation Window
Communicator Extensibility
• 2005 Features– Custom Tabs– Session invites– Custom Help menu– Shell extensions– Automation API
• 2007 Features– Highly visible tabs – Extensible conversations– Application Integration (Invocation of collaboration apps)– Contextual conversations– Custom presence states– Contact properties
2007 Extensibility
2007 Custom Presence States
• Support for granular presence states
• Intelligent presence setting from desktop applications– API to set and get these
states
• Admin level control
Browser Based Applications
• DHTML/JavaScript/AJAX• Consistent behavior across IE,
FireFox and Safari• Supports Single Sign On to avoid
user having to re-enter credentials• Call Deflects• No Voice/Video today
Example HTML Controls
Web Based Contextual Communications
Custom Communications Clients
• UCC APIs for Windows based applications– Communicator 2.0 built on UCCP
• AJAX Service for browser based applications– Communicator Web Access build on AJAX Service
• AJAX Service for non-Windows based applications
Custom Communications Clients• Communications Enabled Applications
– Add some communications functionality to applications. – Highly immersive applications
• Helper Applications– Contact Management– Broadcast IM
• Role Agents– Use Presence to front a group
• Full Unified Communications Clients– VoIP, Video, IM, Presence, Custom Presence– Call Center Clients
Custom Communications Client
Unified Communications Enable your Services and Business Processes
• Service adds UC Endpoint functionality– Send/Receive Instant Messages, VoIP, Video– 2-Party and Multi-Party
• UC enabled services require very different scale then client endpoints
– 1,000 of messages a second– 1,000 of endpoints per server
High Scale Communications Endpoint
.NET Applications
• New for 2007 fully managed code assembly
• Enables developers to create highly scalable endpoints for Alerts, Broadcast IM, Query/Response BOTs and large multi-party Instant Messaging
Non-Windows Applications
• AJAX Services built on managed UC Assembly
• Applications can use HTTP GET/POST to access AJAX Service
• Alerts, Query/Response applications possible
OCS 2007, Speech Server
• Used by Exchange 2007 Unified Messaging for messaging and Auto Attendant
• Visual Studio IVR authoring environment
• ASP.NET hosting environment
Unified Communications Enabled Service
Enhance Enterprise Communications• Microsoft Unified Communications is based on
Session Initiation Protocol (SIP) and SIP Instant Message and Presence Leveraging Extensions (SIMPLE) for signaling
• All SIP signaling travels from clients to the Communications Server.
• Applications can intercept and modify or log the SIP/SIMPLE traffic to change the way communications take place
• Applications can also use SIP SDP and knowledge of ICE/RTC/STUN/TURN to effect media (VoIP, Video)
Communications Server Extensibility
• Knowledge of SIP/SIMPLE Required
• Microsoft SIP Processing Language
• .NET Assembly to marshal SIP traffic between processes
• OCS Features Implemented this way:
– 2007 VoIP Call Routing – IM Filter for Links and File
Transfers– Client Filter
Platform Fundamentals
Future Platform Themes
Scalable Extensible Manageable MultimodalService ready
Common Conceptual Framework
ContextualCollaboration
BusinessProcess
Communication
InformationAccess
Customer Care
&Self Service
EnhancedCommunication
&Interoperability
What Should You Do?
Communications Enable Your Services and Business Processes
Alerts, Query/Response BOTs, ChatAlerts, Query/Response BOTs, Chat
Enable Contextual Communications in your applications
Web-based apps, Smart Client apps, other platformsWeb-based apps, Smart Client apps, other platforms
Enhance the collaboration process
Archiving, logging, filtering, connectingArchiving, logging, filtering, connecting
Resources
RTC APIhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/ancrtc.asp?frame=true
Samples:Group Alertshttp://www.microsoft.com/downloads/details.aspx?familyid=818ff21b-4610-4072-bfa9-6fb7cbc75c81&displaylang=en
Role Agenthttp://www.microsoft.com/downloads/details.aspx?familyid=818ff21b-4610-4072-bfa9-6fb7cbc75c81&displaylang=en