400 likes | 587 Views
Developing Unified Communications Apps. Kyle Marsh Principal Program Manager Unified Communications Microsoft Corporation Kyle.Marsh@microsoft.com. Communications Transformation. Network-Driven Communications. 1837. 1876. 1984. 2007. Software-Driven Communications.
E N D
Developing Unified Communications Apps Kyle Marsh Principal Program Manager Unified Communications Microsoft Corporation Kyle.Marsh@microsoft.com
Communications Transformation Network-Driven Communications 1837 1876 1984 2007 Software-Driven Communications
Opportunity Software Brings More Innovation More Productivity Basic VoIP Software-Powered VoIP Cost Reduction $ More Choice Greater Cost Reduction
Software-Powered VoIP Streamlined communications Clickto Communicate within MS Office and other applications Work Together in real-time from anywhere Connectto the right people and information
How Enterprises Are Moving Forward Today Tomorrow LCS / OCS Exchange Office System Communications Platform Value-Added Feature Servers AD PBX / IP-PBX Smart Unified Clients Consistent Experience Streamlined Communication BusinessApps Operational Control Extensible VoIP Foundation
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
Microsoft Platform Interoperability Specification Public Beta Unified Communications Devices Specification Public Beta
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 Microsoft Office 2003 and 2007 Office system Presence Controls from MSDN
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 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
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
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
.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
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
Future Platform Themes Business Process Communication Information Access Customer Care & Self Service Enhanced Communication & Interoperability Contextual Collaboration Platform Fundamentals Common Conceptual Framework Scalable Extensible Manageable Multimodal Service ready
What Should You Do? Enable Contextual Communications in your applications Web-based apps, Smart Client apps, other platforms Communications Enable Your Services and Business Processes Alerts, Query/Response BOTs, Chat Enhance the collaboration process Archiving, logging, filtering, connecting