Troubleshooting ISDN


IOS Console Connection TutorialConnecting A Console
Faxback Document #console
Troubleshooting requires a router console connection. With a console, status messages from the router may be read and commands into the router may be entered.

Once an ISDN line has been properly installed and provisioned by the telco, installation of an ISDN network using Cisco IOS routers is usually a simple, trouble-free task, requiring minimal configuration and maintenance. However, when the ISDN line does not operate as expected, proven problem-isolation techniques can be applied to recognize and solve common ISDN problems.

When problems do occur, most WAN problems can be diagnosed by using the following router commands:


First, a little bit about NT-1's

In North America, all ISDN lines are connected to the ISDN switch at the local Central Office (CO) via a U interface. This U interface will require network termination to convert it into an S/T interface that actually connects to your end equipment. A Network Termination Type 1, or NT-1, is a separate unit that serves this function, as well as providing power to your ISDN line. In Europe, the NT-1 is included in telco-provisioned ISDN lines so all you will need is the S/T interface.

When working with Cisco routers, it is important to determine whether the unit has an S/T interface, which will require an external NT-1, or a U interface with a built-in NT-1. Please check your hardware manual to determine whether you have the proper equipment.


Dial-on-Demand Routing (DDR)

Cisco routers employ dial-on-demand routing (DDR) for ISDN networks. With DDR, the router opens the ISDN connection only when there is traffic that needs to be transmitted. The context for using DDR involves infrequent or intermittent traffic to and from remote sites, or when ISDN line usage is tariffed, usually per B-channel.

Configuration of DDR on Cisco routers involves four steps:
Step 1 To identify the traffic that should be transmitted, you specify the packets that the DDR processes on the router will interpret as ‘interesting' traffic. DDR uses two ways to specify interesting packets that trigger the dialer to make a call.
  • The first way uses the dialer-list protocol global configuration command, whereby you can specify a protocol to trigger a call. The command syntax is:

    dialer-list dialer-group number protocol protocol name [permit | deny]

    For example, the command:

    dialer-list 1 protocol ipx permit

    would allow any ipx traffic destinated for a remote network to bring up the ISDN line.

  • The second way uses the dialer-list list global configuration command, where it applies an access list to determine whether the packet is ‘interesting' traffic. The access list can specify any IP or IPX access list including standard, extended, and IPX service access point (SAP) access lists. The command syntax is:

    dialer-list dialer-group number list access-list number

    For example, the commands:

    access-list 101 deny ip any 255.255.255.255 0.0.0.0 access-list 101 permit ip any any dialer-list 1 list 101

    would deny all traffic from any source to the specific destination of 255.255.255.255; therefore, no IP broadcast will be interesting traffic that causes a DDR call. All other IP packets, however, will be allowed to bring up the line.

Step 2 The dialer-list will have to be applied to a BRI interface. This is done with the dialer-group interface configuration command, the syntax of which is:

dialer-group dialer-group number

For example, the commands:

interface BRI0 dialer-group 1

applies the dialer-list 1 to the BRI0 interface.

Step 3 A dialer-map must be entered on the interface to instruct it how to reach a DDR destination. The syntax for this interface configuration command is:

dialer map protocol next-hop-address [name hostname] [speed 56|64] [broadcast] [dial string]

For example, the command:

dialer map ip 10.1.1.1 name cisco speed 56 broadcast 4155551212

would instruct the router that upon experiencing interesting traffic, it will dial 4155551212 and connect at 56k to a router named cisco with the next hop ip address of 10.1.1.1. It will allow broadcast traffic while the line is up, but will not necessarily be the cause of the ISDN call (see example dialer-list).

Step 4 A static route(s) must be set to provide the routing path to the next hop router. The syntax for this global configuration command is:

protocol route network subnet-mask {next-hop-address | interface number}

For example, the commands:

ip route 0.0.0.0 0.0.0.0 10.1.1.1 ip route 10.1.1.1 255.255.255.255 BRI0

would inform the router that in order to reach any ip network not defined in its routing table (all zeros network), it will go to the ip address 10.1.1.1, and in order to get to the host ip number 10.1.1.1, it will go through interface BRI0.


Using Show Commands To Troubleshoot ISDN Networks

The show commands in the Cisco IOS that are most helpful in solving ISDN problems tell you whether you are connected to the local ISDN switch - show isdn status, or whether you have successfully made a call - show dialer.

Show ISDN Status Command

