Integrating AudioCodes MP-114/MP-118 Media Gateways with Microsoft Unified Communications Products

 

As one of the Subject Matter Experts (SMEs) for the Microsoft Exchange Unified Messaging product within Microsoft CSS, I am often asked how to provide PSTN connectivity to both Office Communications Server 2007 and to Exchange UM.  Microsoft has worked with a number of vendors to establish support guidelines for IP PBX and IP Gateway integration with our UC products (as you’ll read below).  After doing a lot of reading about different products (and following some good advice from my friend Tim McMichael), I decided to purchase the AudioCodes MP-114 Media Gateway device for my home lab (yes, with my own $$).  It took a while, but I finally got my home UC lab working – with full PSTN connectivity!  

These are my personal configuration notes…

 

 

Introduction

Microsoft Office Communications Server 2007 offers a feature-rich telephony experience for Enterprise Voice enabled users, especially when Microsoft Exchange Unified Messaging is leveraged for voice mail functionality. While Office Communications Server 2007 does not natively provide connectivity with users on the Public Switched Telephone Network (PSTN), a media gateway can be used to connect OCS 2007 to an existing PBX system or to the PSTN network. Microsoft has implemented the Open Interoperability Program for vendors to certify their devices and solutions. For more information about these partners, please visit https://technet.microsoft.com/ucoip.

The AudioCodes MP-114 and MP-118 Media Gateways are affordable options for testing and/or demonstrating many of the telephony features offered by Office Communications Server 2007 and/or Exchange Unified Messaging. You may have seen these devices used at many of the OCS 2007/UM demonstrations at Microsoft TechEd or on the Microsoft Ignite! tour. While neither the MP-114 nor the MP-118 supports the RTAudio media codec used by Office Communications Server 2007, the Mediation Server role can be leveraged by both of these gateways to provide PSTN connectivity for Office Communicator clients.

The AudioCodes MP-114 and MP-118 Media Gateways offer an Ethernet port for connecting to an existing IP network and a total of four (2 FXO/2 FXS) or eight (4 FXO / 4 FXS) analog telephony ports for connecting to telephone handsets and to the PSTN. Each gateway can be configured using a GUI interface from a web browser or by uploading a configuration file to the device. AudioCodes offers a demo toolkit that can be downloaded from their website and used to configure either gateway for use with Office Communications Server 2007 or Microsoft Exchange Unified Messaging.

The documentation is provided merely as an example of how to integrate Microsoft Unified Communications products with the AudioCodes MP-114 or MP-118 media gateway in a lab environment – not as prescriptive guidance for enterprise deployments. This documentation assumes that you have a working knowledge of both OCS 2007 and Unified Messaging, and that you have deployed a working lab environment containing both products. 

 

 

Lab Details

Let’s assume that your lab environment is configured as follows:

AudioCodes MP-114 Media Gateway 10.1.1.5/24 (firmware version 5.40A.013.004)
Global Catalog / DNS / Cert Authority 10.1.1.10/24 (gc.contoso.com)
OCS Front End/Pool (Standard Edition) 10.1.1.11/24 (ocs.contoso.com)
OCS Mediation Server (Standard Edition) 10.1.1.12/24 (mediation.contoso.com)
Exchange 2007 Server/Unified Messaging 10.1.1.13/24 (exchange.contoso.com)

OCS 2007 Enterprise Voice Location Profile Charlotte.contoso.com
Unified Messaging Dial Plan (SIP URI type) Charlotte (Charlotte.contoso.com)
Auto Attendant (ocsAA@contoso.com) +17045559999
Subscriber Access (ocsSA@contoso.com) +17045559998
AudioCodes MP-114, port FXS 1 (physical phone) 7045551000
AudioCodes MP-114, port FXS 2 (physical phone) 7045552000
Office Communicator User (user@contoso.com) +17045553000

 

Note:

Your AudioCodes gateway should be running at least firmware version 5.40A.013.004 (contact AudioCodes to upgrade your firmware).
Your Mediation server should be configured with the IP address of the AudioCodes gateway as PSTN next hop.
Your Mediation server should be configured with the FQDN of the OCS Pool/Front End as internal next hop.
Your OCS Location Profile should be configured to normalize all numbers to E.164 format (i.e. +1704555XXXX).

 

