Configuring an IntelePeer SIP Trunk Solution in Lync Server 2010

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.

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.

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.

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.

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.

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 68.68.118.33 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 PlanLength: Exactly, 10Digits to add: +1

Name: 11-Digit Dialing PlanLength: Exactly, 11Digits 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.

Summary

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.

@Craig – Thanks for the kind words. As for using the UCMA 3.0 app, the SDK is designed around integrating as an application supported by Lync. IntelePeer could terminate to a Lync environment that included a trusted UCMA application working as an IVR but I am not a deep developer so trying to create an IVR using the SDK without using Lync would be outside of my realm.

@Tony:Hunt Groups are created and managed in Lync utilizing the Response Group Services (RGS). Because the telephone must be unique, you should never have a duplicate entry under Telephone Number. If you are exposing the Hunt Group externally, this would be your DID (ex. TEL:+14255551001).

I have a few questions. First,we use a Watchguard XTM as our primary firewall and it supports a "sip-alg" proxy. When you initially define the policy, it defines the proxy from internal to external. Is that correct? Are you proxying requests from the Mediation pool to the Intelepeer service?

Second, does the Intelepeer service need to connect to an external IP of the mediation server, in our case it is servers because they are co-located on our front end enterprise pool, or does the Intelepeer service connect through the Edge pool? FYI, our Edge Pool is DNS load balanced.

Brian, great article. One quick question – do you know how to configure UCMA 3.0 to use an IntelePeer SIP trunk without using Lync Server? We'd like to write a simple IVR application (as mentioned in the UCMA 3.0 SDK docs) but there seems to be no code examples of writing and endpoint to use an external SIP PSTN gateway. Your help would be greatly appreciated.

I second to Kelsey: we are missing the SBC from this deployment. I find it very "brave" to just simply allow the telco into our network without any security device sitting between the telco network and our own corporate network.

Very helpful article, how to configure ntelePeer SIP Trunk is always see me very tough for me but after having this article it became very easy & understanding for me. Thanks for sharing it. <a href= "http://www.itel.ca"&gt; sip trunking toronto </a>