Dial on Demand Routing (DoDR or DDR)

You can configure DDR in several ways, including Legacy DDR and DDR dialer profiles. The main difference between the two is that Legacy DDR associates dial details with a physical interface, whereas DDR dialer profiles disassociate the dial configuration from a physical interface, allowing a great deal of flexibility. The concepts behind Legacy DDR apply to DDR dialer profiles as well, but Legacy DDR configuration is a little less detailed. DDR can be used to cause the router to dial or to receive a dialed call on asynchronous serial interfaces, synchronous serial interfaces, and ISDN BRI and PRI interfaces.

The following list identifies the four key concepts behind Legacy DDR configuration.

  1. Route packets out the interface to be dialed.
  2. Determine the subset of the packets that trigger the dialing process.
  3. Dial (signal).
  4. Determine when the connection is terminated.

The first two concepts are not actually related to the dial process, but they relate to the process of choosing when to dial and when not to dial. The other two concepts relate to dialing, or signaling. The term signaling is used in ISDN to describe the processes of call setup and teardown. Many people say “dial” or “dialing” instead of signaling, but it means the same thing.

Step 1

The following example provides the backdrop for these discussions. The branch router dials into the head office.

DDR Network

The router needs to route packets so that they are queued to go out the dial interface. Cisco’s design for DDR defines that the router receives some user-generated traffic and, through normal routing processes, decides to route the traffic out the interface to be dialed. Of course, routing protocols can not learn routes over a BRI line that is not normally up!

Step 2

Together, Steps 1 and 2 of Legacy DDR logic determine when to dial a circuit. These combined steps are typically called triggering the dial. In Step 1, a packet is routed out an interface to be dialed, but that alone does not necessarily cause the dial to occur. The Cisco IOS software allows Step 2 to define a subset of the packets routed in Step 1 to actually cause the route to dial.

DDR Logic

The choice in Step 2 is simply put like this: “Is this packet, which is being routed out this dial interface, worthy of causing the dial to occur?”.

The network engineer has control over what causes the dial, meaning that he or she also controls when the router spends the company’s money. Providers typically charge a base fee for the ISDN line, plus incremental charges per minute of use for a B channel. Two different methods can be used to define interesting packets. In the first method, interesting is defined as all packets of one or more Layer 3 protocols (for example, all IP packets). The second method allows you to define packets as interesting if they are permitted by an access list. IP access control lists (ACLs), create matching logic to match packets. ACLs consider the packets either permitted or denied. With DDR, if the access list permits the packet, it is considered interesting.

Here is one example:

ip route 192.168.3.0 255.255.255.0 192.168.2.1
!
access-list 101 permit tcp any 192.168.3.10 eq 80
!
dialer-list 1 protocol ip permit
!
dialer-list 2 protocol ip list 101
!
interface bri 2
encapsulation ppp
ip address 192.168.2.2 255.255.255.0

!Use this one if all IP is considered interesting …

dialer-group 1

!
! OR use next statement to trigger for web to server Lois
! Note: If you typed the next command, it would replace the dialer-group 1
! command; only one dialer-group is allowed per interface!
!

dialer-group 2

The dialer-group interface subcommand enables the logic that determines what is interesting. It refers to a dialer-list, which can refer to either an entire protocol suite (as seen in dialer-list 1) or an access list (as seen in dialer-list 2). With dialer-group 1 under interface BRI2, any IP traffic that tries to exit the interface is considered interesting and causes a dial to occur.

Step 3

Before the router can dial, or signal, to set up a call, it needs to know the phone number of the other router. Well, the command is dialer string string, where string is the phone number.

ip route 192.168.3.0 255.255.255.0 192.168.2.1
!
access-list 101 permit tcp any host 192.16.3.10 eq 80
!
dialer-list 2 protocol ip list 101
!
interface bri 2
ip address 192.168.2.2 255.255.255.0
encapsulation ppp
dialer string 12345678910
dialer-group 2

The only new command added here is dialer string, which shows the phone number that is to be used to signal a connection. The signaling occurs on the BRI’s D channel using Q.931 signaling. With only one site to dial, you can simply configure a single dial string. However, with multiple remote sites, the router needs to know each site’s phone number.

If a broadcast must be sent on the interface after the circuit has been created, you must use the broadcast keyword to tell the interface to forward the packet across the link. The dialed link acts just like a leased line while it is up. If a particular Layer 3 protocol is enabled on the link, it can be routed across the link. Transparent (encapsulated) bridging can be used just like any other point-to-point link. Routing updates, IPX SAPs, AppleTalk ZIP, and other broadcasts are sent across the link if the broadcast keyword is coded.

Step 4

The decision to take down the link is the most interesting part about what happens while the link is up. Although any type of packet can be routed across the link, only interesting packets are considered worthy of keeping the link up and spending more money. The router keeps an idle timer, which counts the time since the last interesting packet went across the link. If no interesting traffic happens for the number of seconds defined by the idle timer, the router brings the link down.

Two idle timers can be set. With the dialer idle-timeout seconds command, the idle time is set. However, if the router wants to dial other sites based on receiving interesting traffic for those sites, and all the B channels are in use, another shorter idle timer can be used. The dialer fast-idle seconds command lets you configure a typically lower number than the idle timer so that when other sites need to be dialed, the link that is currently up can be brought down more quickly.

Our Recommended Premium CCNA Training Resources

These are the best CCNA training resources online:

Click Here to get the Cisco CCNA Gold Bootcamp, the most comprehensive and highest rated CCNA course online with a 4.8 star rating from over 30,000 public reviews. I recommend this as your primary study source to learn all the topics on the exam. Cisco CCNA Gold Bootcamp
Want to take your practice tests to the next level? AlphaPreps purpose-built Cisco test engine has the largest question bank, adaptive questions, and advanced reporting which tells you exactly when you are ready to pass the real exam. Click here for your free trial. Cisco CCNA Gold Bootcamp