Deploying Exchange Server 2007 and Office Communications Server 2007 R2 (Part 10)

If you would like to read the other parts in this article series please go to:


In this article we are going to start the integration process between OCS and Exchange, we are not connecting the current environment with PSTN because we haven’t configured the Mediation Server with the VoIP Gateway or IP-PBX at this stage. In a production environment a Mediation Server will be required. On the OCS side, you will configure the routing based option on your Normalization rules. For the sake of this article, we have a simple environment with a single Normalization Rule created to allow the internal calls between users and Exchange Server. In doing this, we can go over the integration between both products.

Bear in mind that each environment has its own peculiarities and for that reason this article should help you out in the initial phases of your build, but you may have to change some configurations to achieve all goals of your POC phase.

Installing Unified Messaging on Existent Server

Like we saw on the Exchange Server 2007 deployment of this article series, we can use the same procedure to install the Operating System features to our current server. Let’s run the following command (Figure 01) to install all Unified Messaging requirements:

ServerManagerCMD –ip Exchange-UM.xml

Figure 01

Now, that we already have the UM pre-requisites in place, we can open Control panel, click on Default Programs, and click on Program and Features on the left side. Select Microsoft Exchange Server 2007 from the list, and click on Change.

  1. On the Exchange Maintenance Mode page, just click on Next.
  2. On the Server Role Selection page. Select Unified Messaging Role and click on Next.

Figure 02

  1. On the Readiness Checks page. Validate for the completion and if all looks good, you can click on Install.
  2. On the Completion page. Just click on Finish.

