You can implement Microsoft Lync Server 2010 Enterprise Voice functionality that utilizes multiple IntelePeer Session Initiation Protocol (SIP) trunks. Using a listed partner solution on the Microsoft Unified Communications Open Interoperability Program (UCOIP)helps ensure that the solution is tested and is compatible with Lync Server 2010, enabling you to implement the solution with confidence.
Author: Brian R. Ricks
Publication date: April 2011
Product version: Microsoft Lync Server 2010
In this article I examine the implementation steps required to connect Microsoft Lync Server 2010 to an IntelePeer Direct Session Initiation Protocol (SIP) trunk - an evolution from Office Communications Server 2007 R2. The cost and complexity of integrating voice using Direct SIP varies, depending on your phone provider; however, a SIP trunk is a simple and cost-effective solution. The SIP trunk configuration is simple with IntelePeer and depending on your firewall provides an opportunity to connect the SIP trunk without a Session Border Controller (SBC).
Properly setting up an IntelePeer SIP trunk with Lync Server 2010 involves the following tasks:
1. Order the SIP trunk from IntelePeer via the Web.
2. Configure the external firewall to allow communication between IntelePeer and your Lync Server with the Mediation Server role.
3. Modify and publish your Lync topology.
4. Create a route in the Lync Server Control Panel.
5. Create a dial plan to route outbound calls to your SIP trunks.
6. Configure users for Enterprise Voice.
Ordering the SIP Trunk from IntelePeer
Supported SIP trunk providers are found on the Microsoft Unified Communications Open Interoperability Program (UCOIP) website. IntelePeer is a SIP provider listed on UCOIP. This means that IntelePeer has certified their solution with Microsoft. When ordering the SIP trunk, you must specify is that the trunk is for Lync Server 2010. IntelePeer offers all new accounts with a 30-day no obligation free trial.
There are two IntelePeer trunk offerings-per minute and unlimited. The per-minute option is billed at $.025 per minute for all inbound and outbound traffic. In this configuration, there is no limit to the number of concurrent calls and/or concurrent channels, your charges are simply billed based off of utilization. The unlimited plan bills at $18 per month per channel; this option includes unlimited inbound calls with outbound calls billed at $0.025 per minute.
There are two ways to start the IntelePeer provisioning process. From the Microsoft UCOIP website go to IntelePeeror go directly to the IntelePeer website at http://www.intelepeer.com/MicrosoftPartner. Both links direct you to the same location where you'll find basic information about IntelePeer. You can also call pre-sales directly at (877) 336-9171 or e-mail them at SIP@intelepeer.com. Once an initial IntelePeer account has been created, additions and customizations to the trunks may be made at https://customer.intelepeer.com/ creating a streamlined maintenance and upkeep solution.
Configure the External Firewall to Allow Communication between IntelePeer and Your Lync Mediation Server
The settings configured on your firewall are unique to your firewall. Table 1 shows an example of the port and protocol configurations required to connect your firewall to IntelePeer - the exact IPs will be provided by IntelePeer. Use the information in Table 1 to create multiple firewall rules. These rules allow inbound traffic from the IntelePeer IP addresses to communicate with the gateway listening IP address of your Mediation Server. The gateway listening IP address is configured as shown in Figure 5 later in this article. Because IntelePeer uses redundant data centers across the United States for their Lync Server 2010 SIP trunk solution, there are multiple-source IP addresses (currently four with additional GSX environments on their way). If your firewall restricts outbound communications as well, you need to allow the traffic to be two-way.
Note: The rules in the firewall apply to the external IP address assigned to the Pool Server or to the Lync Server Mediation Server network interface card (NIC). Depending on the configuration of your design, this may be a dedicated NIC or a shared NIC. Your firewall must support source network address translation (SNAT) and SIP proxy to perform network address translation of the external IP address of your Lync Server. The SIP proxy functionality rewrites the Session Description Protocol (SDP) packet allowing you to utilize a private IP on the Lync Server.
Table 1. Example Inbound/outbound communication for a SIP trunk to IntelePeer's GSX environment
Inbound Traffic Type to Mediation Server
IntelePeer IP Address
Modify and Publish your Lync Topology
Topology Builder is a new Lync Server 2010 tool that manages the components within your environment. A single Lync Mediation Server can communicate with multiple PSTN gateways (in this case the IntelePeer SIP trunks). By combining multiple Lync Mediation Servers with multiple IntelePeer SIP trunks, a redundant solution can be built for minimal cost. For illustration purposes the example below shows a single gateway and route configuration.
1. To open Topology Builder, click Start, click All Programs, click Microsoft Lync Server 2010, and then click Lync Server Topology Builder.
Note: When configuring a Lync Pool, co-locating the Mediation Server is now an option (a change from Office Communications Server 2007 R2). However, when using an Internet SIP trunk, this configuration is not supported in production.
2. Expand Mediation pools and select the Standard or Enterprise pool. Right-click the pool and select Edit Properties.
Figure 1. Single gateway configuration
1. Enable TCP by checking the Enable TCP port box, and then modify the Listening ports valuefrom 5068 to 5060. By default, IntelePeer sends SIP communication over TCP/5060. Some firewalls, such as the Cisco ASA, require the SIP communication to be sent over TCP/5060 or UDP/5060, in order to utilize the integrated SBC functionality. This value enables the Mediation Server to open a listening port on the all interfaces on the Mediation Server (by default).
2. On the Mediation Server PTSN gateway page, the PSTN gateways may be created as well. To display the Define New IP/PSTN Gateway dialog box, click New.
Figure 2. Change the listening ports and enter the FQDN
3. Enter the Gateway FQDN or IP Addressprovided by IntelePeer, select TCP, and then enter 5060 as the Listening port - in this example 188.8.131.52 and 5060 was entered. Click OK to save the configuration. Click OK again to close the Mediation pool properties.
Note: A new PSTN gateway with the FQDN or IP Address entered in the previous step will automatically be displayed under PSTN gateways.
4. After completing the addition of the configuration changes, the topology must be published. Select Lync Server 2010, right-click, and select Publish topology.
5. In the Publish Topology dialog box, click Next. After publishing is complete, review the status provided, and then click Finish to complete the process.
Figure 3. Publish the topology
6. Close Lync Topology Builder.
Create a Route in the Lync Server Control Panel
After the topology is updated, define a route in the Lync Server Control Panel. This article covers only the implementation of a SIP trunk into a working Lync Server 2010 environment, meaning that Lync Server 2010 is functioning internally and externally with the exception of Enterprise Voice.
1. Launch the Lync Server Control Panel on the server or from Internet Explorer at https://<poolnameFQDN>/cscp (ex. https://lyncpool.contoso.com/cscp).
2. Click on Voice Routing, and then click Route.
3. By default, a route named LocalRoute is listed. Select the route, click Edit, and then click Delete.
4. Click New to create a new route.
Figure 4. Create a route
5. Enter a name in the route, such as Internet SIP Trunk, and an optional description. Scroll down to Build a Pattern to Match, and notice the default is set to '*.' - or all calls.
6. The associated gateways list defines which PSTN gateways are defined in the Lync Server Topology Builder. Click Add to display the list.
Figure 5. Select the gateway
7. Select the previous defined gateway, and click OK.
8. Under Associated PSTN Usages, click Select to open the Select PSTN Usage Record dialog box.
9. Select Long Distance from the list, and click OK.
10. Click OK to complete the creation of the new route.
11. To finalize the changes, click Commit, and click Commit All.
Figure 6. Commit the gateway configuration
12. Click Commit at the Uncommitted Voice Configuration Settings followed by clicking Close.
Create a Dial Plan to Route Outbound Calls to Your SIP Trunk
In a pure Internet SIP trunk configuration, creation of a dial plan to IntelePeer is simple and straightforward. All calls routed through the trunk must be in the E.164 format. Formatting is automated by the Normalization rules found in the Dial Plans. You may change or create additional Dial Plans, and normalize those rules to match your environment.
1. Click Dial Plan to display the current dial plans in the environment. Double-click the Global dial plan to open the dial plan properties.
Figure 7. Edit the dial plan
2. Scroll down to the Associated Normalization Rules. The Prefix All rule, which adds a '+' to all 11-digit numbers, is present by default. It must be removed to create three new rules. Select Prefix All, and click Remove.
3. Click New to open the New Normalization Rule window.
Figure 8. Create a new normalization rule
4. Enter a name in the rule, such as 7-Digit Dialing, and an optional description. Scroll down to Length, select Exactly from the drop-down box, and then enter 7 in the Value box.
5. In Digits to add, enter the local area code with a +1 (ex. +1425)
Figure 9. Create the rule properties
6. Click OK to complete the creation of the normalization rule. The new rule is now listed in the rules list. Repeat the process to create two additional rules labeled 10-Digit Dialing and 11-Digit Dialing with the following properties:
Name: 10-Digit Dialing Plan
Length: Exactly, 10
Digits to add: +1
Name: 11-Digit Dialing Plan
Length: Exactly, 11
Digits to add: +
Figure 10. Complete the dial plan
7. After the required normalization rules are created, click OK to complete the Dial Plan. Click Commit, and then select Commit All to save the normalization rules. Click Commit again, and then click Close to complete the changes.
Figure 11. Update the global policy
8. Click Voice Policy to update the Global policy.
9. Double-click Global to open the Edit Voice Policy - Global window.
10. Scroll down to Associated PSTN Usages, and click Select.
11. Select Long Distance from the Select PSTN Usage Record dialog box, and then click OK.
Figure 12. Configure the PSTN Usage Record
Note: Notice the Long Distance PSTN usage record is associated with the newly created Internet SIP trunk route - the glue that ties the route to the policy.
12. Click OK to close Voice Policy, click Commit, and then click Commit All to open the Uncommitted Voice Configuration Settings dialog box.
13. Click Commit, and then click Close to complete the changes.
Figure 13. Validate the configuration
14. When configuration is complete, validation is performed using the Lync Server Control Panel. At the top of the current window, select the down arrow to display the test case.
15. In the Dialed number box, enter 7, 10, or 11 digits, and then verify the normalization rule works as expected. The Results dialog box will indicate which Normalized Rule, Normalized number, First PSTN usage, and First route will be used when presented with the test number.
Note: All numbers (local or long distance) will use the 'Long Distance' PSTN Usage in this current setup. PSTN usages are used to add calling restrictions and are not used in this example configuration.
Figure 14. Confirm the normalization rule results
Enable Users for Enterprise Voice
The final configuration step requires that users are enabled and configured with a unique Line URI. The Direct Inward Dialing (DID) numbers, provided by the SIP trunk provider, must be directly associated with the user accounts' Line URI Enterprise Voice properties within Lync Server Control Panel. Inbound communications are received in the E.164 format, so inbound call manipulation does not occur. When inbound calls are received, an automatic phone number lookup, based on the line URI of the user account is performed. If there is a match, the Mediation Server routes the call appropriately.
1. Click Users in the Lync Server Control Panel to change to the Users configuration.
2. The User Search window is blank until a query is made and results found. By clicking Find without any input, all enabled users are returned in the query.
Figure 15. Enable and configure individual users
3. Double-click a user to edit the properties of the user.
4. Select the Telephony drop-down box and pick Enterprise Voice.
5. In the Line URI field, type the DID that you want to use in the E.164 format. This format starts with a plus sign (+) followed by the country code, area code, and phone number as shown in Figure 7. An example of a valid line URI would be tel:+14255550194.
Figure 16. Commit the configuration
6. Click Commit to complete the changes.
7. Wait for domain replication to occur. After the object properties replicate through Active Directory Domain Services, the system is ready for inbound and outbound test calls.
Configuring Lync Server 2010 to work with IntelePeer for PSTN calls is a straightforward process. Use these step-by-step instructions to guide you through the process.
To learn more, check out the following articles:
- Microsoft Unified Communications Open Interoperability Program
- IntelePeer Home Page
- IntelePeer Lync Web Page
- IntelePeer Customer Portal
- RFC3962 Specification
- Configuring an IntelePeer SIP Trunk in Office Communications Server 2007 R2
Lync Server Resources
- Lync Server 2010 documentation in the TechNet Library
- NextHop blog
- Lync Server and Communications Server resources