Visual Tour of Cisco CallManager 3.2 -- Part 3
This month we continue our visual tour of Cisco Call Manager, version 3.2. Version 3.3 is now available, but this is what was available to me when I took the screen shots. For consistency, we'll stick with Call Manager 3.2.
This month we'll talk about things to do with dialed numbers and alternative ways of placing calls: partitions, calling search spaces, route patterns, route groups, route lists, and so on. Even if you're not a user or prospective user of Cisco CallManager, this might open your eyes to some of what's going on in your organization's voice shop. I know it did for me!
Previous articles and a full set of screen captures can be found at the following links:
Remember, the overall objective here is a quick tour of Cisco Call Manager 3.2, the idea being to give you some idea of how to drive Call Manager.
The sections in this document:
Partitions and Calling Search Spaces
This set of features is sometimes known as "Class of Service" in the voice world. Some organizations divide the phones up, and different people or phones have different calling privileges. For example, the lobby phone in most organizations is usually set up to not allow long distance or international phone calls.
Configuring this starts with Partitions. A partition is just a name tied to some route patterns representing things you can dial. For example, Emergency might be a partition associated with the route pattern 911. To create a partition in CallManager, start at Route Plan -> Partition
from the CM menus. This brings up a Find and List screen, shown in the next figure.
By the way, I'm going to show the first couple such Find and List screens as we go, then stop showing them, since they add little to any value this article might have. They are pretty simple to use, and do get a bit repetitious. There's one for almost every entry in the Roue Plan menu, and if you're puzzled, you get to the later screens shown in this article by clicking on a link in the relevant Find and List screen.
If you're confused, the way to think about this is, a Partition is just a name. You can associate one or several Route Patterns (below) with a partition. Those Route Patterns as the numbers someone can dial if they are allowed access to the partition.
Below, the screen capture shows the screen for adding a new Route Partition. Note that you're just entering one or more names and descriptions.
We'll see below how we set up a Route Pattern and associate it with a Partition.
Phones are tied to Calling Search Spaces, which are just lists of partitions. The analogy commonly used here is to pretend that you can only dial numbers that are in set of phone books for the phone you're using. The individual phone books are the Partitions. A Calling Search space is just the set of phone books (numbers you can dial) from a phone.
So after we create some Partitions, we group them into various Calling Search Spaces. The following is the Find and List screen for Calling Search Spaces.
Click on Add a New Calling Search Space and you get to the next screen. In it, you name the Calling Search Space, and then indicate to CallManager which previously-created Partitions belong to that Calling Search Space. You do this by clicking on entries in the top half, clicking on an arrow, and moving them to be in the bottom part of the window, the Selected Partitions.
If you're new to voice, this all may seem a bit weird or indirect. Here's the concrete example that helped me. Imagine having Partitions named E911, Local, in-country Long Distance, International. Suppose each such partition lets you make calls matching the name (emergency 911 calls, local phone calls, etc.). Then you might create Calling Search Spaces with partitions selected as follows:
- LocalOnly: E911 + Local
- NationalCalling: E911 + Local + Long Distance
- InternationalCalling: E911 + Local + Long Distance + International
Another use is if the CallManager is for a building with many businesses (tenants) in it. You might then have Calling Search Spaces as follows:
- CompanyASearch: E911 + Local + Long Distance + International + CompanyAExtensions
- CompanyBSearch: E911 + Local + Long Distance + International + CompanyBExtensions
The point being that people in CompanyA shouldn't be able to call CompanyB extensions directly, to make it look more like each has their own PBX.
You may actually need fancier partioning than this: you may have different locations using the same CallManager, so you might want to use Partition names like NYLocal, NJLocal, CTLocal, NY911, etc. -- ones where the location is part of the name. Since what's local or what's the right emergency number might vary by location. Anyway, I hope you get the idea.
Route Patterns are wildcarded patterns for numbers you dial. The route patterns tell CallManager where to route the call to: what device to send your call to, based on what you dialed. CallManager does longest (closest) prefix matching on Route Patterns. That is, the most specific pattern that matches is used.
Below is a capture of a rather basic set of Call Patterns from a test lab. The Find and List screen shows what you've configured. By clicking on the Route Pattern, you can change its configuration. Note the Add a New Route Pattern link in the upper right corner as well.
Suppose you click on the 6XXX pattern. Note that "X" is a wildcard, so this represents what to do for calls to numbers 6000-6999. Clicking on the pattern takes you to the next screen, the Route Pattern Configuration screen. The top shows the selected Route Pattern, 6XXX.
In this Route Pattern Configuration screen, you can pick a Partition to associate the pattern with, from the list of Partitions you previously configured. Normally in the U.S. you'll stick with the North American Numbering Plan (NANP), which specifies area codes and 10 digit numbers.
Route filters are a bit more advanced, they allow you to include or exclude certain numbers or patterns from your route pattern. The Gateway is the VoIP gateway to route the call to. This might be another CallManager or it might be an H.323 gateway to the PSTN (Public Switched Telephone Network). Note that you can instead tie the Route Pattern to a Route List. We'll talk about Route Lists below. Think "alternatives"!
Transformations allow you to alter the string of digits. For instance, you may use somebody's 5-digit extension for on-net calls. But if the network is down (that never happens, does it), then you might need a full NANP area code + 7 digits number. If you just send the 5 digits to the phone company, their equipment is not going to be able to place the call. You can transform both the Called Party (number dialed) and the Calling Party (your number). For instance, many PBX's are set up so that outgoing calls appear to be from the main line. That way, when you return the call, you get the building receptionist.
I'm not sure I get this particular use of transforms. I personally find this annoying, since my cell phone shows caller ID for missed calls. If I call back, I don't have a clue whom to ask the receptionist for, if the person didn't leave me voice mail. But in many organizations, this is how they want to have their PBX set up. So it's good to know CallManager supports this.
A better use of Calling Party transformation: convert internal extension to 10 digit number on external calls, so that people can in fact call you back.
You can also set up Translation Patterns. These, like transformations, alter Calling and Called Party numbers. Numbers matching a pattern (and perhaps a Route Filter) get transformed. They are then matched against the list of Route Patterns. The difference between a Translation Pattern and a Route Pattern is that the Route Pattern causes a CallManager connection to another gateway, with forwarded digits. The Translation Pattern just alters the dialed digits internally to the CallManager, whereupon another match against a Translation Pattern or Route Pattern is needed. Caution: do be sure to avoid infinite loops, whereby Translation Patterns just keep altering a dialed string over and over.
Since we're not delving into details (like what wildcards do for Calling Patterns, and what the transform mask does), let's move on.
The next thing you might want to configure is a Route Group. A Route Group is a bunch of devices (gateways) that are considered equivalent for calling purposes. For instance, if you have 3 local voice gateways to the PSTN, they might make a good Route Group. If you have 2 gateways in California, that might make another Route Group.
The next two screen captures show creating a new Route Group. You name it, then you specify the gateways that belong to it.
The next figure shows screen 2 for Route Group creation. You specify the devices (gateways) in the Route Group, and in what order they should be tried. If one is unavailable, the next gateway in order is tried.
This is perhaps a bit different than what's traditional in a PBX. There the Route Groups contain trunk lines or groups of DS0's.
A Route List is a sequenced list of Route Groups. I think of Route Groups as equivalent ways to place a call, whereas the Route List is for where you have a definite priority in mind, such as try calling on-net but if the network is down, the second choice is to make a local or even long distance call through the PSTN. This is in line with the way traditional PBX cost-aware call routing works.
The following screen shows creation of a new Route List in CallManager. I don't seem to have a capture of the screen where you specify the Route Groups that make up the Route List.
External Route Plan Wizard
To simplify creating a major Call Route Plan, CallManager provides the External Route Plan Wizard. This literally walks you through a series of questions and sets up a Call Plan that handles your local, long distance, and other internal and external calls. The following figure shows the first screen for the External Route Plan Wizard.
The next screen capture shows the 2nd screen of the External Route Plan Wizard. I do not have screen captures of all the steps, there are a lot of them!
Route Plan Report
The Route Plan Report shows what you've done. This is good for making sure you don't have duplicate or overlapping dial prefixes.
Where Are We?
At this point, we've seen how to do basic Call Manager setup and configuration (the first article). We've also seen more details of how you tell Call Manager about the various devices it controls (the secondarticle). This article discussed configuring the dialing and call routing plan.
Remaining major topics we have yet to tour:
- Media Resources: how we tell Call Manager about DSP Farms and other resources. This is similar enough to telling CallManager about gateways that I may or may not write about it.
- Services: how we control the services Call Manager provides. This could get complicated quickly!
- Features: how we set up Call Park, Meet-Me conference call numbers, etc.
- Serviceability: how we get more information, to troubleshoot Call Manager
We'll see about another article with CallManager screen captures. I certainly have lots of screen captures. My concern is whether there's enough stuff left to make a good article. The features left are certainly interesting, but they could be a bit technical for an overview.
Don't miss the chance to sign up for our monthly email newsletter. Please visit our web page and register, so we can notify you by email when new articles are posted. See our web page for details, http://www.netcraftsmen.net
. The registration form should be available soon after this article is posted to our web site.
For good links to read about Call Manager, see the first article
For Cisco documentation relating to dial plans, route lists, and so on, see the following links:
By the way, we at Chesapeake Netcraftsmen, should be Cisco IP Telephony (Revised) Specialists by the time you read this. We have completed all the tests (and then some) and ordered the demo/test gear. We've been doing VoIP and IP Telephony (IPT) for quite some time now, but we're now officially recognized for our knowledge. And looking forward to helping you with your VoIP and IPT projects! I'm actually the junior person on this, our Bruce Enders has been teaching and using CallManager since early version 2 days.
Copyright (C) 2003, Peter J. Welcher