|
This chapter lists dial backup and dial-on-demand routing (DDR) commands, explains command syntax, and provides usage guidelines.
Dial backup provides protection against WAN downtime by allowing you to configure a backup serial line circuit-switched connection.
DDR provides network connections across the Public Switched Telephone Network (PSTN). Traditionally, networks have been interconnected using dedicated lines for WAN connections. With DDR, you can use modems to establish low-volume, periodic network connections over public circuit-switched networks.
For information about configuring DDR and configuration examples, refer to the "Configuring Dial-on-Demand Routing" chapter in the Access and Communication Servers Configuration Guide.
Use the backup delay interface configuration command to define how much time should elapse before a secondary line status changes after a primary line status has changed. Use the no backup delay command to return to the default, which means as soon as the primary fails, the secondary is immediately brought up without delay.
backup delay {enable-delay | never} {disable-delay | never}enable-delay | Number of seconds that elapse after the primary line goes down before the communication server activates the secondary line. |
disable-delay | Number of seconds that elapse after the primary line goes up before the communication server deactivates the secondary line. |
never | Prevents the secondary line from being activated or deactivated. |
0 seconds
Interface configuration
For environments in which there are spurious signal disruptions that might appear as intermittent lost carrier signals, it is recommended that some delay be enabled before activating and deactivating a secondary line.
The following example sets a 10-second delay on deactivating the secondary line (serial interface 0) however, the line is activated immediately.
interface serial 0
backup delay 0 10
Use the backup interface interface configuration command to configure the serial interface as a secondary or dial backup line. Use the no backup interface command with the appropriate serial port designation to turn this feature off.
backup interface type numbertype | Interface type. This is always serial. |
number | Interface number. |
Disabled
Interface configuration
The interface you define with this command can only back up one interface.
The following example sets serial interface 1 as the backup line:
interface async 0
backup interface serial 1
Use the backup load interface configuration command to set traffic load threshold for dial backup service. Use the no backup command to remove this setting.
backup load {enable-threshold | never} {disable-load | never}enable-threshold | Percentage of the primary line's available bandwidth. |
disable-load | Percentage of the primary line's available bandwidth. |
never | Sets the secondary line to never be activated sue to traffic load. |
No traffic load threshold is set for dial backup.
Interface configuration
When the transmitted or received load on the primary line is greater than the value assigned to the enable-threshold argument, the secondary line is enabled.
The secondary line is disabled when one of the following conditions occur:
If the never keyword is used instead of an enable-threshold value, the secondary line is never activated because of a traffic load. If the never keyword is used instead of a disable-load argument, the secondary line is never activated because of traffic load.
The following example sets the traffic load threshold to 60 percent of the primary line for serial interface 0. When that load is exceeded, the secondary line is activated and will not be deactivated until the combined load is less than 5 percent of the primary bandwidth.
interface serial 0
backup load 60 5
Use the chat-script global configuration command to create a script that will place a call over a modem. Use the no form of this command to disable the specified chat script.
chat-script script-name expect-send...script-name | Name of the chat script |
expect-send... | Content of the chat script |
No chat scripts are configured.
Global configuration
Chat scripts are used in dial-on-demand routing to give commands to dial a modem and commands to log onto remote systems. The defined script will be used to place a call over a modem.
Some characteristics of chat scripts are as follows:
A string within quotation marks (" ") is treated as a single entity.
It is recommended that one chat script (a "modem" chat script) be written for placing a call and another chat script (a "system" or "login" chat script) be written to log onto remote systems, where required.
A suggested chat script naming convention is as follows:
vendor-type-modulationIn other words, the syntax of the chat-script command becomes the following:
chat-script vendor-type-modulation expect-send...For example, if you have a Telebit t3000 modem that uses V.32bis modulation, you would name your chat script as follows:
telebit-t3000-v32bis
For example, the chat-script command could become the following:
chat-script telebit-t3000-v32bis ABORT ERROR ABORT BUSY ABORT "NO ANSWER" "" "AT H" OK "AT DT \T" DIALING \c TIMEOUT 30 CONNECT \c
For example, you could have script names like the following:
Adhering to this naming convention allows you to use partial chat script names with regular expressions to specify a range of chat scripts that can be used. This is particularly useful for dialer rotary groups and is explained further in the next section.
Chat scripts are in the form expect send..., where the send string following the hyphen is executed if the preceding expect string fails. Each send string is followed by a return unless it ends with \c. ^x gets translated into the appropriate control character, and \x gets translated into x if \x is not one of the special sequences listed in Table 7-1.
See the book entitled Managing uucp and Usenet by Tim O'Reilly and Grace Todino for more information about chat scripts.
The escape sequences used in chat scripts are listed in Table 7-1.
Escape Sequence | Description |
---|---|
" "
| Expect a null string. |
EOT | Send an end-of-transmission character. |
BREAK | Cause a BREAK. This is sometimes simulated using line speed changes and null characters. May not work on all systems. |
\c | Suppress newline at the end of the send string. |
\d | Delay for two seconds. |
\K | Insert a BREAK. |
\n | Send a newline or linefeed character. |
\p | Pause for 1/4 second |
\r | Send a return. |
\s | Send a space character. |
\t | Send a table character |
\\ | Send a backslash (\) character. |
\T | Replaced by phone number. |
\q | Reserved, not yet used |
Sample supported expect-send pairs are described in Table 7-2.
Expect and Send Pair | Function |
---|---|
ABORT string | Starts scanning for the string in the input and if it is seen this indicates that the chat script has failed. |
TIMEOUT time | Sets the time to wait for input, in seconds. The default is five seconds. |
As an example of how expect-send pairs function, if the modem reports BUSY when the number is busy, you can indicate that you want the attempt stopped at this point by including ABORT BUSY in your chat script.
ABORT sink instead of ABORT ERROR means that the system will abort when it sees sink instead of when it sees ERROR.
After the connection is established and return is entered, a second RETURN is often required before the prompt appears.
You might include the following as part of your chat script:
ssword:-/r-sswrod
This means that after the connection is established, you want "ssword" to be displayed. If it is not displayed, send a RETURN again after the timeout period.
The following example shows the chat-script command being used to create a chat script named t3000:
chat-script t3000 ABORT ERROR ABORT BUSY ABORT "NO ANSWER" "" "AT H" OK "AT DT \T" DIALING \c TIMEOUT 30 CONNECT \c
To enable DDR on an interface and specify that the serial line is connected by non-V.25bis modems using EIA signaling only (the data terminal ready [DTR] signal), use the dialer dtr interface configuration command. To disable dial-on-demand routing for the interface, use the no form of this command.
dialer dtrThis command has no keywords or arguments.
This command has no default values.
Interface configuration
A serial interface configured for DTR dialing can place calls only; it cannot accept them.
When an interface is configured for DTR dialing, the remote interface can be configured for in-band dialing or not configured for anything but encapsulation, depending on the desired behavior. If the remote interface is expected to terminate a call when no traffic is transmitted for some time, it must be configured for in-band dialing (along with access lists and a dummy dialer string). If the remote interface is purely passive, no configuration is necessary.
Hunt group leaders cannot be configured for DTR dialing.
The dialer map and dialer string commands have no effect on DTR dialers.
The following example enables DDR and specifies DTR dialing on an interface:
dialer dtr
dialer in-band
dialer map
dialer string
Use the dialer enable-timeout interface configuration command to set the length of time an interface stays down after a call has completed or failed, before it is available to dial again. Use the no dialer enable-timeout command to reset the enable timeout value to the default.
dialer enable-timeout secondsseconds | Number of seconds that the communication server waits before the next call can occur on the specific interface. Acceptable values are positive, nonzero integers. |
15 seconds
Interface configuration
This command applies to inbound and outbound calls.
If your phone lines are busy or down, you might want to enforce a certain period of time before the system repeats an attempt to make a connection with a remote site. Configuring this timeout can prevent outgoing lines and switching equipment from being needlessly loaded down.
The following example specifies a waiting period of 30 seconds on async interface 1:
interface async 1
dialer enable-timeout 30
Use the dialer fast-idle interface configuration command to specify the amount of time that a line for which there is contention will stay idle before the line is disconnected and the competing call is placed. Use the no dialer fast-idle command to reset the timeout period to the default.
dialer fast-idle secondsseconds | Idle time, in seconds, that must occur on an interface before the line is disconnected. Acceptable values are positive, nonzero integers. |
20 seconds
Interface configuration
The fast idle timer is activated if there is contention for a line. In other words, if a line is busy, a packet for a different next hop address is received, and the busy line is required to send the competing packet, the dialer fast idle timer is activated.
If the line becomes idle for the configured length of time, the current call is disconnected immediately and the new call is placed.
If the line has not yet been idle as long as the fast idle timer, the packet is dropped because there is no way to get through to the destination. After the packet is dropped, the fast idle timer remains active and the current call is disconnected as soon as it has been idle for as long as the fast idle timeout.
If, in the meanwhile, there is another packet transmitted to the currently connected destination, and it is classified as interesting, the fast idle timer will be restarted.
This command applies to inbound and outbound calls.
Combining this command with the dialer idle-timeout command allows you to configure lines to stay up for a longer period of time when there is not contention, but to be reused more quickly when there are not enough lines for the current demand.
The following example specifies a fast idle timeout of 35 seconds on async interface 1:
interface async 1
dialer fast-idle 35
dialer idle-timeout
dialer map
Use the dialer-group interface configuration command to control access. You must specify the number of a dialer access group to which a specific interface is assigned. Use the no dialer-group command to remove an interface from the specified dialer access group.
dialer-group group-numbergroup-number | Number of the dialer access group to which the specific interface belongs. This access group is defined using the dialer-list command. Acceptable values are nonzero, positive integers between 1 and 10. |
No dialer access group is specified.
Interface configuration
An interface can only be associated with a single dialer access group; multiple dialer-group assignment is not allowed. A second dialer access group assignment will override the first. A dialer access group is defined with the dialer-group command. The dialer-list command associates an access list with a dialer access group.
The following example specifies dialer access group number 1.
If there is a dialer-list command associated with the dialer group 1, the destination address of the packet is evaluated against the access list specified in the associated dialer-list command. If it passes, a call is initiated (if no connection has already been established) or the idle timer is reset (if a call is currently connected).
interface async 1
dialer-group 1
dialer-list
To allow "interesting" outgoing packets to be queued until a modem connection is established, use the dialer hold-queue interface configuration command.
dialer hold-queue packetspackets | Number of packets, in the range 0 to 100 packets. This argument is optional with the no form of this command. |
The outgoing packet queue is disabled.
Interface configuration
An dialer hold queue can be configured on any type of dialer, including in-band synchronous, asynchronous, and DTR dialers. Rotary group leaders can be configured with a dialer hold queue. If a rotary group leader is configured with a hold queue, all members of the group will be configured with a dialer hold queue and no individual member's hold queue can be altered.
The following command configures a dialer hold queue to held 10 packets:
dialer hold-queue 10
dialer-group
Use the dialer idle-timeout interface configuration command to specify the idle time before the line is disconnected. Use the no dialer idle-timeout command to reset the idle timeout to the default.
dialer idle-timeout secondsseconds | Idle time, in seconds, that must occur on an interface before the line is disconnected. Acceptable values are positive, nonzero integers. |
120 seconds
Interface configuration
This command is used on lines for which there is no contention. When contention occurs, the dialer fast-idle command is activated. For example, when a busy line is requested to send another packet to a different destination than it is currently connected to, line contention occurs and the dialer fast-idle command is activated.
This command applies to inbound and outbound calls. For example, if a receiving system needs to make outgoing calls, you might configure it with a short idle timeout.
The following example specifies of an idle timeout of 3 minutes (180 seconds) on async interface 1:
interface async 1
dialer idle-timeout 180
dialer fast-idle
Use the dialer in-band interface configuration command to specify that DDR is to be supported. The dialer in-band command specifies that chat scripts will be used on asynchronous interfaces and V.25bis will be used on synchronous interfaces. Use the no dialer in-band command to disable dial-on-demand routing for the interface.
dialer in-band [no-parity | odd-parity]no-parity | (Optional) No parity is applied to the dialer string that is sent out to the modem on synchronous interfaces. |
odd-parity | (Optional) Dialed number will have odd parity (7-bit ASCII characters with the eighth bit the parity bit) on synchronous interfaces. |
Disabled. No parity is applied to the dialer string.
Interface configuration
The parity keywords do not apply to asynchronous interfaces.
The parity setting applies to the dialer string that is sent out to the modem. If you do not specify a parity, or if you specify no parity, no parity is applied to the output number. If odd parity is configured, the dialed number will have odd parity (7-bit ASCII characters with the eighth bit the parity bit.)
If an interface only accepts calls and does not place calls, the dialer in-band interface configuration command is the only command needed to configure it. If an interface is configured in this manner, with no dialer rotary groups, the idle timer never disconnects the line. It is up to the remote end (the end that placed the call) to disconnect the line based on idle time.
The following example specifies DDR for async interface 1:
interface async 1
dialer in-band
dialer map
dialer string
To configure bandwidth on demand by setting the maximum load before the dialer places another call to a destination, use the dialer load-threshold interface configuration command. To disable the setting, use the no form of this command.
dialer load-threshold loadload | Specifies the interface load beyond which the dialer will initiate another call to the destination. This argument is a number between 1 and 255. |
Disabled
Interface configuration
This command applies to dialer rotary groups only.
If a packet is transmitted on a dialer interface, there is a call established, and the transmit load on the interface exceeds the specified load threshold, the dialer will initiate another call to the destination. The dialer will make additional calls as necessary to expand bandwidth but will never interrupt an existing call to another destination.
The argument load is the calculated weighted average load value for the interface; 1 is unloaded, 255 is fully loaded. The load is calculated by the system dynamically, based on bandwidth. You must set the bandwidth for an interface in kilobits per second, using the bandwidth command.
The load calculation determines how much of the total bandwidth you are using, where 255 means that you are using one hundred percent of the bandwidth.
See the interface configuration chapter for a full description of the bandwidth command.
In the following example, if the load to a particular destination on an interface in dialer rotary group 5 exceeds interface load 200, the dialer will initiate another call to the destination.
interface dialer 5
dialer load-threshold 200
A dagger (+) indicates that the command is documented in another chapter.
bandwidth +
dialer rotary-group
interface dialer
To configure a serial interface to call one or multiple sites, use a form of the dialer map interface configuration command; all options are shown in the first form of the command. To delete a particular dialer map entry, use a no form of this command.
dialer map protocol next-hop-address [name hostname] [dial-string]protocol | Protocol keyword. See Table 7-3 in the "Usage Guidelines" section for a list of supported protocols and their keywords. |
next-hop-address | Protocol address used to match against addresses to which packets are destined. |
name | (Optional) Indicates the remote system with which the local communication server communicates. |
hostname | (Optional) Case-sensitive name or ID of the remote device (usually the host name). |
dial-string | Telephone number sent to the dialing device when it sees packets with the specified next-hop-address that matches the access lists defined. |
broadcast | (Optional) Indicates that broadcasts should be forwarded to this protocol address. |
modem-script | (Optional) Indicates the modem script to be used for the connection (for asynchronous interfaces). |
modem-regexp | (Optional) Regular expression to which a modem script is matched (for asynchronous interfaces). |
system-script | (Optional) Indicates the system script to be used for the connection (for asynchronous interfaces). |
system-regexp | (Optional) Regular expression to which a system script is matched (for asynchronous interfaces). |
No dialer map is configured. The default speed is 64 kbps. No scripts are defined for placing calls.
Interface configuration
Table 7-3 lists the protocols supported by the dialer map command.
Keyword | Protocol |
---|---|
appletalk | AppleTalk |
ip | IP |
ipx | Novell IPX |
novell | Novell IPX |
snapshot | Snapshot Routing |
Use the dialer map command with the name keyword in configurations in which remote sites are calling a central site, but the central site is not calling the remote site. With this command, the local device authenticates the remote site using CHAP or PAP, which transmits the remote site's host name to the central site. The central site then uses this name to authenticate the caller, and uses the next hop address to transmit packets to the remote site. Because no dialer string is specified, the central site cannot call the remote router.
Specify chat scripts for a physical interface that is not part of a dialer rotary group if no chat script is specified for the line or if an additional (system) chat script is required for logon to the remote system.
Configure a dialer map command for each remote destination for that interface.
You do not need to specify a system script under the following conditions:
If you adhere to the chat script naming convention suggested in this publication, use the form modem-script *modulation-type in the dialer map command; for example, ".*-v32bis." This convention allows you to specify the modulation type that is best for the system you are calling, and allows the modem type for the line to be specified by the modem chat-script command.
The period (.) is a wildcard that matches any character, and the asterisk (*) indicates that the preceding character can be duplicated multiple times. For more information about regular expressions, see the "Regular Expressions" appendix.
If the modem-script keyword is specified in the dialer map interface configuration command and a modem script is specified in the modem chat-script line configuration command, the first chat script that matches both is used. If no script matches both, an error message is logged and the connection is not established. If no modem chat script is specified for the line, the first chat script (that is, the one specified using the chat-script global configuration command) that matches the modem script regular expression is used. If a system script is specified in the dialer map interface configuration command, the first chat script to match the regular expression is used.
The modem-script and system-script keywords and corresponding arguments are optional. They are ignored on synchronous interfaces.
If you have named your chat script according to the type of modem and modulation (for example, codex-v32 or telebit v32), your regular expression might be codex-.* in the modem chat-script line configuration command, and *-v32bis in the modem script specified in the dialer map command for a system that you wish to connect to using v32bis modulation.
The modem lines (specified by the argument regexp in the modem chat-script line configuration command) is set to one of the following regular expressions to match patterns, depending on the kind of modem you have:
With an interface configured for CHAP or PAP with the name hostname keyword and argument pair, the local device authenticates the remote site using CHAP, which transmits the remote site's host name to the central site. The central site then uses this name to authenticate the caller and uses the next hop address to transmit packets to the remote site. Because no dialer string is specified, the central site cannot call the remote router.
The following example shows a dialing chat script and a login chat script. The dialer in-band command enables DDR on asynchronous interface 10. The dialer map command searches for the specified dialing and login scripts, and then uses those scripts to dial 96837890.
chat-script dial ABORT ERROR "" "AT Z" OK "ATDT \T" TIMEOUT 30 CONNECT \c
chat-script login ABORT invalid TIMEOUT 15 name: billw word: wewpass ">"
"slip default"
interface async 10
dialer in-band
dialer map ip 10.55.0.1 modem-script dial system-script login 96837890
In the following example, the remote site is calling the central site, and the central site is calling the remote site. The central router can use the name ZZZ to authenticate the remote router when they connect, and also can use the dialer string 14155553434 to call the remote router if it is not currently connected.
interface async 1
dialer map ip 131.108.2.5 name ZZZ 14155553434
In the following example, a remote site is calling a central site, but the central site is not calling the remote site. The local device uses CHAP to authenticate the site that is calling. CHAP causes the remote site's name, YYY, to be transmitted to the site it is calling. The central site then uses this name to authenticate the remote site.
interface async 1
encapsulation ppp
ppp authentication chap
dialer map ip 131.108.2.5 name YYY
A dagger (+) indicates that the command is documented in another chapter.
chat-script
ppp authentication chap +
ppp authentication pap +
username
Use the dialer map modem-script system-script interface configuration command to place a call to any of the following:
Use the no form of this command to delete the mapping.
dialer map protocol next-hop-address [modem-script modem-regexp] [system-scriptprotocol | Name of the protocol |
next-hop-address | Protocol address used to match against addresses to which packets are destined |
modem-script | (Optional) Modem script to be used for the connection (for asynchronous interfaces) |
modem-regexp | (Optional) Regular expression to which a modem script will be matched (for asynchronous interfaces) |
system-script | (Optional) System script to be used for the connection (for asynchronous interfaces) |
system-regexp | (Optional) Regular expression to which a system script will be matched (for asynchronous interfaces) |
dial-string | Telephone number sent to the dialing device when it sees packets with the specified next-hop-address that matches the access lists defined |
No scripts are defined for placing calls.
Interface configuration
Specify chat scripts for a physical interface that is not part of a dialer rotary group if no chat script is specified for the line or an additional (system) chat script is required to log in to the remote system.
Configure a dialer map command for each remote destination for the specified interface.
You do not need to specify a system script if either of the following is true:
If you adhered to the chat script naming convention described earlier in this chapter, use the form [modem-script *modulation-type] in the dialer map command, as in as in ".*-v32bis." This allows you to specify the modulation type that is best for the system you are calling, and allows the modem type for the line to be specified by the modem chat-script command.
The expression "." is a wildcard that matches any character, and the expression "*" indicates that the preceding character can be duplicated multiple times. For more information about regular expressions, see the "Regular Expressions" appendix in this manual.
If there is a modem script specified in the dialer map interface configuration command and a modem script specified in the modem chat-script line configuration command, the first chat script that matches both will be used. If no script matches both, an error message is logged and the connection is not established. If there is no modem chat script specified for the line, the first chat script (that is, the one specified using the chat-script global configuration command) that matches the modem script regular expression will be used. If there is a system script specified in the dialer map interface configuration command, the first chat script to match the regular expression will be used.
The modem-script and system-script keywords and corresponding arguments are optional. They are ignored on synchronous interfaces.
If you have named your chat script according to the type of modem and modulation (for example, codex-v32 or telebit v32), your regular expression could be codex-.* in the modem chat-script line configuration command, and *-v32bis in the modem script specified in the dialer map command for a system that you wish to connect to using v32bis modulation.
The modem lines (specified by the argument regexp in the modem chat-script line configuration command) would be set to one of the following regular expressions to match patterns, depending on what kind of modem you have:
The following example shows a dialing chat script and a login chat script. The dialer in-band command enables DDR on asynchronous interface 10 and the dialer map command looks for the specified dialing and the login scripts, and then uses those scripts to dial 96837890.
chat-script dial ABORT ERROR "" "AT Z" OK "ATDT \T" TIMEOUT 30 CONNECT \c
chat-script login ABORT invalid TIMEOUT 15 name: billw word: wewpass ">"
"slip default"
interface async 10
dialer in-band
dialer map ip 10.55.0.1 modem-script dial system-script login 96837890
chat-script
modem chat-script
Use the dialer map modem-script system-script name interface configuration command to configure a serial interface to call multiple sites and to authenticate calls from multiple sites. Use the no form of this command to delete a particular dialer map entry.
dialer map protocol next-hop-address [modem-script modem-regexp] [system-scriptprotocol | Name of the protocol |
next-hop-address | Protocol address used to match against addresses to which packets are destined |
modem-script | (Optional) Modem script to be used for the connection (for asynchronous interfaces) |
modem-regexp | (Optional) Regular expression to which a modem script will be matched (for asynchronous interfaces) |
system-script | (Optional) System script to be used for the connection (for asynchronous interfaces) |
system-regexp | (Optional) Regular expression to which a system script will be matched for asynchronous interfaces) |
name | Remote system with which the local communication server communicates |
hostname | Name of the remote device (usually the host name) |
dial-string | Telephone number sent to the dialing device when it sees packets with the specified next-hop-address that matches the access lists defined |
No scripts are defined for placing calls
Interface configuration
With an interface configured for CHAP and the name hostname keyword argument pair, the local device will authenticate the remote site using CHAP, which will transmit the remote site's host name to the central site. The central site will then use this name to authenticate the caller, and will use the next hop address to transmit packets to the remote site. Because no dialer string is specified, the central site cannot call the remote communication server.
Specify chat scripts for a physical interface that is not part of a dialer rotary group if no chat script is specified for the line or an additional (system) chat script is required to log in to the remote system.
Configure a dialer map command for each remote destination for the specified interface.
You do not need to specify a system script if either of the following is true:
If you adhered to the chat script naming convention described earlier in this chapter, use the form [modem-script *modulation-type] in the dialer map command, as in as in ".*-v32bis." This allows you to specify the modulation type that is best for the system you are calling, and allows the modem type for the line to be specified by the modem chat-script command.
The expression "." is a wildcard that matches any character, and the expression "*" indicates that the preceding character can be duplicated multiple times. For more information about regular expressions, refer to the "Regular Expressions" appendix in this publication.
If there is a modem script specified in the dialer map interface configuration command and a modem script specified in the modem chat-script line configuration command, the first chat script that matches both will be used. If no script matches both, an error message is logged and the connection is not established. If there is no modem chat script specified for the line, the first chat script (that is, the one specified using the chat-script global configuration command) that matches the modem script regular expression will be used. If there is a system script specified in the dialer map interface configuration command, the first chat script to match the regular expression will be used.
The modem-script and system-script keywords and corresponding arguments are optional. They are ignored on synchronous interfaces.
If you have named your chat script according to the type of modem and modulation (for example, codex-v32 or telebit v32), your regular expression could be codex-.* in the modem chat-script line configuration command, and *-v32bis in the modem script specified in the dialer map command for a system that you wish to connect to using v32bis modulation.
The modem lines (specified by the argument regexp in the modem chat-script line configuration command) would be set to one of the following regular expressions to match patterns, depending on what kind of modem you have:
The following example shows a dialing chat script and a login chat script. The dialer in-band command enables DDR on asynchronous interface 10 and the dialer map command looks for the specified dialing and the login scripts, and then uses those scripts to dial 96837890.
chat-script dial ABORT ERROR "" "AT Z" OK "ATDT \T" TIMEOUT 30 CONNECT \c
chat-script login ABORT invalid TIMEOUT 15 name: billw word: wewpass ">"
"slip default"
interface async 10
dialer in-band
dialer map ip 10.55.0.1 modem-script dial system-script login 96837890
chat-script
modem chat-script
Use the dialer map name interface configuration command to configure a dialer rotary group to receive and take advantage of caller identification using CHAP. The no dialer map name command deletes a particular dialer map entry.
dialer map protocol next-hop-address name hostnameprotocol | Name of the protocol |
next-hop-address | Protocol address used to match against addresses to which packets are destined |
hostname | Name or ID of the remote device (usually the host name) |
No dialer map in configured.
Interface configuration
This form of the dialer map command is used in configurations in which remote sites are calling a central site, but the central site is not calling the remote site. With this command, the local device will authenticate the remote site using CHAP, which will transmit the remote site's host name to the central site. The central site will then use this name to authenticate the caller, and will use the next hop address to transmit packets to the remote site. Because there is no dialer string specified, the central site cannot call the remote communication server.
In the following example, a remote site is calling a central site, but the central site is not calling the remote site. The local device will authenticate the site that is calling in using CHAP. CHAP will cause the remote site's name, YYY, to be transmitted to the site it is calling. The central site will then use this name to authenticate the remote site.
interface async 1
encapsulation ppp
ppp authentication chap
dialer map ip 131.108.2.5 name YYY
dialer map
dialer map modem
dialer map modem-script system-script
dialer map modem-script system-script name
ppp authentication chap
username
To set the priority of an interface in a dialer rotary group, use the dialer priority interface configuration command. Use the no form of this command to revert to the default setting.
dialer priority numbernumber | Specifies the priority of an interface in a dialer rotary group; the lowest number indicates the highest priority. A number from 0 to 255. The default is 0. |
0
Interface configuration
The value 0 indicates the lowest priority and 255 indicates the highest priority. The dialer priority command controls which interfaces within a dialer rotary group will be used first. Higher priority interfaces (configured with higher number value) are used first. This command is only meaningful for interfaces that are part of dialer rotary groups.
The priority command gives the administrator the ability to tell the dialer rotary group which free interface (and by extension which modem) to use first. This command applies to outgoing calls only.
In the following example, async interface 3 will be used after interfaces with higher priority and before interfaces with lower priority.
interface async 3
dialer priority 5
For example, a 500-CS has a selection of 14400 modems on it. Some of them are perceived to be better performers than others. You also have two 4800-bps, three 1200-bps, and one 300-bps modem. They are all on interfaces that are in a dialer rotary group. You do not want the 500-CS to make the call on the 300-baud modem if any of the faster modems are free. You want the 500-CS to use the highest-performance modems first, and the slowest modems last.
dialer rotary-group
interface dialer
Use the dialer rotary-group interface configuration command to include an interface in a dialer rotary group.
dialer rotary-group numbernumber | Number of the dialer interface in whose rotary group you want this interface included. An integer that you select that indicates the dialer rotary group defined by the interface dialer command. A number from 0 to 255. |
No dialer rotary groups are defined.
Interface configuration
The following example places async interfaces 1 and 2 into dialer rotary group 1, defined by the interface dialer 1 command:
hostname central-site
! PPP encapsulation is enabled for interface dialer 1.
interface dialer 1
encapsulation ppp
dialer in-band
ip address 131.108.2.1 255.255.255.0
ip address 131.126.4.1 255.255.255.0 secondary
! The first dialer map command allows the central site and remote site YYY
! and to call each other and allows the central site to authenticate site YYY
! when it calls in. The second dialer map command, with no! dialer string,
! allows the central site to authenticate remote site ZZZ when it calls in, but
! the central site cannot call remote site ZZZ (no phone number).
dialer map ip 131.108.2.5 name YYY 14155553434
dialer map ip 131.126.4.5 name ZZZ
! The DTR pulse signals for three seconds on the interfaces in dialer
! group 1. This holds the DTR low so the modem can recognize that DTR has been
! dropped.
pulse-time 3
! Interfaces async 1 and async 2 are placed in dialer rotary group 1.
! All of the interface configuration commands (the encapsulation and dialer
! map commands shown earlier in this example) applied to interface
! dialer 1 apply to the physical interfaces assigned to the dialer group.
interface async 1
dialer rotary-group 1
interface async 2
dialer rotary-group 1
interface dialer
Use the dialer string interface configuration command to specify the string (telephone number) to be called for interfaces calling a single site. Use the no dialer string command to delete the dialer string specified for the interface.
dialer string dial-stringdial-string | String of characters to be sent to a DCE |
No dialer strings are defined by default.
Interface configuration
To use this command on an asynchronous interface, a modem chat script must be defined for the associated line by using the modem chat-script command. A script must be used to implement dialing.
Dialers configured as in-band pass the string to the external dialing device. Specify one dialer string command per interface.
To specify multiple strings, use the dialer map command. In general, you include a dialer string or dialer map command if you intend to use a specific interface to initiate a DDR call.
The string of characters specified for the dial-string argument is the default number used under the following conditions:
On synchronous interfaces, depending on the type of modem you are using, ITU-T V.25bis options might be supported as dial-string parameters of the dialer string command. Supported options are listed in Table 7-4. The functions of the parameters are nation specific, and they may have different implementations in your country. These options apply only if you have enabled DDR with the dialer in-band command. Refer to the operation manual for your modem for a list of supported options.
Option | Description |
---|---|
: | Wait tone. |
< | Pause.
Usage and duration of this parameter vary by country. |
= | Separator 3.
For national use. |
> | Separator 4.
For national use. |
P | Dialing to be continued in pulse mode.
Optionally accepted parameter. |
T | Tone (Dialing to be continued in Dual Tone Multifrequency, DTMF, mode).
Optionally accepted parameter. |
& | Flash. (The flash duration varies by country.)
Optionally accepted parameter. |
The following example specifies a DDR telephone number to be tone dialed on async interface 1 using the dialer string command:
interface async 1
dialer string T14085553434
dialer-group
dialer in-band
dialer map
modem chat-script
Use the dialer wait-for-carrier-time interface configuration command to specify how long to wait for a carrier. On asynchronous interfaces, this command sets the total time allowed for the chat script to run. Use the no dialer wait-for-carrier-time command to reset the carrier wait time value to the default.
dialer wait-for-carrier-time secondsseconds | Number of seconds that the interface waits for the carrier to come up when a call is placed. Acceptable values are positive, nonzero integers. The default is 30 seconds. |
30 seconds
Interface configuration
If a carrier signal is not detected in this amount of time, the interface is disabled until the enable timeout occurs (configured with the dialer enable-timeout command).
The following example specifies a carrier wait time of 45 seconds on async interface 1:
interface async 1
dialer wait-for-carrier-time 45
dialer enable-timeout
Use the dialer-list list global configuration command to group access lists. This command applies access lists to dialer access groups to control automatic dialing using DDR with standard IP access lists. Use the no dialer-list list global configuration command to disable automatic dialing.
dialer-list dialer-group list access-list-numberdialer-group | Specifies the number of a dialer access group identified in any dialer-group interface configuration command. |
access-list-number | Specifies the access list number specified in any IP or Novell IPX access lists, including Novell IPX extended and service access point (SAP) access lists. See Table 7-5 for the supported access list types and numbers. |
Access List Type | Access List Number Range |
---|---|
Standard IP | 1-99 |
Extended IP | 100-199 |
Standard Novell IPX | 800-899 |
Extended Novell IPX | 900-999 |
Novell SAP | 1000-1099 |
Disabled
Global configuration
This command applies access lists to dialer access groups defined with the dialer-group command. See the Access and Communication Servers Configuration Guide for more information about configuring IP access lists.
In the following example, dialing occurs when an interesting packet (one that matches access list specifications) needs to be output on an interface. Using the standard access list method, packets can be classified as interesting or uninteresting. To specify that IGRP TCP/IP routing protocol updates are not interesting (relative to DDR automatic dialing), the following access list would be defined:
access-list 101 deny igrp 0.0.0.0 255.255.255.255 255.255.255.255 0.0.0.0
To permit all other IP traffic, the preceding would be modified as follows:
access-list 101 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255
Then the following command would be used to place list 101 into dialer access group 1:
dialer-list 1 list 101
dialer-group
Use the dialer-list protocol global configuration command to control automatic dialing by a protocol name. Use the no dialer-list commands to disable automatic dialing.
dialer-list dialer-group protocol protocol-name {permit | deny}Disabled
Global configuration
Using the dialer-list protocol command provides a coarse method of access control by permitting or denying an entire protocol. For more refined access control, use the dialer-list list command to specify an access list.
dialer-group
dialer-list list
Use the encapsulation ppp interface configuration command to configure Point-to-Point Protocol (PPP) encapsulation.
encapsulation pppThis command has no arguments or keywords.
Disabled
Interface configuration
The Point-to-Point Protocol (PPP), described in RFCs 1331 and 1332, is designed to encapsulate Internet Protocol (IP) and IPX datagrams and other network layer protocol information over point-to-point links.
The current implementation of PPP supports no configuration options. The software sends no options, and any proposed options are rejected.
Of the possible upper-layer protocols, only IP is supported at this time. Thus, the only upper-level protocol that can be sent or received over a point-to-point link using PPP encapsulation is IP. Refer to RFC 1134 for definitions of the codes and protocol states.
PPP echo requests also can be used as keepalives, to minimize disruptions to the end users of your network. The no keepalive command can be used to disable echo requests.
The following example enables PPP encapsulation on async interface 1.
interface async 1
encapsulation ppp
A dagger (+) indicates that the command is documented in another chapter.
keepalive +
ppp authentication chap
Use the interface dialer global configuration command to define a dialer rotary group.
interface dialer numbernumber | Number of the dialer rotary group. It can be number in the range 0 through 255. |
No dialer rotary groups are defined.
Global configuration
Dialer rotary groups allow you to apply a single interface configuration to a set of physical interfaces. This allows a group of interfaces to be used as a pool of interfaces for calling many destinations.
Once the interface configuration is propagated to a set of interfaces, those interfaces can be used to place calls using the standard DDR criteria. When multiple destinations are configured, any of these interfaces can be used for outgoing calls.
Dialer rotary groups are useful in environments that require multiple calling destinations. Only the rotary group needs to be configured with all of the dialer map commands. The only configuration required for the interfaces is the dialer rotary-group command indicating that each interface is part of a dialer rotary group.
Although a dialer rotary group is configured as an interface, it is not a physical interface. Instead it represents a group of interfaces. Interface configuration commands entered after the interface dialer command will be applied to all physical interfaces assigned to specified rotary groups. Individual interfaces in a dialer rotary group do not have individual addresses. The dialer interface has an address, and that address is used by all interfaces in the dialer rotary group.
The following example identifies interface dialer 1 as the dialer rotary group leader. Dialer interface 1 is not a physical interface, but represents a group of interfaces. The interface configuration commands that follow apply to all interfaces included in this group.
interface dialer 1
encapsulation ppp
authentication chap
dialer in-band
ip address 1.2.3.4
dialer map ip 1.2.2.5 name YYY 1415553434
dialer map ip 1.3.2.6 name ZZZ
To specify a default modem chat script, use the script dialer line configuration command. Use the no form of this command to disable this feature.
script dialer regexpregexp | Specifies the set of modem scripts that might be executed. If multiple modem scripts have been defined, the system searches alphabetically. The first script that matches the argument chat-script-name will be used. For example, if two scripts are defined, one with the name usr-1 and the other with the name usr-kailas, usr-1 will be executed. |
Line configuration
This command is used by DDR modules to provide modem dialing commands and commands to log in to remote systems.
The argument regexp is used to specify the name of the modem script that is to be executed. The first script that matches the argument in this command and the dialer map command will be used. For more information about regular expressions, refer to the appendix "Regular Expressions" later in this publication.
If you adhered to the recommended naming convention for chat scripts, the modem lines (the argument regexp in the script dialer command) would be set to one of the following regular expressions to match patterns, depending on what kind of modem you have:
In the dialer map command, you could specify the modulation but leave the type of modem unspecified, as in ".*-v32bis."
The following example shows line chat scripts being specified for lines connected to Telebit and US Robotics modems:
! Some lines have telebit modems
line 1 6
dialer script telebit.*
! Some lines have US robotics modems
line 7 12
dialer script usr.*
A dagger (+) indicates that the command is documented in another chapter.
chat-script +
dialer map modem-script system-script
dialer map modem-script system-script name
script activation +
script connection +
script reset +
script startup +
start-chat +
Use the show dialer EXEC command to obtain a general diagnostic display for serial interfaces configured for DDR.
show dialer [interface type number]interface | (Optional) Information for the interface specified by the arguments type and number is to be displayed. |
type | (Optional) Interface type. |
number | (Optional) Interface number. |
EXEC
The following is a sample output from the show dialer command for an asynchronous interface:
speedy# show dialer int async 1
Async1 - dialer type = IN-BAND NO-PARITY
Idle timer (900 secs), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (15 secs)
Time until disconnect 838 secs
Current call connected 0:02:16
Connected to 8986
Dial String Successes Failures Last called Last status
8986 0 0 never Default
8986 8 3 0:02:16 Successful
speedy#
Table 7-6 describes significant fields shown in the display.
Field | Description |
---|---|
Async 1 | Name of an asynchronous interface. |
dialer type = IN-BAND | Indicates that DDR is enabled. |
Idle timer (900 secs) | Idle timeout specification (in seconds). |
Fast idle timer (20 secs) | Fast idle timer specification (in seconds). |
Wait for carrier (30 secs) | Wait for carrier timer specification (in seconds). |
Re-enable (15 secs) | Enable timeout specification (in seconds). |
Dial string | Dial strings (telephone numbers) of logged calls. |
Time until disconnect | Time until line is configured to disconnect. |
Current call connected | Time at which the current call was connected. |
Connected to | Dial string to which line is currently connected. |
Dial string | Dial strings of logged calls (telephone numbers). |
Successes | Successful connections (even if no data is passed). |
Failures | Failed connections; call not successfully completed. |
Last called | Time that last call occurred to specific dial string. |
Last status | Status of last call to specific dial string (successful or failed). |
Default | If the DDR facility is using the dial string specified with the dialer string command, the word Default is appended to the Last status entry. |
When the show dialer EXEC command is issued for a synchronous serial interface configured for DTR dialing, output similar to the following is displayed:
Serial 0 - dialer type = DTR SYNC
Idle timer (120 secs), Fst idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (15 secs)
Dial String Successes Failures Last called Last status
---- 1 0 1:04:47 Success DTR dialer
8986 0 0 never Default
Table 7-7 describes new fields shown in the display.
Field | Description |
---|---|
DTR SYNC | Indicates that DDR is enabled and that DTR dialing is enabled on this synchronous interface. |
Last status: Success | Indicates that the last call was successful and that DTR dialing was used. |
DTR dialer | Phrase appended to the Last status entry to indicate that this is a DTR dialer. |
If an interface is connected to a destination, a display is provided that indicates the idle time before the line is disconnected (decrements each second). Then the duration of the current connection is shown. The following shows an example of this display; it would appear after the third line in the show dialer display.
Time until disconnect 596 secs
Current call connected 0:00:25
After a call disconnects, the system displays the time remaining before being available to dial again. The following is an example of this display; it would appear after the third line in the show dialer display:
Time until interface enabled 8 secs
If the show dialer command is issued for an interface on which DDR is not enabled, the system displays an error message. The following is an example error message:
Async 1 - Dialing not enabled on this interface.
If an interface is configured for DDR, the show interfaces command displays the following message:
Async1 is up, line protocol is up (spoofing)
Hardware is Async Serial
The word spoofing indicates that the line really is not up, but the dialer is forcing the line to masquerade as "up" so that upper level protocols will continue to operate as expected. (Spoofing is a state added to allow DDR to work. Basically, the interface "dials on demand" in response to packets being routed to it. No packets are routed to down interfaces, so the router interface must pretend to be up [spoof] so packets will be routed to it when it's not connected. It's the normal idle state on a dial-on-demand interface.)
Use the username global configuration command to specify the password to be used in CHAP caller identification.
username name password passwordname | Host name, server name, user ID, or command name. |
password | Possibly an encrypted password for this username. |
password | Specifies the password for the local communication server or the remote device. The password is encrypted when it is stored on the local communication server. This prevents the password from being stolen. The password can consist of any string of up to eleven printable ASCII characters. There is no limit to the number of username/password combinations that can be specified, allowing any number of remote devices to be authenticated. |
No password is defined for CHAP caller identification.
Global configuration
Add a name entry for each remote system that the local communication server requires authentication from.
The username command is required as part of the configuration for the Challenge Handshake Authentication Protocol (CHAP). For each remote system that the local communication server communicates with from which it requires authentication, you add a username entry.
If there is no secret specified and debug serial-interface is enabled, an error is displayed when a link is established and the CHAP challenge is not implemented. Debugging information on CHAP is available using the debug serial-interface and debug serial-packet commands. See the Debug Command Reference publication.
The following example configuration enables CHAP on serial interface 0. It also defines a password for the local server, Adam, and a remote server, Eve.
hostname Adam
interface serial 0
encapsulation ppp
ppp authentication chap
username Eve password theirsystem
When you look at your configuration file, the passwords will be encrypted and the display will look similar to the following:
hostname Adam
interface serial 0
encapsulation ppp
ppp authentication chap
username Eve password 7 121F0A18
|