I came across a couple of questions this week that I think most people might already know but its worth going over.How does Lync use gateways placed in a Route, Routes placed in a PSTN Usage and PSTN Usages placed in a Voice Policy to allow the correct alternate routing order? When I first started writing this post I thought it was going to be pretty simple but I soon realized without an example readers would soon get lost. So I spent way more time writing this than intended but hopefully it works.
Below is a pretty simple example of one site with multiple possible routes. Of course how you route calls will be very dependent on toll charges from your provider and how many alternate routes you have available to your organization. For instance your final route in your organization might be a provider that is different than you normal provider to offer more resiliency but you do not want to rely on for normal business because they are more expensive. Or as I have depicted below my final route is also a different location to offer more geographic redundancy as well as provider redundancy. The variations on requirements almost always relates to cost and resiliency but for this exercise I am using locations as a way to describe dial plan configuration and behavior not necessarily a best practice to avoid cost or reliance.
So I am going create my dial plan based on the example diagram above and talk about how the order is related to routing. What order you build the pieces in really isn't important here but more the relationship they share in alternate routing. The first column is our Voice Policy and in this case Seattle Local Access is how I want to allow my Seattle users to dial out to the PSTN for local calls. It also restricts those users that have this Policy to local calls only and in our example as you will see later only +1425 numbers. So I am being very restrictive for the sake of the example.
As you can see in my Voice Policy below I have my three PSTN Usages selected in the order I want them to be utilized. I have built a very extreme example here considering that I am only allowing access to one very small subset of numbers with more than two routes but as I said earlier this is really to make my point. So I have now made three Usages available and controlled the order they are accessed but what about SeattleBackUp which has two routes in the one PSTN Usage. How do I control the order with which those Routes are accessed to control my call flow?
When I take a look at my PSTN Usage it only shows us what Usages are configured and what Routes are available. There is no way to change the order of routes within the Usage from here.
The last mile so to speak. The Routes tab offers us the ability to change the order of access to the Routes which in affect changes the order of the routes within our PSTN usage. So in my example as I move through the different PSTN Usages and Routes I can see my SeattleBackUp Usage requires a particular order. In this case I use the order in the Routes tab to determine this. This can be difficult to get correct especially if you have Usage records that require clashing route orders. A better way to have more ordered routing is using more granular PSTN Usage records and relying less on the order of the routes within them.
As for gateways most of us are well aware that when you place multiple gateways in a Route, as shown below, that they are accessed via round robin. Placing them in a particular order has no effect.
Hopefully this was useful.
Did you spot the mistake in my configuration? My final route has only a wildcard entry so basically if all my other gateways became unavailable and calls started hitting the final route I could basically call any number out of my final route making my policy to only restrict to local numbers null and void. The chances of hitting that final gateway you would hope are slim but it’s a unintentional mistake I left in to see if anyone would notice.