This document describes how to configure dial-on-demand routing (DDR) between two routers with BRI interfaces. In this configuration, a small office, home office (SOHO) router dials the central site router whenever it needs to pass traffic to the central network. The connection is then automatically brought down if there is no traffic for a user-defined period of time. This network also uses the Open Shortest Path First (OSPF) routing protocol with the ip ospf demand-circuit command to prevent any routes for the remote side network from being removed when the DDR link is brought down. However, you do not require a routing protocol to run over this link.
The following points describe several design factors you should decide on before configuring a DDR link.
DDR Implementation: You can use dialer maps (legacy DDR) or dialer profiles. For more information on the differences between these two implementations, refer to Configuring ISDN DDR with Dialer Profiles . In this configuration we use dialer maps.
Single or Bi-directional Dialing: You can configure each router to initiate the DDR link by dialing the other side, or you can have only side (normally the SOHO) initiate the dial connection. Examine your traffic patterns and consider the information shown below before deciding which dial method to use:
If both routers dial:
Either site can initiate a link when there is traffic destined for the other router's network.
Both routers could dial at the same time, which would result in a busy message.
If dialing is restricted to the SOHO router:
Traffic from the central site destined for the SOHO router would fail if the link is not up.
You will avoid busy messages due to "colliding" calls.
Note: In this example, only the SOHO router initiates the DDR link.
Routing protocol: You can choose to run a routing protocol over the link, but you must ensure that periodic updates such as hellos are tagged uninteresting, so that the link will not stay up indefinitely. Also, the routing protocol should keep the routing table intact and not discard the routes once the link goes down. This can be done with the ip ospf demand-circuit command or snapshot routing. If you do not want to use a routing protocol, a static route can be configured on each router where the next-hop points to the other router's BRI interface.
Interesting traffic: You must be careful when defining the DDR interesting traffic. Improperly defined interesting traffic on either side can prevent the link from coming up when desired, being disconnected prematurely, or even not being disconnected at all. For example, you may want to mark all routing protocol traffic as uninteresting, so the periodic updates do not keep the link up indefinitely.
This configuration was developed and tested using the software and hardware versions below:
A Cisco 1604 SOHO router with one BRI U interface running Cisco IOS® Software Release 12.1(5)T
A Cisco 3640 router with a NM-4B-U (four BRI U Interfaces) running Cisco IOS 12.1(2)
For more information on document conventions, see the Cisco Technical Tips Conventions.
In this section, you are presented with the information to configure the features described in this document.
Note: To find additional information on the commands used in this document, use the IOS Command Lookup tool
This document uses the network setup shown in the diagram below.
This document uses the configurations shown below.
Note: The information in this document was taken from an isolated lab environment. Ensure that you understand the potential impact of any command on your network before using it.
maui-soho-01 (1600) |
---|
maui-soho-01#show running-config Building configuration... Current configuration : 1656 bytes ! version 12.1 no service single-slot-reload-enable service timestamps debug datetime msec service timestamps log datetime msec ! hostname maui-soho-01 ! logging rate-limit console 10 except errors aaa new-model aaa authentication login default local aaa authentication login NO_AUTHEN none aaa authentication ppp default local !--- basic AAA configuration for PPP calls enable secret 5 <deleted> ! username admin password <deleted> username maui-nas-05 password cisco !--- username for remote router (maui-nas-05) and shared secret !--- (used for CHAP authentication) !--- Shared secret must be the same on both sides. ip subnet-zero ! isdn switch-type basic-ni ! interface Loopback0 ip address 172.17.1.1 255.255.255.0 !--- The loopback address will be used by OSPF for the router ID. ! interface Ethernet0 ip address 172.16.1.1 255.255.255.0 ! interface Serial0 no ip address shutdown no fair-queue ! interface BRI0 !--- BRI interface used for DDR dialout ip address 172.20.10.2 255.255.255.0 !--- IP address !--- The remote address is in the same subnet. encapsulation ppp ip ospf demand-circuit !--- This forces OSPF to keep the routing table intact when the DDR link !--- is down. This should only be configured on one router for a !--- point-to-point circuit. dialer idle-timeout 900 !--- Idle timeout is set to 900 seconds (15 minutes). !--- The link will be disconnected if there is no interesting traffic !--- for 900 secs. dialer map ip 172.20.10.1 name maui-nas-05 broadcast 5551111 dialer map ip 172.20.10.1 name maui-nas-05 broadcast 5551112 !--- dialer map statements for the remote router !--- The name must match the one used by the remote router to identify !--- itself. The broadcast keyword is required to send broadcast traffic !--- over the link(for OSPF). The two different phone numbers correspond !--- to the b-channels of the remote side. The multiple statements allow !--- the router to dial the second number if the first number is busy. dialer load-threshold 80 outbound !--- This set the load level for traffic at which additional connections !--- will be added to the Multilink PPP bundle. !--- Load level values range from 1 (unloaded) to 255 (fully loaded). !--- The threshold in this case is 80/255 = 32%. dialer-group 1 !--- apply interesting traffic definition from dialer-list 1 isdn switch-type basic-ni isdn spid1 51255522220101 5552222 isdn spid2 51255522230101 5552223 ppp authentication chap !--- Use chap authentication. ppp multilink !--- Use multilink to bring up both BRI channels. ! router ospf 5 log-adjacency-changes network 172.16.1.0 0.0.0.255 area 0 network 172.17.1.0 0.0.0.255 area 0 network 172.20.10.0 0.0.0.255 area 0 ! ip classless ip route 172.20.0.0 255.255.0.0 172.20.10.0 no ip http server ! access-list 101 remark Define Interesting Traffic access-list 101 deny ospf any any !--- mark OSPF as uninteresting !--- This will prevent OSPF hellos from keeping the link up. access-list 101 permit ip any any dialer-list 1 protocol ip list 101 !--- Interesting traffic is defined by access-list 101. !--- This is applied to BRI0 using dialer-group 1. ! line con 0 exec-timeout 0 0 login authentication NO_AUTHEN transport input none line vty 0 4 ! end |
maui-nas-05 (3640) |
---|
maui-nas-05#show running-config Building configuration... Current configuration: ! version 12.1 service timestamps debug datetime msec service timestamps log datetime msec ! hostname maui-nas-05 ! aaa new-model aaa authentication login default local aaa authentication login NO_AUTHEN none aaa authentication ppp default local !--- basic AAA configuration for PPP calls enable secret 5 <deleted> ! username admin password 7 <deleted> username maui-soho-01 password 7 cisco !--- username for remote router (maui-soho-01) and shared secret !--- (used for CHAP authentication) !--- Shared secret must be the same on both sides. ip subnet-zero ! isdn switch-type basic-ni ! interface Loopback0 ip address 172.22.1.1 255.255.255.0 !--- The loopback address is used by OSPF for the router ID. ! interface Ethernet0/0 ip address 172.22.53.105 255.255.255.0 ! interface Ethernet0/1 no ip address shutdown ! interface BRI1/0 !--- BRI interface used to accept dialin ip address 172.20.10.1 255.255.255.0 !--- IP address !--- The remote address is in the same subnet. encapsulation ppp dialer idle-timeout 900 !--- Idle timeout is set to 900 seconds (15 minutes). !--- Set this value to be equal to or higher than the idle-timeout on the !--- client side. A higher idle-timeout permits the client side to !--- determine when to bring down the link. ! dialer map ip 172.20.10.2 name maui-soho-01 broadcast !--- dialer map statement for the BRI interface of the remote router !--- The name must be the one used by the remote router to identify !--- itself. The broadcast keyword is required to send broadcast traffic !--- over the link(for OSPF). Note: There is no phone number, as we are !--- not configuring this side to dial. If you want this router to dial, !--- add the remote side phone number to the dialer map statement dialer-group 1 !--- apply interesting traffic definition from dialer-list 1 isdn switch-type basic-ni isdn spid1 51255511110101 5551111 isdn spid2 51255511120101 5551112 ppp authentication chap ppp multilink !--- allow multilink connections ! ! <<--unused interface configurations have been removed. ! router ospf 5 network 172.20.10.0 0.0.0.255 area 0 network 172.22.1.0 0.0.0.255 area 0 network 172.22.53.0 0.0.0.255 area 0 default-information originate always !--- transmit OSPF default information !--- This may be required for remote router to use the BRI DDR link. ! ip classless ip route 0.0.0.0 0.0.0.0 Ethernet0/0 ip route 172.22.0.0 255.255.0.0 172.22.53.0 no ip http server ! dialer-list 1 protocol ip permit !--- All IP traffic is defined interesting. !--- This is applied to BRI0 using dialer-group 1. ! line con 0 login authentication NO_AUTHEN transport input none line 97 102 line aux 0 line vty 0 4 ! end |
Note: If the router is part of a OSPF point-to-point topology (2 routers), then only one end of the demand circuit must be configured with the ip ospf demand-circuit command. However, all routers must have this feature loaded within the area and must support the ip ospf demand-circuit command. If the router is part of a OSPF point-to-multipoint topology (for example, hub and spoke), only the multipoint end must be configured with this command.
Certain show commands are supported by the Output Interpreter tool, which allows you to view an analysis of show command output.
show dialer interface [ type number ] - Displays general diagnostic information for interfaces configured for DDR and displays the timer's configuration and the time before the connection times out. You should verify the following messages:
"Dialer state is data link layer up" - The dialer came up properly.
"Physical layer up" - The line protocol came up, but the Network Control Protocol (NCP) did not.
"Dial reason" This displays the source and destination addresses of the packet that initiated the dialing.
show isdn status - Ensure that the router is properly communicating with the ISDN switch. This command also displays the number of active calls You should verify the following messages:
"Layer 1 Status is ACTIVE",
"Layer 2 Status state = MULTIPLE_FRAME_ESTABLISHED"
Note: For more information, refer to Using the show isdn status Command for BRI Troubleshooting.
show caller user username detail - This displays detailed LCP negotiated parameters.
The show ip route command displays the routing table on the soho after the DDR link is up. Notice that OSPF routes from the remote site are installed.
maui-soho-01#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - ISIS level-1, L2 - ISIS level-2, ia - ISIS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is 172.20.10.1 to network 0.0.0.0 172.17.0.0/24 is subnetted, 1 subnets C 172.17.1.0 is directly connected, Loopback0 172.16.0.0/24 is subnetted, 1 subnets C 172.16.1.0 is directly connected, Ethernet0 172.20.0.0/16 is variably subnetted, 3 subnets, 3 masks C 172.20.10.0/24 is directly connected, BRI0 C 172.20.10.1/32 is directly connected, BRI0 S 172.20.0.0/16 [1/0] via 172.20.10.0 172.22.0.0/16 is variably subnetted, 2 subnets, 2 masks O 172.22.53.0/24 [110/1572] via 172.20.10.1, 00:01:37, BRI0 O 172.22.1.1/32 [110/1563] via 172.20.10.1, 00:01:37, BRI0 O*E2 0.0.0.0/0 [110/1] via 172.20.10.1, 00:01:37, BRI0
Note: the OSPF routes (especially the default route) from the remote side are added to the routing table. This permits the client (maui-soho-01) to dial the BRI link whenever it needs to send traffic across the link. Since this is an OSPF demand-circuit, the OSPF entries in the routing table are not removed (aged) when the link goes down due to the expired dialer idle-timeout.
In the show caller user username detail output notice the idle timeout for the connection.
maui-soho-01#show caller user maui-nas-05 detail User: maui-nas-05, line BR0:1, service PPP Active time 00:02:33, Idle time 00:00:00 Timeouts: Absolute Idle Limits: - - Disconnect in: - - PPP: LCP Open, multilink Open, CHAP (AAA <--> AAA) LCP: -> peer, AuthProto, MagicNumber, MRRU, EndpointDisc <- peer, AuthProto, MagicNumber, MRRU, EndpointDisc NCP: Closed IPCP, CDPCP Dialer: Connected to 5551111, outbound Type is ISDN, group BR0 Cause: ip (s=172.20.10.2, d=172.20.10.1) IP: Local 172.20.10.2/24 Bundle: Member of maui-nas-05, last input 00:00:00 Counts: 945 packets input, 147302 bytes, 0 no buffer 0 input errors, 0 CRC, 0 frame, 0 overrun 972 packets output, 150964 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets User: maui-nas-05, line Vi1, service PPP Bundle Active time 00:02:32, Idle time 00:02:32 Timeouts: Absolute Idle Limits: - 00:15:00 Disconnect in: - 00:12:26 !--- time after which this call will be disconnected unless it receives !--- interesting traffic PPP: LCP Open, multilink Open, IPCP, CDPCP LCP: -> peer, MagicNumber, MRRU, EndpointDisc <- peer NCP: Open IPCP, CDPCP IPCP: <- peer, Address -> peer, Address Dialer: Connected to 5551111, outbound Idle timer 900 secs, idle 153 secs Type is IN-BAND SYNC, group BR0 IP: Local 172.20.10.2/24, remote 172.20.10.1 Bundle: First link of maui-nas-05, 1 link, last input 00:02:33 Counts: 20 packets input, 2916 bytes, 0 no buffer 0 input errors, 0 CRC, 0 frame, 0 overrun 23 packets output, 2683 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets
Note: Before issuing debug commands, please see Important Information on Debug Commands.
debug isdn q931 - Shows call setup and tear down of the ISDN network connection (Layer 3).
debug isdn q921 - Shows data link layer messages (Layer 2) on the D channel between the router and the ISDN switch. Use this debug if the show isdn status command does not display Layer 1 and Layer 2 up.
debug dialer [events | packets] - Displays DDR debugging information about the packets received on a dialer interface.
debug ppp negotiation - Displays information on PPP traffic and exchanges while negotiating the PPP components including Link Control Protocol (LCP), Authentication, and NCP. A successful PPP negotiation will first open the LCP state, then authenticate, and finally negotiate NCP (usually IPCP).
debug ppp authentication - Displays the PPP authentication protocol messages, including Challenge Authentication Protocol (CHAP) packet exchanges and Password Authentication Protocol (PAP) exchanges.
debug ppp error - Displays protocol errors and error statistics associated with PPP connection negotiation and operation.
Refer to Dialup Technology: Troubleshooting Techniques for further information on troubleshooting this DDR connection.
The debug output shows the DDR call triggered by an ICMP ping to the remote routers BRI interface. The debugs show the soho router dialing, connecting to the central site , negotiating ppp, and performing CHAP authentication.
maui-soho-01#debug dialer Dial on demand events debugging is on maui-soho-01#debug ppp negotiation PPP protocol negotiation debugging is on maui-soho-01#debug ppp authentication PPP authentication debugging is on maui-soho-01#debug isdn q931 ISDN Q931 packets debugging is on maui-soho-01# maui-soho-01# maui-soho-01# maui-soho-01#ping 172.20.10.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.20.10.1, timeout is 2 seconds: *Mar 1 21:57:42.625: BR0 DDR: Dialing cause ip (s=172.20.10.2, d=172.20.10.1) !--- The ping destined for 172.20.10.1 dials the BRI. *Mar 1 21:57:42.629: BR0 DDR: Attempting to dial 5551111 !--- phone number of the remote router that is dialed *Mar 1 21:57:42.653: ISDN BR0: TX -> SETUP pd = 8 callref = 0x09 *Mar 1 21:57:42.661: Bearer Capability i = 0x8890 *Mar 1 21:57:42.669: Channel ID i = 0x83 *Mar 1 21:57:42.677: Keypad Facility i = '5551111' *Mar 1 21:57:43.002: ISDN BR0: RX <- CALL_PROC pd = 8 callref = 0x89 *Mar 1 21:57:43.010: Channel ID i = 0x89 *Mar 1 21:57:43.189: ISDN BR0: RX <- CONNECT pd = 8 callref = 0x89 *Mar 1 21:57:43.216: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up *Mar 1 21:57:43.236: BR0:1 PPP: Treating connection as a callout !--- PPP negotiation begins. *Mar 1 21:57:43.236: BR0:1 PPP: Phase is ESTABLISHING, Active Open [0 sess, 1 load] *Mar 1 21:57:43.248: BR0:1 LCP: O CONFREQ [Closed] id 10 len 34 *Mar 1 21:57:43.252: BR0:1 LCP: AuthProto CHAP (0x0305C22305) *Mar 1 21:57:43.256: BR0:1 LCP: MagicNumber 0x153BEFE7 (0x0506153BEFE7) *Mar 1 21:57:43.260: BR0:1 LCP: MRRU 1524 (0x110405F4) *Mar 1 21:57:43.268: BR0:1 LCP: EndpointDisc 1 Local (0x130F016D6175692D736F686F2D3031) *Mar 1 21:57:43.280: ISDN BR0: TX -> CONNECT_ACK pd = 8 callref = 0x09 *Mar 1 21:57:43.300: BR0:1 LCP: I CONFREQ [REQsent] id 7 Len 33 *Mar 1 21:57:43.304: BR0:1 LCP: AuthProto CHAP (0x0305C22305) *Mar 1 21:57:43.308: BR0:1 LCP: MagicNumber 0x354AAC53 (0x0506354AAC53) *Mar 1 21:57:43.312: BR0:1 LCP: MRRU 1524 (0x110405F4) *Mar 1 21:57:43.320: BR0:1 LCP: EndpointDisc 1 Local (0x130E016D6175692D6E61732D3035) *Mar 1 21:57:43.327: BR0:1 LCP: O CONFACK [REQsent] id 7 Len 33 *Mar 1 21:57:43.331: BR0:1 LCP: AuthProto CHAP (0x0305C22305) *Mar 1 21:57:43.335: BR0:1 LCP: MagicNumber 0x354AAC53 (0x0506354AAC53) *Mar 1 21:57:43.339: BR0:1 LCP: MRRU 1524 (0x110405F4) *Mar 1 21:57:43.347: BR0:1 LCP: EndpointDisc 1 Local (0x130E016D6175692D6E61732D3035) *Mar 1 21:57:43.359: BR0:1 LCP: I CONFACK [ACKsent] id 10 Len 34 *Mar 1 21:57:43.363: BR0:1 LCP: AuthProto CHAP (0x0305C22305) *Mar 1 21:57:43.367: BR0:1 LCP: MagicNumber 0x153BEFE7 (0x0506153BEFE7) *Mar 1 21:57:43.371: BR0:1 LCP: MRRU 1524 (0x110405F4) *Mar 1 21:57:43.379: BR0:1 LCP: EndpointDisc 1 Local (0x130F016D6175692D736F686F2D3031) *Mar 1 21:57:43.383: BR0:1 LCP: State is Open *Mar 1 21:57:43.383: BR0:1 PPP: Phase is AUTHENTICATING, by both [0 sess, 1 load] !--- PPP Authentication begins. *Mar 1 21:57:43.391: BR0:1 CHAP: O CHALLENGE id 6 Len 33 from "maui-soho-01" !--- outgoing challenge for the remote router !--- This username should be configured in the dialer map statement !--- at the remote router. *Mar 1 21:57:43.399: BR0:1 CHAP: I CHALLENGE id 6 Len 32 from "maui-nas-05" !--- incoming challenge from remote router !--- This username should be configured in the dialer map statement. *Mar 1 21:57:43.415: BR0:1 CHAP: O RESPONSE id 6 Len 33 from "maui-soho-01" *Mar 1 21:57:43.443: BR0:1 CHAP: I SUCCESS id 6 Len 4 !--- Incoming CHAP Authentication is successful. *Mar 1 21:57:43.450: BR0:1 CHAP: I RESPONSE id 6 Len 32 from "maui-nas-05" *Mar 1 21:57:43.466: BR0:1 CHAP: O SUCCESS id 6 Len 4 !--- Outgoing CHAP Authentication is successful. *Mar 1 21:57:43.474: BR0:1 PPP: Phase is VIRTUALIZED [0 sess, 1 load] *Mar 1 21:57:43.581: Vi1 PPP: Phase is DOWN, Setup [0 sess, 1 load] *Mar 1 21:57:43.601: BR0:1 IPCP: Packet buffered while building MLP bundle interface *Mar 1 21:57:43.605: BR0:1 CDPCP: Packet buffered while building MLP bundle interface *Mar 1 21:57:43.609: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up !--- Virtual access interface is automatically created (needed for multilink). *Mar 1 21:57:43.613: Vi1 DDR: Dialer statechange to up *Mar 1 21:57:43.617: Vi1 DDR: Dialer call has been placed *Mar 1 21:57:43.625: Vi1 PPP: Treating connection as a callout *Mar 1 21:57:43.625: Vi1 PPP: Phase is ESTABLISHING, Active Open [0 sess, 1 load] *Mar 1 21:57:43.637: Vi1 LCP: O CONFREQ [Closed] id 1 Len 34 *Mar 1 21:57:43.641: Vi1 LCP: AuthProto CHAP (0x0305C22305) *Mar 1 21:57:43.645: Vi1 LCP: MagicNumber 0x153BF171 (0x0506153BF171) *Mar 1 21:57:43.649: Vi1 LCP: MRRU 1524 (0x110405F4) *Mar 1 21:57:43.653: Vi1 LCP: EndpointDisc 1 Local (0x130F016D6175692D736F686F2D3031) *Mar 1 21:57:43.665: Vi1 PPP: Phase is UP [0 sess, 1 load] *Mar 1 21:57:43.677: Vi1 IPCP: O CONFREQ [Closed] id 1 Len 10 *Mar 1 21:57:43.681: Vi1 IPCP: Address 172.20.10.2 (0x0306AC140A02) *Mar 1 21:57:43.693: Vi1 CDPCP: O CONFREQ [Closed] id 1 Len 4 *Mar 1 21:57:43.697: BR0:1 MLP: maui-nas-05, multilink up, first link *Mar 1 21:57:43.700: Vi1 PPP: Pending ncpQ size is 2 *Mar 1 21:57:43.700: BR0:1 IPCP: Redirect packet to Vi1 *Mar 1 21:57:43.708: Vi1 IPCP: I CONFREQ [REQsent] id 1 Len 10 *Mar 1 21:57:43.712: Vi1 IPCP: Address 172.20.10.1 (0x0306AC140A01) *Mar 1 21:57:43.716: Vi1 IPCP: O CONFACK [REQsent] id 1 Len 10 *Mar 1 21:57:43.724: Vi1 IPCP: Address 172.20.10.1 (0x0306AC140A01) *Mar 1 21:57:43.728: BR0:1 CDPCP: Redirect packet to Vi1 *Mar 1 21:57:43.732: Vi1 CDPCP: I CONFREQ [REQsent] id 1 Len 4 *Mar 1 21:57:43.736: Vi1 CDPCP: O CONFACK [REQsent] id 1 Len 4 *Mar 1 21:57:43.744: Vi1 IPCP: I CONFACK [ACKsent] id 1 Len 10 *Mar 1 21:57:43.752: Vi1 IPCP: Address 172.20.10.2 (0x0306AC140A02) *Mar 1 21:57:43.756: Vi1 IPCP: State is Open !--- IPCP state is open. *Mar 1 21:57:43.764: Vi1 CDPCP: I CONFACK [ACKsent] id 1 Len 4 *Mar 1 21:57:43.768: Vi1 CDPCP: State is Open *Mar 1 21:57:43.772: Vi1 DDR: dialer protocol up *Mar 1 21:57:43.784: BR0 IPCP: Install route to 172.20.10.1 !--- Install route to remote side. *Mar 1 21:57:44.462: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up *Mar 1 21:57:44.657: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up *Mar 1 21:57:49.180: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 5551111 maui-nas-05 !--- BRI Dial on Demand Routing (DDR) Link is operational. maui-soho-01#
Revision | Publish Date | Comments |
---|---|---|
1.0 |
16-Dec-2005 |
Initial Release |