Now, open a web browser and connect to your AudioCodes gateway. Let’s get to work… :-)

 

 

Configuring Ports and Hunt Groups

The following is a summary of the steps involved in configuring the various port and hunt group options for the AudioCodes MP-114 Media Gateway device:

1. Create Hunt Groups 1 and 2 (for the AudioCodes MP-118, create Hunt Groups 0 and 1)
2. Assign End Point Phone Numbers to analog ports and associate them with with Hunt Groups
    a. Associate the FXS ports to Hunt Group 1
         i. Assign phone number ‘7045551000’ to analog port FXS 1
         ii. Assign phone number ‘7045552000’ to analog port FXS 2
    b. Associate the FXO ports to Hunt Group 2
         i. Assign label ‘SubscriberAccess’ to external port FXO 3
         ii. Assign label ‘AutoAttendant’ to external port FXO 4
3. Configure Automatic Dialing for Inbound PSTN calls
    a. Calls placed to FXO 3 will automatically forward to +17045559998 (UM Subscriber Access)
    b. Calls placed to FXO 4 will automatically forward to +17045559999 (UM AutoAttendant)

 

Step 1 - Create ‘Hunt Groups’

  • Connect and log in to the AudioCodes MP-114 Media Gateway via its web interface
  • From the navigation menu on the left, click on the ‘Configuration’ button
  • From the menu options on the left of the screen, expand ‘Protocol Configuration’ then ‘Hunt/IP Group’
  • Select the ‘Hunt Group Settings’ menu option

clip_image002

  • This menu allows you to configure the various Hunt Groups which will be used for routing telephone calls:

Hunt Group ID 1 – select mode ‘By Dest Phone Number’
Hunt Group ID 2 – select mode ‘Ascending’

  • Click ‘Submit’ to commit changes

 

Step 2 – Configure ‘Endpoint Phone Numbers’

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • Expand ‘Protocol Configuration’ then ‘Endpoint Number’
  • Select the ‘EndPoint Phone Number’ menu option

        clip_image002[4]

  • This menu allows you to configure each of the channels, or analog ports, on the AudioCodes MP-114 Media Gateway:

Channel 1 (port FXS 1) – Assign 10 digit number ‘7045551000’ and associate with Hunt Group ID 1
Channel 2 (port FXS 2) – Assign 10 digit number ‘7045552000’ and associate with Hunt Group ID 1
Channel 3 (port FXO 3) – Assign label ‘SubscriberAccess’ and associate with Hunt Group ID 2
Channel 4 (port FXO 4) – Assign label ‘AutoAttendant’ and associate with Hunt Group ID 2

  • Click ‘Submit’ to commit changes

 

Step 3 - Configure ‘Automatic Dialing’ (Inbound PSTN Calls)

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • Expand ‘Protocol Configuration’ then ‘Endpoint Settings’
  • Select the ‘Automatic Dialing’ menu option

clip_image002[6]

  • This menu allows you to configure automatic dialing for inbound calls placed from external PSTN telephone numbers. Calls received on port FXO 3 will automatically forward to the number assigned to UM Subscriber Access, while calls received on port FXO 4 will automatically forward to the number assigned to the UM Auto Attendant.

Configure Port 3 FXO as +17045559998, the E.164 telephone number of UM Subscriber Access. Choose ‘Enable’.
Configure Port 4 FXO as +17045559999, the E.164 telephone number of UM Auto Attendant. Choose ‘Enable’.

  • Click ‘Submit’ to commit changes

 

 

Configuring Outbound Call Handling (IP -> TEL calls)

The following is a summary of the steps involved in configuring call routing for outbound calls placed from the internal IP-based Unified Communications environment to the analog ports on the AudioCodes gateway:

1. Manipulate dial string before routing
a. Strip ‘+1’ from normalized dial string for calls placed to local numbers
b. Strip ‘+’ from normalized dial string for calls placed to long distance/international numbers
2. Route manipulated dial string
a. Route manipulated dial string matching 7045551000 to Hunt Group 1 (internal call - route to port FXS 1)
b. Route manipulated dial string matching 7045552000 to Hunt Group 1 (internal call - route to port FXS 2)
c. Route all other manipulated dial strings to Hunt Group 2 (external call – route to port FXO 3 / FXO 4)

