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:
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:
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 youAnonymous
August 22, 2007
The comment has been removedAnonymous
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=enAnonymous
August 24, 2007
In a recent post, I presented an overview of all of the different APIs available in Office CommunicationsAnonymous
September 14, 2007
Developing applications for OCS - where do I start? An overview of the APIs in Office Communications