From the Book

Now that you have created a basic dial plan, it is time to build on that and create a more complete dial plan. Often you want to allow and disallow access to certain destinations. For example, you might want only a certain group of callers to dial international numbers. This is done by creating a telephony class of service (CoS). In addition, if there are calls traversing limited-bandwidth links, some type of Call Admission Control (CAC) should be deployed to help ensure voice quality. This chapter examines the various concepts associated with CoS and CAC and describes how to configure the required components for each.

Rights and Restrictions

After the dial plan is created and users can place calls to destinations outside the cluster, you might think that you are all set and can sit back and relax. Not quite. After the system is configured to enable calls to be placed outside of the system, you need to start working on how to prevent certain calls from being placed. This chapter touches on how you can use route patterns to block certain destinations, and now you need to move beyond that and discuss how certain destinations can be reachable by some devices, but not by others. To accomplish this, you need to configure Calling Search Spaces (CSS) and partitions. The following sections explain what these are and how they work.

Understanding Call Search Spaces and Partitions

Of all the concepts within a Communications Manager environment, it is believed that the CSS and partitions cause the most confusion. This is rather odd because they are not complex. Simply put, the partition assigned to the destination affects what devices can reach it, and the CSS determines which destinations can be reached. Locks and key rings are good analogies. Think of the partition as a lock and the CSS as the key ring. To place a call to a destination, you must have a key that matches the device's lock. The key ring contains all the keys and therefore determines which destinations you can reach.

Of course, there is more to it than just locks and keys, but by using this analogy, you begin to understand how they work. You take a closer look at this analogy. Figure 5-1 shows five phones. The first four phones have partitions (locks). It is important to point out that the partitions (locks) are not assigned to devices, but rather to patterns and directory numbers (DN). For this example, assume that each phone has only a single line and that the partition (lock) is assigned to that line. Below each phone is a CSS (key ring) that shows to which partitions (locks) the phone has access. CSS (key rings) can be assigned to the device or the line. In this example, assume that they are assigned to the device.

The locks in this figure have different-shaped keyholes, which means that to open a lock, you must have a key ring that has the correct-shape key. Keeping in mind that the locks represent partitions and that the key rings represent CSS, answer the following questions:

What phones can phone A reach?

What phones can phone D reach?

What phone can reach all other phones?

What phones can reach phone E?

What phones can phone E reach?

The answers to these questions are as follows:

Q. What phones can phone A reach?

A. To determine what phones phone A can reach, you need to look at its CSS (key ring). Phone A has a circular key and a square key on its key ring, which means that it can call itself and phone B. However, because phone E has no lock (partition) assigned to it, any phone can reach it, just as a door with no lock can be opened by anyone.

Q. What phones can phone D reach?

A. Because phone D has only a square key, it can dial phone A and, of course, phone E because it has no lock (partition).

Q. What phone can reach all other phones?

A. Because phone B has a key ring (CSS) that contains all the keys, it can reach all the devices.

Q. What phones can reach phone E?

A. Because phone E has no lock (partition), all phones can reach it.

Q. What phones can phone E reach?

A. Because phone E has no keys, it can only reach devices that have no locks. In this example, phone E can only dial itself.

Figure 5-1, along with these questions and answers, should help you begin to understand how partitions and CSS work. Of course, as with any simple concept, it has the potential to become more complicated as the number of CSS and partitions grows. This is where some people begin to become confused, because of an inaccurate base understanding of the concepts. Now look at some of the more interesting aspects of CSS and partitions.

The first misconception that should be dispelled is this: If two devices have the same partition, they can call each other. Having the same partition alone is not enough. Going back to the lock and key ring analogy, if two people have the same locks, keyed the same way on their houses, but they have no keys, can they access each other's houses? Of course they can't, and they cannot even access their own houses. This demonstrates that a device's partition (lock) has no effect on where the device can call. However, if two devices that have the same partition also have a CSS that enables them access to their partitions, they can dial each other.

The next important point is the order of CSS. As demonstrated in the earlier example, CSS can enable access to more than one partition. Now, imagine that a device has a CSS that enables it to match two devices with the same number, but in different partitions. Figure 5-2 offers an example of this situation.

