Some common UCMA questions

Every once in awhile (though somewhat more commonly now) I receive an e-mail or IM asking a question on the UCMA API.  I decided to post the answers to some of the most common questions.

Where can I download UCMA? – The release candidate is at

I cannot find any documentation for UCMA? – There is a limited .chm file that ships with it.  I have heard that this will be improved significantly in the future, but for now you can use my 16 part blog series beginning with this post.

I set the certificate of the connection manager, but it can’t find it on my machine? – The certificate must be stored on the local machine.  A file based certificate will not do.  It should also have the FQDN of the host.

I send a message from Communicator to my bot and it is rejected.  What happened? – The answer is tricky and is best covered in this blog post.

Instead of accepting an INVITE, I want to redirect it to another machine.  How can I do that? – Use TerminateWithRedirection on the SignalingSession.

Comments (2)

  1. Sushrut says:

    Hi Joe,

    Thanks for your continuing informative posts. Your blog was very useful to get started in developing client apps for OCS 2007. I have been successful in using the UCCPLib to create a client app that can do A/V conferencing. A couple of queries that Ihave:

    1. App sharing – My understanding is that currently there are two flavors of app sharing SDK’s available – a) Vista Desktop Sharing APIs and the b) Desktop Sharing APIs in XP SP2 & earlier. Both seem to be built on top of RDP. So, if I use UCCP on Vista, would I get the experience that the Vista Desktop Sharing APIs provide (aren’t these the same Windows MeetingSpace is built on top of?)? If I use UCCP on Win 2003 / XP would it fall back to b)?

    2.For server side development, I understand that there are 3 APIs available: a) OCS Server API b) UCMA and c) Speech Server API. Say, if I want to develop an app that sits on the server side and is able to plug into the media streams flowing through an existing A/V conf app (for e.g. the audio stream) and then do custom processing based on the data in these streams (for e.g. convert the audio stream to text i.e. speech to text), which of the server SDK’s should I use? I ask server side specifically because my understanding is that UCCPLib clients do not stream media traffic as peer to peer but are routed through the OCS server (netstat command seems to point to this).

    3. What would be the best option if I want to achieve the same functionality described in 2 above through a OCS client app?



  2. jscalev says:

    Hello Sushrut,

    For the desktop sharing question, it’s best to post your question at as I am unfamiliar with this area.

    For your other questions, unfortunately none of these APIs will allow you direct access to the media stack. The closest API is UCMA, which will perform signaling operations but you will need your own media stack. On the client side, UCCA does allow media operations but does not provide direct access to the media stack.