Mike's PBX Cookbook

Zone-based Digit Manipulation

Zone-based Routing uses digit manipulation to identify the callers zone in order to target a local trunk route for the call.

In Geographic Redundant systems, it's often desirable to route outgoing calls to trunks in the same zone (location) as the caller to reduce WAN utilisation, and to provide users with local trunking when in Survivable MG (local) mode: ie, if/when the WAN is down. Zone-based Digit Manipulation

However, trunk selection depends on the number dialed, and has nothing to do with the callers zone. Therefore, in order to route calls to trunks in the same zone as the caller, the dialed number needs to be prefixed to uniquely identify the callers zone, and a separate routing index created that points to the preferred trunks from that zone.

To achieve this, the Zone Access Code Behavior (ZACB) and Zone Digit Prefix (ZDP) properties must be configured.

Example:

In LD 90 (SPN) and LD 86 (RLB, DGT):

In LD 117:

>LD 117
OAM000

=> CHG ZACB 1 ALL          applies to all access codes

=> CHG ZDP 1 101           101 is prefixed to a number from Zone 1

=> ENL ZBR 1               enable the feature for Zone 1

=> PRT ZDP

 ________________________________________________________________________________________________________
 |                                            |           |            Access Code Behaviour            |
 |        Zone                                |   State   |---------------------------------------------|
 |                                            |           |         |         |         |DIALED |  NEW  |
 |  #    DES                                  |           |   DC1   |   DC2   |   DC3   |  AC   |  AC   |
 |------------------------------------------------------------------------------------------------------|
 |  1 SITE_A                                  | ENL       | 101     |         |         |  ALL  |       |
 |------------------------------------------------------------------------------------------------------|
 |  2 SITE_B                                  | ENL       | 102     |         |         |  ALL  |       |
 |------------------------------------------------------------------------------------------------------|
 | 10                                         | DIS       |         |         |         |       |       |
 |------------------------------------------------------------------------------------------------------|
  Number of Zones with Local Dialing Active = 2
  No Branch Media Gateway Zones configured
  Number of Zones configured = 3

=> 

If all works to plan, when we dial 9-06912345 from Zone 1:

  1. The call is recognised as coming from a AC1 caller in Zone 1
  2. An SPN entry sends 069 calls out of the H323 route to the NRS
  3. It comes back (end-point) with the digits: 9-101-06912345
  4. An SPN entry sends 101 calls out of the local trunk route, and deletes 3 digits: 06912345 goes to line.

Yes, its automagical! Two lookups in the same SPN table for the same call. I think there's some voodoo going on. Actually, there are two calls. The first leaves on an H323 trunk, and wanders around in the cloud until the NRS routes it back. The now incoming call (with a leading 9) activates BARS again, and this time leaves for real. Obviously this all happens in software, but thats the process.

This can be programmed via the CLI, although the following (Rel 5.5) images show the steps required in Element Manager:

zbdm1.png
Zone Dialing Plan and Access Codes
- Define Zone Prefix
zbdm2.png
Special Number Block
- SPN 06 = RLI 3 / SPN 101 = RLI 23
zbdm3.png
Route List Blocks
- RLI 3, H323 Route to NRS
zbdm4.png
Route List Blocks
- RLI 23, PSTN Trunk with DMI
zbdm5.png
Digit Manipulation Block
- DMI 22, Delete 3
1 2 3 4 5

LD 117 CLI commands:

CHG ZACB <Zone> [ALL]|[<AC1|AC2> <AC1|AC2>] - Define the Access Codes to digit-modify for the specified Zone.
CHG ZDP <Zone> <DialingCode1> <DialingCode2> <DialingCode3> - Define the Digit Prefix for the specified Zone.

ENL ZBR <Zone> [ALL] [LOC] [ESA] [TIM] - Enable features for the branch office zone.
DIS ZBR <Zone> [ALL] [LOC] [ESA] [TIM] - Disable features of the branch office zone.

PRT ZACB [<Zone>] - Print a table of branch office zone dialing plan entries.
PRT ZDP [<Zone>]   - Print a table of branch office zone dialing plan entries.