In this example, phones A and D have the same extension of 1001. Phones B and C can reach both phones because their CSS enables access to both the square and triangle partition. So the question is, which phone rings when phone C dials 1001? Often people answer this question with, "It takes the closer match." Because 1001 matches 1001 exactly, both phones are the closest matches. Others assume that both phones ring because phone C has access to both partitions. What actually happens is that when a search for a match is conducted, multiple closest matches are found. Because there are multiple closest matches, the order in which objects appear in the CSS comes into play. When you create a CSS, you prioritize the order in which partitions should be searched. This order determines which partition is used if there are two closest matches. In the example, Figure 5-2 shows that the order of the keys for phone C is square followed by triangle, meaning that when phone C dials 1001, it would first match the 1001 that has the square partition, which is phone A.

To add a little more complexity to this, it is possible to have a CSS on both the device and the line. For example, the phone can have a CSS that grants access to the square partition, and a line on the phone can have a CSS that grants access to the triangle partition. In such a case, the line CSS takes priority. Figure 5-3 shows an example of this. This example moves away from the locks and keys analogy to focus more on the actual terms.

In Figure 5-3, phone A has two lines, 1001 and 1010. 1001 has no CSS, and line 1010 has a CSS that grants access to devices in the executive partition. Phone A also has a CSS at the device level, which enables access to devices in the lobby and employee partitions. Because the 1001 line does not have a CSS of its own, it has access only to devices that can be reached using the device's CSS. Because line 1010 has a CSS of its own, it has access to devices that can be reached using its CSS and the device's CSS. This means that when dialing from line 1001, only devices in the lobby and employee partitions are accessible; but when dialing from line 1010, devices in the lobby, employee, and exec partitions are accessible.

Now, take a look at the other three phones. Phone B has the extension of 1004, and that line is in the employee partition. Phone C has the extension of 1003, and that line is in the lobby partition. Phone D has the extension of 1004, and that line is in the exec partition.

Using what you have learned, answer the following three questions:

What is the result if 1004 is dialed from line 1001?

What is the result if 1004 is dialed from line 1010?

Can line 1010 reach line 1003?

The answers to these questions are as follows:

Q. What is the result if 1004 is dialed from line 1001?

A. Because line 1001 has no CSS of its own, it relies solely on the device's CSS. The device's CSS has access to the employee and lobby partitions, so line 1001 can reach only the 1004 on phone B because it is in the employee partition.

Q. What is the result if 1004 is dialed from line 1010?

A. Because line 1010 has a CSS, it has access to all devices to which the line and device's CSS grants access. Because it can reach phones B and D and both of them match 1004, the line's CSS takes priority and phone D rings.

Q. Can line 1010 reach line 1003?

A. Line 1010 can reach any device to which the line and/or the device's CSS grants access. Because the device's CSS has access to the lobby partition, which is the partition that 1003 is in, it can reach it.

At this point, you should have a good idea of how partitions and CSS work. We now take a look at a real-world, practical example of how CSS and partitions can be used.

The BGD Company has deployed a Communications Manager solution and has configured the route patterns that are shown in Table 5-1. As you can see, the route patterns enable callers to reach anywhere they need to dial with the exception of 1-900 numbers, which are blocked. The problem is that these patterns also enable some callers to make unauthorized calls that the company disapproves of. For example, if a person's job does not require the placement of international calls, the dial plan should not enable the employee's phone to place them.

Table 5-1. BGD's Route Patterns

Pattern

Notes

Matches

9.[2-9]XXXXXX

9.810[2-9]XXXXXX

PreDot Discard

PreDot Discard

Local 7- and 10-digit calls

9.810586XXXX

9.810587XXXX

PreDot Discard

PreDot Discard

10-digit calls that are not local

9.1[2-9]XX[2-9]XXXXXX

PreDot Discard

Long-distance calls

9.011!

9.011!#

PreDot Discard

PreDot Trailing-# Discard

International calls

9.1900[2-9]XXXXXX

Block Pattern

1-900 numbers

911

9.911

Urgent Priority

PreDot Discard and Urgent Priority

Emergency service calls

