Unified communications apis
Download
1 / 43

Unified Communications APIs - PowerPoint PPT Presentation


  • 137 Views
  • 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
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 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

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


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


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!

demo

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

  • COM API

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

  • CONVERSATION_TYPE

    • CONVERSATION_TYPE_IM

    • CONVERSATION_TYPE_AUDIO

    • CONVERSATION_TYPE_VIDEO


S tart a conversation l.jpg

Start a conversation

demo


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


Slide22 l.jpg
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


Slide23 l.jpg
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


Ucma application architecture l.jpg

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


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


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

{

}



Future l.jpg
Future

  • Office Communicator not more needed for Application Integration

  • Workflow gets easier to manage

  • A short Demo of a Microsoft Application


Summary l.jpg
Summary

  • ISVs are important for Microsoft

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

  • Powerful API for H2M / M2H communication


Resources l.jpg
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.)



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