This chapter covers these topics:
How call routing works in the MAX TNT
When the MAX TNT receives a call on a network port (such as a T1 or E1 channel), it performs these steps:
HDLC (High-level Data Link Control) processing removes encapsulation from high-speed incoming data calls such as those from ISDN terminal adapters. The HDLC module removes the call's link encapsulation and then passes the data stream to the bridge/router. One 192-channel HDLC card supports all switched channels on an eight-port T1 card.
Figure 15-1. Routing inbound calls to an HDLC channel
Figure 15-2. Routing inbound calls to a digital modem
The old call routing method
In Ascend products released prior to the MAX TNT, call routing was specified in Line profiles (for network ports) and Ethernet, Modem, and other profiles (for host ports).
V.34 ModemIn a T1 Line profile, you would specify Slot and Port numbers to indicate "calls received on this channel should be sent to slot X, port Y."
Mod Config
Ans 1#=1212
Net/T1
Line Config
Line 1...
Ch 1 Slot=3
Ch 1 Prt/Grp=4
A new parameter that mimics the old method
The MAX TNT provides the call-route-info parameter in T1 and E1 profiles to mimic the "old" call routing method. For example:
admin> read t1 {1 2 1}
T1/{ shelf-1 slot-2 1 } read
admin> list line channel 1Like the "old" call routing method, the call-route-info parameter indicates "any call received on this channel should be sent to shelf X, slot Y, port Z."
channel-usage = switched-channel
trunk-group = 9
phone-number = ""
call-route-info = { any-shelf any-slot 0 }
nailed-group = 0
The new MAX TNT call routing method
The new method for call routing in the MAX TNT places all call routing information in one place: Call-Route profiles. The preferred-source parameter in a Call-Route is a mirror-image of the deprecated call-route-info parameter. Instead of specifying in a T1 profile "send calls to the specified modem," you specify in a modem's Call-Route profile "receive calls from the specified T1 channel."
admin> read call-route {{{1 6 0} 0} 0}
CALL-ROUTE/{ { { shelf-1 slot-6 0 } 0 } 0 } read
admin> listThe preferred-source parameter states "receive calls from {{ 1 2 1} 1}" (the address of the T1 channel).
index* = { { { shelf-1 slot-6 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { 1 2 1 } 1 }
call-route-type = voice-call-type
admin> showThese are the default Call-Route profiles created by the system:
Shelf 1 ( master ):
( Slot 1 empty )
{ shelf-1 slot-2 0 } UP 8t1-card
{ shelf-1 slot-3 0 } UP 192hdlc-card
( Slot 4 empty )
( Slot 5 empty )
{ shelf-1 slot-6 0 } UP 48modem-card
( Slot 7 empty ) OCCUPIED
( Slot 8 empty )
( Slot 9 empty )
( Slot 10 empty )
( Slot 11 empty )
{ shelf-1 slot-12 0 } UP 4ether-card
( Slot 13 empty )
( Slot 14 empty )
( Slot 15 empty )
( Slot 16 empty )
admin> dir call-route
9 12/11/1996 15:58:08 { { { any-shelf any-slot 0 } 0 } 0 }
13 12/11/1996 15:58:20 { { { shelf-1 slot-2 0 } 0 } 0 }
13 12/11/1996 15:58:21 { { { shelf-1 slot-6 0 } 0 } 0 }
19 12/20/1996 20:57:07 { { { shelf-1 slot-3 0 } 0 } 0 }
admin> get call-route {{{0 0 0} 0} 0}This system default says "take any call and route it to any device in the system." This is not a very useful route, and the system expects to find something more specific in its call-routing database. This system default would only be used if no specific routes exist.
index* = { { { any-shelf any-slot 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = any-call-type
admin> get call-route {{{1 2 0} 0} 0}The trunk call-type is used for outbound call routing for trunk calls and trunk-to-trunk switching. This T1 default Call-Route profile says "take any trunk call and route it to me."
index* = { { { shelf-1 slot-2 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = trunk-call-type
General routes for voice and data calls
The default Call-Route profile for the modem card (slot 6) looks like this:
admin> get call-route {{{1 6 0} 0} 0}This profile says "route any voice call to me (the modem card address)".
index* = { { { shelf-1 slot-6 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = voice-call-type
Similarly, the default Call-Route profile for the HDLC card (slot 3) looks like this:
admin> get call-route {{{1 3 0} 0} 0}This default Call-Route profile for the installed HDLC card says "route any digital call to me (the HDLC card address)."
index* = { { { shelf-1 slot-3 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = digital-call-type
Figure 15-3 shows the MAX TNT receiving a call on a T1 PRI line, gathering information, comparing the gathered information to its call routing database, and routing to a host port.
Figure 15-3. Information the MAX TNT can obtain from a received call
The index parameter contains the address to which the call should be routed. In effect it says "if the call's information matches this profile, route the call to me."
How the MAX TNT matches the call to a Call-Route profile
The MAX TNT starts with a list of all possible destinations in the system and removes certain destinations from consideration by following the algorithm described in this section.
If a port is currently in use, the MAX TNT does not consider it as a possible destination for the call.
The MAX TNT sorts the remaining list of call routing entries by parameter in this order:
After sorting in this order, the MAX TNT considers use-count, placing devices that have been used less frequently ahead of those that have been used more frequently.
Comparing trunk group information
The first pass compares trunk-group information gathered from the call to the trunk-group numbers in Call-Route profiles. If the call contains a trunk-group number, the MAX TNT will not consider profiles with non-matching trunk-group numbers.
Figure 15-4. Comparing the trunk group to call-route entries
Comparing subaddress numbers
If the call contains a subaddress as part of the phone number, the MAX TNT then compares that subaddress to the phone-number parameters in its call routing database and rejects all profiles that specify a different subaddress.
Figure 15-5. Comparing the subaddress to call-route entries
phone-number = 9,
phone-number = 9,555-1212If no devices specify the subaddress 9, only devices with no subaddress specification remain in the list.
phone-number = 555-1212
phone-number = 777-9898
Figure 15-6. Comparing the phone number to call-route entries
555-1212Profiles with the following phone numbers remain in the list (for example):
phone-number=1212As with subaddress routing, if the MAX TNT finds no matching phone numbers, it drops the profiles that have other, non-matching numbers, but retains the profiles that have a null phone-number specification.
phone-number=555-1212
phone-number=12
Figure 15-7. Comparing the call-route-info" to call-route entries
Comparing the source address
Next, the MAX TNT compares the device address of the line and channel on which the call was received to the preferred-source addresses in its call routing database, and rejects all profiles with non-matching preferred-source addresses.
Figure 15-8. Comparing the source channel to call-route entries
Comparing the type of call
For all profiles that remain as possible route destinations following the preceding comparison passes, the MAX TNT compares the type of the incoming call to the call-route-type setting in its call routing database.
Figure 15-9. Comparing the call-type to call-route entries
Setting global call-management options
The System profile contains several system-wide settings that affect aspects of how the MAX TNT manages calls. These are the related parameters:
name = ""
system-rmt-mgmt = yes
use-trunk-groups = no
idle-logout = 0
parallel-dialing = 2
single-file-incoming = yes
analog-encoding = u-law
sessionid-base = 0
t-online = no
t-online-most-avail-chan = no
call-routing-sort-method = item-first
digital-call-routing-sort-method = slot-first
shelf-controller-type = standalone
master-shelf-controller = 1
perm-conn-upd-mode = all
Working with Call-Route profiles
The default Call-Route profiles are just starting points, representing the unit's best guess on how you may want to configure things. You can modify or delete the default profiles, and you can create any number of Call-Route profiles to specify exactly how calls are routed within the system.
CALL-ROUTEFor details on each parameter, see the MAX TNT Reference Guide.
index* = { { { any-shelf any-slot 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = any-call-type
The index field contains the address of the device that should receive the call. It indicates "if the call information matches this profile, route the call to me."
{{{<shelf> <slot> <port>} <logical-item> } <entry> }
If you have only one Call-Route profile for the specified address, leave the entry number zero. When you specify the same address in more than one Call-Route profile, you must assign a non-zero entry number to distinguish the entries from one another in the database. You can assign any number, as long as it is unique for each entry. The entry numbers do not have to be sequential.
admin> new call-route
CALL-ROUTE/{ { { shelf-1 any-slot 0 } 0 } 0 } read
admin> list
index* = { { { shelf-1 any-slot 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = any-call-type
admin> set index = {{{1 7 1} 8 } 0}
admin> set phone = 1212
admin> set call-route = voice-call-type
admin> write
CALL-ROUTE/{ { { shelf-1 slot-7 1 } 8 } 0 } written
Working with the call routing database
When the system resets, the MAX TNT creates its call-routing database by sorting the list of all installed devices. (During active use, the sort order depends on system activity, but the initial sort determines the order in which the MAX TNT first uses host channels.) Sorting calls by slot
The Slot-First setting causes all channels of a modem or HDLC card, (including MP or MPP calls), to be grouped together. This forces a single card to be completely full before the MAX TNT started using another card. With this option, the MAX TNT sorts in the following order: Sorting calls by item
The Item-First setting causes the channels of different modem and HDLC cards to be interspersed, which provides more load balancing across all cards even after a system reset. With this option, the MAX TNT sorts in the following order: Example Call-Route profile
This example shows how to create Call-Route profiles that route calls received in a configured T1 line to a digital modem.
admin> showThe modem card may still be in POST state (it takes 90-120 seconds to come up). Wait until the modem card comes up then proceed.
Shelf 1 ( standalone ):
{ shelf-1 slot-1 0 } UP 8t1-card
{ shelf-1 slot-2 0 } UP 48modem-card
{ shelf-1 slot-3 } OCCUPIED
{ shelf-1 slot-4 0 } UP 48modem-card
{ shelf-1 slot-5 } OCCUPIED
{ shelf-1 slot-15 0 } UP 4ether-card
{ shelf-1 slot-16 0 } UP 192hdlc-card
admin> dir call-route
9 08/29/1996 15:04:33 { { { any-shelf any-slot 0 } 0 } 0 }
13 08/29/1996 15:04:42 { { { shelf-1 slot-3 0 } 0 } 0 }
17 09/03/1996 11:22:09 { { { shelf-1 slot-12 2 } 0 } 0 }
13 09/11/1996 12:54:53 { { { shelf-1 slot-13 0 } 0 } 0 }
13 09/19/1996 10:03:28 { { { shelf-1 slot-15 0 } 0 } 0 }
13 09/19/1996 11:00:14 { { { shelf-1 slot-16 0 } 0 } 0 }
13 09/19/1996 11:07:58 { { { shelf-1 slot-14 0 } 0 } 0 }
13 09/24/1996 11:20:30 { { { shelf-1 slot-11 0 } 0 } 0 }
25 09/24/1996 14:35:12 { { { shelf-1 slot-3 1 } 1 } 0 }
13 09/24/1996 18:31:24 { { { shelf-1 slot-12 0 } 0 } 0 }
admin> get call-route {{{0 0 0}0}0}
index* = { { { any-shelf any-slot 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = any-call-type
admin> callroute -ah
device # source type tg sa phoneNote: Each modem that passed POST is displayed.
1:12:01/0 0 0:00:00/0 voice-call-type 0 0
1:12:02/0 0 0:00:00/0 voice-call-type 0 0
...
admin> new call-route
CALL-ROUTE/{ { { shelf-1 any-slot 0 } 0 } 0 } read
admin> set index = {{{1 12 2 }0}0}
admin> set phone = 4812
admin> write
CALL-ROUTE/{ { { shelf-1 slot-12 2 } 0 } 0 } written
admin> callroute -ah
device # source type tg sa phoneNote: The new entry is more specific than the others because it has a phone number, so it is sorted at the top of the list. Notice that the general entry for modem 2 has been deleted, because general entries for a device are not included when more specific call routing entries exist.
1:12:02/0 0 0:00:00/0 any-call-type 0 0 4812
1:12:01/0 0 0:00:00/0 voice-call-type 0 0
...
admin> new call-route
CALL-ROUTE/{ { { shelf-1 any-slot 0 } 0 } 0 } read
admin> set index = {{{1 12 2 }0}1}
admin> set call = any
admin> write
CALL-ROUTE/{ { { shelf-1 slot-12 2 } 0 } 1 } written
admin> callroute -ah
device # source type tg sa phoneNote: Modem 2 should be listed twice, as the first and last entry.
1:12:02/0 0 0:00:00/0 any-call-type 0 0 4812
1:12:01/0 0 0:00:00/0 voice-call-type 0 0
...
1:12:48/0 0 0:00:00/0 voice-call-type 0 0
1:12:02/0 1 0:00:00/0 any-call-type 0 0
admin> read call-route {{{1 12 0}0}0}
CALL-ROUTE/{ { { shelf-1 slot-12 0 } 0 } 0 } read
admin> list
index* = { { { shelf-1 slot-12 0 } 0 } 0 }
trunk-group = 0
phone-number = ""
preferred-source = { { any-shelf any-slot 0 } 0 }
call-route-type = voice-call-type
admin> set call = any
admin> write
CALL-ROUTE/{ { { shelf-1 slot-12 0 } 0 } 0 } written
admin> callroute -a
device # source type tg sa phoneNote: All entries should have a type of "any-call-type" and modem 2 should exist in the list twice.
1:12:02/0 0 0:00:00/0 any-call-type 0 0 4812
1:12:01/0 0 0:00:00/0 any-call-type 0 0
1:12:02/0 1 0:00:00/0 any-call-type 0 0
...
Copyright © 1997, Ascend Communications, Inc. All rights reserved.