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:
http://www.microsoft.com/downloads/details.aspx?FamilyID=ed1cce45-cc22-46e1-bd50-660fe6d2c98c&DisplayLang=en
UCCA
You want to enable communications in your client application, but you do not want to launch Communicator.
Native COM+, Managed wrapper exists
Can do anything Communicator does – presence, contact lists, signaling, conferencing, audio, video, IM
Hard
http://blogs.msdn.com/jcalev/archive/2007/08/17/so-what-is-the-unified-communications-client-api.aspx
Extending Communicator through tabs
Adding a tab to show a map of where the user currently is in the world
Jscript, XML, HTML
Given currently selected user or group in Communicator
Easy
http://blogs.msdn.com/jcalev/archive/2007/06/20/extending-communicator-through-tabs.aspx
Microsoft SIP Processing Language (MSPL)
Route incoming messages with a custom routing scheme
MSPL – language similar to Jscript, manifest XML
Used for filtering, routing, or logging of SIP messages
Server only
Average
OCS documentation
Office Communications API – managed filtering
Route incoming messages with a custom routing scheme that makes database calls
Managed
Same as MSPL, but allows access to external resources such as databases. Called from MSPL code.
UCMA
A bot that provides information to workers.
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.
Server only. Client is possible, but not supported.
16 part series beginning at http://blogs.msdn.com/jcalev/archive/2007/05/08/introduction-to-the-ucma-api-part-2-constructing-our-client.aspx
Communicator Web Access (CWA)
Add communications to your own web application.
Managed ASP.Net
Most of the same features as Communicator, but does not support voice or video.
Both (client through secure HTTP requests)
CWA documentation
Speech Server Core API
Create an interactive voice application
Multi-language speech recognition, synthesis, and recording
Go back several months on this blog, http://www.gotspeech.net
Speech Server Workflow
Same as Core API, but using Workflow activities
Managed Windows Workflow Foundation
Same as Core API, recommended way to create IVR applications
VXML
Same as Core API, but using VXML
VXML is an XML based language
Same as Core API