In this example, BGD has decided that it actually has four classes of users. The first class, the executives, can make any calls they want, other than 1-900 calls. The second class, the administrative assistants, are not allowed to make 1-900 calls or international calls. The third class, standard users, can only reach internal extensions, local numbers, and emergency services. The fourth class, lobby phones, for example, can only make calls internally and to emergency services. To accomplish this, partitions and CSS must be configured and assigned to patterns and devices.

When creating partitions, a common practice is to name them so that the name describes to what the partition is assigned. For example, a partition that is going to be assigned to a pattern that matches a local number can be called Local PT.

TIP

The PT at the end of the name helps identify this object as a partition. Because it is possible to have partitions and CSS with the same name, it is recommended that you add a PT to the end of partition names and CSS to the end of CSS names.

In this example, five types of calls are allowed: internal, local, long-distance, international, and emergency. The following is the list of partitions that are needed, and to which patterns they are assigned:

Internal_PT: Patterns that match internal numbers

Local_PT: Patterns that match local numbers

LD_PT: Patterns that match long-distance numbers

International_PT: Patterns that match international numbers

Emergency_PT: Patterns that match emergency service numbers

After the partitions are created, CSS are needed. Because BGD has defined four classes of users, four CSS are needed. Just as with partitions, it is recommended that CSS are named so that the name helps identify to which partitions the CSS have access. Table 5-2 shows the CSS and the partitions to which each has access and that are needed for BGD.

Table 5-2. CSS and Associated Partitions

CSS

Partitions

Internal_CSS

Internal_PT

Emergency_PT

Internal_Local_LD_CSS

Internal_PT

Local_PT

Emergency_PT

Internal_CSS

Internal_PT

Local_PT

LD_PT

Emergency_PT

Unlimited_CSS

Internal_PT

Local_PT

LD_PT

International_PT

Emergency_PT

Now that partitions and CSS are defined, take a look at what each is assigned to. First, examine the partitions. You need to understand that partitions are assigned to patterns of DNs, not devices. This means that if you want to prevent a device from making long-distance calls, you assign a partition to the patterns that match long-distance numbers, and make sure that the device's CSS does not have access to the partition. Table 5-3 shows the five partitions that have been created and the patterns to which each is assigned.

Table 5-3. Partitions and Patterns

Partitions

Patterns

Internal_PT

DNs of the phones

Local_PT

9.[2-9]XXXXXX

9.810[2-9]XXXXXX

LD_PT

9.810586XXXX

9.810587XXXX

9.1[2-9]XX[2-9]XXXXXX

International_PT

9.011!

9.011!#

Emergency_PT

911

9.911

You might notice that the 9.1900[2-9]XXXXXX pattern has not been assigned to a partition but will still work. Remember, if a pattern does not have a partition explicitly assigned, it falls into the null partition, and all devices have access to the null partition. Because the 9.1900[2-9]XXXXXX pattern is set up so that it blocks all calls that match it, you want all devices to have access to it so that no one can place these types of calls. However, it is recommended to apply partitions to all patterns to ensure that no calls can be placed by phones that do not have the proper CSS. With this is mind, the Internal_PT partition can be applied to the 9.1900[2-9]XXXXXX pattern because all devices can reach that partition.

Now look at how the CSS should be assigned. Remember that CSS can be assigned at both the device and line. For this example, they are assigned at the device level only. Table 5-4 shows the CSS and the types of device to which each is assigned.

Table 5-4. CSS and Assigned Devices

CSS

Devices

Unlimited_CSS

Executive phones

Internal_Local_LD_CSS

Administrative assistant phones

Internal_Local_CSS

Standard users

Internal_CSS

Lobby phones

Now that you understand which CSS and partitions are needed for BGD, and where each is applied, take a look at the big picture. Table 5-5 shows which CSS is assigned to each of the four different classes of phones. Under the CSS heading is a list of the partitions that can be accessed. Under the partitions is a list of patterns. Using this table, it is easy to see what destinations various phones can reach.

Table 5-5. CSS Assigned to Phones and the Patterns They Can Reach

Device

CSS>Partition>Patterns

Executive phones

Unlimited_CSS

Internal_PT

All Internal Phones

Local_PT

9.[2-9]XXXXXX

9.810[2-9]XXXXXX

LD_PT

9.810586XXXX

9.810587XXXX

9.1[2-9]XX[2-9]XXXXXX

International_PT

9.011!

9.011!#

Emergency_PT

