Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Examples

Route by Class of User

Route by Geographical Location

Partition Name Limitations

Configure

Define the Partitions

Define the CSS

Symptoms

Verify

Troubleshoot

Introduction

This document describes the functionality of partitions and calling search spaces (CSSs) to apply call routing restrictions based on user class and/or geographical location. It also addresses configuration and basic troubleshooting.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

- Cisco CallManager configuration

- Route Pattern configuration

- IP phones configuration

Components Used

The information in this document is based on the Cisco CallManager Server 11.0.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

Partitions can be seen as a collection of route patterns. Directory numbers, route patterns, and translation patterns can all belong to specific partitions.

CSSs are an ordered list of route partitions and they determine which partitions calling devices must search when they attempt to complete a call. In order to reach a certain destination, the partition of the called party must belong to the CSS of the called party.

When you attempt to make a call, Cisco CallManager looks into the CSS of the calling party and checks if the called party belongs to a partition within the CSS. If it does, the call is placed or the translation pattern is executed. If not, the call is rejected or the translation pattern is ignored.

You can again assign different CSSs to IP phones, directory numbers, call forward all (CFA)/call forward no answer (CFNA)/call forward busy (CFB) destinations, gateways, and translation patterns.

Partitions and CSSs facilitate call routing since they divide the route plan into logical subsets based on organization, location, and/or call type.

The best way to understand how partitions and CSSs work is through an example. The next section provides two examples: route by class of user and route by geographic location.

Examples

Route by Class of User

This example illustrates how a company can restrict call routing for a certain group of users. In this organization there are three types of users:

- Lab environment

- Employees

- Management

From within the lab environment, only internal calls can be made.

Normal employees are not allowed to dial international numbers. Management can call any number. Three partitions are created in order to route by class of the user:

- Internal = Red partition

- No-International = Blue partition

- International = Green partition

These three partitions are used to categorize the possible call destinations. All IP phones (directory numbers) are placed in the Internal (red) partition.

These two route patterns are configured on the gateway:

- All calls except international numbers

- International numbers

Route pattern 1 is assigned to partition No-International (blue) and Route pattern 2 is assigned to partition International (green).

Based on these mentioned restrictions, these three CSSs are configured and assigned to the appropriate devices:

- CSS 1 contains partition(s): Internal (red)

- CSS 2 contains partition(s): Internal (red) and No-International (blue)

- CSS 3 contains partition(s): Internal (red), No-International (blue), and International (green)

- IP phones in the lab environment are assigned to CSS 1

- IP phones from Employees are assigned to CSS 2

- IP phones from Management are assigned to CSS 3

In the figure, there are three IP phones and one gateway with two route patterns.

Example 1: Lab Phone Calls

- Internal Number

Called Party = Red partition

Calling Party Search Space 1 contains = Red partition

Call routed = Yes (Red partition is included in the CSS)

- External Non-International number

Called Party = Blue partition

Calling Party Search Space contains = Red partition

Call routed = No (Blue partition is not included in the CSS)

- External International Number

Called Party = Green partition

Calling Party Search Space contains = Red partition

Call routed = No (Green partition is not included in the CSS)

Example 2: Employee Calls

- Internal Number

Called Party = Red partition

Calling Party Search Space contains = Red and Blue partition

Call routed = Yes (Red partition is included in the CSS)

- External Non-International Number

Called Party = Blue partition

Calling Party Search Space contains = Red and Blue partition

Call routed = Yes (Blue partition is included in the CSS)

- External International Number

Called Party = Green partition

Calling Party Search Space contains = Red and Blue partition

Call routed = No (Green partition is not included in the CSS)

Example 3: Manager Calls

- Internal Number

Called Party = Red partition

Calling Party Search Space contains = Red and Blue partition

Call routed = Yes (Red partition is included in the CSS)

- External Non-International Number

Called Party = Blue partition

Calling Party Search Space contains = Red, Blue, and Green partition

