Configuring Asynchronous Callback
This chapter describes how to configure Cisco IOS software to call back an asynchronous device that dials in, requests a callback from the router, and then disconnects. It includes the following main sections:
To identify the hardware platform or software image information associated with a feature, use the Feature Navigator on Cisco.com to search for information about the feature or refer to the software release notes for a specific release. For more information, see the “Identifying Supported Platforms” section in the “Using Cisco IOS Software” chapter.
For a complete description of the commands mentioned in this chapter, refer to the Cisco IOS Dial Technologies Command Reference. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.
Asynchronous Callback Overview
Asynchronous callback is supported for the PPP and AppleTalk Remote Access (ARA) protocols. Callback is also supported on other interface types for PPP, including ISDN and any device that calls in and connects to the router at the EXEC level.
All callback sessions are returned on TTY lines. ARA is supported on virtual terminal lines, but also is supported on TTY lines if the vty-arap command is used. PPP, however, is supported on interfaces. Therefore, to enable PPP callback, you must enter the autoselect ppp command on the callback lines.
All current security mechanisms supported in Cisco IOS software are supported by the callback facility, including the following:
- TACACS+
- Challenge Handshake Authentication Protocol (CHAP) and Password Authentication Protocol (PAP) for PPP
- Per-user authentication for EXEC callback and ARA callback
The call originator must have the appropriate permissions set on the router before it can initiate a callback session.
Callback is useful for two purposes:
- Cost savings on toll calls
For example, suppose it costs more to call from clients in Zone A to devices in Zone D than to call from Zone D to Zone A—costs are lower when devices in Zone D call back clients in Zone A.
- Consolidation and centralization of phone billing
For example, if a corporation has 64 dial-in clients, enabling its routers to call back these clients consolidates billing. Instead of 64 phone bills, the corporation receives one bill.
How to Configure Asynchronous Callback
To configure asynchronous callback, perform the tasks in the following sections:
See the section “Configuration Examples for Asynchronous Callback” at the end of this chapter for ideas on how to implement asynchronous callback.
Configuring Callback PPP Clients
You can call back PPP clients that dial in to asynchronous interfaces. You can enable callback to the following two types of PPP clients:
- Clients that implement PPP callback per RFC 1570 (as an link control protocol, or LCP, negotiated extension).
- Clients that do not negotiate callback but can put themselves in answer-mode, whereby a callback from the router is accepted.
This section describes how to enable callback to each of these types of PPP clients.
Accepting Callback Requests from RFC-Compliant PPP Clients
To accept a callback request from an RFC 1570 PPP-compliant client, use the following command in interface (asynchronous) configuration mode:
|
|
Router(config-if)# ppp callback accept |
Enables callback requests from RFC 1570 PPP-compliant clients on an asynchronous interface. |
To configure Cisco IOS software to call back the originating PPP client, see the section “Enabling PPP Callback on Outgoing Lines” later in this chapter.
Accepting Callback Requests from Non-RFC-Compliant PPP Clients Placing Themselves in Answer Mode
A PPP client can put itself in answer-mode and can still be called back by the router, even though it cannot specifically request callback. To enable callback on the router to this type of client, use the following command in interface (asynchronous) configuration mode:
|
|
Router(config-if)# ppp callback initiate |
Initiates callback requests from non-RFC 1570 PPP-compliant clients on an asynchronous interface. |
To configure Cisco IOS software to call back the originating PPP client, see the next section, “Enabling PPP Callback on Outgoing Lines.”
Enabling PPP Callback on Outgoing Lines
After enabling PPP clients to connect to an asynchronous interface and wait for a callback, you must place one or more TTY lines in PPP mode. Although calls from PPP clients enter through an asynchronous interface, the calls exit the client on a line placed in PPP mode.
To enable PPP client callback on outgoing TTY lines, use the following commands beginning in global configuration mode:
|
|
|
Step 1 |
Router(config)# chat-script script-name expect-send |
Defines a chat script to be applied when a PPP client requests callback. |
Step 2 |
Router(config)# username name [ callback-dialstring telephone-number ] |
Specifies a per-username callback dial string. |
Step 3 |
Router(config)# username name [ callback-rotary rotary-group-number ] |
Specifies a per-username rotary group for callback. |
Step 4 |
Router(config)# username name [ callback-line [ tty ] line-number [ ending-line-number ]] |
Specifies a per-username line or set of lines for callback. |
Step 5 |
Router(config)# line [ tty ] line-number [ ending-line-number ] |
Enters line configuration mode. |
Step 6 |
Router(config-line)# autoselect ppp |
Configures automatic PPP startup on a line or set of lines. |
Step 7 |
Router(config-line)# login { authentication | local } |
Enables authentication on the line. |
Step 8 |
Router(config-line)# script callback regexp |
Applies a chat script to a line or set of lines. |
Step 9 |
Router(config-line)# callback forced-wait number-of-seconds |
Delays the callback for client modems that require a rest period before receiving a callback. |
A client can issue a callback dial string; that dial string is used only if the dial string on the router is specified as NULL or is not defined. The recommended PPP chat script follows:
chat-script name ABORT ERROR ABORT BUSY ““ “ATZ” OK “ATDT \T” TIMEOUT 30 CONNECT \c
See the section “Callback to a PPP Client Example” at the end of this chapter for a configuration example.
Note
Normally a router avoids line and modem noise by clearing the initial data received within the first one or two seconds. However, when the autoselect PPP feature is configured, the router flushes characters initially received and then waits for more traffic. This flush causes time out problems with applications that send only one carriage return. To ensure that the input data sent by a modem or other asynchronous device is not lost after line activation, enter the no flush-at-activation line configuration command.
Enabling Callback Clients That Dial In and Connect to the EXEC Prompt
You can call back clients that dial in to a TTY line and connect to the EXEC prompt. To enable callback, use the following commands beginning in global configuration mode:
|
|
|
Step 1 |
Router(config)# service exec-callback |
Enables EXEC callback. |
Step 2 |
Router(config)# chat-script script-name expect-send |
Defines a chat script to be applied when clients dial in to the EXEC prompt. |
Step 3 |
Router(config)# username name [ callback-dialstring telephone-number ] |
Specifies a per-username callback dial string. |
Step 4 |
Router(config)# username name [ callback-rotary rotary-group-number ] |
Specifies a per-username rotary group for callback. |
Step 5 |
Router(config)# username name [ callback-line [ aux | tty ] line-number [ ending-line-number ]] |
Specifies a per-username line or set of lines for callback. |
Step 6 |
Router(config)# username name [ nocallback-verify ] |
Does not require authentication on EXEC callback. |
Step 7 |
Router(config)# line [ tty ] line-number [ ending-line-number ] |
Enters line configuration mode. |
Step 8 |
Router(config-line)# script callback regexp |
Applies a chat script to the line or a set of lines. |
Step 9 |
Router(config-line)# callback forced-wait number-of-seconds |
Delays the callback for client modems that require a rest period before receiving a callback. |
The recommended EXEC chat script follows:
chat-script name ABORT ERROR ABORT BUSY ““ “ATZ” OK “ATDT \T” TIMEOUT 30 CONNECT \c
See the section “Callback Clients That Connect to the EXEC Prompt Example” at the end of this chapter for a configuration example.
Configuring Callback ARA Clients
To configure callback of ARA clients, use the following commands beginning in global configuration mode. These steps assume that you have already enabled AppleTalk routing and ARA.
|
|
|
Step 1 |
Router(config)# arap callback |
Enables callback to an ARA client. |
Step 2 |
Router(config)# chat-script script-name expect-send |
Defines a chat script to be applied when an ARA client connects to a TTY line and requests callback. |
Step 3 |
Router(config)# line [ tty ] line-number [ ending-line-number ] |
Enters line configuration mode. |
Step 4 |
Router(config-line)# arap enable |
Enables ARA on the line. |
Step 5 |
Router(config-line)# autoselect arap |
Configures automatic protocol startup on the line. |
Step 6 |
Router(config-line)# login { authentication | local } |
Enables authentication on the line. |
Step 7 |
Router(config-line)# script arap-callback regexp |
Applies an ARA-specific chat script to a line or set of lines. |
Step 8 |
Router(config-line)# callback forced-wait number-of-seconds |
Delays the callback for client modems that require a rest period before receiving a callback. |
Step 9 |
Router(config-line)# exit |
Returns to global configuration mode. |
Step 10 |
Router(config)# username name [ callback-dialstring telephone-number ] |
Specifies a per-username callback dial string. |
Step 11 |
Router(config)# username name [ callback-rotary rotary-group-number ] |
Specifies a per-username rotary group for callback. |
Step 12 |
Router(config)# username name [ callback-line [ tty ] line-number [ ending-line-number ]] |
Specifies a per-username line or set of lines for callback. |
The recommended ARA chat script follows and includes vendor-specific extensions on the Telebit 3000 modem to disable error control. Refer to the manual for your modem for the specific commands to disable error correction for ARA.
chat-script name ABORT ERROR ABORT BUSY ““ “ATZ” OK “ATS180=0” OK “ATS181=1” OK “ATDT \T” TIMEOUT 60 CONNECT \c
See the section “Callback to an ARA Client Example” at the end of this chapter for an example of calling back a PPP client.
Configuration Examples for Asynchronous Callback
The following sections provide asynchronous callback configuration examples:
Callback to a PPP Client Example
The following example shows the process of configuring callback to a PPP client on rotary 77. PAP authentication is enabled for PPP on the asynchronous interfaces. The login local command enables local username authentication on lines 7, 8, and 9. The remote PPP client host name is Ted, and the callback number is fixed at 1234567.
username Ted callback-dialstring “1234567“ callback-rotary 77
password Rhoda
async default ip address 10.1.1.1
async default ip address 10.1.1.2
async default ip address 10.1.1.3
Callback Clients That Connect to the EXEC Prompt Example
The following example shows the process to configure an outgoing callback on the same line as the incoming request. The login local command enables local username authentication on lines 4 and 7. Reauthentication is required upon reconnection.
username milarepa callback-dialstring ““ password letmein
Callback to an ARA Client Example
The following example shows the process of configuring callback to an ARA client on line 7. The login local command enables local username authentication on lines 4 and 7. Line 7 will always be used for ARA callback, whether the incoming call enters line 4, 7, or 8.
arap network 422 router test
username excalibur callback-dialstring “123456“ callback-line 7 password guenivere
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
© 2001–2009 Cisco Systems, Inc. All rights reserved.