Unified communications apis
1 / 43

Unified Communications APIs - PowerPoint PPT Presentation

  • Updated On :

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Unified Communications APIs' - nitsa

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Unified communications apis l.jpg

Unified Communications APIs

Beck Philipp

Microsoft Innovation CenterRapperswil / HSR

Agenda l.jpg

  • 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 l.jpg
«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

Slide4 l.jpg


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.





















Uc not just a word l.jpg
UC – not just a word!

  • Single Identity

  • Single Inbox




Across Devices



Across Networks

Team Workspaces

Product Investment Areas

Application Integration

  • Streamline Communications for End-Users

Increase Operational Control

Provide Software-Powered Communication Platform

Uc not just a word simplify communication l.jpg
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

Uc not just a word7 l.jpg

UC – not just a word!


How UC can fit in your day

Api overview l.jpg
API Overview

Client automation api l.jpg
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


    • Unmanaged resources requires management

Add presence to a wpf app l.jpg
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;

Embedding click to communicate l.jpg
Embedding Click-to-Communicate

  • Get your list of contacts

    (> 1 creates conference)

  • Start the conversation…

    • StartConversation()





S tart a conversation l.jpg

Start a conversation


Application context switch l.jpg
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?

Application context switch19 l.jpg
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()

Slide21 l.jpg

  • 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

Slide22 l.jpg

  • 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

Slide23 l.jpg

  • 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

Ucma application architecture l.jpg

Communication Server R2

UCMA Application Architecture

Application Thread Pool

Your Application















Your Process


Worker Thread Pool

Ucma 2 0 workflow l.jpg
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

Ucma 2 0 workflow26 l.jpg
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

Ucma 2 0 workflow communication sequence l.jpg
UCMA 2.0 Workflow Communication Sequence

  • Provide container for Activities

  • Provides Scoping for Commands and Communication Events

  • Provides calls to Communication Activities via CallProvider

Ucma deployment requirements l.jpg
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

Deploying your first ucma app l.jpg
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…)

Server api l.jpg
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

Slide32 l.jpg

  • Microsoft own Script Language

  • Is capable of looking into SIP Messages for filtering or rerouting

  • Complex actions need to dispatch



    if (sipRequest) {

    if (sipRequest.Method == StandardMethod.Invite) {



    else if (sipRequest.Method == StandardMethod.Message) {





Server api managed code l.jpg
Server API Managed Code

  • Used to change SIP message more detailed

  • Additional Queries or Datasources possible


Microsoft.Rtc.Sip Namespace


ServerAgent myScriptOnlyServerAgent =



public void NameOfInviteHandlerMethodInApplicationHere(

object sender,




Future l.jpg

  • Office Communicator not more needed for Application Integration

  • Workflow gets easier to manage

  • A short Demo of a Microsoft Application

Summary l.jpg

  • ISVs are important for Microsoft

  • Simple und straight forward Presence and Click-to-Call integration

  • Powerful API for H2M / M2H communication

Resources l.jpg

  • 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.)

Y our msdn resources check out these websites blogs more l.jpg
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

Y our technet resources check out these websites blogs more l.jpg
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

Save the date for tech days next year l.jpg

Save the date for tech·days nextyear!

7. – 8. April 2010Congress Center Basel

Slide42 l.jpg

Premium Sponsoring Partners

Classic Sponsoring Partners

Media Partner