Reference:ISDN Cause Codes
This document lists the ISDN cause codes defined by Euro-ISDN.
- traces,
- as well as in syslogs and
- call detail records
Note that cause codes are coded differently in traces and syslogs.
How to decode cause codes from traces
Within traces, you will find sequences similar to this:
0:0432:491:0 - TEI0.0 -> Q931.0 : LL_RECV_RESULT data(13),FALC 08 02 80 02 45 08 02 82 81 1e 02 82 88 ....E........
if you have ticked the “trace” checkmark in the “interface configuration”.
Additionally, you will see something like
0:0432:491:3 - R_CALL.7 -> RELAY.0 : SIG_DISC CAU = 82 81
if you have ticked the “trace” checkmark in the “protocol configuration”.
In the example, the cause code thus is 82 81.
The first byte (82) gives the Coding-standard and location. It is made up of: bit 8, 7, 6 and 5 usually 1000. Bit 4, 3, 2, 1 gives the location (that is, the entity generating the cause code). If bit 8 to 5 are unequal to 1000, the cause code is non-standard. The location is usually 0010, so that the second byte is usually 0x82 (10000010).
The second byte (81) contains the cause code within the lower 7 bit (1). So you need to clear the MSB to look up the cause code in the table below, using the “Cause (hex)” column. You may also look it up directly using the “Cause, bit 8 set to 1 (hex)” column.
There may be extraneous bytes giving further diagnostic information but these are rarely used and not described here thus.
In the example case, the cause code thus is 0x1, which says “Unallocated number” according to the table below.
How to decode cause codes from a CDR
CDRs show causes quite similar to the format described for traces, except that the size of the cause code information element is given and that the individual bytes are separated by underscores: cause=02_82_81.
How to decode cause codes from a syslog
In a syslog, you will find cause codes for convenience already extracted from the respective information element and coded in decimal:
19700101-000325 CALL 0 B:Disc 32:ckl->00000009 GW1:21->PRI1:0000009: Cause: 1
You can look up the cause code directly in the table below using the “Cause (decimal)” column.
What if you don’t find the code
The IPxxx only rarely generates cause codes on its own. In normal operation, cause codes are received from the network and blindly output in traces, syslogs and cdr’s. Therefore, you might eventually see cause codes not listed in the table below. Consult the documentation of the cause code generating device to determine their meaning.
Cause Codes
This document lists the ISDN cause codes defined by Euro-ISDN.
- traces,
- as well as in syslogs and
- call detail records
Note that cause codes are coded differently in traces and syslogs.
How to decode cause codes from traces
Within traces, you will find sequences similar to this:
0:0432:491:0 - TEI0.0 -> Q931.0 : LL_RECV_RESULT data(13),FALC 08 02 80 02 45 08 02 82 81 1e 02 82 88 ....E........
if you have ticked the “trace” checkmark in the “interface configuration”.
Additionally, you will see something like
0:0432:491:3 - R_CALL.7 -> RELAY.0 : SIG_DISC CAU = 82 81
if you have ticked the “trace” checkmark in the “protocol configuration”.
In the example, the cause code thus is 82 81.
The first byte (82) gives the Coding-standard and location. It is made up of: bit 8, 7, 6 and 5 usually 1000. Bit 4, 3, 2, 1 gives the location (that is, the entity generating the cause code). If bit 8 to 5 are unequal to 1000, the cause code is non-standard. The location is usually 0010, so that the second byte is usually 0x82 (10000010).
The second byte (81) contains the cause code within the lower 7 bit (1). So you need to clear the MSB to look up the cause code in the table below, using the “Cause (hex)” column. You may also look it up directly using the “Cause, bit 8 set to 1 (hex)” column.
There may be extraneous bytes giving further diagnostic information but these are rarely used and not described here thus.
In the example case, the cause code thus is 0x1, which says “Unallocated number” according to the table below.
How to decode cause codes from a CDR
CDRs show causes quite similar to the format described for traces, except that the size of the cause code information element is given and that the individual bytes are separated by underscores: cause=02_82_81.
How to decode cause codes from a syslog
In a syslog, you will find cause codes for convenience already extracted from the respective information element and coded in decimal:
19700101-000325 CALL 0 B:Disc 32:ckl->00000009 GW1:21->PRI1:0000009: Cause: 1
You can look up the cause code directly in the table below using the “Cause (decimal)” column.
What if you don’t find the code
The IPxxx only rarely generates cause codes on its own. In normal operation, cause codes are received from the network and blindly output in traces, syslogs and cdr’s. Therefore, you might eventually see cause codes not listed in the table below. Consult the documentation of the cause code generating device to determine their meaning.
Cause Codes
Template loop detected: Reference:ISDN Errorcodes