Upon getting the ISDN line provisioned by telco, the only parameters that are required for the router to synchronize with the switch are the switch type and the spid(s). Sample configuration would be:

isdn switch-type basic-ni1
!
interface BRI0
 isdn spid1 41555512120101 5551212
 isdn spid2 41555512130101 5551213

After proper configuration, output from the show isdn status EXEC command would yield:

The current ISDN Switchtype = basic-ni1
ISDN BRI0 interface
    Layer 1 Status:
        ACTIVE
    Layer 2 Status:
        TEI = 112, State = MULTIPLE_FRAME_ESTABLISHED
        TEI = 113, State = MULTIPLE_FRAME_ESTABLISHED
    Layer 3 Status:
        No Active Layer 3 Call(s)
    Activated dsl 0 CCBs = 0
    Total Allocated ISDN CCBs = 0

Failure of the Cisco router to synchronize properly with the ISDN switch would yield:

The current ISDN Switchtype = basic-ni1
ISDN BRI0 interface
    Layer 1 Status:
        DEACTIVATED
    Layer 2 Status:
        Layer 2 NOT Activated
    Layer 3 Status:
        No Active Layer 3 Call(s)
    Activated dsl 0 CCBs = 0
    Total Allocated ISDN CCBs = 0

If you receive this output, the possible causes are:
Problem Suggested Action
Faulty Cable Replace the cable from router to ISDN jack, making sure the cable contains the middle two pins (pins 4 & 5 in an RJ-45 cable).
Wrong Switch Type or Spid(s) Contact telco and confirm switch type and spid(s). Re-enter them into router and issue the clear interface bri number EXEC command.
Faulty ISDN line Get an analog phone and plug into ISDN jack. You should get either 1) a clicking noise, or 2) white noise/light static. If you do not get either of those, it is not an active ISDN line. Contact telco and open trouble ticket.

Show Dialer Command

After getting successful connection with the local ISDN switch and after having entered the basic Dial-On-Demand Routing configuration into the router, you should be able to initiate a test call by issuing interesting traffic to the next hop address. Even if full PPP connectivity has not been established, you can determine whether a physical call was made by issuing the show dialer EXEC command.

Output from the Show Dialer Command

Dial String      Successes   Failures    Last called   Last status
4155551212             1         0        00:00:00      successful
4155551213             1         0        00:00:00      successful
0 incoming call(s) have been screened.
BRI0: B-Channel 1
Idle timer (300 secs), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (15 secs)
BRI0: B-Channel 2
Idle timer (300 secs), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (15 secs)

If you receive any failure on the attempted call, the possible causes are:
Problem Suggested Action
Error in Configuration Check over the router configuration, making sure there is a dialer-list, dialer-group, and dialer map/dialer string. Also confirm validity of the dial string of destination ISDN connection.
Remote Failure Make sure the remote router is properly configured.


Using Debug Commands To Troubleshoot ISDN Networks

Click here for more information on debug commands.

When the show commands are inadequate in providing details regarding the ISDN failure, debug commands are extremely helpful in determining exactly what the router is experiencing within the debug topic. The following debug commands are applicable to ISDN troubleshooting:

The following are sample outputs from various combinations of debug commands, followed by the identication of the ISDN problem they represent as well as suggested actions.


DEBUG ISDN EVENT

BRI0: ISDN Event: incoming ces value = 1 BRI0: received HOST_TERM_REGISTER_NACK - invalid EID/SPID or TEI not assigned Cause i = 0x8082 - No route to specified network
Problem Suggested Action
Usually SPID problem. To verify that TEI is assigned, try show ISDN status. Layer 2 information will tell if TEI is assigned. 1. Check configuration if SPIDs are configured correctly.
2. Have service provider verify SPIDs, if necessary have them track the SPIDs.

DEBUG ISDN Q931

BRI0: Dialing cause: BRI0: ip PERMIT BRI0: Attempting to dial 6968900 TX -> SETUP dsl = 0 pd = 8 callref = 0x01 Bearer Capability i = 0x8890218F Channel ID i = 0x83 Called Party Number i = 0x80, '6968900' RX RELEASE dsl = 0 pd = 8 callref = 0x01 RX
Problem Suggested Action
Remote router does not answer call. Verify telephone number and SPIDs.

DEBUG DIALER

