Originally it was thought that ISDN would replace every phone line in the United States. However, this service has transitioned through periods where some people just did not appreciate its digital advantages, including quality, speed, and call setup. ISDN provides voice, data, video, and other services for the small office/home office (SOHO) and telecommuter environments as well as backup services and contingency plans for others. Depending on the availability, bandwidth, and cost of other services, it may still be a viable alternative.
Although my primary focus here is BRI as displayed in Figure 9-6, there are two flavors of ISDN:
Basic Rate Interface (BRI)
- 2 B (64 kbps) for data, voice, video
- Bearer channels
- 1 D (16 kbps) for out-of-band control and signaling
- Delta channel
- Total bit rate is 144 kbps
- 2B + D
Primary Rate Interface (PRI)
- 23 B (64 kbps) for data, voice, video
- 1 D (64 kbps) for out-of-band control and signaling
- 23 B + D
- Total bit rate is 1.536 Mbps
- 30 B + 1 D for a total bit rate of 2.048 Mbps in Europe, Australia, and Japan
NOTE
Japan uses a J1, which is equivalent to a T1 PRI (23 B + D)
NOTE
The BRI interface creates the 2 B channels (128 kbps) and the D channel (16 kbps) to total 144 kbps. If you add the other 48 kbps of overhead (synchronization and framing), the total becomes 192 kbps.
The ISDN network components in Figure 9-7 include the terminal equipment, termination devices, reference, and function points.
Terminal equipment includes the following:
Network termination devices include the following:
NT1— CPE in North America; carrier provided elsewhere. It is the device responsible for the time-division multiplexing (TDM) between the four-wire connection from the router to the two-wire connection to the telco. The NT1 applies power to the line.
NT2— Typically found in private branch exchanges (PBXs). There is an NT1/2 available to provide the function of both the NT1 and NT2. Not always used.
A line termination (LT) is a physical connection to an ISDN switch, whereas reference points are more like conceptual interfaces. They are just letters of the alphabet that don't stand for anything, but they do happen to go in alphabetic order toward the service provider: R, S, T, U. Pictures are quite helpful here, and these concepts appear to be pretty significant on all Cisco exams. Figure 9-8 gives you a block diagram review of the ISDN functions and the following reference points:
NOTE
Do not connect a U reference point on a router into an NT1 or you may find out what blue smoke (that is, a fried device) smells like. By the same token, do not plug a powered NT1 cable into an Ethernet or console port. As shown in Figure 9-8, the U includes the NT1 and the NT1 is what applies the 48V DC power to the line.
In the United States, the NT1 is the responsibility of the subscriber, whereas in Europe it is typically provided by the service provider. ISDN is an international service, but services, providers, and switch types vary by region and country.
Although there are many different switch types, it is possible to have one emulate another. For example, I can take an Adtran switch, which defaults to basic-ni1, and have it emulate a basic-5ess, which is what a Madge switch uses. Table 9-3 lists some of the major ISDN switch types.
An ISDN simulator may be more cost-effective for labs and may be what you are using here. However, you still need to be familiar with the switch types and how to configure them.
Switch Type | Location |
---|---|
Basic-5ess[*] | AT&T (U.S. and Canada) |
Basic-dms100 | North America |
Basic-ni1 | National ISDN-1 (North America) |
Basic-ts013 | Australia |
Basic-net3 | United Kingdom and Europe |
Ntt | Japan |
[*] IOS 12.0 code sets the ISDN switch type to basic-5ess as the default.
The basic-ni1 uses Service Profile Identifiers (SPIDs), and the basic-5ess doesn't. SPIDs are an optional feature that may or may not be utilized depending on the provider (and in fact frequently is dependent on the switch type used by the provider). Typically, SPIDs include the E.164 10-digit (area code + number) in addition to extra ID codes. National ISDN will have 14 digits (fqn + 0101), and DMS will have 12 digits (01 + fqn).
NOTE
IOS 12.0 and above sets the global ISDN switch type to basic-5ess by default. All interfaces inherit the global switch type unless one is specifically configured on the interface.
As you can see, ISDN is available in different parts of the world. Cisco ISDN standards are based on the international standards. The ITU-T standard encompasses Layer 1 through Layer 3, and is further defined as follows:
E series— For telephone, network, and ISDN, including numbering plans and addressing.
I series— For concepts, structures, and terminology for devices.
Q series— For switching and signaling with LAPD (Q.921) for the D channel and Q.931 Network Layer between the ISDN switch and the terminal device.
NOTE
To help you commit the ISDN standards to memory, think of them as such: E for existing; I for information; and Q for signaling. (Admittedly, the Q is harder to remember than the others; perhaps you can think of it like the q933a for LMI signaling in Frame Relay.)
Just as the standards suggest, ISDN call processing takes a layered approach. It uses Link Access Protocol D (LAPD) for control and signaling on the D channel. In many instances, the 16-kbps D channel appears to always be up, which is why call setup takes less than a few seconds. Normally, the common signaling between the local ISDN switch and the remote ISDN switch (in the cloud) is Signaling System 7 (SS7). However, SS7 is beyond the scope of this book. The B channels are mostly used for circuit-switched data encapsulated as either HDLC or PPP, whereas the D channel is used for signaling.
At the Physical Layer, an RJ-45 connector is wired as follows for the S/T interface at the TA end, whereas a U interface is pins 4/5 only for tip/ring.
Pins 1 (green) and 2 (green/white) for power source
Pins 7 (brown) and 8 (brown/white) for power sink
Pins 3 (orange/white) and 6 (orange) for Tx
Pins 4 (blue/white) and 5 (blue) for Rx
NOTE
An unused ISDN port is a good place for a cutoff or blank RJ-45 connector, so you don't accidentally plug into the port something you shouldn't.
This is a good time to physically connect r5 and r6 to the NT1 S/T ports as in Figure 9-9. Also connect the ISDN switch or simulator to the NT1 U ports. Based on the D-channel sync bits, the ports on the ISDN simulator should be green, whereas the NT1 is flashing ready (green) for the physical connections. If not, you will continue to troubleshoot as you walk through the ISDN scenario. Figure 9-9 and Figure 9-10 show the physical views. Do not program your devices for ISDN yet.
Because you can't always physically inspect things, controller and interface commands help you walk through the layers. For example, show controllers bri 0 shows the Physical Layer statistics. However, show isdn status offers the most help at this point.
Take a look at the Physical Layer statistics as in Example 9-27.
r5#show controllers bri 0 BRI unit 0 D Chan Info: Layer 1 is ACTIVATING r5#show isdn status **** No Global ISDN Switchtype currently defined **** ISDN BRI0 interface dsl 0, interface ISDN Switchtype = none Layer 1 Status: DEACTIVATED Layer 2 Status: Layer 2 NOT Activated Layer 3 Status: 0 Active Layer 3 Call(s) Activated dsl 0 CCBs = 0 The Free Channel Mask: 0x80000003 Total Allocated ISDN CCBs = 0 |
I cut the majority of the output in Example 9-27 except for the item you should look for in the show controllers bri 0 output. The BRI controllers should be activated not activating. The output of show isdn status clearly tells you the problem. I must say this is the most useful command in supporting ISDN. Fix this Physical Layer problem in Example 9-28 on both ISDN routers before you continue.
r5#configure terminal r5(config)#isdn switch-type ? basic-1tr6 1TR6 switch type for Germany basic-5ess AT&T 5ESS switch type for the U.S. basic-dms100 Northern DMS-100 switch type basic-net3 NET3 switch type for UK and Europe basic-ni National ISDN switch type basic-ts013 TS013 switch type for Australia ntt NTT switch type for Japan vn3 VN3 and VN4 switch types for France <cr> r5(config)#isdn switch-type basic-ni r6(config)#isdn switch-type basic-ni r6(config)#end r6#show isdn status Global ISDN Switchtype = basic-ni ISDN BRI0 interface dsl 0, interface ISDN Switchtype = basic-ni Layer 1 Status: DEACTIVATED ... r6#configure terminal r6(config)#interface bri0 r6(config-if)#no shut Dec 22 01:01:52.987: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 01:01:53.019: %LINK-3-UPDOWN: Interface BRI0:2, changed state to down Dec 22 01:01:53.119: %LINK-3-UPDOWN: Interface BRI0, changed state to up Dec 22 01:01:53.327: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 99 changed to up r5(config)#interface bri0 r5(config-if)#no shut Dec 22 01:02:14.267: isdn_Call_disconnect() Dec 22 01:02:14.267: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 01:02:14.303: isdn_Call_disconnect() Dec 22 01:02:14.303: %LINK-3-UPDOWN: Interface BRI0:2, changed state to down Dec 22 01:02:14.399: %LINK-3-UPDOWN: Interface BRI0, changed state to up Dec 22 01:02:14.607: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 100 changed to up r5(config-if)#end r5#show isdn status Global ISDN Switchtype = basic-ni ISDN BRI0 interface dsl 0, interface ISDN Switchtype = basic-ni Layer 1 Status: ACTIVE Layer 2 Status: TEI = 100, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED Layer 3 Status: 0 Active Layer 3 Call(s) Activated dsl 0 CCBs = 0 The Free Channel Mask: 0x80000003 Total Allocated ISDN CCBs = 0 |
You took the right steps in Example 9-28 to configure the ISDN switch type, but you need to bring up the BRI interfaces, too. Analyze the BRI LEDs on the routers, the NT1, and the simulator. They should all be green. Now that you know the equipment and the links are working, you can concentrate on the configuration.
NOTE
Many international ISDN connections do not use the full ISDN signaling, and the interswitch connections may limit the speed to 56 kbps. However, the receiving end thinks this is a 64-kbps call. Configure the 56 kbps call using the isdn not-end-to-end 56 command. In addition, dialer maps enable you to specify the speed for the outgoing call, but the default is 64 kbps.
Although not practical (due to expense and security reasons), next I want you to configure ISDN to allow all IP-related traffic to bring up the link between r5 and r6. Assign IP addresses and configure the connection so that it will time out if idle for more than 55 seconds. Use the ISDN configuration commands in Figure 9-9 for r6 as a guide, although you must modify them to configure r5 as Example 9-29 illustrates.
r5(config)#dialer-list 1 protocol ip permit r5(config)#interface bri0 r5(config-if)#shut r5(config-if)#dialer-group 1 !!!note that all the dialer map parameters are for the destination r5(config-if)#dialer map ip 192.168.9.21 name r5 8358661 r5(config-if)#dialer map ip 192.168.9.21 name r5 8358663 r5(config-if)#dialer idle-timeout 55 r5(config-if)#ip address 192.168.9.22 255.255.255.252 r5(config-if)#no shut Dec 22 01:27:06.003: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 100 changed to down Dec 22 01:27:06.007: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 100 changed to down Dec 22 01:27:08.107: %SYS-5-CONFIG_I: Configured from console by console Dec 22 01:27:08.175: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 101 changed to up r5(config-if)#end !!!follow figure 9-9 for I entered the wrong map statements r5#configure terminal r5(config)#interface bri0 r5(config-if)#no dialer map ip 192.168.9.21 name r5 8358661 r5(config-if)#no dialer map ip 192.168.9.21 name r5 8368663 !!!now for the correct ones r5(config-if)#dialer map ip 192.168.9.21 name r6 8358661 r5(config-if)#dialer map ip 192.168.9.21 name r6 8358663 r5(config-if)#no shut Dec 22 01:34:22.943: isdn_Call_disconnect() Dec 22 01:34:22.947: isdn_Call_disconnect() Dec 22 01:34:23.011: isdn_Call_disconnect() Dec 22 01:34:23.011: isdn_Call_disconnect() Dec 22 01:34:23.355: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 101 changed to down Dec 22 01:34:23.359: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 101 changed to down Dec 22 01:34:25.523: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 102 changed to up r5#copy running-config startup-config r6(config)#dialer-list 1 protocol ip permit r6(config)#interface bri0 r6(config-if)#shut r6(config-if)#dialer-group 1 r6(config-if)#dialer map ip 192.168.9.22 name r5 8358662 r6(config-if)#dialer map ip 192.168.9.22 name r5 8358664 r6(config-if)#dialer idle-timeout 55 r6(config-if)#ip address 192.168.9.21 255.255.255.252 r6(config-if)#no shut Dec 22 01:46:30.223: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 01:46:30.259: %LINK-3-UPDOWN: Interface BRI0:2, changed state to down Dec 22 01:46:30.351: %LINK-3-UPDOWN: Interface BRI0, changed state to up r6(config-if)# Dec 22 01:46:30.523: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 99 changed to down Dec 22 01:46:30.527: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 99 changed to down r6(config-if)# Dec 22 01:46:32.687: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 103 changed to up r6(config-if)#end r6#copy running-config startup-config |
Now that you have configured ISDN, I want to talk about the configuration a bit before you test it. One of the requirements given prior to Example 9-29 was for you to allow all IP traffic to bring up the link. Although dialer-list 1 protocol ip permit is frequently good in the lab and testing environment, in live networks you almost always want a more restrictive policy. Otherwise, you may be paying for ISDN usage charges every time any IP traffic brings up the link. This command is actually the default. However, it doesn't give you any problems until you apply the global dialer-list 1 command using the interface dialer-group 1 command.
The dialer map command handles the Layer 2 and Layer 3 mapping, similar to the frame-relay map you learned about in the preceding chapter. I think of it like a static route to configure it. “Where do you want to go and how will you get there?” is what I ask myself. The “where do you want to go?” part is the destination IP and router name. The “how will you get there?” part is the phone number you must dial. Compare this to the dialer map statements you typed back in Example 9-29.
At this point, you have configured the IP addresses, dialer timeout, and dialer map, but not the phone numbers. The phone number in ISDN is like the data-link connection identifier (DLCI) in Frame Relay or the MAC address on a LAN. With SPIDs the phone numbers are typically included; if not, you must configure the local directory number (LDN). Keep in mind that if you are given SPIDs they should be configured. Add the SPIDs that were provided by the service provider, as indicated in Figure 9-9 and Example 9-30.
NOTE
In my case the SPIDs and LDNs were provided by the manufacturer of the ISDN demonstrator in my lab (and appear a little different if you are using an ISDN switch). Thanks to my friend Chris Heffner, a Cisco instructor and CCIE for Global Knowledge Network, for lending it to me. You can get more information on this device at www.teltone.com by searching for “isdn demonstrator.”
r5(config)#interface bri0 r5(config-if)#shut r5(config-if)#isdn ? all-incoming-calls-v120 Answer all incoming calls as V.120 answer1 Specify Called Party number and subaddress answer2 Specify Called Party number and subaddress caller Specify incoming telephone number to be verified calling-number Specify Calling Number included for outgoing calls fast-rollover-delay Delay between fastrollover dials incoming-voice Specify options for incoming calls. not-end-to-end Specify speed when calls received are not isdn end to end outgoing-voice Specify information transfer capability for voice calls send-alerting Specify if Alerting message to be sent out before Connect message sending-complete Specify if Sending Complete included in outgoing SETUP message spid1 Specify Service Profile IDentifier spid2 Specify Service Profile IDentifier static-tei Specify a Static TEI for ISDN BRI switch-type Select the Interface ISDN switch type tei-negotiation Set when ISDN TEI negotiation should occur timeout-signaling Flush D channel if a signaling packet can't be transmitted in 1 second r5(config-if)#isdn spid1 ? WORD spid1 string r5(config-if)#isdn spid1 0835866201 ? WORD local directory number <cr> r5(config-if)#isdn spid1 0835866201 8358662 r5(config-if)#isdn spid2 0835866401 8358664 r5(config-if)#no shut Dec 22 02:12:46.175: isdn_Call_disconnect() Dec 22 02:12:46.175: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 02:12:46.207: isdn_Call_disconnect() Dec 22 02:12:46.207: %LINK-3-UPDOWN: Interface BRI0:2, changed state to down Dec 22 02:12:46.303: %LINK-3-UPDOWN: Interface BRI0, changed state to up Dec 22 02:12:46.471: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 102 changed to down Dec 22 02:12:46.475: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 102 changed to down Dec 22 02:12:48.643: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 104 changed to up Dec 22 02:12:48.811: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 105 changed to up r5(config-if)#end r5#copy running-config startup-config r6#configure terminal r6(config)#interface bri0 r6(config-if)#shut r6(config-if)#isdn spid1 0835866101 8358661 r6(config-if)#isdn spid2 0835866301 8358663 r6(config-if)#no shut Dec 22 02:14:28.855: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 02:14:28.887: %LINK-3-UPDOWN: Interface BRI0:2, changed state to down Dec 22 02:14:28.983: %LINK-3-UPDOWN: Interface BRI0, changed state to up Dec 22 02:14:29.151: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 103 changed to down Dec 22 02:14:29.155: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 103 changed to down Dec 22 02:14:31.319: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 106 changed to up Dec 22 02:14:31.487: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 107 changed to up r6(config-if)#end r6#copy running-config startup-config |
As you can verify in Figure 9-30, my SPIDs contain the LDN, so the LDN configuration is really optional; however, it doesn't hurt to configure it. Keep in mind as you work through my examples that my SPID configuration is for an ISDN simulator, not an ISDN switch, so your SPID format may differ a bit. As always, use the question mark to help you configure the information you are given.
Now review the BRI interface status and statistics with show ip interface brief and with show interfaces bri to see the D channel. Although it is probably not present in your lab, help me determine the issue in Example 9-31.
r5#show ip interface brief Interface IP-Address OK? Method Status Protocol BRI0 192.168.9.22 YES manual up up BRI0:1 unassigned YES unset down down BRI0:2 unassigned YES unset down down ... r5#configure terminal r5(config)#interface bri0 r5(config-if)#no shut 5d15h: isdn_Call_disconnect() 5d15h: isdn_Call_disconnect() 5d15h: isdn_Call_disconnect() 5d15h: isdn_Call_disconnect() 5d15h: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 121 changed to down 5d15h: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 121 changed to down 5d15h: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 123 changed to up 5d15h: %ISDN-4-INVALID_SPID: Interface BR0, Spid1 was rejected 5d15h: isdn_Call_disconnect() 5d15h: isdn_Call_disconnect() 5d15h: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BRI0, TEI 123 changed to down 5d15h: %ISDN-6-LAYER2DOWN: Layer 2 for Interface BR0, TEI 123 changed to down 5d15h: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 124 changed to up 5d15h: %ISDN-6-LAYER2UP: Layer 2 for Interface BR0, TEI 125 changed to up |
Now it is time for a little troubleshooting, and the problem is not just the lack of time and date stamps. The invalid SPID message made me double check my physical wiring. I started there because I'm following troubleshooting methods presented in the earlier chapters. The methodology indicates that it helps to start at the bottom and work your way up. Sure enough, the BRI cables on the routers were reversed. This would have been the same result on r6, but I decided to take care of this issue by swapping the cables. Feel free to duplicate my problem and analyze the issues before you continue. This was a matter of right cable, wrong router. The same types of issues exist here as with shooting any Physical Layer or Data Link Layer trouble. Your key troubleshooting focus is on the local loop, which is terminated on the NT1 device.
In your lab, verify that the D channel is up, shut down the serial interfaces between r5 and r6, and review the BRI configuration as in Example 9-32. Observe both B channels with show interfaces bri0 1 2.
r5#show ip interface brief Interface IP-Address OK? Method Status Protocol BRI0 192.168.9.22 YES manual up up BRI0:1 unassigned YES unset down down BRI0:2 unassigned YES unset down down ... r5#configure terminal r5(config)#interface s1 r5(config-if)#shut r5(config-if)#end r5#show interface bri0 BRI0 is up, line protocol is up (spoofing) Hardware is BRI Internet address is 192.168.9.22/30 MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0 (size/max/drops); Total output drops: 0 Queueing strategy: weighted fair Output queue: 0/1000/64/0 (size/max total/threshold/drops) Conversations 0/1/256 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 142 packets input, 638 bytes, 0 no buffer Received 13 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 140 packets output, 623 bytes, 0 underruns 0 output errors, 0 collisions, 11 interface resets 0 output buffer failures, 0 output buffers swapped out 5 carrier transitions r5#show interfaces bri0 1 2 BRI0:1 is down, line protocol is down Hardware is BRI MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) Last input never, output never, output hang never Last clearing of "show interface" counters never ... BRI0:2 is down, line protocol is down Hardware is BRI MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) Last input never, output never, output hang never Last clearing of "show interface" counters never ... |
Note the output of show interfaces bri0 above for the 16 kbps D channel. It shows (spoofing). Spoofing is just what it sounds like. The interface lies to the Layer 3 so that there will be a routing entry maintained in the router to allow dial-on-demand routing (DDR) to wake up and trigger a call when required. The B channels are not up all the time as you verified with show interfaces bri0 1 2 because they need some interesting traffic to bring them up.
Next look at the dialer configuration with show dialer interface bri0 and show dialer map as in Example 9-33. Verify your dial strings and statements. Fix them if necessary.
r5#show dialer interface bri0 BRI0 - dialer type = ISDN Dial String Successes Failures Last called Last status 8358663 0 0 never - 8358661 0 0 never - 0 incoming call(s) have been screened. 0 incoming call(s) rejected for callback. BRI0:1 - dialer type = ISDN Idle timer (55 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is idle BRI0:2 - dialer type = ISDN Idle timer (55 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is idle r5#show dialer map !!!read this as to get to r6(B-channel 1) dial 8358661 Static dialer map ip 192.168.9.21 name r6 (8358661) on BR0 !!!read this as to get to r6(B-channel 2) dial 8358663 Static dialer map ip 192.168.9.21 name r6 (8358663) on BR0 |
The best test is to bring up the connection in Example 9-34. Analyze your interfaces while the ISDN connection is up and running.
r5#ping 192.168.9.21 Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/37/40 ms Dec 22 02:59:38.827: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up Dec 22 02:59:39.867: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up Dec 22 02:59:44.863: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 r6 r5#show interfaces bri0 1 2 BRI0:1 is up, line protocol is up Hardware is BRI MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) Time to interface disconnect: idle 00:00:47 Last input 00:00:07, output 00:00:06, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0 (size/max/drops); Total output drops: 0 Queueing strategy: weighted fair Output queue: 0/1000/64/0 (size/max total/threshold/drops) Conversations 0/1/256 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 14 packets input, 964 bytes, 0 no buffer Received 6 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 14 packets output, 964 bytes, 0 underruns 0 output errors, 0 collisions, 13 interface resets 0 output buffer failures, 0 output buffers swapped out 3 carrier transitions BRI0:2 is down, line protocol is down ... r5#show ip interface brief Interface IP-Address OK? Method Status Protocol BRI0 192.168.9.22 YES manual up up BRI0:1 unassigned YES unset up up BRI0:2 unassigned YES unset down down Ethernet0 unassigned YES unset administratively down down Loopback8 5.5.5.5 YES NVRAM up up Serial0 192.168.9.14 YES NVRAM up up Serial1 192.168.9.18 YES NVRAM administratively down down Dec 22 03:00:35.595: %ISDN-6-DISCONNECT: Interface BRI0:1 disconnected from 8358661 r6, call lasted 56 seconds Dec 22 03:00:35.707: isdn_Call_disconnect() Dec 22 03:00:35.707: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 03:00:36.707: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to down |
The ping command is just as good as anything else to bring up the ISDN B channel because it requires IP. protocol IP permit was part of your dialer list and dialer map statements. Your time and date stamps are quite informative here to let you know that BRI0:1 is up and connected to r6 using the phone number 835-8661. The output of show interfaces bri0 1 2 shows you that the first B channel is up, the default encapsulation is HDLC, and that you have 47 seconds until disconnect. You can also see that the interface counters have never been cleared. If you see an IP address, you are looking at the D channel instead. Perhaps you typed show interfaces bri0 without the 1 or 2 at the end. The output of show ip interface brief also clearly shows the D channel and B channel as being up for the line and protocol. Although only one B channel is used by default, you can configure the other one with the dialer threshold command. You will do this in the “Trouble Tickets” section. Note the ending shaded call disconnect where your dialer idle-timeout configuration of 55 seconds took effect.
NOTE
Any errors with the dialer commands should lead you to verifying your dialer list, dialer group, dialer map, and dialer string commands.
Next bring the link up again to verify the layers with show isdn status as in Example 9-35.
r5#ping 192.168.9.21 Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/36/36 ms Dec 22 03:25:28.799: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up Dec 22 03:25:28.835: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 Dec 22 03:25:29.843: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state |
As previously mentioned, the show isdn status command is an extremely useful command in troubleshooting the layers with ISDN BRI. However, it helps to understand the frame format in Figure 9-11 to assist you in interpreting what you are looking at with the output of this command and similar ones. After I review the ISDN LAPD framing, I will move into shooting more ISDN troubles.
At Layer 1, the terminal endpoint (TE) is required before Layer 2 setup can occur. This is not end-to-end, but rather router (TE) to the local ISDN switch. An example of this is when I had the cables reversed on the routers and the controllers were activating rather than activated. As you can observe in Figure 9-12, there are two key fields in the LAPD address: TEI and SAPI.
At Layer 2, ISDN operates much like HDLC. Check your terminal endpoint identifiers (TEIs). A TEI uniquely defines a terminal. 0 through 63 are not automatically assigned to user equipment, 64 through 126 are dynamically assigned, and TEI 127 is used for a broadcast. Although the ISDN switches may remove TEIs, the routers keep track of them. If you need to remove a router's TEIs, you need to reload the router to do so. The shut/no shut approach or clear interface bri0 is not enough. However, that will increment the TEIs automatically and fixes many ISDN issues, too. Note that the TEIs of 104 (r5 SPID1) and 105 (r5 SPID2) are dynamically assigned in Example 9-35.
The service access point identifier (SAPI) defines the message type for the related ISDN Layer 3 management. SAPI 0 indicates call control procedures or ISDN Layer 3 signaling. SAPI 1 through 15 and 17 through 31 are reserved for future standardization. SAPI 16 is for X.25 procedures. SAPI 63 indicates Layer 2 management including TEI assignment, and SAPI 64 is used for call control.
The Command/Response (C/R) bit shows a value of 0 or 1 depending on the network side or the user side and whether a command or response:
Network to user
1 = Command
0 = Response
User to network
0 = Command
1 = Response
NOTE
For more details on the LAPD frame, refer to the ITU standards. I really like the protocol reference guides offered by DigiNet Corporation at www.diginet.com. I think you will find them very worthwhile for a nominal fee. They are not only for ISDN but also for supporting other technologies.
Now that you understand more of the ISDN Layer 2 technical details, take time to use the debug isdn q921 command. Outside of show isdn status, it is the primary ISDN Layer 2 tool. You can use it to check TEI handling, call setup, information transfer, data-link monitoring, and disconnects. Issue it now on r5 and bring up the connection to watch the normal activity of ISDN Layer 2 as in Example 9-36. Wait for the call to disconnect before you turn off the debug command.
r5#debug isdn q921 ISDN Q921 packets debugging is on Dec 22 04:06:03.183: ISDN BR0: TX -> RRp sapi = 0 tei = 108 nr = 1 Dec 22 04:06:03.211: ISDN BR0: RX <- RRf sapi = 0 tei = 108 nr = 1 Dec 22 04:06:03.351: ISDN BR0: TX -> RRp sapi = 0 tei = 109 nr = 1 Dec 22 04:06:03.375: ISDN BR0: RX <- RRf sapi = 0 tei = 109 nr = 1 r5#ping 192.168.9.21 Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/36/36 ms Dec 22 04:06:15.787: ISDN BR0: TX -> INFOc sapi = 0 tei = 108 ns = 1 nr = 1 i = 0x08010405040288901801832C0738333538363631 Dec 22 04:06:15.999: ISDN BR0: RX <- INFOc sapi = 0 tei = 108 ns = 1 nr = 2 i = 0x08018402180189952A1B809402603D8307383335383636318E0B2054656C746F6E65203120 Dec 22 04:06:16.015: ISDN BR0: TX -> RRr sapi = 0 tei = 108 nr = 2 Dec 22 04:06:16.127: ISDN BR0: RX <- INFOc sapi = 0 tei = 108 ns = 2 nr = 2 i = |
Follow along with the output of Example 9-36 to look at the call control procedures over SAPI 0, the dynamic assignment of the TEIs, and the Tx and Rx for the C/R activity. I have shaded the changes in the BRI interface status so that you can follow the steps. The debug bri command enables you to watch the actual TEI negotiation.
It is often helpful to know whether call setup has ever occurred for troubleshooting purposes. Review the history of calls in Example 9-37.
r5#show isdn history -------------------------------------------------------------------------------- ISDN CALL HISTORY -------------------------------------------------------------------------------- History table has a maximum of 100 entries. History table data is retained for a maximum of 15 Minutes. -------------------------------------------------------------------------------- Call Calling Called Remote Seconds Seconds Seconds Charges Type Number Number Name Used Left Idle Units/Currency -------------------------------------------------------------------------------- Out 8358661 r6 56 0 -------------------------------------------------------------------------------- r5#ping 192.168.9.21 Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! ... r5#show isdn history -------------------------------------------------------------------------------- ISDN CALL HISTORY -------------------------------------------------------------------------------- History table has a maximum of 100 entries. History table data is retained for a maximum of 15 Minutes. -------------------------------------------------------------------------------- Call Calling Called Remote Seconds Seconds Seconds Charges Type Number Number Name Used Left Idle Units/Currency -------------------------------------------------------------------------------- Out 8358661 r6 56 0 Out 8358661 r6 10 46 8 0 -------------------------------------------------------------------------------- |
This router has always been on the initiating side of setting up the ISDN call parameters. Feel free to go to r6 to initiate the call and then repeat the history command on r6 to see the difference. It should add an additional inbound call. Another similar command is show isdn active to see just the active call.
NOTE
Remember that ISDN has its own Layer 2 and Layer 3. ISDN Layer 3 is for signaling and has nothing to do with the bearer payload being IP Layer 3. Q931 deals with end-to-end call setup, but there is no Layer 3 address. The E.164 phone number would be like your MAC address on the LAN, which technically makes ISDN part of the Layer 2 Data Link Layer realm.
Just like debug isdn q921 shows the details of ISDN Layer 2, you can troubleshoot ISDN Layer 3 information with debug isdn q931. Use it to check call setup parameters such as SPIDs and phone numbers. In Example 9-38, issue it on r5 to watch the normal activity of ISDN Layer 3.
r5#debug isdn q931 ISDN Q931 packets debugging is on r5#ping 192.168.9.21 Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/36/36 ms Dec 22 04:53:23.275: ISDN BR0: TX -> SETUP pd = 8 callref = 0x06 Dec 22 04:53:23.279: Bearer Capability i = 0x8890 Dec 22 04:53:23.279: Channel ID i = 0x83 Dec 22 04:53:23.283: Keypad Facility i = '8358661' Dec 22 04:53:23.491: ISDN BR0: RX <- CALL_PROC pd = 8 callref = 0x86 Dec 22 04:53:23.491: Channel ID i = 0x89 Dec 22 04:53:23.495: Locking Shift to Codeset 5 Dec 22 04:53:23.499: Codeset 5 IE 0x2A i = 0x809402, '`=', 0x8307, '8358661', 0x8E0B20, 'Teltone', 0x20, '1', 0x20 Dec 22 04:53:23.619: ISDN BR0: RX <- CONNECT pd = 8 callref = 0x86 Dec 22 04:53:23.635: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up Dec 22 04:53:23.667: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 Dec 22 04:53:23.679: ISDN BR0: TX -> CONNECT_ACK pd = 8 callref = 0x06 Dec 22 04:53:24.675: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up Dec 22 04:53:29.671: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 r6 !!!active call in progress r5#show isdn status Global ISDN Switchtype = basic-ni ISDN BRI0 interface dsl 0, interface ISDN Switchtype = basic-ni Layer 1 Status: ACTIVE Layer 2 Status: TEI = 108, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED TEI = 109, Ces = 2, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED Spid Status: TEI 108, ces = 1, state = 5(init) spid1 configured, spid1 sent, spid1 valid Endpoint ID Info: epsf = 0, usid = 2, tid = 1 TEI 109, ces = 2, state = 5(init) spid2 configured, spid2 sent, spid2 valid Endpoint ID Info: epsf = 0, usid = 4, tid = 1 Layer 3 Status: 1 Active Layer 3 Call(s) Activated dsl 0 CCBs = 1 CCB:callid=0x8006, sapi=0x0, ces=0x1, B-chan=1 The Free Channel Mask: 0x80000002 Total Allocated ISDN CCBs = 1 r5# Dec 22 04:54:20.375: %ISDN-6-DISCONNECT: Interface BRI0:1 disconnected from 8358661 r6, call lasted 56 seconds Dec 22 04:54:20.387: ISDN BR0: TX -> DISCONNECT pd = 8 callref = 0x06 Dec 22 04:54:20.391: Cause i = 0x8090 - Normal call clearing Dec 22 04:54:20.495: ISDN BR0: RX <- RELEASE pd = 8 callref = 0x86 Dec 22 04:54:20.511: isdn_Call_disconnect() Dec 22 04:54:20.515: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down Dec 22 04:54:20.547: ISDN BR0: TX -> RELEASE_COMP pd = 8 callref = 0x06 Dec 22 04:54:21.511: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to down !!!after the call tear down r5#show isdn status Global ISDN Switchtype = basic-ni ISDN BRI0 interface dsl 0, interface ISDN Switchtype = basic-ni Layer 1 Status: ACTIVE Layer 2 Status: TEI = 108, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED TEI = 109, Ces = 2, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED Spid Status: TEI 108, ces = 1, state = 5(init) spid1 configured, spid1 sent, spid1 valid Endpoint ID Info: epsf = 0, usid = 2, tid = 1 TEI 109, ces = 2, state = 5(init) spid2 configured, spid2 sent, spid2 valid Endpoint ID Info: epsf = 0, usid = 4, tid = 1 Layer 3 Status: 0 Active Layer 3 Call(s) Activated dsl 0 CCBs = 0 The Free Channel Mask: 0x80000003 Total Allocated ISDN CCBs = 0 r5#undebug all |
The call reference parameters help to distinguish between the different calls. For example, the reason for the preceding disconnect is normal call clearing. See the shaded output after the 56-second disconnect in Example 9-38.
Now that you have looked at the LAPD frame format and experimented with some of the commands on a layer-by-layer basis, I want to focus on shooting ISDN BRI troubles.
Although you have already performed some pretty intensive ISDN troubleshooting, I want to reinforce the general things to look for when shooting ISDN BRI troubles. Also I want to cover a little more detail on defining interesting traffic and running routing protocols over ISDN links.
Several show, debug, and clear IOS commands are available to help you understand and support ISDN. Example 9-39 illustrates the ISDN show commands.
r5#show isdn ? active ISDN active calls history ISDN call history memory ISDN memory information status ISDN Line Status timers ISDN Timer values |
The show isdn active command shows calls in progress, but if there is not a call in progress perhaps you should try show isdn history to see whether there was ever a call placed. Refer back to the previous examples for the output of these commands. The show isdn memory command shows ISDN memory pool statistics and what is in use. The show isdn timers shows the switch type and other Layer 2 and Layer 3 values.
The commands show ip interface brief, show interface bri0 [1 | 2], show controllers bri 0 as well as link lights are all invaluable Physical Layer tools. Without 1 or 2, show interface bri0 shows the D-channel activity; with the 1 or 2 you are looking at the B channels. Error counts such as packets input and output and carrier transitions beyond your baseline are worthwhile to analyze. Move up the stack to check the encapsulation or frame type. Are you communicating with the ISDN switch? Remember that the switch type must match between your router and the local ISDN switch. Get this information from the provider. Look at the keepalive activity (D-channel signaling) between the local router and the ISDN switch with show interfaces bri0. Be sure to clear the interface with clear interface bri0 to reset the hardware logic and re-establish the TEI before you call it a day. As with other technologies, clear the interface counters using clear counters bri0 to establish what you are looking at from this point on (so that you are not confused by previous interface resets, for instance).
Use show isdn status to see the switch type and a summary of what is going on with the layers. This is by far the most informative command for supporting ISDN. ISDN Layer 3 depends on Layer 2 and Layer 2 depends on Layer 1, but that shouldn't be any big surprise by now. The incorrect switch type is a very common problem; expect Layer 1 and Layer 2 to be deactivated if this is the issue. Use debug isdn q921 to further define issues with the telco switch and debug isdn q931 to further pinpoint call setup issues. Q921 will help when a cable is unplugged or help determine whether the cable is bad (and by the same logic, when nothing is going through).
Other common targets are dialer configuration, encapsulation, and authentication issues. Phone numbers, SPIDs, and the map statements to get to the other end are all things to look at with the dialer. Review Example 9-40 for dialer troubleshooting. Refer back to the ”Shooting Trouble with PPP” section for assistance with PPP encapsulation and or authentication troubleshooting.
r5>show dialer ? interface Show dialer information on one interface maps Show dialer maps <cr> r5>show dialer BRI0 - dialer type = ISDN Dial String Successes Failures Last called Last status 8358663 0 0 never - 8358661 6 0 00:20:01 successful 0 incoming call(s) have been screened. 0 incoming call(s) rejected for callback. BRI0:1 - dialer type = ISDN Idle timer (55 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is idle BRI0:2 - dialer type = ISDN Idle timer (55 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is idle r5>show dialer maps Static dialer map ip 192.168.9.21 name r6 (8358661) on BR0 Static dialer map ip 192.168.9.21 name r6 (8358663) on BR0 r5>ping 192.168.9.21 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/36/36 ms Dec 22 05:16:37.326: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up Dec 22 05:16:37.358: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 Dec 22 05:16:38.366: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up r5>show dialer BRI0 - dialer type = ISDN Dial String Successes Failures Last called Last status 8358663 0 0 never - 8358661 7 0 00:00:05 successful 0 incoming call(s) have been screened. 0 incoming call(s) rejected for callback. BRI0:1 - dialer type = ISDN Idle timer (55 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is data link layer up !!!note that it tells you why the call was made Dial reason: ip (s=192.168.9.22, d=192.168.9.21) Time until disconnect 51 secs Connected to 8358661 (r6) BRI0:2 - dialer type = ISDN Idle timer (55 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (15 secs) Dialer state is idle Dec 22 05:16:43.362: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 r6 |
Dialer commands such as those illustrated in Example 9-40 are useful in spotting ISDN or other dialup issues. Find out why the call was made or terminated to begin with. Narrow down the dialer issues by specifying a particular interface to see phone numbers, successes, failures, and per B-channel timers and dialer states. Clear the dialer statistics to start from now on with clear dialer interface bri0. Dialer maps map the Layer 2 phone numbers to the destination IP addresses, and the show dialer map command displays them quite nicely. Perhaps you forgot the broadcast keyword on the map statement for your routing protocol updates or maybe you didn't mean for routing updates to cross the ISDN link. It is very easy to make typos in this area, especially when phone numbers only vary by one or two digits. The show run interface bri0 command in Example 9-41 helps you quickly spot issues with your bri0 interface configuration to check for missed statements and typos.
r5#show run interface bri0 Building configuration... Current configuration: ! interface BRI0 ip address 192.168.9.22 255.255.255.252 no ip directed-broadcast dialer idle-timeout 55 dialer map ip 192.168.9.21 name r6 8358661 dialer map ip 192.168.9.21 name r6 8358663 dialer-group 1 isdn switch-type basic-ni isdn spid1 0835866201 8358662 isdn spid2 0835866401 8358664 end r6#show run interface bri0 Building configuration... Current configuration: ! interface BRI0 ip address 192.168.9.21 255.255.255.252 no ip directed-broadcast dialer idle-timeout 55 dialer map ip 192.168.9.22 name r5 8358662 dialer map ip 192.168.9.22 name r5 8358664 dialer-group 1 isdn switch-type basic-ni isdn spid1 0835866101 8358661 isdn spid2 0835866301 8358663 end |
If you are trying to narrow down why you can't dial, give debug dialer events a try as in Example 9-42. Note the reason for the dial and dial attempts.
r5#debug dialer events Dial on demand events debugging is on r5#ping 192.168.9.21 Sending 5, 100-byte ICMP Echos to 192.168.9.21, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 36/36/36 ms Dec 22 05:28:43.190: BR0 DDR: Dialing cause ip (s=192.168.9.22, d=192.168.9.21) Dec 22 05:28:43.194: BR0 DDR: Attempting to dial 8358661 Dec 22 05:28:43.546: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up Dec 22 05:28:43.578: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 Dec 22 05:28:43.590: BR0:1 DDR: dialer protocol up Dec 22 05:28:44.586: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state to up Dec 22 05:28:49.582: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 8358661 r6 |
NOTE
Figure 9-13 in the “Summary“ section at the end of this chapter reviews of many of these commands to assist you with troubleshooting ISDN issues before you call Cisco Technical Assistance Center (TAC).
Perhaps the issue is not with configuration at all but with performance. What is the load on the line? Maybe you need to adjust the threshold to bring up another B channel or configure multilink. Perhaps you need to analyze the type of traffic traversing the link. How about issues relating to routing protocols on the ISDN link?
3.145.93.68