Call routed = Yes (Blue partition is included in the CSS)

- External International Number

Called Party = Green partition

Calling Party Search Space contains = Red, Blue, and Green partition

Call routed = Yes (Green partition is included in the CSS)

Route by Geographical Location

It is also possible to restrict call routing based on different types of users and locations. Consider a company where the employees are located in two different locations:

- Location 1 with area code 1 and gateway 1

- Location 2 with area code 2 and gateway 2

And where the employees are divided into two different user classes:

- Employees

- Managers

These restrictions are applied:

- Employees and managers can call internally

- Employees and managers can call locally within areas 1 and 2

- When you dial a number with area code 1, the call must be routed through gateway 1 in location 1

- When you dial a number with area code 2, the call must be routed through gateway 2 in location 2

- Managers can dial all possible destinations

- Calls can be routed via the gateway 1 or 2

Based on these restrictions, these partitions are configured:

- Internal = Red partition

- Location 1 users = Blue partition

- Location 2 users = Orange partition

- Managers = Green partition

All IP phones are put into the Internal partition (red).

There are two gateways located in two different locations, for which these three route patterns are configured:

- Where area code 1 exists, send the call to gateway 1 (this belongs to location 2 users (orange))

Calls from location 2 that dial to location 1 must be routed via this route pattern through gateway 1:

- Where area code 2 exists, send the call to gateway 2 (this belongs to location 1 users (blue))

Calls from location 1 that dial to location 2 must be routed via this route pattern through gateway 2:

- All calls send the call to route list with gateways 1 and 2 (this belongs to the managers)

Calls from location 1 or 2 that dial outside can be routed either via gateway 1 or gateway 2.

Note: For simplicity, assume that users always have to dial the area code even if they are in the same area.

These CSSs are used:

- CSS 1 contains partition(s): Internal (red)

- CSS 2 contains partition(s): Internal (red), location 1 users (blue), and location 2 users (orange)

- CSS 3 contains partition(s): Internal (red), location 1 users (blue), location 2 users (orange), and managers (green)

Gateway 1:

- The route pattern where the area code 1 exists belongs to partition Blue

- The route pattern for all calls belongs to partition Green

- Gateway CSS looks in partition Red

Gateway 2:

- The route pattern where area code 2 exists belongs to partition Orange

- The route pattern for all calls belongs to partition Green

- Gateway CSS looks in partition Red

Manager IP Phone in Location 1:

- 1000 belongs to partition Red

- CSS looks in partitions Red, Blue, Orange, and Green

Employee IP Phone in Location 1:

- 2000 belongs to partition Red

- CSS looks in partitions Red, Blue, and Orange

Manager IP Phone in Location 2:

- 3000 belongs to partition Red

- CSS looks in partitions Red, Blue, Orange, and Green

Employee IP Phone in Location 2:

- 4000 belongs to partition Red

- CSS looks in partitions Red, Blue, and Orange

Example 1: Employee in Location 1 Calls:

- Internal Number

Called Party = Red partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = Yes

- External Number in Area 1

Called Party matches the route pattern where area code 1 exists = Blue partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = Yes, via gateway 1

- External Number in Area 2

Called Party matches the route pattern where area code 2 exists = Orange partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = Yes, via gateway 2

- External Number outside Area 1 and 2

Called Party matches the route pattern for all calls = Green partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = No

Example 2. Employee in Location 2 Calls:

- Internal Number

Called Party = Red partition

Calling Party Search Space contains = Red, Blue, and Orange

Call routed = Yes

- External Number in Area 2

Called Party matches the route pattern where area code 2 exists = Orange partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = Yes, via gateway 2

- External Number in Area 1

Called Party matches the route pattern where area code 1 exists = Blue partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = Yes, via gateway 1

- External Number outside Area 1 and 2

Called Party matches the route pattern for all calls = Green partition

Calling Party Search Space contains = Red, Blue, and Orange partitions

Call routed = No

Example 3. Manager in Location 1 Calls:

- Internal Number

Called Party = Red partition

Calling Party Search Space contains = Red, Blue, Orange, and Green partitions

Call routed = Yes

- External Number in Area 1

Called Party matches the route pattern where area code 1 exists = Blue partition

Calling Party Search Space contains = Red, Blue, Orange, and Green partitions

Call routed = Yes, via gateway 1

- External Number in Area 2

Called Party matches the route pattern where area code 2 exists = Orange partition

Calling Party Search Space contains = Red, Blue, Orange, and Green partitions

Call routed = Yes, via gateway 2

- External Number outside Area 1 and 2

Called Party matches the route pattern for all calls = Green partition

Calling Party Search Space contains = Red, Blue, Orange, and Green partitions

Call routed = Yes, either via gateway 1 or 2

Note: Remember that the device and the line can have a CSS if it is an IP phone. As such, the line CSS takes precedence over the device CSS.

Note: Any device that makes a call can explicitly reach any dial plan entry left in the <None> partition. In order to avoid unexpected results, Cisco recommends that you do not leave dial plan entries in the <None> partition.

Partition Name Limitations

The maximum length of the combined CSS clause (device and pattern) comprises 1024 characters that include separator characters between partition names (for example, 'partition 1:partition 2:partition 3'). Since the CSS clause uses partition names, the maximum number of partitions in a CSS varies dependent upon the length of the partition names. Also, because the CSS clause combines the CSS of the device and the CSS of the route pattern, the maximum character limit for an individual CSS specifies 512 (half of the combined CSS clause limit of 1024 characters).

When you create partitions and CSSs, keep the names of partitions short relative to the number of partitions that you plan to include in a CSS.

Note: If you rename a partition, the partition immediately ceases to function and functions properly only after the CallManager is restarted. Alternatively, if you cannot immediately restart CallManager, you can create a new partition and then delete the old partition. This procedure does not require a CallManager restart.

CSS Partition Limitations

Partition Name Length

Maximum Number of Partitions

2 characters

170

3 characters

128

4 characters

102

5 characters

86

...

...

10 characters

46

Configure

Use these two procedures in order to configure partitions and CSSs in Cisco CallManager 11.x:

- Define the Partitions

- Define the CSS

Define the Partitions

Complete these steps in order to define the partitions in Cisco CallManager 11.0:

1. Choose Call Routing > Class of control > Partition from the main Cisco CallManager Administration page and click Add New in the opening window.

2. Configure partition(s) names and click Save (you can insert multiple partitions in a single operation).

3. Repeat Steps 1 and 2 in order to define all required partitions.

Define the CSS

Complete these steps in order to define the partitions in Cisco CallManager 11.0:

1. Choose Call Routing > Class of control > Class of Control  from the main Cisco CallManager Administration page and click Add New in the opening window.

2. Enter a name for your CSS, and assign the desired partition to the CSS from the Available Partitions list. Choose each partition you want to add, and click the small arrows in order to move it to the Chosen Partitions list.

3. Click Save  in order to save your configuration.

4. Assign the appropriate partition to the device(s), route pattern(s), or translation pattern(s) you use. This example shows how to assign these parameters to the lines on an IP phone. Click the line number that you want to change.

5. In this Window, choose the appropriate partition from the Route Partition drop-down list, and then click Save. If you get a security warning, click Save again. Next, click Apply Config.

6. In order to configure a route pattern, open the Route Pattern configuration, and choose the appropriate partition from the Route Partition drop-down list.

7. Click Save.

8. Assign the appropriate CSS to the IP phone.

1. Open the IP phone configuration.

2. From the Calling Search Space drop-down list, choose the appropriate CSS, and click Update.

Symptoms

This is a list of possible symptoms if you are not able to make the call due to misconfigurations in partitions or CSSs:

- The reorder tone is heard before or after the complete number is dialed

- The Meet-me Conference fails with a reorder tone

- The 'Your call cannot be completed as dialed' message is played by the Annunciator

