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:


            http://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:


            http://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:


            http://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 http://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, http://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, http://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, http://www.gotspeech.net


 


 

Comments (5)
  1. Koder says:

    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

  2. Koder / cherami@gmx.de says:

    Hi,

    actually I added rtcdll.dll as reference from

    C:WINDOWSWinSxSx86_Microsoft.Windows.Networking.RtcDll_6595b64144ccf1df_5.2.1003.3_x-ww_92d42f4f  

    but I get the error

    A reference to

    ‘rtcdll.dll’ could not be added. This is not a valid assembly or COM

    component. Only assemblies with extension ‘dll’ and COM components can be

    referenced. Please make sure that the file is accessible, and that it is a

    valid assembly or COM component.

    Thank you in Advance

    Koder

  3. In a recent post, I presented an overview of all of the different APIs available in Office Communications

  4. Roberdan says:

    Developing applications for OCS – where do I start? An overview of the APIs in Office Communications

Comments are closed.

Skip to main content