I recently ran into an some issue with one of my Branch office PRI’s. As with most issues it started off with a call to Helpdesk which eventually made its way to me. After making a couple quick inbound test calls over their main DID number which of course failed I decided to move on to a more detailed investigation of the problem.

ISDN FAQ

The ISDN standard is one of the specifications from the International Telecommunication Union or ITU along with the American National Standards Institute or ANSI. These two groups, help to define the ISDN standards. The Q group is primarily respnsible for the switching and signaling portion of the standard. The way I like to distinguish the two is to think about Q standards are at Layer 2 and Layer 3.

  • Q.921Data Link Layer at Layer 2
  • Q.931Call Control and Signaling at Layer 3

As with most ISDN related problems or network related problems for that matter it usually comes down to Layers 1, 2 or 3.  After a quick look at the ISDN status it was apparent that my problem was at Layer 2. This usually points to a problem with the Telco ISDN switch, but I had to run through the normal troubleshooting steps.

R1#show isdn status
Global ISDN Switchtype = primary-ni
%Q.931 is backhauled to CCM MANAGER 0x0003 on DSL 0. Layer 3 output may not apply
ISDN Serial0/0/1:23 interface
 dsl 0, interface ISDN Switchtype = primary-ni
 L2 Protocol = Q.921 0x0000 L3 Protocol(s) = CCM MANAGER 0x0003 
 Layer 1 Status:
 ACTIVE
 Layer 2 Status:
 TEI = 0, Ces = 1, SAPI = 0, State = TEI_UNASIGNED
 Layer 3 Status:
 0 Active Layer 3 Call(s)
 Active dsl 0 CCBs = 0
 The Free Channel Mask: 0x807FFFFF
 Number of L2 Discards = 0, L2 Session ID = 27
 Total Allocated ISDN CCBs = 0

This is more than likely a a Telco related issue, but I’m probably going to have to prove it before they will help. At the vary least give myself a little fire power before I call and open up a trouble ticket. So lets turn on some debugging and find out what’s going on or not going on at Layer 2. 

R1#configure terminal
R1(config)#logging buffered 10000
R1(config)#no logging console
R1(config)#no logging monitor
R1(config)#exit
R1#clear logging
R1#clear counters
R1#debug isdn q921

Now lets take a closer look at the logs to see what’s going on with Layer 2 

R1#show logging
*Jun 9 13:42:43.327: ISDN Se0/0/1:23 Q921: User RX <- DMf sapi=0 tei=0
*Jun 9 13:42:53.315: ISDN Se0/0/1:23 Q921: L2_EstablishDataLink: sending SABME
*Jun 9 13:42:53.315: ISDN Se0/0/1:23 Q921: User TX -> SABMEp sapi=0 tei=0
*Jun 9 13:42:53.327: ISDN Se0/0/1:23 Q921: User RX <- DMf sapi=0 tei=0
*Jun 9 13:43:03.327: ISDN Se0/0/1:23 Q921: L2_EstablishDataLink: sending SABME
*Jun 9 13:43:03.327: ISDN Se0/0/1:23 Q921: User TX -> SABMEp sapi=0 tei=0
*Jun 9 13:43:03.351: ISDN Se0/0/1:23 Q921: User RX <- DMf sapi=0 tei=0
*Jun 9 13:43:13.339: ISDN Se0/0/1:23 Q921: L2_EstablishDataLink: sending SABME
*Jun 9 13:43:13.339: ISDN Se0/0/1:23 Q921: User TX -> SABMEp sapi=0 tei=0
*Jun 9 13:43:14.339: ISDN Se0/0/1:23 Q921: User TX -> SABMEp sapi=0 tei=0
*Jun 9 13:43:14.351: ISDN Se0/0/1:23 Q921: User RX <- DMf sapi=0 tei=0
*Jun 9 13:43:23.343: ISDN Se0/0/1:23 Q921: L2_EstablishDataLink: sending SABME
*Jun 9 13:43:23.343: ISDN Se0/0/1:23 Q921: User TX -> SABMEp sapi=0 tei=0
*Jun 9 13:43:24.343: ISDN Se0/0/1:23 Q921: User TX -> SABMEp sapi=0 tei=0
*Jun 9 13:43:24.351: ISDN Se0/0/1:23 Q921: User RX <- DMf sapi=0 tei=0

The logging indicates that the Router didn’t receive the ISDN SABME or Set Asynchronous Balanced Mode Extended message, and was unable to responded with the UA or Unnumbered Acknowledge frames to synchronize with the Telco ISDN switch.  

After opening up a trouble ticket with my Service Provide, and providing them with the logs they decided to perform intrusive testing on the PRI circuit. They would have performed the intrusive testing regardless of the logs, but its always helpful to provide as much information as possible when troubleshooting. 

Checking The T1 Controller

It’s always a good idea to check the status of the T1 controller. For that matter its probably the best place to start when your troubleshooting ISDN related issues.

R1#show controllers t1 0/0/1

T1 0/0/1 is up.
 Applique type is Channelized T1
 Cablelength is long 0db
 Description: VOICE
 No alarms detected.
 alarm-trigger is not set
 Soaking time: 3, Clearance time: 10
 AIS State:Clear LOS State:Clear LOF State:Clear 
 Version info FPGA Rev: 08121917, FPGA Type: PRK1
 Framing is ESF, Line Code is B8ZS, Clock Source is Line.
 CRC Threshold is 320. Reported from firmware is 320.

After numerous phone calls and troubleshooting with my Service Provider they informed me that the ISDN switch was sending DM disconnect message which basically means the ISDN switch is refusing the connection from the Router. Lets take a look at the status of the PRI now that they made the necessary configuration change on the ISDN switch.

R1#show isdn status
Global ISDN Switchtype = primary-ni
%Q.931 is backhauled to CCM MANAGER 0x0003 on DSL 0. Layer 3 output may not apply
ISDN Serial0/0/1:23 interface
 dsl 0, interface ISDN Switchtype = primary-ni
 L2 Protocol = Q.921 0x0000 L3 Protocol(s) = CCM MANAGER 0x0003 
 Layer 1 Status:
 ACTIVE
 Layer 2 Status:
 TEI = 0, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED
 Layer 3 Status:
 0 Active Layer 3 Call(s)
 Active dsl 0 CCBs = 0
 The Free Channel Mask: 0x807FFFFF
 Number of L2 Discards = 0, L2 Session ID = 27
 Total Allocated ISDN CCBs = 0

It took the better part of at day troubleshooting with the my Service Provider over the phone, but they were finally able to determine that someone had placed a loop on the PRI. The explanation didn’t make a lot of sense at the time considering that they were always able to loop the smatjacket. At any rate Layer 2 came up and calls started completing again.

I hope that you found this post on ISDN Q921 helpful and informative. Be sure to let me know what you think by leaving your suggestions, and feedback in the comments section below. You can find out more about these and other articles be checking out recent posts and archives. To learn more about myself be sure to check out the About page. And as always thanks again for visiting The Packet.