40

Developing Unified Communications Apps

Embed Size (px)

DESCRIPTION

Developing Unified Communications Apps. Kyle Marsh Principal Program Manager Unified Communications Microsoft Corporation [email protected]. Communications Transformation. Network-Driven Communications. 1837. 1876. 1984. 2007. Software-Driven Communications. - PowerPoint PPT Presentation

Citation preview

Page 1: Developing Unified Communications Apps
Page 2: Developing Unified Communications Apps

Developing Unified Communications AppsKyle MarshPrincipal Program ManagerUnified CommunicationsMicrosoft [email protected]

Page 3: Developing Unified Communications Apps

Communications Transformation

1837 1876 1984 2007

Page 4: Developing Unified Communications Apps

Opportunity Software Brings

Page 5: Developing Unified Communications Apps

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

Page 6: Developing Unified Communications Apps

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

Page 7: Developing Unified Communications Apps

Unified Communications

Page 8: Developing Unified Communications Apps

What Should Developers do?

• Contextual Collaborations• Communications Enable your Services and Business

Processes• Extend and Enhance Enterprise Communications

Page 9: Developing Unified Communications Apps

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

Page 10: Developing Unified Communications Apps

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

Page 11: Developing Unified Communications Apps

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

Page 12: Developing Unified Communications Apps

Public Beta

Public Beta

Unified Communications Devices Specification

Interoperability Specification

Page 13: Developing Unified Communications Apps
Page 14: Developing Unified Communications Apps

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++

Page 15: Developing Unified Communications Apps

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

Page 16: Developing Unified Communications Apps

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

Page 17: Developing Unified Communications Apps

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

Page 18: Developing Unified Communications Apps

2007 Extensibility

Page 19: Developing Unified Communications Apps

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

Page 20: Developing Unified Communications Apps

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

Page 21: Developing Unified Communications Apps

Example HTML Controls

Page 22: Developing Unified Communications Apps

Web Based Contextual Communications

Page 23: Developing Unified Communications Apps

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

Page 24: Developing Unified Communications Apps

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

Page 25: Developing Unified Communications Apps

Custom Communications Client

Page 26: Developing Unified Communications Apps

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

Page 27: Developing Unified Communications Apps

High Scale Communications Endpoint

Page 28: Developing Unified Communications Apps

.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

Page 29: Developing Unified Communications Apps

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

Page 30: Developing Unified Communications Apps

OCS 2007, Speech Server

• Used by Exchange 2007 Unified Messaging for messaging and Auto Attendant

• Visual Studio IVR authoring environment

• ASP.NET hosting environment

Page 31: Developing Unified Communications Apps

Unified Communications Enabled Service

Page 32: Developing Unified Communications Apps

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)

Page 33: Developing Unified Communications Apps

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

Page 34: Developing Unified Communications Apps
Page 35: Developing Unified Communications Apps
Page 36: Developing Unified Communications Apps
Page 37: Developing Unified Communications Apps

Platform Fundamentals

Future Platform Themes

Scalable Extensible Manageable MultimodalService ready

Common Conceptual Framework

ContextualCollaboration

BusinessProcess

Communication

InformationAccess

Customer Care

&Self Service

EnhancedCommunication

&Interoperability

Page 38: Developing Unified Communications Apps

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

Page 39: Developing Unified Communications Apps