The success implementation of external routing depends greatly on passing a properly formatted dial string to the Public Switched Telephone Network. If your local calling area supports a number of different dialing prefixes, you may need to define additional number manipulation rules for handling local numbers. To find a list of telephone prefixes which are considered local to you, do the following:

 

Step 1 - Configure ‘Destination Phone Number Manipulation Table for IP -> Tel Calls’ (Outbound Tel Calls)

  • Connect and log in to the AudioCodes MP-114 Media Gateway via its web interface
  • From the navigation menu on the left, click on the ‘Configuration’ button
  • From the menu options on the left of the screen, expand ‘Protocol Configuration’ then ‘Manipulation Tables’
  • Select the ‘Dest Number IP -> Tel’ menu option

clip_image002[8]

  • This menu allows you to manipulate telephone dial strings for calls placed from IP clients (Office Communicator clients or from Unified Messaging) to analog telephony devices. Since both the 704 and 980 area codes are local to Charlotte, NC, we will need at least two manipulation rules to handle calls placed to these prefixes.

Add manipulation rule that strips the first 2 characters off any dial string starting with +1704 sent from any IP address.
Add manipulation rule that strips the first 2 characters off any dial string starting with +1980 sent from any IP address.
Add manipulation rule that strips the first character off any number starting with + sent from any IP address.

  • Create other manipulation rules as necessary
  • Click ‘Submit’ to commit changes

 

Step 2 - Configure ‘IP to Hunt Group Routing’ (Outbound Tel Calls)

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • Expand ‘Protocol Configuration’ then ‘Routing Tables’
  • Select the ‘IP to Trunk Group Routing’ menu option

clip_image002[10]

  • You can define a number of entries here (up to 24) for routing outbound TEL calls from IP clients. Under the option IP to Tel Routing Mode, be sure to choose ‘Route calls after Manipulation’ from the drop-down box.

Add entry for routing manipulated dial strings matching ‘7045551000’ to Hunt Group ID 1 (routes to FXS 1).
Add entry for routing manipulated dial strings matching ‘7045552000’ to Hunt Group ID 1 (routes to FXS 2).
Add entry for routing all other manipulated dial strings to Hunt Group ID 2 (routes to either FXO 3 or FXO 4).

  • Click ‘Submit’ to commit changes

 

 

Configuring Inbound Call Handling (TEL -> IP calls)

The following is a summary of the steps involved in configuring call routing for inbound calls placed from the analog ports on the AudioCodes gateway. The intended recipient of an analog call will be either an IP client (i.e. call placed from FXO 4 to the UM Auto Attendant) or another analog extension (i.e. call placed from port FXS 1 to port FXS2):

1. Manipulate dial string before routing
    a. Prefix dial string ‘1000’ with ‘704555’, resulting in 10 digit dial string ‘7045551000’
    b. Prefix dial string ‘2000’ with ‘704555’, resulting in 10 digit dial string ‘7045552000’
    c. Prefix dial strings ‘300x’ with ‘+1704555’, resulting in E.164 dial string ‘+1704555300x
    d. Prefix dial strings ‘999x’ with ‘+1704555’, resulting in E.164 dial string ‘+1704555999x
2. Route manipulated dial string
    a. Route manipulated dial string matching ‘7045551000’ to IP address 10.1.1.5 (AudioCodes gateway)
    b. Route manipulated dial string matching ‘7045552000’ to IP address 10.1.1.5 (AudioCodes gateway)
    c. Route all other manipulated dial strings to IP address 10.1.1.12 (OCS Mediation Server)

 

Step 1 - Configure ‘Destination Phone Number Manipulation Table for Tel -> IP Calls’ (Inbound IP Calls)

  • Connect and log in to the AudioCodes MP-114 Media Gateway via its web interface
  • From the navigation menu on the left, click on the ‘Configuration’ button
  • From the menu options on the left of the screen, expand ‘Protocol Configuration’ then ‘Manipulation Tables’
  • Select the ‘Dest Number Tel->IP’ menu option

clip_image002[12]

  • This menu controls number manipulation for inbound analog calls placed to IP clients (i.e. UM Auto Attendant or Office Communicator users) or for calls placed from one analog extension to another (i.e., FXS 1 to FXS 2).

