How To: Build an OCS and UM lab with phone integration

To quickly set up a lab for testing phone integration you need at least three servers for OCS and Exchange roles. One additional server is needed for Active Directory and Certificate Authority.

I would recommend using a 64-bit machine installed with Windows Server 2003 x64 and Virtual Server 2005 R2. Virtual Server can then host the Office Communication Server 2007 roles and even the Domain Controller if needed. Exchange Server 2007 will be installed on the host machine (all roles for this setup can co-exist on the same machine).

Then you need a VOIP/SIP gateway, for this documentation I'll be referring to the Audiocodes MP-114 FXO SIP Gateway but other products with same capabilities exist.

Note: The Audiocodes MP-114 product is not supported for enterprise deployment of OCS, the setup described here is only for lab use. Virtualization of OCS2007 is not supported in a production environment.

For this simple lab your existing desk phone will be handled by whatever PBX you have installed and the SIP gateway will "listen in" on a second line that the PBX has been configured to use for the same extension as your desk phone. You can also use a completely different extension for testing.

A very high level diagram of the communication flow in the lab set up will look like this:

OCS-UM-flow

 

Configuring the SIP gateway

First you need to download the OCS compatible .ini file from AudioCodes' web site - you need the "FXO (One-to-One option)" download for this setup. (Update: It appears that AudioCodes no longer provide this .ini file, please contact AudioCodes Support for information).

Follow the quick guide available on the same page for basic setup of the MP-114. (Default IP address of the device may be 10.1.10.10 - it was in my case).

When configuring endpoint phone number, use your full phone number.

I prefer to do as little phone number manipulation as possible in the MP-114 but you need to convert the incoming phone extension into a full E.164 compliant number so it will match your phone number in OCS.

It is by far the easiest to do all your phone number normalization in OCS and just pass on the "finished" number to the MP-114, more about this in the Mediation Server section.

Just let the MP-114 route all inbound calls to your number.

As this is a test setup you may want your desk phone to ring a couple of times before your lab environment kicks in, this can be done by configuring the FXONumberOfRings under https://mp-114/AdminPage to the number of rings you want before the MP-114 reacts.

A good way to see what happens when inbound calls are made is to monitor the ports on the main page of the administration interface. Click the port (Port 3 in this case as only FXO ports should be connected to a PBX), select port settings and then SIP. This way you can see if inbound calls are translated and routed properly (fields are only populated during a call).

The MP-114 will allow you to connect an analog phone directly and use that for dialing in but it makes more sense to connect it to a PBX for testing.

 

Install Mediation Server

Essential reading before starting is the Enterprise Voice Planning and Deployment Guide.

I assume that you already have an OCS2007 front end server running with client connectivity so just install the Mediation Server role on a different server using the OCS2007 Deployment Wizard.

Configure listening IP address for both Communication Server and Gateway to the servers address. Leave location profile as "(None)" - we'll configure that later.

Next Hop Connections: FQDN of your front end server and IP address of the SIP gateway (MP-114 in this scenario).

Create a certificate for the the server from the same CA as you did for the front end server.

Assign a Line URI telephone number to your users in E.164 format through the OCS2007 console or ADUC; select "Enable Enterprise Voice" and input the full phone number as: "tel:+4544890100" (this is an example number, use one that fits into your numbering scheme).

UserOptions

 

Configuring Exchange UM

Under Organization Configuration\Unified Messaging:

Create a UM Dial Plan (Shell cmdlets are documented in the deployment guide so I'll show the GUI):

UM-dial-plan

Give the dial plan a name and use as many digits for extension as you desire.

Add the dial plan to the UM server object under Server Configuration\Unified Messaging.

Create a new UM Auto Attendant; simply name it AutoAttendant and select the dial plan you created before. Associate an extension number with your Auto Attendant that doesn't conflict with other numbers. Make sure you enable and speech enable the Auto Attendant by checking the two checkboxes at the bottom.

Run the ExchUCUtil.ps1 script.

This will set permissions on the Exchange Org and UM containers and add the OCS front end server as IP gateway for the UM server.

Don't forget to enable users for UM... ;o)

 

Configure Mediation Server

Run the Exchange UM Integration Utility (found under: C:\Program Files\Microsoft Office Communications Server 2007\Server\Support\OcsUMUtil.exe on your front end server)

Press "Load Data"

If the list shows your Exchange UM dial plan, press "Add" and select phone number defined in Exchange UM under phone number and "Auto-Attendant" under Contact Type.

Press OK

The tool will say that no matching location profile exists so lets go ahead and create one now:

Right click the forest name in the OCS2007 console, select Properties; Voice Properties

Add a new profile, using the name OcsUMUtil found.

Add as many Normalization Rules to the profile as you need. This is very well documented in the deployment guide but a fast one to get you going:

Name: Local extension

Phone pattern regular expression: ^([1-9]\d{3})$

Translation pattern regular expression: +454489$1

The pattern regular expression will look for any 4 digit number starting with 1-9 and pass it on to the translation as variable $1 - the translation will prefix it with +454489 (so it conforms to E.164 numbering this way OCS can match a 4 digit local extension to the full number you have configured on your OCS/UM users).

Phone Usages and Policies are not very important for this small lab setup just assign "Default Usage" to "Default Policy".

In Routes, create a new route called "Default Route", set the Target regular expression to ".*" to let all numbers that does not match an internal user to be routed. (You can set it to "^\+45" to only allow national calls, other country codes will then fail to route).

Set the gateway address to your Mediation Server and select "Default Usage" under Phone usages.

Assign the Location Profile to the Mediation Server object in the OCS2007 console.

A very good tool to verify that your call routing is working is the Enterprise Voice Route Helper available for download in the Office Communications Server 2007 Resource Kit Tools.

Your OC client should look like this if phone integration is configured properly:

OC-VoiceMail

Enjoy...