Cisco Unified Communications Manager 8:Expert Administration Cookbook
上QQ阅读APP看书,第一时间看更新

Implementing calling restrictions with line blocking partitions and calling search spaces

In this recipe we will be implementing class of service calling restrictions using partitions and calling search spaces, as well as exploring their design considerations.

Getting ready

For this recipe, preparation is key. We will need to determine the partitions, calling search spaces, and patterns to be blocked that will be appropriate to the environment. There is more information on this in the There's more... section of this recipe.

How to do it...

To implement calling restrictions, perform the following:

  1. First, create the partitions with the necessary descriptions (Call Routing | Class of Control | Partition):
    How to do it...
  2. Next, create the calling search spaces (Call Routing | Class of Control | Calling Search Space):
    How to do it...
  3. Finally, add the translation pattern for the blocking patterns (Call Routing | Translation Pattern):
    How to do it...

    It is important to note here that we have used the Partition PT-US-Block-National with a Route Option set to Block this pattern.

Repeat this process for all the necessary blocking translation patterns.

How it works...

When a calling search space used for calling restrictions is applied to the directory number of a device, those settings override the calling search space patterns specified on the device, denying calls or access to certain numbers.

There's more...

While each environment is unique, there are some design considerations that apply to most. Calling restrictions is one of them.

Determining classes of restriction

In general, external calls fall in to one of these three classes:

  • National/long distance
  • International
  • Premium

While the patterns for each category may vary according to region and requirements, these set up the foundation for our calling search spaces. Sometimes we find ourselves in need of an unrestricted calling search space. While you may choose to leave this to <none> on the directory numbers, I prefer to use an empty calling search space for clarity.

An example partition and calling search space arrangement for a US-based solution would be:

  • CSS-US-Line-National
    • PT-US-Block-National
    • PT-US-Block-International
    • PT-US-Block-Premium
  • CSS-US-Line-International
    • PT-US-Block-International
    • PT-US-Block-Premium
  • CSS-US-Line-Premium
    • PT-US-Block-Premium
  • CSS-US-Line-Unrestricted
    • No partitions selected

This setup is not overly complex and can be easily used to expand calling restrictions to suit most environments.

Patterns required for call restrictions

There are two ways in which we can implement translation patterns for call restrictions, neither of which are mutually exclusive.

Design considerations for preventing call restriction bypass

With careful consideration it is possible to bypass calling restrictions, though this is most typical for environments using E.164 call routing. In these environments it is typical for engineers accustomed to the traditional way of blocking to block digits as the user dials them. For example, if a user dials a premium number such as a 900 number, they typically do so with a 9 or 91 first, followed by the number, before hearing a message informing the user that the call was denied.

When using E.164 for call routing, this is not enough. In this type of environment there is usually a pattern for national calls, for example, 9.1[2-9]XXXXXXXXX. It is common to strip PreDot and prefix the plus sign for final routing. While this is the most common form of dialing, it is not the only way to dial.

On second generation and later phones, which Cisco calls Type-B phones, it is possible to dial a properly formatted E.164 number directly from the keypad, such as +19005551234, and have it routed. Because of this capability, it is important to add blocking patterns for the E.164 compatible number.

Blocking in traditional environments

In environments that do not use E.164 call routing, calling restrictions are enforced primarily with route patterns set to Block this pattern, similar in setup to the translation pattern in this recipe's How to do it… section. Translation patterns may also be used for enforcing call restrictions.

Blocking in E.164 environments

In this type of environment, translation patterns are typically used to enforce call restrictions, though as with the traditional method, we may also use route patterns.

As mentioned in the Design considerations for preventing call restriction bypass section, it is possible to bypass traditional calling restrictions on Type-B phones by dialing the E.164 number directly. This is possible because of the added layer of routing associated with E.164 call routing.

To mitigate this and enforce call restrictions for these types of devices, we need to match the final number, which is in E.164 format. For example, if we want to block calls to 900 numbers we would implement the translation pattern \+1900XXXXXXX with the Route Option set to Block this pattern and a Partition of PT-US-Block-Premium.

Partitions used in call restrictions

In the previous example we have three partitions and four calling search spaces that enforce call restrictions at various levels: national, international, and premium. We include an empty calling search space to allow for unrestricted calls, called CSS-US-Line-Unrestricted for the sake of clarity, though in such cases a calling search space of <none> will suffice.

National

Represented by PT-US-Block-National, this class is used to prevent long distance calls or any calls on a national level that need to be blocked, such as fraud numbers. It is typically represented by the following patterns:

  • For seven digit dial plans
    • 91.[2-9]XXXXXXXXX
    • \+1[2-9]XXXXXXXXX
International

Represented by PT-US-Block-International, this class is used to prevent international calls. It is typically represented by the following patterns:

  • 9.011!
  • 9.011!#
  • \+[^1]

Note

The pattern \+[^1] will match any E.164 number that does not start with a one. For instance, the pattern will match +44 but not +1.

Premium

Represented by PT-US-Block-Premium, this class prevents calls to premium numbers. It is typically represented by the following patterns:

  • 9.1900XXXXXXX
  • \+1900XXXXXXX

Mitigating fraud

In some cases it may be a requirement to proactively prevent users from dialing commonly known fraud numbers. Typically these are standard looking numbers that when called charge per minute connected. While this list is by no means complete, it is a good starting point for common fraud numbers in the US.

  • 124[26][2-9]XXXXXX
  • 126[48][2-9]XXXXXX
  • 1284[2-9]XXXXXX
  • 134[05][2-9]XXXXXX
  • 1441[2-9]XXXXXX
  • 1473[2-9]XXXXXX
  • 1649[2-9]XXXXXX
  • 1664[2-9]XXXXXX
  • 1758[2-9]XXXXXX
  • 1767[2-9]XXXXXX
  • 178[47][2-9]XXXXXX
  • 1809[2-9]XXXXXX
  • 186[89][2-9]XXXXXX
  • 1876[2-9]XXXXXX
  • 1976[2-9]XXXXXX