Freigeben über


An overview of the APIs in Office Communications Server 2007

Over time I have discussed all of the different APIs available to you in order to create Office Communications Server 2007 APIs. Today I thought I would do an overview of what's available and when you would use each one.

Office Communicator API

Example:

Microsoft Office uses the Communicator API to display presence information and launch communicator.

Languages:

            Managed or unmanaged

Capabilities:

            Presence indicators, contact lists, can launch Communicator for IM, audio, or video

Client/server:

            Client only

Complexity:

            Normal

More info:

            https://www.microsoft.com/downloads/details.aspx?FamilyID=ed1cce45-cc22-46e1-bd50-660fe6d2c98c&DisplayLang=en

UCCA

Example:

You want to enable communications in your client application, but you do not want to launch Communicator.

Languages:

            Native COM+, Managed wrapper exists

Capabilities:

Can do anything Communicator does – presence, contact lists, signaling, conferencing, audio, video, IM

Client/server:

            Client only

Complexity:

            Hard

More info:

            https://blogs.msdn.com/jcalev/archive/2007/08/17/so-what-is-the-unified-communications-client-api.aspx

Extending Communicator through tabs

Example:

            Adding a tab to show a map of where the user currently is in the world

Languages:

            Jscript, XML, HTML

Capabilities:

            Given currently selected user or group in Communicator

Client/server:

            Client only

Complexity:

            Easy

More info:

            https://blogs.msdn.com/jcalev/archive/2007/06/20/extending-communicator-through-tabs.aspx

Microsoft SIP Processing Language (MSPL)

Example:

            Route incoming messages with a custom routing scheme

Languages:

            MSPL – language similar to Jscript, manifest XML

Capabilities:

            Used for filtering, routing, or logging of SIP messages

Client/server:

            Server only

Complexity:

            Average

More info:

            OCS documentation

Office Communications API – managed filtering

Example:

            Route incoming messages with a custom routing scheme that makes database calls

Languages:

            Managed

Capabilities:

Same as MSPL, but allows access to external resources such as databases. Called from MSPL code.

Client/server:

            Server only

Complexity:

            Average

More info:

            OCS documentation

UCMA

Example:

            A bot that provides information to workers.

Languages:

            Managed

Capabilities:

Low level SIP API providing access to all SIP message types, but does not support receiving SUBSCRIBE or PUBLISH messages. UCMA currently does not support presence or conferencing.

Client/server:

            Server only. Client is possible, but not supported.

Complexity:

            Hard

More info:

            16 part series beginning at https://blogs.msdn.com/jcalev/archive/2007/05/08/introduction-to-the-ucma-api-part-2-constructing-our-client.aspx

Communicator Web Access (CWA)

Example:

            Add communications to your own web application.

Languages:

            Managed ASP.Net

Capabilities:

            Most of the same features as Communicator, but does not support voice or video.

Client/server:

            Both (client through secure HTTP requests)

Complexity:

            Average

More info:

            CWA documentation

Speech Server Core API

Example:

            Create an interactive voice application

Languages:

            Managed

Capabilities:

            Multi-language speech recognition, synthesis, and recording

Client/server:

            Server only

Complexity:

            Average

More info:

            Go back several months on this blog, https://www.gotspeech.net

Speech Server Workflow

Example:

            Same as Core API, but using Workflow activities

Languages:

            Managed Windows Workflow Foundation

Capabilities:

            Same as Core API, recommended way to create IVR applications

Client/server:

            Server only

Complexity:

            Easy

More info:

            Go back several months on this blog, https://www.gotspeech.net

VXML

Example:

            Same as Core API, but using VXML

Languages:

            VXML is an XML based language

Capabilities:

            Same as Core API

Client/server:

            Server only

Complexity:

            Average

More info:

            Go back several months on this blog, https://www.gotspeech.net

Comments

  • Anonymous
    August 21, 2007
    Hi Joseph, in your blog "Introduction to the UCMA API - Part 2 - Constructing our client" you said, that we need to add a reference to Microsoft.Rtc.Collaboration.dll in my project. Where can I find this dll? I have downloaded and installed the LCS 2005 SDK and "RTC Client API v1.3 SDK" on my PC. The LCS is installed in our network. I have referenced the ServerAgent.dll (in Microsoft LC 2005SDKBin) but it did not help. Thank you

  • Anonymous
    August 22, 2007
    The comment has been removed

  • Anonymous
    August 22, 2007
    You need to download the UCMA SDK. The current release candidate is at http://www.microsoft.com/downloads/details.aspx?FamilyID=b30306e4-7dc1-44d2-9a68-9b4a6fc5c2df&DisplayLang=en

  • Anonymous
    August 24, 2007
    In a recent post, I presented an overview of all of the different APIs available in Office Communications

  • Anonymous
    September 14, 2007
    Developing applications for OCS - where do I start? An overview of the APIs in Office Communications