BRI0: Dialing cause: BRI0: ip PERMIT BRI0: No dialer string defined. Dialing cannot occur.. BRI0: Dialing cause: BRI0: ip PERMIT BRI0: No dialer string defined. Dialing cannot occur.. BRI0: Dialing cause: BRI0: ip PERMIT BRI0: No dialer string defined. Dialing cannot occur.. BRI0: Dialing cause: BRI0: ip PERMIT BRI0: No dialer string defined. Dialing cannot occur.. BRI0: Dialing cause: BRI0: ip PERMIT BRI0: No dialer string defined. Dialing cannot occur..
Problem Suggested Action
Dialing cannot occur. Check configuration (dialer-list, dialer-group, dialer map, dialer string, etc).

DEBUG PPP NEGOTIATION, DEBUG PPP AUTHENTICATION

pico#ping 192.9.198.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.9.198.1, timeout is 2 seconds:
%LINK-3-UPDOWN: Interface BRI0: B-Channel 1, changed state to up
%LINK-5-CHANGED: Interface BRI0: B-Channel 1, changed state to up
ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = 28CEEF99
ppp: received config for type = 3 (AUTHTYPE) value = C223 value = 5 acked
ppp: received config for type = 5 (MAGICNUMBER) value = 1E23F5C acked
PPP BRI0: B-Channel 1: state = ACKSENT fsm_rconfack(C021): rcvd id E4
ppp: config ACK received, type. = 3 (CI_AUTHTYPE), value = C223
ppp: config ACK received, type = 5 (CI_MAGICNUMBER), value = 28CEEF99
BRI0: B-Channel 1: PPP AUTH CHAP input code = 1 id = 82 len = 16
BRI0: B-Channel 1: PPP AUTH CHAP input code = 2 id = 95 len = 28
BRI0: B-Channel 1: PPP AUTH CHAP input code = 4 id = 82 len = 21
BRI0: B-Channel 1: Failed CHAP authentication with remote.
Remote message is: MD compare failed
ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = 28CEEFDB
%LINK-3-UPDOWN: Interface BRI0: B-Channel 1, changed state to down
%LINK-5-CHANGED: Interface BRI0: B-Channel 1, changed state to down
%LINK-3-UPDOWN: Interface BRI0: B-Channel 1, changed state to up
%LINK-5-CHANGED: Interface BRI0: B-Channel 1, changed state to up
ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = 28CEF76C
ppp: received config for type = 3 (AUTHTYPE) value = C223 value = 5 acked
ppp: received conf.ig for type = 5 (MAGICNUMBER) value = 1E24718 acked
PPP BRI0: B-Channel 1: state = ACKSENT fsm_rconfack(C021): rcvd id E6
ppp: config ACK received, type = 3 (CI_AUTHTYPE), value = C223
ppp: config ACK received, type = 5 (CI_MAGICNUMBER), value = 28CEF76C
BRI0: B-Channel 1: PPP AUTH CHAP input code = 1 id = 83 len = 16
BRI0: B-Channel 1: PPP AUTH CHAP input code = 2 id = 96 len = 28
BRI0: B-Channel 1: PPP AUTH CHAP input code = 4 id = 83 len = 21
BRI0: B-Channel 1: Failed CHAP authentication with remote.
Remote message is: MD compare failed
Problem Suggested Action
CHAP authentication failed. Check username and passwords for correct spelling, use of lower and upper case letters. Check dialer map command for name keyword and correct hostname.

DEBUG ISDN EVENT, DEBUG ISDN Q931

TX ->  RRp  dsl = 1 sapi = 0  tei = 96  nr = 98 RX  on B1 at 64 Kb/s
ISDN Event: Accepting the call
%LINK-3-UPDOWN: Interface BRI1: B-Channel 1, changed state to up
TX ->  INFOc  dsl = 1 sapi = 0  tei = 96  ns = 108  nr = 98  i = 0x0801D807180189
    CONNECT dsl = 1 pd = 8  callref = 0xD8
        Channel ID i = 0x89
RX   RRr  dsl = 1 sapi = 0  tei = 96  nr = 99
ISDN Event: incoming ces value = 1
received HOST_CONNECT
        Channel ID i = 0x0101
        -------------------
        Channel ID i = 0x89
        Signal i = 0x4F
ISDN Event: Connected to on B1 at 64 Kb/s
%LINEPROTO-5-UPDOWN: Line protocol on Interface BRI1: B-Channel 1, 
changed
state to up
TX ->  RRp  dsl = 1 sapi = 0  tei = 105  nr = 17
RX   RRp  dsl = 1 sapi = 0  tei = 96  nr = 99
RX   INFOc  dsl = 1 sapi = 0  tei = 96  ns = 109  nr = 99  i =
0x0801D84508028090
    DISCONNECT dsl = 1 pd = 8  callref = 0xD8
        Cause i = 0x8090 - Normal call clearing