One thing that we haven’t mentioned for a while was the certificates and Web Services URL in our environment. If you use the default self-signed SSL certificate from Exchange Server 2007 installation you will have some issues with the Communicator because it does not recognize that certificate. In our environment we are going to request the certs from the internal CA, which by the way, is the same that issued certificates to our OCS server. These are the key steps to accomplish this task:

  1. Request a SAN certificate for these following names:,, srv-ex01.apatricio.local using the following syntax:
    New-ExchangeCertificate –GenerateRequest –Path C:\Ex-Cert.req –SubjectName “c=CA,,” –DomainName, srv-ex01.apatricio.local –PrivateKeyExportable $true –FriendlyName “Exchange Cert”

    Change the domain for your own domain name of your lab.
  2. Go to the CA web enrollment page (https://<CA-Server-Name>/CertSRV) and request the certificate and download the certificate
  3. Import the certificate using the following syntax:
    Import-ExchangeCertificate –Path C:\AP.cert
    Note: AP.cert is the file name downloaded from step 2
  4. Enable the new certificate for all available services (IIS, SMTP and Unified Messaging) using the following cmdlet:
    Enable-ExchangeCertificate –Thumbprint <ThumbPrint generated on the previous step> -Services IIS,SMTP,UM and type Y and hit enter key when prompted
  5. Finally, restart the IIS component using the following syntax:
    IISReset /noforce

A summary of all previous steps can be seen in the Figure 03.

Figure 03

Creating a Dial Plan in Exchange Server…

The first step of the integration is to create a Dial Plan on Exchange Server side, and these steps can be used:

  1. Open Exchange Management Console
  2. Expand Organization Configuration, and click on Unified Messaging.
  3. Click on New UM Dial Plan located on the Toolbox Actions on the right side.
  4. On the New UM Dial Plan page. Let’s label the Dial Plan, in our environment we are going to use the city name where our server is located (e.g.: Toronto), and we also need to define number of digits in the extension which is going to be 3. The URI Type is going to be SIP URI and the VoIP security will be Secured. After that click New. (Figure 04)

Figure 04

  1. On the Completion page. Just click on Finish.

This process also creates a UM Mailbox Policy that can be check on UM Mailbox Policy tab. In that policy we have several configurations that can be done, such as: greeting duration time, PIN settings, and dialing restrictions.

After creating the Dial Plan, let’s associate a number to it. Just right click on the newly Dial Plan created, and click on Properties, and then click on Subscriber Access tab. Type in a telephone number that will be used to reach this Dial Plan, in this example we are going to use +16667778100 (Figure 05) and after that click on Add… and then OK.

Figure 05

Associating Dial Plan with the UM Server

In order to associate the Dial Plan that we have just created in the previous steps these steps can be used to accomplish this task:

  1. Open Exchange Management Console
  2. Expand Server Configuration, and click on Unified Messaging
  3. Right click on the UM server listed on the right, and click on Properties
  4. Click on UM Settings tab, and click on Add… and select the UM Dial Plan that we created in the previous section and click OK twice. The final result is shown in the figure 06.

Figure 06

Running ExchUCUtil Tool and Configuring the IP Gateway

Every time that either a new Dial Plan is created or a new OCS Server is added, then we need to run the ExchUCUtil script that basically creates a UM Gateway object in Exchange Server for each OCS pool/server and associate it to the dial plan; the other function of the utility is to assign permissions to OCS to read Exchange UM objects to allow future contact creation for Subscriber Access and Auto-Attendant.

The ExchUCUtil is really simple, and we just need to open Exchange Management Shell, and navigate to the Exchange Server 2007 installation folder which by default is X:\Program Files\Microsoft\Exchange Server\Scripts (where X: is the Exchange Server 2007 installation partition) and run the following command .\ExchUCUtil.ps1, as shown in Figure 07.

Figure 07

In the output you will notice that the section Configuring UMIPGateway objects… the script will identify the OCS Pool which is SRV-OCS.apatricio.local in our environment and in the line below it will inform that a UM IP Gateway object will be created. The results of this process can be seen on the UM IP Gateways tab on Exchange Server Management Console, a shown in Figure 08.

Figure 08

By default, the new IP Gateway is created using the port 0. Our next step is to configure that new object to use the 5061 port. In order to accomplish this task, we can run the following cmdlet syntax as shown below and also in Figure 09.

Set-UMIPGateway –Identity SRV-OCS –Port 5061

If you couldn’t get the name of the UMIPGateway from ExchUCUtil.ps1 script, you can retrieve it using Get-UMIPGateway cmdlet.

Figure 09

One last step is to run Get-UMDialPlan | fl cmdlet and write it down the content of the attribute PhoneContext which is Toronto.apatricio.local this name will be used to create the Location Profile in OCS. (Figure 10)

Figure 10

Managing OCS Voice Settings…

Time to start playing with OCS, the first step is to configure the Voice Components and create a new Location and its respective Normalization rules. All these steps are covered in the following steps:

  1. Logged on OCS 2007 R2, open Microsoft Office Communications Server 2007 console
  2. Right click on Forest – <root domain FQDN> item, and click on Properties and then Global Properties, as shown in figure 11.

Figure 11

  1. On Add Location Profile, let’s use the name that we wrote down in the previous step that we retrieved from PhoneContext attribute. Also, type display text information about the location profile and click on Add… (Figure 12)

Figure 12

  1. Let’s label the first normalization rule, and because we just want to test the integration we are going to create a single Number Normalization. Basically, the normalization is a set of rules that based on the pattern that the user types in their OCS end-points is translated to a full E.164 format. For example, in the example below the user will type 3 numbers and the first one must be 1, and based on those 3 numbers we are going to instruct OCS to convert a simple 3 digit number to +16667778XXX (where XXX was the number entered by the client) and then the routing will be performed (Figure 13).

Figure 13

  1. Click OK twice.

Let’s open a Command Prompt and go to the folder C:\Program Files\Common files\Microsoft Office Communications Server 2007 R2\Support (where C: is the location where you installed OCS 2007 R2) folder, and then let’s type in OCSUMUtil and hit enter key.

The Exchange UM Integration Utility will be displayed (Figure 14), click on Load Data, then select the UM Dial Plan from the Exchange Um Dial Plan Forest, and let’s click on the Dial Plan name (in our article is Toronto.apatricio.local) on the left and we will notice that we don’t have any contact listed on the right side. We can create the contacts manually clicking on Add button however we are going to use OCSUMutil to create the contacts automatically for us. Let’s close the current windows and go back to the command prompt.

Figure 14

In the same command prompt, let’s run OCSUMutil / (where is our SIP domain), and the output will list all contacts created by the utility, as shown in Figure 15.

Figure 15

The result of the previous process is a new contact created in the RTC Special Accounts Organization Unit, as show in Figure 16. If we go to the Communications tab of this new object the telephone number will be the same that we configured in Exchange Server at the beginning of this article.

Figure 16

Restarting Exchange and OCS services…

Now, that we have configured both product our next step will be restarting some services: logged on Exchange Server, let’s restart the Microsoft Exchange Unified Messaging service (Figure 17); logged on OCS server, the service Office Communications Server Front-End should be restarted as well, as shown in Figure 18.

Figure 17

Figure 18


In this article we went over the steps required to do the integration between Exchange and OCS. In the next article we are going to enable Enterprise Voice and Unified Messaging, and we are going also to do some tests on the client side.

If you would like to read the other parts in this article series please go to:

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top