1 / 43

Unified Communications APIs

Unified Communications APIs. Beck Philipp Microsoft Innovation Center Rapperswil / HSR. Agenda. UC – not just a word! APIs and their possibilities Overview DeepDive Communicator Automation API Client API DeepDive Managed API Server API Future Summary. « Disconnected » Communication.

nitsa
Download Presentation

Unified Communications APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unified Communications APIs Beck Philipp Microsoft Innovation CenterRapperswil / HSR

  2. Agenda • UC – not just a word! • APIs and their possibilities • Overview • DeepDive Communicator Automation API • Client API • DeepDive Managed API • Server API • Future • Summary

  3. «Disconnected» Communication • > 60% of business calls are connected to the voicemail system • Gartner Group Report- March 2006- Mathew Cain • 67% of business IM conservations are escalated to voice • MS study Fall 04 • 50% of all outbound calls the number has been searched in Outlook • MS Study w/ Harris Interactive  2006 • The Information Worker gets 51 messages on 7 different devices each day • MS Study w/ Harris Interactive  2006

  4. UC – not just a word! One Identity Work Tel: (207) 555-1000 Tel: (207) 555-1000 Alex Hankin| Contoso, Ltd. Senior Director New York, NY Direct: (207) 555-1112 Direct: (207) 555-1112 Fax: (207) 555-9999 Fax: (207) 555-9999 Mobile: (775) 551-2345 Mobile: (775) 551-2345 Home (208) 555-5656 Home (208) 555-5656 Telex: 781-234 Telex: 781-234 Work E-mail: alexhankin@contoso.com Work E-mail: alexhankin@contoso.com Work IM: alexhankin@contoso.com Work IM: alexhankin@contoso.com Home E-mail: Alex@hotmail.com Home E-mail: Alex@hotmail.com Home IM: Alex@hotmail.com Home IM: Alex@hotmail.com Skype: AlexH Skype: AlexH Alex Hankin Senior DirectorContoso, Ltd. Alex Hankin Senior DirectorContoso, Ltd. Home alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com alexhankin@contoso.com

  5. UC – not just a word! • Single Identity • Single Inbox E-Mail/Calendaring VoIP Inbox Across Devices Conferencing InstantMessaging Across Networks Team Workspaces Product Investment Areas Application Integration • Streamline Communications for End-Users Increase Operational Control Provide Software-Powered Communication Platform

  6. UC – not just a word!Simplify communication Click to Communicate innerhalb der Applikation • Präsenzbasiert, richtige Art, richtige Zeit • Nahtloser Übergang E-Mail, IM, Voice, und Video • Single Inbox für E-Mail/Voice Mail/Fax durch Unified Messaging • Integration in Line of Business Apps durch Presence Information “Anywhere Access” Mobile Devices • Gewohnte Outlook Umgebung auf allen Geräten (Exchange ActiveSync, OWA, OVA) • “VPN-less” Zugriff auf IM, Voice und Konf Video/Web Konferenz • Audio/Video/Web Konferenz aus Office • Zusammenarbeit innerhalb verteilter Teams

  7. UC – not just a word! demo How UC can fit in your day

  8. Microsoft VoiceCon Slide

  9. API Overview

  10. Client Automation API • Build Office Communicator 2007 R2 features into apps via automation • Used to provide Office Communicator 2007 R2 integration in Outlook 2007 • Free download/free distributable • Requires Office Communicator 2007/2007 R2, Office Communications Server 2007 • COM API • Unmanaged resources requires management

  11. Add Presence to a WPF App • XAML : • xmlns:presence="clr-namespace:Microsoft.Samples.Office.UnifiedCommunications.PresenceControls;assembly=WPFMOCPresenceControls„ • <presence:PersonaList x:Name="personaList1" • ShowContextMenu="True" • ShowDisplayName="True" • ShowAvailability="True" • ShowToolTip="True" • ShowDetailedToolTipText="True"/> • C# : • List<string> sipUris = new List<String>() • { • "pbeck@ins.hsr.ch" • }; • personaList1.SipUris = sipUris;

  12. WPF Controls demo

  13. Object Model Overview

  14. What Are the Key Objects, Interfaces and Methods?

  15. What Are the Key Events?

  16. Embedding Click-to-Communicate • Get your list of contacts (> 1 creates conference) • Start the conversation… • StartConversation() • CONVERSATION_TYPE • CONVERSATION_TYPE_IM • CONVERSATION_TYPE_AUDIO • CONVERSATION_TYPE_VIDEO

  17. Start a conversation demo

  18. Application Context Switch • Why do i need to tell my workmate what my problem is? • Context switch is a problem if I have to work on to much things. • Why can not the application do so for me?

  19. Application Context Switch • Use OnIMWindowCreated() compare the hWnds • If the hWnd is not yours, incoming conversation • Get the IM conversation content • IMessengerConversationWndAdvanced::History() • Strategies for “app data” • Regular expressions to match data structure • XML schema • Hide the conversation window and show UI • IMessengerConversationWndAdvanced::Close()

  20. Context Switching demo

  21. UCCA • Unified Communication Client API • Implemented in C++ • Interopperable with .NET • Microsoft.Office.Interop.UccApi • Used to build Attendant Console • You can build your own Communicator • Complex

  22. UCMA • Managed code platform to create communication and collaboration enabled services • Multi Layers of Abstraction: • SIP Abstraction (UCMA 1.0) • OCS Protocols (UCMA 2.0) • Enhanced Presence, Conferencing, Contacts and Groups, Call Control • Multi Modal • High Performance and Scalability • Asynchronous

  23. UCMA • Multimodal & Multiparty Call Management • IM & Audio built-in this version • Extensible for custom modalities • Enhanced Presence Services • Querying, Publishing, and Subscribing • Custom categories • Conference Scheduling • Connection Management • Contact Group Services

  24. Communication Server R2 UCMA Application Architecture Application Thread Pool Your Application Conversation Application Endpoint Conversation Collaboration Platform Conversation Application Endpoint OutgoingConnections UserEndpoint Conversation : IncomingConnections Your Process Microsoft.Rtc.Collaboration.dll Worker Thread Pool

  25. UCMA 2.0 Workflow • Add communication features to Windows Workflow • Supports IM and Speech • Communication control • Business Process Communications • Alerts and notifications • Information Access • Query/Response • New in UC R2 Platform

  26. UCMA 2.0 Workflow • Built on UCMA 2.0 Core SDK and MS Speech • Abstracts a subset of UCMA 2.0 Core SDK functionality • MS Speech provides TTS and ASR • Use UCMA 2.0 Core SDK via Code activity and custom activities to extend UCMA 2.0 WA • Requires .NET 3.5 SP1 • Speech Server Language Pack needed

  27. UCMA 2.0 Workflow Communication Sequence • Provide container for Activities • Provides Scoping for Commands and Communication Events • Provides calls to Communication Activities via CallProvider

  28. UCMA Deployment Requirements • Certificate • Local Port + Firewall • Identity • Does not need to be communications enabled • GRUU • Globally Routable User Agent URI • Created by Administrator, maps to an AD object • SIP Address • x64 on Vista or W2K3

  29. Deploying Your First UCMA App • Step 1: Create Project • Step 2: Create Local Certificate • Step 3: Provision AD Objects • Step 4: Update Project • Step 5: Update Contact (optional…)

  30. Unified Contact Center demo

  31. Server API • Repsonsible for SIP Message handling • Consist of two Parts • Microsoft SIP Programming Language • Managed Code • Routing functions and Filter Scripts can be done • Registers with OCS 2007 Server

  32. MSPL • Microsoft own Script Language • Is capable of looking into SIP Messages for filtering or rerouting • Complex actions need to dispatch MSPL <lc:splScript><![CDATA[ if (sipRequest) { if (sipRequest.Method == StandardMethod.Invite) { Dispatch("NameOfInviteHandlerMethodInApplicationHere"); } else if (sipRequest.Method == StandardMethod.Message) { Dispatch("NameofMessageHandlerMethodInApplicationHere"); } } ]]></lc:splScript>

  33. Server API Managed Code • Used to change SIP message more detailed • Additional Queries or Datasources possible C# Microsoft.Rtc.Sip Namespace ... ServerAgent myScriptOnlyServerAgent = newServerAgent(myAppManifest); ... public void NameOfInviteHandlerMethodInApplicationHere( object sender, RequestReceivedEventArgsrequestEventArgs) { }

  34. SIP Server SDK demo

  35. Future • Office Communicator not more needed for Application Integration • Workflow gets easier to manage • A short Demo of a Microsoft Application

  36. Summary • ISVs are important for Microsoft • Simple und straight forward Presence and Click-to-Call integration • Powerful API for H2M / M2H communication

  37. Resources • MSDN Unified Communications Developer Portal • http://msdn.microsoft.com/uc • Microsoft Office Communications Server 2007 R2 Trial Download • http://www.microsoft.com/downloads/details.aspx?FamilyID=67a3de72-7dbd-4e0b-92a5-29d0b46009a7 • Microsoft Office Communicator 2007 R2 Trial Download • http://www.microsoft.com/downloads/details.aspx?FamilyID=535637af-d92f-41b1-bf0c-54a526a88247 • Microsoft Office Communicator Automation API • http://www.microsoft.com/downloads/details.aspx?FamilyID=ed1cce45-cc22-46e1-bd50-660fe6d2c98c&DisplayLang=en • WPF Presence Controls for Microsoft Office Communicator 2007 - Microsoft Office Communicator 2007 SDK Sample • http://www.microsoft.com/downloads/details.aspx?FamilyID=5001d612-533a-4721-91ea-da990d94ff0f&DisplayLang=en • Microsoft Unified Communications Managed API 2.0 SDK (64-bit) • http://go.microsoft.com/fwlink/?LinkID=139195 • Microsoft Office Communications Server 2007 R2 Resource Kit • http://www.microsoft.com/learning/en/us/Books/13113.aspx • Programming for Unified Communications • http://www.microsoft.com/learning/en/us/Books/12956.aspx • Chris Mayo’s blog • http://blogs.msdn.com/cmayo (API URLs, etc.)

  38. Resources

  39. Your MSDN resourcescheck out these websites, blogs & more! PresentationsTechDays: www.techdays.chMSDN Events: http://www.microsoft.com/switzerland/msdn/de/presentationfinder.mspxMSDN Webcasts: http://www.microsoft.com/switzerland/msdn/de/finder/default.mspx MSDN EventsMSDN Events: http://www.microsoft.com/switzerland/msdn/de/events/default.mspxSave the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin MSDN Flash (our by weekly newsletter)Subscribe: http://www.microsoft.com/switzerland/msdn/de/flash.mspx MSDN Team BlogRSS: http://blogs.msdn.com/swiss_dpe_team/Default.aspx Developer User Groups & CommunitiesMobile Devices: http://www.pocketpc.ch/Microsoft Solutions User Group Switzerland: www.msugs.ch.NET Managed User Group of Switzerland: www.dotmugs.chFoxPro User Group Switzerland: www.fugs.ch

  40. Your TechNet resourcescheck out these websites, blogs & more! PresentationsTechDays: www.techdays.ch TechNet EventsTechNet Events: http://technet.microsoft.com/de-ch/bb291010.aspx Save the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin TechNet Flash (our by weekly newsletter)Subscribe: http://technet.microsoft.com/de-ch/bb898852.aspx Schweizer IT Professional und TechNet BlogRSS: http://blogs.technet.com/chitpro-de/ IT Professional User Groups & CommunitiesSwissITPro User Group: www.swissitpro.chNT Anwendergruppe Schweiz: www.nt-ag.chPASS (Professional Association for SQL Server): www.sqlpass.ch

  41. Save the date for tech·days nextyear! 7. – 8. April 2010Congress Center Basel

  42. Premium Sponsoring Partners Classic Sponsoring Partners Media Partner

More Related