Table Of Contents
Calling Address Insertion and Removal Based on Input Interface
Related Features and Technologies
Configuring an Input Interface-Based X.121 Routing Statement
Verifying Interface-Based Calling Address Insertion
Inserting and Removing X.121 Addresses as Calls Are Routed
Forwarding Calls Using the continue Keyword
Calling Address Insertion and Removal Based on Input Interface
This feature module describes the Calling Address Insertion and Removal feature, an enhancement to the Cisco IOS x25 route command, in the following sections:
Feature Overview
This feature module describes a modification to the x25 route command that allows interface-based insertion and removal of the X.121 address in the X.25 routing table. This capability allows Cisco routers running X.25 to conform to the French telco TRANSPAC STUR standard, which specifies that X.25 data circuit-terminating equipment (DCE) should not provide the X.25 calling address, but that instead it should be inserted by X.25 data terminal equipment (DTE) based on interface.
Benefits
A large number of European X.25 network administrators will be upgrading their current X.25 DTE local devices to Cisco routers. The Calling Address Insertion and Removal feature was designed for all routers performing X.25 switching and requiring that an X.121 address be inserted or removed by X.25 DTE based on interface.
The Calling Address Insertion and Removal feature has been a Cisco IOS supported feature for several releases. This new feature will enhance the current support by adding interface-based insertion and removal of the X.121 address.
Restrictions
This feature does not support X.25 over TCP (XOT) to X.25 routing using the input-interface keyword introduced by the Calling Address Insertion and Removal.
Related Features and Technologies
The Calling Address Insertion and Removal feature is related to the existing x25 route command, which is documented in the Wide-Area Networking Configuration Guide and the Wide-Area Networking Command Reference publications.
Supported Platforms
This feature runs on the following platforms that support Cisco IOS Release 12.0(3)T running a feature set supporting X.25 functionality:
•
Cisco 1000 series
•
Cisco 1200 series
•
Cisco 1600 series
•
Cisco 2500 series
•
Cisco 2600 series
•
Cisco 3000/IGS series
•
Cisco 3600 series
•
Cisco 3800 series
•
Cisco 4000 series (Cisco 4000, 4000-M, 4500, 4500-M, 4700, 4700-M)
•
Cisco 7000 series
•
Cisco 7200 series
•
Cisco 7500 series
Supported MIBs and RFCs
MIBs
No new or modified MIBs are supported by this feature.
For descriptions of supported MIBs and how to use MIBs, see Cisco's MIB web site on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
RFCs
None
Configuration Task
Perform the following task to configure the Calling Address Insertion and Removal feature:
•
Configuring an Input Interface-Based X.121 Routing Statement
Configuring an Input Interface-Based X.121 Routing Statement
Use the following command syntax to insert an input interface-based route statement into the routing table, beginning in global configuration command mode:
The continue keyword is optional. It performs address substitution without address forwarding. That is, it executes the address substitution instructions in each statement but then stops short of actual call switching, thereby postponing the actual switching process until a matching route statement with a disposition other than continue is reached. The continue keyword is most useful when you switch calls among four or more routes. If your network has three or fewer routes, the continue keyword will not save any steps.
See the "Configuration Examples" section for examples of entering these statements.
Verifying Interface-Based Calling Address Insertion
To display the routes assigned by the x25 route command, use the show x25 route EXEC command. A sample display follows.
Router# show x25 route# Match Substitute Route to1 dest ^01 input-int Serial0 Sub-dest \1 Sub-source 00\0Serial1Configuration Examples
This section provides the following configuration examples:
•
Inserting and Removing X.121 Addresses as Calls Are Routed
•
Forwarding Calls Using the continue Keyword
Inserting and Removing X.121 Addresses as Calls Are Routed
The following example shows insertions and removals in the X.121address as calls from the X.25 network get routed to X.25 devices. shows the topology for this example.
Figure 1 Typical X.25 Network Configuration
$ Example Configuration
x25 route ^2(.*) input-interface serial1 substitute-dest \1 interface serial2x25 route input-interface serial2 source .* substitute-source 2\0 interface serial0For a call coming from interface serial 1 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.
Forwarding Calls Using the continue Keyword
This section provides two examples of the same configuration. Both examples show how to forward calls among a number of local X.25 devices; however, the second example shows how the continue keyword reduces the number of routing statements. (Keep in mind that the continue keyword is most useful when you will be switching calls among four or more routes.)
illustrates the network topology for both examples.
Figure 2 X.25 Network with Multiple Interfaces
Example 1 X.25 Routing Statements Before continue Keyword
x25 route ^02 input-interface serial 1 substitute-source 01\0 substitute-dest \1 interface serial 2x25 route ^03 input-interface serial 1 substitute-source 01\0 substitute-dest \1 interface serial 3x25 route ^04 input-interface serial 1 substitute-source 01\0 substitute-dest \1 interface serial 4x25 route ^05 input-interface serial 1 substitute-source 01\0 substitute-dest \1 interface serial 5!x25 route ^01 input-interface serial 2 substitute-source 02\0 substitute-dest \1 interface serial 1x25 route ^03 input-interface serial 2 substitute-source 02\0 substitute-dest \1 interface serial 3x25 route ^04 input-interface serial 2 substitute-source 02\0 substitute-dest \1 interface serial 4x25 route ^05 input-interface serial 2 substitute-source 02\0 substitute-dest \1 interface serial 5!x25 route ^02 input-interface serial 3 substitute-source 03\0 substitute-dest \1 interface serial 2x25 route ^01 input-interface serial 3 substitute-source 03\0 substitute-dest \1 interface serial 1x25 route ^04 input-interface serial 3 substitute-source 03\0 substitute-dest \1 interface serial 4x25 route ^05 input-interface serial 3 substitute-source 03\0 substitute-dest \1 interface serial 5!x25 route ^02 input-interface serial 4 substitute-source 04\0 substitute-dest \1 interface serial 2x25 route ^03 input-interface serial 4 substitute-source 04\0 substitute-dest \1 interface serial 3x25 route ^01 input-interface serial 4 substitute-source 04\0 substitute-dest \1 interface serial 1x25 route ^05 input-interface serial 4 substitute-source 04\0 substitute-dest \1 interface serial 5!x25 route ^02 input-interface serial 5 substitute-source 05\0 substitute-dest \1 interface serial 2x25 route ^03 input-interface serial 5 substitute-source 05\0 substitute-dest \1 interface serial 3x25 route ^04 input-interface serial 5 substitute-source 05\0 substitute-dest \1 interface serial 4x25 route ^01 input-interface serial 5 substitute-source 05\0 substitute-dest \1 interface serial 1Example 2 Same X.25 Network Configuration with continue Keyword
x25 route input-interface serial 1 source .* substitute-source 01\0 continuex25 route input-interface serial 2 source .* substitute-source 02\0 continuex25 route input-interface serial 3 source .* substitute-source 03\0 continuex25 route input-interface serial 4 source .* substitute-source 04\0 continuex25 route input-interface serial 5 source .* substitute-source 05\0 continuex25 route ^01(.*) substitute-dest \1 interface serial 1x25 route ^02(.*) substitute-dest \1 interface serial 2x25 route ^03(.*) substitute-dest \1 interface serial 3x25 route ^04(.*) substitute-dest \1 interface serial 4x25 route ^05(.*) substitute-dest \1 interface serial 5Command Reference
This section documents the modified x25 route command. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.
x25 route
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 an appropriate form of the x25 route global configuration command. To remove an entry from the table, use the no form of the command.
x25 route [#position] [selection] [modification] disposition [xot-keepalive]
no x25 route [#position] [selection] [modification] dispositionSyntax Description
Default
No entry is created in the X.25 routing table.
Command Mode
Global configuration
Command History
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 of the following selection options can be used to determine the route:
•
Called X.121 network interface address (destination host address)
•
Calling X.121 network interface address (source host address)
•
Called address extension (destination NSAP address)
•
Call user data (CUD) field for an X.25 packet
•
Input interface from which the call was received (input-interface option)
lists the selection options for the x25 route command. At least one selection or modification option must be specified.
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 perform prefix matching on the X.121 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.
lists the modification options for the x25 route command. At least one selection or modification option must be specified.
Note
As of Cisco IOS Release 11.3, the substitute-source and substitute-dest options also apply to PAD calls.
•
Source address. 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.
•
Destination 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.
See , , and respectively, for summaries of pattern matching, character matching, and pattern rewrite 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 Dial Solutions Command Reference.
Table 3 Pattern Matching for X.25 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
1 Precede the question mark with Ctrl-V to prevent the question mark from being interpreted as a help command.
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, the source IP address of a TCP connection 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 specified route entries and to carry whatever selection or modification options you may have just specified on the cumulatively held route entries. The route table lookup terminates when a matching route is found among the remaining entries in the routing table. The continue disposition must be the last option on the x25 route command line.
lists the disposition options for the x25 route command. You must select one of these options.
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.
lists and describes the xot-keepalive options for the x25 route command.
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 message is transmitted 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, when the remote host receives an XOT call, 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.
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 0The 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 20The following example prevents X.25 routing for calls that do not specify a source address:
x25 route source ^$ clearThe 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.9The following example clears calls that contain a 3 in the source address. The disposition keyword clear is new:
x25 route source 3 clearThe following example clears calls that contain two consecutive 3s in the source address:
x25 route source 33 clearThe following example clears a call to the destination address 9999:
x25 route ^9999$ clearThe following example specifies a route for specific source and destination addresses. (This example illustrates the ability to combine source and destination patterns.)
x25 route ^9999$ source ^333$ interface serial 0The 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.61The 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 \0The following example routes calls containing the destination extension address preamble 11.1234:
x25 route dest-ext ^11.1234.* interface serial 0The 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 0The 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 0The 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 0The 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 0The 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 serial2x25 route input-interface serial2 source .* substitute-source 2\0 interface serial0The 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 continuex25 route input-interface serial2 source .* substitute-source 02\0 continuex25 route ^01(.*) substitute-dest \1 interface serial1x25 route ^02(.*) substitute-dest \1 interface serial2The 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 0The 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 0Related Commands
Glossary
called address—X.25 address field that contains the identity and the location of the addressee. The address fields, present in the call packet, are used to identify two communicating parties. They are connected when the X.25 virtual circuit is established.
calling address—X.25 address field that identifies the originator of the call. The address fields, present in the call packet, are used to identify two communicating parties. They are connected when the X.25 virtual circuit is established.
data circuit-terminating equipment—See DCE.
data terminal equipment—See DTE.
DCE—data circuit-terminating equipment (ITU-T expansion). Devices and connections of a communications network that comprise the network end of the user-to-network interface. The DCE provides a physical connection to the network, forwards traffic, and provides a clocking signal used to synchronize data transmission between DCE and DTE devices.
DTE—data terminal equipment. Device at the user end of a user-network interface that serves as a data source, destination, or both. DTE connects to a data network through a DCE device and typically uses clocking signals generated by the DCE.
International Telecommunication Union Telecommunication Standardization Sector—See ITU-T.
ITU-T—International Telecommunication Union Telecommunication Standardization Sector. International body that develops worldwide standards for telecommunications technologies. The ITU-T carries out the functions of the former CCITT.
STUR—French standard: Technical specification and utilization of networks.
telco—Abbreviation for telephone company.
TRANSPAC—Major packet data network run by France Telecom.
X.121—ITU-T standard describing an addressing scheme used in X.25 networks. X.121 addresses are sometimes called International Data Numbers (IDNs).
X.25—ITU-T standard that defines how connections between DTE and DCE are maintained for remote terminal access and computer communications in public data networks (PDNs). X.25 specifies Link Access Procedure, Balanced (LAPB), a data link layer protocol, and packet level protocol (PLP), a network layer protocol.
XOT—Abbreviation for X.25 over TCP.



