To create an entry in the X.25 routing table (to be consulted for forwarding incoming calls and for placing outgoing packet
assembler/disassembler (PAD) or protocol translation calls), use the
x25
route command in global configuration mode. To remove an entry from the table, use the
no form of the command.
x25 route [#position] [selection-options] [modification-options]disposition-options [xot-keepalive-options]
no x25 route [#position] [selection-options] [modification-options]disposition-options [xot-keepalive-options]
Syntax Description
#position
|
(Optional) A pound sign (#) followed by a number designates the position in the routing table at which to insert the new
entry. If no value for the position argument is given, the entry is appended to the end of the routing table.
|
selection-options
|
(Optional) The selection options identify when the subsequent modification and disposition options apply to an X.25 call;
any or all variables may be specified for a route. For selection keyword and argument options, see the table in the “Usage
Guidelines” section.
For selection and modification pattern and character matching and replacement see the tables in the “Usage Guidelines” section.
Although each individual selection criterion is optional, at least one selection or modification option must be specified
in the
x25
route command.
|
modification-options
|
(Optional) The modification options modify the source or destination addresses of the selected calls. The standard regular
expression substitution rules are used, where a match pattern and rewrite string direct the construction of a new string.
For modification keyword and argument options, see the table in the “Usage Guidelines” section.
For selection and modification pattern and character matching and replacement see the tables in the “Usage Guidelines” section.
Although each individual modification is optional, at least one selection or modification option must be specified in the
x25
route command.
|
disposition-options
|
Specifies the disposition of a call matching the specified selection pattern. For disposition keyword and argument options,
see the table in the “Usage Guidelines” section.
|
xot-keepalive-options
|
(Optional) The XOT-keepalive options specify an X.25 over TCP (XOT) keepalive period and number of XOT-keepalive retries.
XOT relies on TCP to detect when the underlying connection is dead. TCP detects a dead connection when sent data goes unacknowledged
for a given number of attempts over a period of time. For XOT-keepalive keyword and argument options, see the table in the
“Usage Guidelines” section.
|
Command Default
No entry is created in the X.25 routing table.
Command Modes
Global configuration (config)
Command History
Release
|
Modification
|
11.3
|
The following modifications were made:
-
The selection option keywords source and dest-ext and the interface disposition to a Connection-Mode Network Service (CMNS)
destination was added. In prior releases, CMNS routing information was implied by maps defining a network service access point
(NSAP) prefix for a CMNS host’s MAC address.
-
The clear
interface disposition
option was added. In prior releases, the disposition was implicit in a route to the Null 0 interface.
|
12.0(3)T
|
The interface-based calling address insertion and removal feature was introduced.
|
12.0(5)T
|
The following modifications were made:
-
For the DNS-Based X.25 Routing feature, the
dns keyword and
pattern argument (see the table below) were added.
-
The enhanced x25 route command replaces the x25 map cmns command. The x25 route alias form of this command (supported in
earlier releases) was replaced by the
x25
alias command.
|
12.2(33)SRA
|
This command was integrated into Cisco IOS Release 12.2(33)SRA.
|
12.2SX
|
This command is supported in the Cisco IOS Release 12.2SX train. Support in a specific 12.2SX release of this train depends
on your feature set, platform, and platform hardware.
|
Usage Guidelines
The enhanced x25 route command replaces the x25 map cmns command. The x25 route alias form of this command (supported in
earlier releases) has been replaced by the
x25
alias command.
The modification options are long-standing but newly applicable to all dispositions in Cisco IOS Release 11.3 and later.
Note |
The entire command must be entered on one line.
|
Selection Options
Selection arguments specify match criteria. When a call matches all selection criteria in an X.25 route, then the specified
modification and disposition are used for the call.
As many as four selection options can be used to determine the route:
-
Called X.121 network interface address (destination or source host address)
-
Called address extension (destination NSAP address)
-
X.25 packet’s call user data (CUD) field
-
Input interface from which the call was received (input-interface option)
The following table lists the selection options for the
x25
route command. At least one selection or modification option must be specified.
Table 1. x25 route Selection Options
Selection Option
|
Description
|
cud
user-data-pattern
|
(Optional) CUD pattern, which is specified as a regular expression of printable ASCII text. The CUD field may be present
in a call packet. The first few bytes (commonly 4 bytes long) identify a protocol; the specified pattern is applied to any
user data after the protocol identification.
|
destination-pattern
|
(Optional) Destination address pattern, which is a regular expression that can represent either one X.121 address (such as
^1111000$) or any address in a group of X.121 addresses (such as ^1111.*).
|
dest-ext
nsap-destination-pattern
|
(Optional) NSAP destination address pattern, which is a regular expression that can represent either an NSAP destination
address (such as ^11.1111.0000$) or an NSAP prefix (such as ^11.1111.*).
Note
|
A period (.) in the pattern is interpreted as a character wildcard, which will not interfere with a match to the actual period
in the NSAP; if desired, an explicit character match may be used (such as ^11\.1111\..*).
|
|
hunt-group
name
|
Routes the selected call to the X.25 hunt group. The chosen router may vary depending on the hunt group configuration.
|
input
interface
interface
number
|
(Optional) Specifies interface number on which the call will be received.
|
source
source-pattern
|
(Optional) Source address pattern, which is a regular expression that can represent either one X.121 source address (such
as ^2222000$) or any address in a group of X.121 addresses (such as ^2222.*).
|
Note |
The X.121 and NSAP addresses are specified as regular expressions. A common error is to specify the address digits without
anchoring them to the beginning and end of the address. For example, the regular expression 1111 will match an X.121 address
that has four successive 1s somewhere in the address; to specify the single X.121 address, the form ^1111$ must be used.
|
Regular expressions are used to allow pattern-matching operations on the addresses and user data. A common operation is to
use prefix matching on the X.121 Data Network Identification Code (DNIC) field and route accordingly. The caret (^) is a special
regular expression character that anchors the match at the beginning of the pattern. For example, the pattern ^3306 will match
all X.121 addresses with a DNIC of 3306.
Modification Options
Addresses typically need to be modified when traffic from a private network that uses arbitrary X.121 addresses must transit
a public data network, which must use its own X.121 addresses. The easiest way to meet the requirement is to specify in the
x25
route command a way to modify the private address into a network X.121 address, or to modify a network X.121 address into a private
address. The addresses are modified so that no change to the private addressing scheme is required.
The modification options use the standard UNIX regular expression substitution operations to change an X.25 field. A pattern
match is applied to an address field, which is rewritten as directed by a rewrite pattern.
The following table lists the modification options for the
x25
route command. At least one selection or modification option must be specified.
Table 2. x25 route Modification Options
Modification Option
|
Description
|
substitute-dest
rewrite-dest
|
(Optional) Called X.121 address rewrite pattern.
The destination address,
destination-pattern , and this
rewrite-dest pattern are used to form a new destination address. If no
destination-pattern is specified, a default match pattern of .* is used.
See the first two tables below for summaries of pattern and character matching, respectively. See the third table below for
a summary of pattern rewrite elements.
|
substitute-source
rewrite-source
|
(Optional) Calling X.121 address rewrite pattern.
The
source
address ,
source-pattern , and this
rewrite-source pattern are used to form a new source address. If no
source-pattern is specified, any
destination-pattern match pattern is used. If neither match pattern is specified, a default match pattern of .* is used.
See the first two tables below for summaries of pattern and character matching, respectively. See the third table below for
a summary of pattern rewrite elements.
|
Note |
As of Cisco IOS Release 11.3, the
substitute-source and
substitute-dest options also apply to PAD calls.
|
A modification of the source address is directed by the rewrite string using one of three possible match patterns. If the
source source-pattern selection option is defined, it is used with the source-rewrite string to construct the new source address;
otherwise, a destination-pattern regular expression is used (for backward compatibility) or a wildcard regular expression
(.*) is used. In the rewrite-source argument, the backslash character (\) indicates that the digit immediately following the
argument selects a portion of the matched address to be inserted into the new called address.
A modification of the destination address is directed by the rewrite string using one of two possible match patterns. If
the destination-pattern selection option is defined, it is used with the destination-rewrite string to construct the new destination
address; otherwise, a wildcard regular expression (.*) is used. In the rewrite-dest argument, the backslash character (\)
indicates that the digit immediately following the argument selects a portion of the original called address to be inserted
into the new called address.
Pattern and Character Matching and Replacement for Selection and Modification Options
See the three tables below, respectively, for summaries of pattern matching, character matching, and pattern replacement
elements. Note that up to nine pairs of parentheses can be used to identify patterns to be included in the modified string.
A more complete description of the pattern-matching characters is found in the
“ Regular Expressions” appendix in the
Cisco IOS Terminal
Services
Configuration
Guide .
Table 3. Pattern Matching for x25 route Selection and Modification Options
Pattern
|
Description
|
*
|
Matches 0 or more occurrences of the preceding character.
|
+
|
Matches 1 or more occurrences of the preceding character.
|
?
|
Matches 0 or 1 occurrences of the preceding character.1
|
Table 4. Character Matching for x25 route Selection and Modification Options
Character
|
Description
|
^
|
Matches the beginning of the input string.
|
$
|
Matches the end of the input string.
|
\char
|
Matches the single character char specified.
|
.
|
Matches any single character.
|
Table 5. Pattern Replacements for x25 route Selection and Modification Options
Pattern
|
Description
|
\0
|
The pattern is replaced by the entire original address.
|
\1...9
|
The pattern is replaced by strings that match the first through ninth parenthetical part of the X.121 address.
|
Disposition Option
The
xot-source disposition option can improve the resilience of the TCP connection if, for instance, a loopback interface is specified.
By default, a TCP connection’s source IP address is that of the interface used to initiate the connection; a TCP connection
will fail if either the source or destination IP address is no longer valid. Because a loopback interface never goes down,
its IP address is always valid. Any TCP connections originated using a loopback interface can be maintained as long as a path
exists to the destination IP address, which may also be the IP address of a loopback interface.
Using the
continue keyword provides flexibility by reducing the number of X.25 route configurations necessary in the route table by breaking
them into separate, simpler, and more manageable tasks. It allows the
x25
route command to cumulatively hold all specified route entries and carry whatever selection or modification options you may have
just specified on the command line. The route table lookup terminates when a matching route is found among the remaining entries
in the route table. The
continue disposition must be the last option on the
x25
route command line.
The table below
lists the disposition options for the
x25
route command. You must select one of these options.
Table 6. x25 route Disposition Options
Disposition Option
|
Description
|
clear
|
Terminates the call.
|
continue
|
(Optional) Combines sequential route table lookups, holding onto any “selections” and “modifications” specified on the
x25
route statement.
|
hunt-group
name
|
Routes the selected call to the X.25 hunt group. The chosen route may vary depending on the hunt group configuration.
|
interface
interface
number
|
Routes the selected call to the specified X.25 serial interface.
|
interface
interface
number
dlci
number
|
(Optional) Routes the X.25 call to the specified Annex G link. You must include the interface number and enter the data link
connection identifier (DLCI) number. You only need to do this if you want the router to accept switched calls, as well as
originate them.
|
interface
cmns-interface
mac
mac-address
|
Routes the selected call out the specified broadcast interface via CMNS to the LAN destination station. The broadcast interface
type can be Ethernet, Token Ring, or FDDI. The interface numbering scheme depends on the router interface hardware.
|
xot
ip-address
[ip2-address [...[ip6-address ]]] [xot-source
interface
|
Routes the selected call to the XOT host at the specified IP address. Subsequent IP addresses are tried, in sequence, only
if XOT is unable to establish a TCP connection with a prior address.
|
xot
dns
pattern
|
Used with DNS-based X.25 routing, this option consults the DNS to get up to six destination IP addresses using whatever lookup
pattern you choose (see the table above).
|
XOT-Keepalive Options
TCP maintains each connection using a keepalive mechanism that starts with a default time period and number of retry attempts.
If a received XOT connection is dispatched using a route with explicit keepalive parameters, those values will be used for
the TCP connection. If an XOT connection is sent using a route with explicit keepalive parameters, those values will be used
for the TCP connection.
The table below lists and describes the xot-keepalive options for the
x25
route command.
Table 7. x25 route XOT-Keepalive Options
XOT-Keepalive Option
|
Description
|
xot-keepalive-period
seconds
|
Number of seconds between keepalives for XOT connections. The default is 60 seconds.
|
xot-keepalive-tries
count
|
Number of times TCP keepalives should be sent before dropping the connection. The default value is 4 times.
|
X.25 Routing Action When a Match Is Found
If a matching route is found, the incoming call is forwarded to the next hop depending on the routing entry. If no match
is found, the call is cleared. If the route specifies a serial interface running X.25 or a broadcast interface running CMNS,
the router attempts to forward the call to that host. If the interface is not operational, the subsequent routes are checked
for forwarding to an operational interface. If the interface is operational but out of available virtual circuits, the call
is cleared. Otherwise, the expected Clear Request or Call Accepted packet is forwarded back toward the originator. A call
cannot be forwarded out the interface on which it arrived.
If the matching route specifies an XOT disposition, a TCP connection is established to port 1998 at the specified IP address,
which must be an XOT host. The Call Request packet is forwarded to the remote host, which applies its own criteria to handle
the call. If, upon receiving an XOT call on the remote host, a routing table entry is not present, or the destination is unavailable,
a Clear Request is sent back and the TCP connection is closed. Otherwise, the call is handled and the expected Clear Request
or Call Accepted packet is returned. Incoming calls received via XOT connections that match a routing entry specifying an
XOT destination are cleared. This restriction prevents Cisco routers from establishing an XOT connection to another router
that would establish yet another XOT connection.
X.25 Routing Action When No Match Is Found
If no match is found, the action taken is specific to the application. X.25 switching will clear the call if there is no
match in the routing table. X.25 PAD and PAD-related applications, such as protocol translation using X.25, will route the
call to the default X.25 interface, which is the first X.25 interface configured.
Examples
The following example uses regular expression pattern matching characters to match just the initial portion of the complete
X.25 address. Any call with a destination address beginning with 3107 that is received on an interface other than serial 0
is forwarded to serial 0.
x25 route ^3107 interface serial 0
The following Annex G example routes the X.25 call to the specified Annex G DLCI link. You must include both interface number
and DLCI number. It is this combination of both these numbers that indicates the logical X.25 interface over Frame Relay.
x25 route ^2222 interface serial 1 dlci 20
The following example prevents X.25 routing for calls that do not specify a source address:
x25 route source ^$ clear
The following example configures alternate XOT hosts for the routing entry. If the first address listed is not available,
subsequent addresses are tried until a connection is made. If no connection can be formed, the call is cleared.
x25 route ^3106$ xot 172.20.2.5 172.20.7.10 172.10.7.9
The following example clears calls that contain a 3 in the source address. The disposition keyword
clear is new.
x25 route source 3 clear
The following example clears calls that contain 33 in the source address:
x25 route source 33 clear
The following example clears a call to the destination address 9999:
x25 route ^9999$ clear
The following example specifies a route for specific source and destination addresses. (The ability to combine source and
destination patterns is a new feature.)
x25 route ^9999$ source ^333$ interface serial 0
The following example routes the call to the XOT host at the specified IP address. The disposition keyword
xot is new. In prior releases the keyword
ip was used.
x25 route ^3333$ xot 172.21.53.61
The following DNS-based X.25 routing example shows an X.25 request to the DNS. The
\0 pattern indicates that the entire incoming X.121 address is being used as the index into the DNS, which will return the required
IP address.
x25 route ^.* xot dns \0
The following example routes calls containing the destination extension address preamble 11.1234:
x25 route dest-ext ^11.1234.* interface serial 0
The following example rewrites the destination address as 9999. There must be a minimum of four 8s in the address. (8888888
will change to 9999.)
x25 route 8888 substitute-dest 9999 interface serial 0
The following example substitutes only part of the destination address. “^88” specifies the original destination string must
begin with 88. “(.*)” indicates the string can end with any number, 0-9, and can be more than one digit. “99\1” changes the
destination address to 99 plus whatever matches “.*” in the original destination address. For example, 8881 will change to
9981.
x25 route ^88(.*) substitute-dest 99\1 interface serial 0
The following example substitutes only part of the destination address and also removes a specified number of digits from
the address. “^88” specifies the original destination string must begin with 88. “(..)” matches any two digits. “(.*)” specifies
the string can end with any number, 0-9, and can occur zero or more times. Thus any address that starts with 88 and has four
or more digits will be rewritten to start with 99 and omit the third and fourth digits. For example, 881234 will change to
9934.
x25 route ^88(..)(.*) substitute-dest 99\2 interface serial 0
The following example looks for a specified destination address and changes the source address. “9999” is the destination
address. The original source address changes to “2222” because the call is made to the destination 9999.
x25 route ^9999$ substitute-source 2222 interface serial 0
The following example shows insertions and removals in the X.121 address as calls from the X.25 network get routed to X.25
devices. For a call coming from interface serial 0 with a called address starting with 2, the 2 is stripped off the called
address and the call forwarded to serial interface 2. For a call coming from interface serial 2 with any calling address,
a 2 will be inserted to its calling address and the call forwarded to serial interface 0.
x25 route ^02(.*) input-interface serial0 substitute-dest \1 interface serial2
x25 route input-interface serial2 source .* substitute-source 2\0 interface serial0
The following example shows how to insert the X.121 address to forward calls among local X.25 devices. For a call on interface
1 with a called address of 0255 and any calling address, the call is forwarded to serial interface 2 with a called address
of 55 and a calling address inserted with 01. The
continue keyword continues address substitution without address forwarding.
x25 route input-interface serial1 source .* substitute-source 01\0 continue
x25 route input-interface serial2 source .* substitute-source 02\0 continue
x25 route ^01(.*) substitute-dest \1 interface serial1
x25 route ^02(.*) substitute-dest \1 interface serial2
The following example rewrites the source address based on the source address. “9999” matches any destination address with
four consecutive 9s. “^...(.*)” matches any source address with at least three digits; the command removes the first three
digits and rewrites any digits after the first three as the new source address. For example, a call to 9999 from the source
address 77721 will be forwarded using the calling address 21 and the called address 9999.
x25 route 9999 source ^...(.*) substitute-source \1 interface serial 0
The following example adds a digit to the source and destination addresses patterns. “09990” is the destination address pattern.
The source can be any address. “9\0” specifies to add a leading 9 to the destination address pattern. “3\0” specifies to add
a leading 3 to the source address pattern. For example, a call using source 03330 and destination 09990 will change to 303330
and 909990, respectively.
x25 route 09990 source .* substitute-dest 9\0 substitute-source 3\0 interface serial 0