- Outgoing calls to PSTN or PBX network through a Cisco IOS® gateway are never completed

Verify

You can find the association between the Directory Numbers (DNs) and CSSs in the SQL database NumPlan. Run the appropriate SQL Query in order to access the table that contains the DNs and the CSS identifier. In order to know the name of the CSS, you must navigate to the CallingSearchSpace table and locate the identifier.

This is an example for the Numplan and CallingSearchSpace  databases where extension number 3001 uses the CSS named CSS_E:

Table name: NumPlan

column name: DNOrPattern value: 3001!--- 3001 is the directory number.

column name: fkCallingSearchSpace_SharedLineAppearvalue:!--- This value is the CSS identifier:

{7AD3D293-A28E-4568-857F-E259A58DDA87}

Table name: CallingSearchSpace

column name: pkid!--- This value is the CSS identifier:

value: {7AD3D293-A28E-4568-857F-E259A58DDA87}

column name: Namevalue: CSS_E!--- CSS_E is the name of the CSS.

Troubleshoot

Basically, a call routing problem occurs when the call does not get to where you expect it to be. The user picks up the phone, starts to dial, and gets a reorder tone even before the dialing is completed, or the user finishes dialing and then gets the reorder tone.

It can be beneficial to learn the CCM trace. Usually, the best way to find a device in the CCM trace is to search for the DN configured on the device. If the calling device is a gateway (the call comes in on a gateway) and the gateway does not receive calling party number information, you can search for the device name of the gateway in the trace. You can use CallManager Serviceability in order to search for the device and view the related traces.

When you look into the Cisco CallManager traces, this line displays when a phone attempts to make a call:

Digit analysis: match(fqcn="2001", cn="2001", pss=":Internal:No-International", dd="")

- 'cn' stands for the calling number. In this case, it is 2001.

- 'pss' stands for partition search space, and has the information about the partition contained in the CSS assigned to the phone.

- 'dd' stands for the destination. It displays all the digits dialed so far.

In this example, Cisco CallManager looks into the Internal (red) and No-International (blue) partitions for route patterns, translation patterns, or directory numbers that match.

Whenever a digit is dialed and as long as Cisco CallManager finds patterns that match within these partitions, these lines in the traces display:

Digit analysis: match(fqcn="2001", cn="2001", pss=":Internal:No-International", dd="0") Digit analysis: potentialMatches=PotentialMatchesExist

If Cisco CallManager finds a pattern that matches that is not part of these partitions, these lines display:

Digit analysis: match(fqcn="2001", cn="2001", pss=":Internal:No-International", dd="00") Digit analysis: potentialMatches=NoPotentialMatchesExistStationD: 06b3b5a8 StartTone tone=37(ReorderTone)

The user then hears a reorder (fast busy) tone.

Note: 'Your call cannot be completed as dialed. Please consult your directory and call again or ask your operator.'

When the complete number is dialed and matches any partition within the CSS, you see these lines:

Digit analysis: match(fqcn="2001", cn="2001", pss=":Internal:No-International", dd="027045429#") Digit analysis: analysis

resultsPretransformCallingPartyNumber=2001CallingPartyNumber=2001DialingPartition=No-InternationalDialingPattern=0[1-

9]!#DialingRoutePatternRegularExpression=(0[1-9]X+#)DialingWhere=PatternType=EnterprisePotentialMatches=NoPotentialMatchesExistDialingSdlProcessId=

(1,32,1)PretransformDigitString=027045429#PretransformTagsList=SUBSCRIBERPretransformPositionalMatchList=027045429#CollectedDigits=027045429#T

agsList=SUBSCRIBERPositionalMatchList=027045429#DisplayName=RouteBlockFlag=RouteThisPatternInterceptPartition=InterceptPattern=InterceptWhere=Int

erceptSdlProcessId=(0,0,0)InterceptSsType=0InterceptSsKey=0

The destination 027045429 is part of the No-International partition.