Dial Configuration Guide, Cisco IOS Release 15M&T
Configuring Asynchronous Callback

Table Of Contents

Configuring Asynchronous Callback

Asynchronous Callback Overview

How to Configure Asynchronous Callback

Configuring Callback PPP Clients

Accepting Callback Requests from RFC-Compliant PPP Clients

Accepting Callback Requests from Non-RFC-Compliant PPP Clients Placing Themselves in Answer Mode

Enabling PPP Callback on Outgoing Lines

Enabling Callback Clients That Dial In and Connect to the EXEC Prompt

Configuring Callback ARA Clients

Configuration Examples for Asynchronous Callback

Callback to a PPP Client Example

Callback Clients That Connect to the EXEC Prompt Example

Callback to an ARA Client Example


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:

Asynchronous Callback Overview

How to Configure Asynchronous Callback

Configuration Examples for Asynchronous Callback

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:

Configuring Callback PPP Clients (Required)

Enabling PPP Callback on Outgoing Lines (Required)

Enabling Callback Clients That Dial In and Connect to the EXEC Prompt (Required)

Configuring Callback ARA Clients (Required)

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:

Command
Purpose

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:

Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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.

 
Command
Purpose

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

Callback Clients That Connect to the EXEC Prompt Example

Callback to an ARA Client Example

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
interface async 7
 ip unnumbered ethernet 0
 encapsulation ppp
 no keepalive
 async default ip address 10.1.1.1
 async mode interactive
 ppp callback accept
 ppp authentication pap

interface async 8
 ip unnumbered ethernet 0
 encapsulation ppp
 no keepalive
 async default ip address 10.1.1.2
 async mode interactive
 ppp callback accept
 ppp authentication pap

interface async 9
 ip unnumbered ethernet 0
 encapsulation ppp
 no keepalive
 async default ip address 10.1.1.3
 async mode interactive
 ppp callback accept
 ppp authentication pap

line 7
 login local
 modem InOut
 rotary 77
 autoselect ppp

line 8
 login local
 modem InOut
 rotary 77
 autoselect ppp

line 9
 login local
 modem InOut
 rotary 77
 autoselect ppp

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.

service exec-callback
username milarepa callback-dialstring "" password letmein
line 4
 login local
line 7
 login local

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.

appletalk routing
arap callback
arap network 422 router test
username excalibur callback-dialstring "123456" callback-line 7 password guenivere
line 4
 login local
 modem InOut
 autoselect arap
 arap enable
line 7
 login local
 modem InOut
 autoselect arap
 arap enable
line 8
 login local
 modem InOut
 autoselect arap
 arap enable