RX   RRr  dsl = 1 sapi = 0  tei = 96  nr = 100
ISDN Event: incoming ces value = 1
received HOST_DISCONNECT_ACK
%LINK-3-UPDOWN: Interface BRI1: B-Channel 1, changed state to down
TX ->  INFOc  dsl = 1 sapi = 0  tei = 96  ns = 110  nr = 100  i = 
0x0801D85A
    RELEASE_COMP dsl = 1 pd = 8  callref = 0xD8
ISDN Event: Hangup call to call id 0x3C on dsl 1, ces = 1
  CCBRI Mail NULL InPkt public is 0 ccb is 3C53E0
ISDN Event: incoming ces value = 1
received HOST_QUERY_RESPONSE
        Call State i = 0x00
        -------------------
RX  RRp  dsl = 1 sapi = 0  tei = 105  nr = 17
Problem Suggested Action
Call connected, but got disconnected. Turn on debug ppp negotiation and debug ppp chap and see if ppp negotiation and ppp authentication is good.

DEBUG ISDN Q921

19:27:31: TX ->  IDREQ  ri = 19354  ai = 127 dsl = 0
19:27:33: TX ->  IDREQ  ri = 1339  ai = 127 dsl = 0
19:27:35: TX ->  IDREQ  ri = 22764  ai = 127 dsl = 0
19:27:37: TX ->  IDREQ  ri = 59309  ai = 127 dsl = 0
19:27:39: TX ->  IDREQ  ri = 25214  ai = 127 dsl = 0
19:27:41: TX ->  IDREQ  ri = 35423  ai = 127 dsl = 0
19:27:43: TX ->  IDREQ  ri = 12368  ai = 127 dsl = 0
19:27:45: TX ->  IDREQ  ri = 13649  ai = 127 dsl = 0
19:27:47: TX ->  IDREQ  ri = 35426  ai = 127 dsl = 0
19:27:49: TX ->  IDREQ  ri = 12419  ai = 127 dsl = 0
19:27:51: TX ->  IDREQ  ri = 14516  ai = 127 dsl = 0
19:28:04: TX ->  IDREQ  ri = 50165  ai = 127 dsl = 0
19:28:06: TX ->  IDREQ  ri = 838  ai = 127 dsl = 0
19:28:08: TX ->  IDREQ  ri = 14247  ai = 127 dsl = 0
19:28:34: TX ->  IDREQ  ri = 45592  ai = 127 dsl = 0
19:28:36: TX ->  IDREQ  ri = 54169  ai = 127 dsl = 0
19:28:38: TX ->  IDREQ  ri = 3370  ai = 127 dsl = 0
19:29:09: TX ->  IDREQ  ri = 57291  ai = 127 dsl = 0
19:29:11: TX ->  IDREQ  ri = 56444  ai = 127 dsl = 0
19:29:13: TX ->  IDREQ  ri = 42045  ai = 127 dsl = 0
19:29:44: TX ->  IDREQ  ri = 59406  ai = 127 dsl = 0
19:29:46: TX ->  IDREQ  ri = 26863  ai = 127 dsl = 0
19:29:48: TX ->  IDREQ  ri = 63456  ai = 127 dsl = 0
19:30:19: TX ->  IDREQ  ri = 30177  ai = 127 dsl = 0
19:30:21: TX ->  IDREQ  ri = 54258  ai = 127 dsl = 0
19:30:23: TX ->  IDREQ  ri = 4883  ai = 127 dsl = 0
19:30:54: TX ->  IDREQ  ri = 17476  ai = 127 dsl = 0
19:30:56: TX ->  IDREQ  ri = 34949  ai = 127 dsl = 0
19:30:58: TX ->  IDREQ  ri = 4310  ai = 127 dsl = 0
19:31:24: TX ->  IDREQ  ri = 7735  ai = 127 dsl = 0
19:31:26: TX ->  IDREQ  ri = 424  ai = 127 dsl = 0
Problem Suggested Action
The router is sending Identification Requests (IDREQ) to the ISDN switch, but does not get a response from the switch. Check:
- correct configuration of SPIDs,
- verify SPIDs with telco,
- if neccessary, have telco track the SPIDs.

