DDR allows dialed calls to be made and closed dynamically, as needed.
Outbound calls are triggered based on configurable traffic parameters.
DDR can be configured through two methods, depending on the level of dialing flexibility that is needed. In this section, both methods are described as a single configuration procedure to make dialer configuration more intuitive and straightforward:
Dialer profiles Logical dialer interfaces are used to reach a destination, through dial strings and dial maps. A dialer pool can be defined to make a call from one of a group of physical interfaces. Map classes define the call's characteristics and are applied to dialer profiles based on the call destination. Dialing becomes very flexible and scalable.
Hub and spoke Either physical or logical interfaces can be used to make calls. Logical dialer interfaces can be used to define rotary groups of physical interfaces. All dialer parameters are applied to the logical (or physical) interfaces, limiting the flexibility and scalability. Generally, the "spoke" DDR router makes calls to the centralized "hub" DDR router. The hub can both make and receive DDR calls.
(Optional) Define a logical dialer interface for flexible dialing (Dialer Profiles).
Select an interface for dialing out:
(global) interface dialer number
A dialer is a logical interface used to support rotary groups of other physical dial interfaces. The number (1 to 255) is arbitrarily chosen . If a rotary group of physical interfaces is configured, the dialer number is also used to identify the rotary group number.
(Optional) Define the encapsulation for outgoing calls:
(interface) encapsulation ppp
See Section 3-6 for more configuration information on PPP encapsulation.
Define any network addresses needed:
(interface) ip address ip-address subnet-mask
Define dial destinations.
(Optional) Call only a single destination.
Define a modem chat script. Refer to the script dialer command in Section 3-1 for more information.
Define the string of digits to dial by entering the following command:
(interface) dialer string string [ class class-name ]
The string is sent to the modem for dialing. It can include the digits 0 to 9, : (wait for a tone), < (pause), = (separator 3), > (separator 4), P (continue dialing in pulse mode), T (continue dialing with DTMF tones), and & (send a hookflash). If you are defining dialer map classes for more flexible per-destination characteristics, you can use the class keyword to apply the map class class-name (text string).
(Optional) Define one or more destinations to call:
(interface) dialer map protocol next-hop-address [ class class-name ] [ name host-name ] [ spc ] [ speed 56 speed 64 ] [ broadcast ] [ modem-script modem-regexp ] [ system-script system-regexp ] [ dial-string [: isdn-subaddress ]]
As soon as the router determines the need to make a call, both the protocol ( appletalk, bridge, clns, decnet, ip, ipx, novell, snapshot, vines, or xns ) and the destination or next-hop-address are compared with the dialer map entries to find a match. If you are defining dialer map classes for more flexible per-destination characteristics, you can use the class keyword to apply the map class class-name (text string).
If needed, the spc keyword causes a semi-permanent connection to be used (Germany and Australia). If an ISDN interface is being configured, speed 56 (56 kbps) or speed 64 (64 kbps, the default) can be used to indicate the speed of the B channel. Use the broadcast keyword if broadcast packets should be forwarded to the destination.
For incoming calls, use the name keyword to authenticate the remote host-name using CHAP. See Section 3-6 for further configuration information about dial-in authentication.
For outgoing calls, the router finds a modem chat script (a chat script command) that matches the regular expression given by modem-regexp (a text string, including . and * ). The chat script name can consist of the . (match a character) and * (match any characters ) wildcards so that a chat script can be selected according to modem or modulation type. See Section 3-1 for more information about chat scripts. If the remote system doesn't support CHAP authentication, you can use the system-script keyword to select a chat script that matches the regular expression given by system-regexp (a text string, including . and * ). The router sends and receives strings to navigate through a login procedure. A dial-string can also be given to define a string of digits to dial for this specific destination.
(Optional) Use a pool of physical interfaces for dialing:
(interface) dialer pool pool
Multiple physical interfaces can be assigned to a dialer pool so that they can be used for outgoing calls in a rotary fashion.
NOTE
By default, the interface number of a logical dialer interface corresponds to a rotary group number. Physical interfaces can be assigned to this rotary group if desired. However, you can assign the physical interfaces to a dialer pool instead. This offers more flexibility.
(Optional) Define any queuing or traffic shaping.
See Chapter 10, "Quality of Service," for more information about queuing and traffic-shaping features.
Identify "interesting" traffic to trigger a call.
(Optional) Use an access list to permit specific addresses and port numbers within a protocol:
(global) access-list acc-list-number { permit deny } ...
Dialing can be triggered by packets containing a general protocol (IP, IPX, AppleTalk, and so forth) or by packets matching a more specific criteria. Any parameter that can be matched by an access list can be used to trigger a call. See Chapter 14, "Access Lists and Regular Expressions," for further configuration information about access lists for a specific protocol.
Create a dialer list to identify the "interesting" protocol:
(interface) dialer-list dialer-group protocol protocol-name { permit deny list access-list-number access-group }
One or more dialer-list statements are defined as a single arbitrary dialer-group (1 to 255). Each statement identifies a protocol by protocol-name ( appletalk, bridge, clns, clns_es, clns_is, decnet, decnet_router-L1, decnet_router-L2, decnet_node, ip, ipx, vines, or xns ). Dialing is triggered based on an action taken on the protocol: permit (trigger dialing on the protocol as a whole), deny (don't trigger dialing for the protocol as a whole), or list (trigger dialing if the access list numbered access-list-number permits the packet). The access-group parameter can be used to identify a filter list name for CLNS traffic.
Apply the dialer list to a dialer interface:
(interface) dialer-group group
The dialer list numbered group is used to trigger an outbound call. When traffic is destined for a dialer interface, it is first filtered through the dialer list. If the packet is permitted, the call is placed.
(IPX only) Use IPX spoofing to keep an idle connection from dialing. You have two options with IPX spoofing.
To use watchdog spoofing, enter the following command:
(interface) ipx watchdog { filter spoof [ enable-time-hours disable-time-minutes ]}
Novell IPX servers send periodic watchdog packets to their clients every 5 minutes or so. This type of traffic can trigger a new call to be placed when the connection would otherwise be idle or disconnected. The ipx watchdog command causes the router to discard ( filter ) watchdog packets or answer ( spoof ) them on behalf of the clients.
Spoofing can occur for enable-time-hours (1 to 24 hours) and can be disabled for disable-time-minutes (18 to 1440 minutes). This prevents a new call from being triggered until true interesting traffic is detected .
Your other option is to use SPX spoofing. The command sequence is as follows :
(interface) ipx spx-spoof (interface) ipx spx-idle-time delay
IPX servers send SPX keepalive packets to a client every 15 to 20 seconds after detecting that the client has been idle too long. With the ipx spx-spoof command, the router responds to SPX keepalive packets on behalf of an idle client so that a DDR call won't be triggered. The router can wait up to delay seconds (the default is 60 seconds) before starting to spoof the keepalive packets.
Define the dialer interface parameters.
(Optional) Apply the parameter settings to a map class:
(global) map-class dialer class-name
A dialer map class is used to define any parameters that can be set on a dialer interface. If you are configuring flexible dialing with the logical dialer interfaces ( interface dialer or "Dialer Profiles"), you can use map classes to selectively configure the dialer interface on a per-destination basis. A map class is selected according to a matching dialer-string or dialer map command.
-OR-
(Optional) Apply the parameter settings to a physical interface:
(global) interface [ async serial bri ] number
-OR-
(global) interface serial controller/port: [ 23 15 ]
If flexible dialing and logical dialer interfaces are not used, the dialer parameters can be applied directly to a physical interface. The dial interface can be async (asynchronous line), serial (synchronous serial), or bri (ISDN BRI). For a PRI interface, use serial with the T1/E1 controller number and port, followed by the D channel ( 23 for T1 or 15 for E1).
(Optional) Set the call idle timer:
(interface) dialer idle-timeout seconds [ inbound either ]
As soon as an outbound call is made on a dialer interface, it is terminated if no traffic is detected for seconds (the default is 120 seconds) in the outbound direction. If desired, inbound or either (inbound or outbound) traffic can be used to measure the idle time.
(Optional) Set a fast idle timer to reuse an active interface:
(interface) dialer fast-idle seconds
Dialer contention occurs when a call is in progress on an interface, and the interface is then needed for another call to a different destination. To resolve the contention , the router can detect a shorter idle time and end the first call immediately. The fast idle time can be set to seconds (the default is 20 seconds).
(Optional) Set a line-down time before an interface can be used again:
(interface) dialer enable-timeout seconds
If you have problems with phone line availability, you can hold down an interface after a call is completed or fails before attempting to dial again. Set the line-down timer to seconds (the default is 15 seconds).
(Optional) Set the length of time to wait for a carrier signal:
(interface) dialer wait-for-carrier-time seconds
When an outbound call is made, the router must wait for any modem or system chat scripts to complete and for the carrier to be detected. If calls are being terminated before the remote system is successfully connected, increase the wait-for-carrier time to seconds (the default is 30 seconds).
(Optional) Place additional calls to increase the bandwidth on demand:
(interface) dialer load-threshold load [ outbound inbound either ]
When the traffic load on an interface in a rotary group reaches the load threshold (1 to 255, where 1 is unloaded and 255 is 100 percent), additional calls are placed from interfaces in the rotary group. The load threshold represents the total or cumulative load over all "up" interfaces to the destination. Links are brought up or torn down whenever the traffic load rises above or falls below the threshold. The traffic direction can be taken into account as outbound, inbound, or either.
NOTE
Remember that an ISDN BRI is handled as a rotary group of two B channels. Setting a load threshold lets the router bring up the second B channel if needed.
(Optional) Set the size of the dialer hold queue:
(interface) dialer hold-queue packets timeout seconds
By default, any additional packets that are destined to a call that is being established are dropped. The router can place packets in a hold queue so that they will be sent after the call is made. The hold queue can contain up to packets (1 to 100 packets), which are held for a maximum of seconds.
(Optional) Redial if a call fails:
(interface) dialer redial interval time attempts number re-enable disable-time
By default, the router makes only a single attempt to dial a destination. The router can try to redial the destination every time (5 to 2147483 seconds) for up to number times (1 to 2147483 attempts). If all the configured redial attempts fail, the interface is disabled for disable-time (5 to 2147483 seconds) to prevent other redial failures in the near future.
Define additional parameters to the physical interface.
Select the interface:
(global) interface [ async serial bri ] number
-OR-
(global) interface serial controller/port: [ 23 15 ]
If flexible dialing and logical dialer interfaces are not used, the dialer parameters can be applied directly to a physical interface. The dial interface can be async (asynchronous line), serial (synchronous serial), or bri (ISDN BRI). For a PRI interface, use serial with the T1/E1 controller number and port, followed by the D channel ( 23 for T1 or 15 for E1).
(Optional) Define the encapsulation needed for incoming calls:
(interface) encapsulation ppp
See Section 3-6 for more configuration information on PPP encapsulation.
(Optional) Define the authentication needed for incoming calls:
(interface) ppp authentication { pap chap }
See Section 3-6 for more configuration information on PPP authentication.
(Optional) Use a group of interfaces to reach a common destination.
(Optional) Make the interface a member of a dialer pool:
(interface) dialer pool-member number [ priority priority ] [ min-link minimum ] [ max-link maximum ]
If the dialer pool command has been used on a logical dialer interface, the physical interface becomes a part of the dialer pool number (1 to 255). A priority (0 to 255; 0 is the lowest , 255 is the highest, and the default is 0) can be assigned to the interface so that it will be chosen before other dialer pool members with lower priorities.
For ISDN, a number of B channels can be reserved for the dialer pool. You can specify the minimum (0 to 255; the default is 0) and maximum (0 to 255; the default is 255) number of channels for this purpose.
-OR-
(Optional) Make the interface a member of a rotary group for dialing:
(interface) dialer rotary-group group (interface) dialer priority priority
Multiple interfaces can be assigned to a rotary dialer group. As soon as a logical rotary group interface is configured with the interface dialer command, other physical interfaces can be assigned to it. Outbound calls are made on the first available interface in the rotary group, allowing more flexible and available calling. The group (0 to 255) must be the same number as the dialer interface number.
By default, a rotary group selects the next available interface in the order that they are configured. However, interfaces within a rotary group can be given a priority (0 to 255; 0 is the lowest and 255 is the highest) so that some interfaces are used before others.
NOTE
Interfaces that are members of a dialer rotary group inherit the configuration commands that were entered for the corresponding interface dialer. ISDN BRI interfaces are inherently part of a rotary group so that outbound calls will rotate through the B1 and B2 channels if needed.
(Async or sync serial only) Select the type of dialing:
(interface) dialer dtr
-OR-
(interface) dialer in-band [ no-parity odd-parity ]
An asynchronous or synchronous serial interface must send dialing information out-of-band ( dtr; non-V.25bis modems) over the DTR signal or in-band ( in-band; V.25bis modems) over the data stream.
DDR is configured on a remote branch router to dial out to the Main Office router. Dialing occurs whenever there is traffic going from the 192.168.3.0 network (the remote Ethernet network) to the 192.168.209.0 network (the Main Office server farm). A static route is configured to define the next-hop address for network 192.168.209.0 as the Main Office router at 192.168.209.1. This address is matched in the dialer map statement, where the CHAP remote host name, the modem chat script, and the dial string are picked up.
Note that the dial string is defined in the dialer map. The modem chat scripts have an "ATDT \T" send string, where the dial string replaces \T during the dialing process. Interfaces async 1 and async 2 are members of a common dialer pool, allowing an additional call to be made if one of the lines is busy.
chat-script MainOffice ABORT ERROR ABORT BUSY ABORT "NO ANSWER" "" "AT H" OK "ATDT \T" TIMEOUT 45 CONNECT \c TIMEOUT 30 chat-script HotSite ABORT ERROR ABORT BUSY ABORT "NO ANSWER" "" "AT H" OK "AT M0 " OK "ATDT \T" TIMEOUT 45 CONNECT \c TIMEOUT 30 username southbranch password letmein interface async 1 no ip address encapsulation ppp ppp authentication chap dialer in-band dialer pool-member 7 dialer redial interval 60 attempts 10 re-enable 5 interface async 2 no ip address encapsulation ppp ppp authentication chap dialer in-band dialer pool-member 7 dialer redial interval 60 attempts 10 re-enable 5 interface dialer 1 ip address 192.168.4.1 255.255.255.0 dialer remote-name tic dialer idle-timeout 432000 dialer map ip 192.168.209.1 name mainoffice modem-script MainOffice 5987572 dialer pool 7 dialer-group 1 interface ethernet 0 ip address 192.168.3.1 255.255.255.0 ip route 192.168.209.0 255.255.255.0 192.168.209.1 access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.209.0 0.0.0.0 dialer-list 1 protocol ip permit list 101 line 1 modem InOut transport input all speed 115200 line 2 modem inout transport input all speed 115200