How to provision a UCMA 2.0 application for Office Communications Server 2007 R2

When developing with UCMA 2.0, there are a few steps you need to complete on your computer before you can develop and debug your code, including:

  1. Preparing your computer for trusted connections with OCS.
  2. Provisioning your application to be trusted by OCS.

More often than not, when someone pings me with issues getting their UCMA 2.0 code up and running, the issue is with the environment rather than the actual UCMA 2.0 code.  Provided you have Visual Studio 2008 and UCMA 2.0 installed and your development machine is in the same domain as your OCS server, here is what you need for a UCMA 2.0 dev environment:

Prepare Your Computer – OCS and UCMA 2.0 applications communicate over trusted TLS/MTLS connections established using certificates.  You need two certificates on your development machine in order to establish those TLS/MTLS connections:

Local Machine Certificate: This is the cert you will use in UCMA 2.0 to connect to OCS.  This certificate is located in Console Root\Certificates (Local Computer)\Personal Certificates.

Provisioning1

If you don’t have this certificate, request one from your domain controller.

Provisioning2

Trusted Certificate Authority Certificate: This is the certificate that both your development machine and the OCS server will have from joining the domain.  This certificate is located in Console Root\Trusted Root Certification Authorities\Certificates.

Provisioning3

Provision Your Application – OCS will only accept secure TLS/MTLS connections from contacts or applications that are trusted.  To create a trusted application (represented by the ApplicationEndpoint class) you can use the ApplicationProvisioner sample that ships with UCMA 2.0.  See the topic “Using ApplicationProvisioner” in the UCMA 2.0 documentation.

Once you have both of those environmental details taken care of your development machine will be able to create trusted TLS/MTLS connections to OCS and your application contact will be provisioned to be trusted by OCS. 

In my next post, I’ll show how to use the ApplicationProvisioner settings in your UCMA 2.0 code to run as an OCS trusted service.

If you need more details on setting up any of these steps, see the following:

1. Programming for Unified Communications, Chapter 9, Configuring UCMA Core has step by step instructions with great background information on setting up trusted connections and trusted applications.

2. Using ApplicationProvisioner in the UCMA 2.0 docs has details on how to build and use this sample.

Thanks,

Chris