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 http://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
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:
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’
Hunt Group ID 1 – select mode ‘By Dest Phone Number’ Hunt Group ID 2 – select mode ‘Ascending’
Step 2 – Configure ‘Endpoint Phone Numbers’
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
Step 3 - Configure ‘Automatic Dialing’ (Inbound PSTN Calls)
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’.
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)
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.
Step 2 - Configure ‘IP to Hunt Group Routing’ (Outbound Tel Calls)
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).
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)
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’
Step 2 - Configure ‘Tel to IP Routing’ (Inbound IP Calls)
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).
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:
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
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.
G.711 U-law codec (common choice for North America and Japan) G.711 A-law codec (common choice for Europe and elsewhere)
Step 3 – Configure DTMF and Dialing Options
To enable the correct options for DTMF handling, follow these steps:
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
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:
Enable Caller ID – Enabled Caller ID Type – Standard BellCore
Step 5 – Configure Additional Options for Inbound TEL Calls
Additional options for inbound TEL calls from analog ports may be set as shown.
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
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:
Test Scenarios - Inbound Calls
Scenarios - Outbound Calls
Great Blog.Would you be able to send me the Firmware for the Audiocodes MP-112? I can only find the MP-118 software when I download the 11x zip from the FTP.Thanks in advance - matt.mcauley@gmail.com