911

9.911

Administrative assistant phones

Internal_Local_LD_CSS

Internal_PT

All Internal Phones

Local_PT

9.[2-9]XXXXXX

9.810[2-9]XXXXXX

LD_PT

9.810586XXXX

9.810587XXXX

9.1[2-9]XX[2-9]XXXXXX

Emergency_PT

911

9.911

Standard user phones

Internal_Local_CSS

Internal_PT

All Internal Phones

Local_PT

9.[2-9]XXXXXX

9.810[2-9]XXXXXX

Emergency_PT

911

9.911

Lobby phones

Internal_CSS

Internal_PT

All Internal Phones

Emergency_PT

911

9.911

Up to this point, only the assigning of CSS to phones and lines has been discussed. CSS are assigned to devices, which include gateways. A CSS is assigned to a gateway so that inbound calls can reach internal destinations. In the example of BGD, all the internal phones are placed in the Internal_PT partition. If the gateways do not have access to this partition, no incoming calls are allowed. So you can see that not only must phones have CSS, but gateways require them as well. In the case of BGD, the Internal_CSS can be assigned to the gateways, which would grant outside calls access to all internal phones.

NOTE

CSS and partitions are only locally significant. This means, for all intents and purposes, that after a call leaves the local system, the CSS and partitions no longer exist.

In the BGD example, all internal phones were in the Internal_PT partition, meaning that because all devices had a CSS that granted access to the Internal_PT partition, all phones could be reached. In some cases, this is undesirable. Sometimes there are certain numbers that should be reached only by certain devices. An example often used is that of an executive's phone. Often it is desired that only the executive's assistant be able to reach the executive. To accomplish this, the executive's phone is placed in a separate partition, to which only the assistant's phone has access.

Now that you have a good idea of what CSS and partitions are, move on to discussing how they are created and configured.

Creating Calling Search Spaces and Partitions

Creating CSS and partitions is much easier than understanding and properly applying them. Before you move on to the process of creating them, you should make sure that you have taken the time to determine the different classes of users your environment has, and what destinations each user will be allowed to call. After you have done this, create a list of the partitions that are required. Next, create a CSS that defines what partitions are accessible. After you have created this, you can begin to create the partitions and CSS. Because CSS are created by choosing partitions to which they will have access, the partitions must be created first. The following steps show how to create partitions:

Step 3. A screen displays that offers an area in which you can enter the name of the partition followed by a description. You must place a comma (,) between the name and description. If you do not enter a description, the name of the partition will be used as the description. You can create up to 75 partitions at a time on this screen by placing each on a new line. Figure 5-4 shows an example of adding five partitions at one time.

Step 4. Enter a name in the Calling Search Space Name field. Remember that the name should help identify the purpose of this CSS.

Step 5. Enter a description in the Description field.

Step 6. A list of partitions displays in the Available Partitions box. If you have a large number of partitions, you can limit the partitions that display in this list by entering the appropriate search criteria in the Find Partitions Where fields and clicking Find.

Step 7. Highlight the first partition to which you want the CSS to have access, and click the Down Arrow below this box. This causes that partition to display in the Selected Partitions box.

Step 8. Repeat Step 7 for each partition to which you want the CSS to have access. These should be added in the order you want to have them searched.

Step 9. After all the partitions have been added, you can change the order in which they display. Remember, the order in which they display determines which partition is used if multiple partitions within the same CSS contain exact matches for a dialed number. To change the order, highlight the partition you want to move, and click the Up or Down Arrow to the right of the box. Figure 5-6 shows what the screen looks like when adding the Internal_Local_CSS, which was used in the previous example.

Step 10. After all desired partitions are listed in the correct order in the Selected Partitions box, click Save.

You need to repeat these steps to add all the CSS that your environment requires. After all the partitions and CSS are added, it is time to apply them. Adding partitions and CSS have absolutely no effect on call processing until they are applied to patterns and devices.

Applying Calling Search Spaces and Partitions

You are now ready to start applying the partitions and CSS to devices and patterns. After a partition is added to a pattern, only devices that have the correct CSS can reach that pattern. For this reason, you might want to assign CSS to the devices before assigning partitions. Assigning partitions before assigning CSS is similar to putting a lock on a door and not giving anyone a key. Until the keys are handed out, no one can get in.