Add manipulation rule that prefixes ‘704555’ to dial string matching ‘1000’, resulting in ‘7045551000’
Add manipulation rule that accepts dial string matching ‘7045551000’ as-is, with no manipulation
Add manipulation rule that prefixes ‘704555’ to dial string matching ‘2000’, resulting in ‘7045552000’
Add manipulation rule that accepts dial string matching ‘7045552000’ as-is, with no manipulation
Add manipulation rule that prefixes ‘+1704555’ to dial strings beginning with ‘300’ resulting in ‘+1704555300x
Add manipulation rule that prefixes ‘+1’ to dial strings beginning with ‘704555300’ resulting in ‘+1704555300x
Add manipulation rule that prefixes ‘+1704555’ to dial strings beginning with ‘999’ resulting in ‘+1704555999x
Add manipulation rule that prefixes ‘+1’ to dial strings beginning with ‘704555999’ resulting in ‘+1704555999x

  • Click ‘Submit’ to commit changes

 

Step 2 - Configure ‘Tel to IP Routing’ (Inbound IP Calls)

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • Expand ‘Protocol Configuration’ then ‘Routing Tables’
  • Select the ‘Tel to IP Routing’ menu option

clip_image002[14]

  • You can define a number of entries here (up to 50) for routing inbound TEL calls to IP clients. Under the option Tel to IP Routing Mode, be sure to choose ‘Route calls after Manipulation’ from the drop-down box.

Add entry for routing manipulated dial strings matching ‘7045551000’ to IP address 10.1.1.5 (AudioCodes gateway).
Add entry for routing manipulated dial strings matching ‘7045552000’ to IP address 10.1.1.5 (AudioCodes gateway).
Add entry for routing manipulated dial strings matching ‘704555300x’ to IP address 10.1.1.12 (OCS Mediation server).
Add entry for routing manipulated dial strings matching ‘704555999x’ to IP address 10.1.1.12 (OCS Mediation server).
Add entry for routing all other manipulated dial strings to IP address 10.1.1.5 (AudioCodes gateway).

  • Click ‘Submit’ to commit changes

 

 

Configuring Miscellaneous Options

The following is a summary of the steps involved in configuring other miscellaneous options for the AudioCodes MP-114 Media Gateway. Please keep in mind that the selections for the configuration options shown in this documentation may not apply to regions outside the United States.

 

Step 1 – Configure SIP Protocol options

The Office Communications Server 2007 Mediation Server role and Exchange 2007 Unified Messaging will only respond to SIP protocol requests transmitted over TCP. To verify that the AudioCodes MP-114 Media Gateway is configured to support SIP/TCP, follow these steps:

  • Connect and log in to the AudioCodes MP-114 Media Gateway via its web interface
  • From the navigation menu on the left, click on the ‘Configuration’ button
  • From the menu options on the left of the screen, expand ‘Protocol Configuration’ then ‘Protocol Definition’
  • Select the ‘SIP General Parameters’ menu option

clip_image002[16]

  • Verify that the following options are configured with the following values:

Enable Early Media – Disabled
SIP Transport Type – TCP
SIP UDP Port – 5060
SIP TCP Port – 5060
SIP TLS Port – 5061
Enable SIPS – Disabled
SIP Destination Port – 5060

  • Click ‘Submit’ to commit changes

 

Step 2 – Select a proper ‘Coder’ (media codec)

A VoIP codec is used to encode voice signals into a media stream that can be routed over an IP network. One of the most popular codecs is G.711, which uses two different compression algorithms: PCM µ-Law (used in North America and Japan) and PCM A-Law (used in Europe and everywhere else). The AudioCodes MP-114 Media Gateway, the OCS Mediation server role, and Exchange Unified Messaging all support either of these codecs.

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • Expand ‘Protocol Configuration’ then ‘Protocol Definition’
  • Select the ‘Coders’ menu option

clip_image002[18]

  • For best results with OCS Mediation Server role, choose only one entry from the list of available codecs:

G.711 U-law codec (common choice for North America and Japan)
G.711 A-law codec (common choice for Europe and elsewhere)

  • Click ‘Submit’ to commit changes

 

Step 3 – Configure DTMF and Dialing Options

