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