NOTE

When adding partitions and CSS to a system, it is best to apply them during nonproduction times. After they are added, thorough testing should be done. If it is not possible to add them off-hours, be certain to apply CSS before applying partitions. A good tool that can be used to verify the results is called the Dialed Number Analyzer. This tool can be installed from the Install Plugins page. This tool enables you to enter an origination and destination number and shows you how the call will be handled, based on the current dial plan. For more information on this tool, refer to the Dialed Number Analyzer guide, which can be found at Cisco.com by searching for Dialed Number Analyzer.

CSS are applied to devices and lines. When applied to both, the line's CSS has priority but does not nullify the devices. This means a line that has its own CSS has access to partitions that both the line's CSS and the device's CSS allow.

NOTE

Often people want their assistants to answer their lines for them. To do this, you must put the directory number on the assistant's phone. The CSS assigned to the line stays with the line, no matter which phone the line is on. This means that if the boss's line has the rights to call international numbers, the assistant can do so as well, if the boss's line is on the assistant's phone. To deal with this, it is recommended that the more generous CSS be applied to the device, not the line.

Now take a look at how a CSS is assigned to a phone, a line on the phone, and a gateway.

Assigning a CSS to a Phone

The steps that follow show how to assign a CSS to a phone:

Step 1. From within CCMAdmin, Select Device > Phone.

Step 2. Enter search criteria in the search field to limit the results and click Find.

Step 3. Select the phone to which you want to assign a CSS from the list that is generated.

Step 4. The Phone Configuration screen displays. To assign a CSS to the phone, select a CSS from the Calling Search Space drop-down list, as shown in Figure 5-7.

When you make a change to the directory number configuration and click Update, the line will be reset on all the phones that appear on this line. If a caller is currently on a call, the line resets after the call is ended.

Assigning a CSS to a Gateway or Trunk

The steps that follow show how to assign a CSS to a gateway or a trunk. Because the steps are so similar for both components, they have been combined.

Step 2. Enter search criteria in the search field to limit the results, and click Find.

Step 3. From the list that is generated, select the gateway/trunk to which you want to assign a CSS.

NOTE

When configuring CSS for Session Initiation Protocol (SIP) trunks, additional CSSs are configured. In the Inbound Call section, select the desired AAR CSS from the AAR Calling Search Space drop-down list. Under the Outbound Calls section, select the desired CSS from the Called Party Transformation CSS and Calling Party Transformation CSS drop-down lists. Under the SIP Information section, there are additional CSSs that should be configured. These included the Rerouting Calling Search Space, Out-Of-Dialog Refer Calling Search Space, and SUBSCRIBE Calling Search Space.

Step 4. Select the CSS from the Calling Search Space drop-down list.

NOTE

For some gateways such as Media Gateway Control Protocol (MGCP), you need to navigate to the subunit configuration page to assign a CSS.

Step 5. Click Save.

Step 6. A window displays informing you that you must click Apply Config for the change to take affect. Click OK.

Step 7. Click Apply Config.

Step 8. A window displays warning you that when you apply the configuration, the device might go through a restart. Click OK.

Now that you have assigned CSS, you can assign partitions. Partitions are assigned to patterns of directory numbers. Examples of how to assign them to CSS and partitions follow.

Assigning a Partition to a Line (Directory Number)

The following steps show how to assign a partition to a line:

Step 1. From within CCMAdmin, select Device > Phone.

Step 2. Enter search criteria in the search field to limit the results and click Find.

Select the phone that contains the desired line from the list of phones that is generated.

Step 3. Click the desired line on the left side of the screen.

Step 4. On the Directory Number Configuration page, select the desired partition from the Route Partition drop-down list, as shown in Figure 5-9.

Two alert windows can appear. If you have not assigned authorization codes to this pattern, an alert will inform you of this. You can click OK. The other alert informs you that any update to a route pattern automatically resets the route list or gateway; click OK.

After the partitions are applied, you can begin testing the system to ensure that allowed calls can be placed, and those that are not allowed cannot be placed.

Adding CSS and partitions after the system is in place can require a lot of work. Remember that you can use the the Bulk Admin Tool (BAT) to quickly apply or change a CSS or partition on a large number of objects.