In the blog post about Lync Enterprise Voice ; Dial Plans and normalization we started to discuss about dial plans, how to use them and what normalization does in all this. Today we going to extend all the fun with covering Polices, routes and PSTN usage. First we dig in the topics and later we continue on the example we used in the other post.
Voice Policy
To plan the voice policies you will need for your Enterprise Voice deployment:
- Determine how you will configure your default Global voice policy. This policy will apply to all Enterprise Voice users who are not explicitly assigned a site-level or per-user policy.
- Identify any site-level voice policies you might need.
- Identify any per-user voice policies you might need.
- Decide which call features to enable for each voice policy.
- Determine what PSTN usage records to configure for each voice policy.
Voice policy scope determines the hierarchical level at which the policy can be applied. In Lync Server 2010, you can configure voice policies with the following scope levels (listed from the most specific to the most general).
- User voice policy can be assigned to individual users, groups, or contact objects. This is the lowest level policy. User voice policies can be deployed to enable features for certain users or groups at a site, but not for others in the same site. For example, you may want to disable long distance dialing for some employees. For the purpose of assigning a voice policy, a Contact object is treated as an individual user.
Note: We recommend that for branch site Enterprise Voice users who are registered with the central site deployment or users who are registered on a Survivable Branch Appliance you deploy a user voice policy.
- Site voice policy applies to an entire site, except for any users, groups, or contact objects that are assigned a User voice policy. To define a Site voice policy, you must specify the site to which the policy applies. If a User voice policy is not assigned, the Site voice policy is used.
- Global voice policy is the default voice policy that is installed with the product. You can edit the Global voice policy to meet the specific needs of your organization, but you cannot rename or delete it. This voice policy applies to all Enterprise Voice users, groups, and contact objects in your deployment unless you configure and assign a voice policy with more specific scope. If you want to disable this policy entirely, ensure that all sites and users have custom policies assigned to them.
Call Features
You can enable or disable the following call features for each voice policy:
- Call forwarding enables users to forward calls to other phones and client devices. Enabled by default.
- Delegation enables users to specify other users to send and receive calls on their behalf. Enabled by default.
- Call transfer enables users to transfer calls to other users. Enabled by default.
- Call park enables users to park calls and then pick up the call from a different phone or client. Disabled by default.
- Simultaneous ringing enables incoming calls to ring on an additional phone (for example, a mobile phone) or other endpoint devices. Enabled by default.
- Team call enables users on a defined team to answer calls for other members of the team. Enabled by default.
- PSTN reroute enables calls made by users who are assigned this policy to other enterprise users to be rerouted on the public switched telephone network (PSTN) if the WAN is congested or unavailable. Enabled by default.
- Bandwidth policy override enables administrators to override call admission control policy decisions for a particular user. Disabled by default.
- Malicious call tracing enables users to report malicious calls by using the Microsoft Lync 2010 client, and then flags such calls in the call detail records. Disabled by default.
Each voice policy should have one or more associated PSTN usage records.
PSTN Usage
What is PSTN Usage record? PSTN usage records consists mainly of listing all the call permissions that are currently in force in your organization. For example you specify here what are local calls, long distance calls or international calls etc.
PSTN usage records do not do anything. For them to work, you must associate them with the following:
- Voice policies, which are assigned to users. we just covered that part above
- Routes, which are assigned to phone numbers. Voice routes we will discuss now.
Voice Routes
Call routes specify how Lync handles outbound calls placed by Enterprise Voice users. When a user dials a number, the Front End Server normalizes the dial string to E.164 format, if necessary, and attempts to match it to a SIP URI. If the server cannot make the match, it applies outgoing call routing logic based on the number. The final step in defining that logic is creating a separate named call route for each set of destination phone numbers that are listed in each dial plan.
Before you define outbound call routes, you should complete the following steps:
- Deploy one or more PSTN gateways or SIP trunking connections and Lync Server 2010 Mediation Servers.
- Create dial plans as needed for sites, individuals, and Contact objects.
- Create public switched telephone network (PSTN) usage records.
To enable outbound call routing, you must create and assign one or more voice policies. This task can be done either before or after you define outbound call routes.
For each route, you must specify:
- A name by which it can be readily identified.
- An optional description in cases where the name alone may not be sufficient to describe the route.
- The regular expression matching pattern that identifies the destination phone numbers to which the route is applied, along with exceptions to which the matching pattern is not to be applied
- The FQDN of one or more the gateways that you want to assign to the route.
- The PSTN usage records that users must have in order to call numbers matching the destination phone number regular expression.
You can specify call routes in the Microsoft Lync Server 2010 Control Panel. These call routes populate the server routing table, which Lync Server uses to route calls that are destined for the PSTN.
So lets use the scenario from the other post and continue building our Lync Voice:
Lync Pool located in HQ Office in the Netherlands.Branch Office in UK and France. They have sip trunk from a provider in the UK capable for Lync. We have PSTN Gateway in Netherlands and no phone line in France.
We already created dial plans for the locations and now we going to create Voice Policies and PSTN usage records.
My Site Voice policy I defined is as followed:
I also created user policies for NL and UK users :
The routes I defined are as followed. For this purpose I also created a restricted policy which is for NL Users to deny dial pay phones (0900) and internationals calls. In these policy i assigned for each country the gateway assaciated with it.:
The Voice policy looks as follow for the restricted users:
When we run a test call for those users what actually happens is that those users don’t get a route assigned to route the call, according this policy the same happens for international calls as they are only allowed to dial +31 numbers (see voice policy):
When run this number for NL Allow All users it looks as follow:
The PSTN usage are named according the routes they have associated to it. This i did for me to easily utilizes the voice policies according PSTN usage:
Oh and the french users were not skipped in my scenario, they just got the site voice policy assigned to their user accounts. It is the Automatic policy assigned to hem:
How to name the voice policies, routes and PSTN usage?
Naming convention in Lync Voice routing is always a personal opinion. If I need to advise on Voice Policy and Routes I advise the following:
Voice Policies are Policies assigned to sites (so already have a name) or to users. User Voice policies for me are Geographical and feature wise build. Examples:
- NL Restricted – CF|DL|CT|CP|SR|TC|PR|BO|MT
- NL Only +31 +44 +39 – CF|DL|CT|SR|TC
When feature is stated in the voice policy name means to me the feature is enabled. If you want to do vise versa just mark in the name is as “no”
- NL Only +31 +44 +39 – no CP|TC|PR|BO|MT
Codes referring to features as followed:
CF | Enable Call forwarding |
DL | Enable Delegation |
CT | Enable Call Transfer |
CP | Enable Call Park |
SR | Enable Simultaneous ringing of phones |
TC | Enable Team call |
PR | Enable PSTN Reroute |
BO | Enable bandwidth policy override |
MT | Enable Malicious call tracing |
For routes I advise to create PSTN outbound logical routes.Examples:
- Outbound UK
- Has pattern to match ^+44
- Outbound NL
- Has pattern to match ^+31
- Outbound ES
- Has pattern to match ^+34
And when we need to created restricted like I had in my example for NL not allowing to dial 0900 numbers:
- Outbound NL no 0900 ^+31(?!(90))
In my example I name all PSTN usage same as the routes because for me they are referring to the same thing. I created routing policies with them. With these naming convention it allows me to easily deploy enterprise voice within multiple countries easily. I hope this was some usefull information to help understanding Enterprise Voice in Lync.