To enable the correct options for DTMF handling, follow these steps:

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • From the menu options on the left of the screen, switch to FULL display (the default setting is BASIC display)
  • Expand ‘Protocol Configuration’ then ‘Protocol Definition’
  • Select the ‘DTMF & Dialing’ menu option

clip_image002[20]

  • Verify that the following DTMF options are configured with the following values:

Max Digits in Phone Num – 11 (adjust this value for international dialing or if you must dial ‘9’ to place external calls)
Declare RFC 2833 in SDP – Yes
1st Tx DTMF Option – RFC 2833
RFC 2833 Payload Type – 101

  • Click ‘Submit’ to commit changes

 

Step 4 – Enable ‘Caller ID’ (Inbound TEL Calls)

To enable ‘Caller ID’ for inbound analog calls over port FXO 3 or FXO 4, follow these steps:

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • From the menu options on the left of the screen, switch to FULL display (the default setting is BASIC display)
  • Expand ‘Protocol Configuration’ then ‘SIP Advanced Parameters’
  • Select the ‘Supplementary Services’ menu option

clip_image002[22]

  • Verify that the following options are configured with the following values:

Enable Caller ID – Enabled
Caller ID Type – Standard BellCore

  • Click ‘Submit’ to commit changes

 

Step 5 – Configure Additional Options for Inbound TEL Calls

Additional options for inbound TEL calls from analog ports may be set as shown.

  • While connected to the AudioCodes gateway via the web interface, click on the ‘Configuration button’ from the navigation menu
  • Expand ‘Advanced Applications’
  • Select the ‘FXO Settings’ menu option

clip_image002[24]

  • Verify that the following options are configured with the following values:

Dialing Mode – One Stage
Waiting for Dial Tone - No
Time to Wait before Dialing [msec] – 1000
Answer Supervision – No
Rings before Detecting Caller ID – 1
Disconnect Call on Detection of Busy Tone – Enable
Disconnect on Dial Tone – Disable

  • Click ‘Submit’ to commit changes

 

 

Summary

Upon completing the configuration steps contained in this documentation, your AudioCodes MP-114 Media Gateway should route inbound and outbound calls successfully. If after completing these steps you find that you are unable to route calls through your AudioCodes gateway, verify that your UC lab environment is configured correctly.

You can perform the following tests to verify whether you have successfully configured your AudioCodes device. If any of these test scenarios fail, troubleshoot as follows:

  • Enable debug logging on OCS Mediation Server (choose all levels/all tags for MediationServer and S4 components)
  • Enable debug logging on OCS Front End Server (choose all levels/all tags for SIPStack, S4, and ExumRouting components)
  • Enable logging on the AudioCodes Gateway (‘Status & Diagnostics’ button, ‘Message Log’ menu option)
  • Collect network traffic capture from OCS Mediation Server using Microsoft Network Monitor

 

Test Scenarios - Inbound Calls

  • Test - Connect external PSTN line to port FXO 3 and place inbound call
  • Result – Unified Messaging should answer and present caller with Outlook Voice Access feature (Subscriber Access)
  • Test – Connect external PSTN line to port FXO 4 and place inbound call
  • Result – Unified Messaging should answer and present caller with Auto Attendant feature
  • Test – Place call to ‘9998’ or ‘7045559998’ from analog telephone handset connected to port FXS 1
  • Result – Unified Messaging should answer and present caller with Outlook Voice Access feature (Subscriber Access)
  • Test – Place call to ‘9999’ or ‘7045559999’ from analog telephone handset connected to port FXS 2
  • Result – Unified Messaging should answer and present caller with Auto Attendant feature
  • Test – Place call to ‘3000’ or ‘7045553000’ from analog telephone handset connected to port FXS 1
  • Result – Enterprise Voice-enabled OCS User should receive incoming call toast in Office Communicator client

 

Scenarios - Outbound Calls

  • Test – Place call to ‘1000’ or to ‘7045551000’ from analog telephone handset connected to port FXS 2
  • Result – Analog telephone handset connected to port FXS 1 should ring
  • Test – Place call to ‘411’ from analog telephone handset connected to port FXS 1
  • Result – Call should be placed to the PSTN over port FXO 3 or port FXO 4
  • Test – Place call to ‘7045552000’ from Enterprise Voice-enabled OCS User in Office Communicator client
  • Result – Analog telephone handset connected to port FXS 2 should ring