DEBUG ISDN EVENT, DEBUG ISDN Q931

0:05:44: BRI0: ISDN Event: incoming ces value = 1 0:05:44: BRI0: received HOST_PROCEEDING Channel ID i = 0x0101 0:05:44: ------------------- Channel ID i = 0x89 0:05:44: Locking Shift to Codeset 5 0:05:44: Codeset 5 IE 0x2A i = 0x80880B,'12149398003', 0x8001098001148 00114800114 0:05:44: BRI0: RX RELEASE pd = 8 callref = 0x09 0:05:44: BRI0: RX SETUP pd = 8 callref = 0x0A 0:05:46: Bearer Capability i = 0x8890218F 0:05:46: Channel ID i = 0x83 0:05:46: Called Party Number i = 0x80, '12149398003' 0:05:46: BRI0: RX RELEASE pd = 8 callref = 0x0A 0:05:46: BRI0: RX
Problem Suggested Action
Switch type or switch type configuration. Verify switch type with telco
Verify switch type in configuration.

Debug: DEBUG PPP NEGOTIATION, DEBUG PPP AUTHENTICATION

3:22:53: ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
3:22:53: ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = C6091F.
3:22:55: ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
3:22:55: ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = C6091F
3:22:55: PPP BRI0: B-Channel 1: received config for type = 0x0 (??)
3:22:55: PPP BRI0: B-Channel 1: rcvd unknown option 0x0 rejected
3:22:55: PPP BRI0: B-Channel 1: received config for type = 0x1 (MRU) value = 0x5F4 rejected
3:22:55: PPP BRI0: B-Channel 1: received config for type = 0x3 (AUTHTYPE) value = 0xC223 value = 0x5 acked
3:22:55: PPP BRI0: B-Channel 1: received config for type = 0x11 (MULTILINK_MRRU) rejected
3:22:55: PPP BRI0: B-Channel 1: received config for type = 0x13 (UNKNOWN)
3:22:55: PPP BRI0: B-Channel 1: rcvd unknown option 0x13 rejected
3:22:55: ppp: config REJ received, type = 3 (CI_AUTHTYPE), value = C223/5
3:22:55: ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
3:22:55: ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = C6091F
3:22:55: PPP BRI0: B-Channel 1: received config for type = 0x3 (AUTHTYPE) value = 0xC2.
Success rate is 0 percent (0/5)
moog#23 value = 0x5 acked
3:22:55: ppp: config REJ received, type = 3 (CI_AUTHTYPE), value = C223/5
3:22:55: ppp: BRI0: B-Channel 1 closing connection because remote won't authenticate.
3:22:55: ppp: sending CONFREQ, type = 3 (CI_AUTHTYPE), value = C223/5
3:22:55: ppp: sending CONFREQ, type = 5 (CI_MAGICNUMBER), value = C6091F
3:22:55: %ISDN-6-DISCONNECT: Interface BRI0: B-Channel 1  disconnected from 01235820040 , call lasted 2 seconds
3:22:56: %LINK-3-UPDOWN: Interface BRI0: B-Channel 1, changed state to down
Problem Suggested Action
The remote device does not authenticate itself. This can be seen usually with non-Cisco devices, e.g. Ascend, Livingston. Use IOS 10.3(9), 11.0(5) or 11.(1) or higher, which have the option for:
ppp authentication chap callin, or ppp authentication pap callin

Caution The output from debug privileged EXEC commands provides diagnostic information concerning a variety of internetworking events relating to protocol status and network activity in general. Use these commands with great care. In general, it is recommended that these commands only be used under the direction of your router technical support representative when troubleshooting specific problems. Enabling debugging can disrupt operation of the router when internetworks are experiencing high load conditions. When you finish using a debug command, remember to disable it with its specific no debug command or with the no debug all command (the undebug command is also accepted).

To minimize the impact of using debug commands, follow this procedure:
Step 1 Issue the no logging console global configuration command on your router. This command disables all logging to the console terminal (to re-enable logging to the console, issue the logging console enable global configuration command).
Step 2 Telnet to a router port and enter the enable EXEC command.
Step 3 Issue the terminal monitor command and issue the necessary debug commands (to disable logging on the virtual terminal, issue the terminal no monitor command).

Following this procedure minimizes the load created by using debug commands because the console port no longer has to generate character-by-character processor interrupts.


All contents copyright © Cisco Systems, Inc. Important notices.