X.25 Cause and Diagnostic Bytes

X.25 Cause Bytes

Diagnostic, Registration, Restart, Clear, and Reset Request packets that are sent to the X.25 link have the cause byte set to zero if the configuration parameter zerocause is set to YES (default). Otherwise, the cause bytes described below can be sent. The optional diagnostic byte is always included in these packets to assist in problem diagnosis. In reporting these events to the operating system, zerocause does not zero the cause byte.

Following the decimal byte value is the hexadecimal byte value, using the C language "0x" prefix. Following that is the packet type in which the value may occur.

Decimal
byte
Hexadecimal
byte
Packet Description
3 0x03 Clear

Illegal facility code or parameter. Always accompanied by 66 or 65 as the diagnostic byte. See definition of those diagnostic bytes below.

5 0x05 Reset

Local Procedure Error for Reset. This is the default Reset Cause byte for any error in a packet from the X.25 link causing a reset.

11 0x0B Clear

Incoming call is rejected due to link configuration option Incoming Calls Barred.

19 0x13 Clear

Local Procedure Error for Clear. This is the default Clear Cause byte for any error in a packet from the X.25 link that causes a clear.

    Registration

Local Procedure Error for Registration. This is produced with diagnostic 42 as prescribed by the CCITT when the system has not been configured for registration support and receives a registration packet. This applies also if XIP's registration support has been compiled out.

25 0x19 Clear

An incoming call specified Reverse Charging and the link options are configured to refuse incoming reverse charged calls.

41 0x29 Clear

An incoming call specified the Fast Select facility, and the link options are configured to refuse such calls.

127 0x7F Registration

This is the cause code set in all Registration Confirmation packets sent by XIP, unless the Request had a format error, in which case, Restart is sent.

XIP Causes

Whenever an SVC is cleared or a circuit is reset, SyncServer provides a third cause byte to assist in problem diagnosis: the xip_cause byte.

When xip_cause is less than 128, the Clear or Reset was received from the X.25 link. Its value is a translation of the original incoming cause byte value. The purpose of this is to provide an index to a character string table that is independent of the packet type. For example, in a Reset, Remote Procedure Error is 3 while the same condition is 17 in a Clear; the xip_cause for Remote Procedure Error is always 4.

The following table shows the CCITT causes that are associated with xip_causes less than 128.

cause field translations to xip_cause values

Reset Clear xip_cause

CCITT description

0 0 0

Remote DTE Initiated

7 5 1

Network Congestion

15   2

Network Operational (PVCs only)

5 19 3

Local Procedure Error

3 17 4

Remote Procedure Error

17 33 5

Incompatible Destination

  1 6

Number Busy

1 9 7

Out of Order

  25 8

No Reverse Charging

  3 9

Invalid Facility Request

  11 10

Access Barred

  13 11

Number Invalid

9   12

Remote DTE up (PVCs only)

  41 13

No Fast Select

x x 15

Unknown Cause Field

When xip_cause is 128 and over, an error condition has been detected within the driver software. For most of these, the xip_cause value itself is used as the diagnostic code in an outgoing Clear or Reset on the X.25 link. This is because the error condition is entirely an internal matter. However in some cases, notably for xip_cause 129, the diagnostic code presented to the link is in fact one of the CCITT defined values for the condition.

In the Diagnostic Bytes section below, diagnostics 128 and will be seen in xip_cause bytes.


X.25 Diagnostic Bytes

Standard CCITT Diagnostic Bytes (Range 0x00 to 0x7F)

These diagnostic bytes are CCITT (ITU) defined diagnostics. They are part of the X.25 specification and therefore mean the same thing to all equipment following this standard.

Decimal
byte
Hexadecimal
byte
Packet

Description

0 0x00 Clear,
Reset

Value for "no additional information". This diagnostic is only used when selected by an X.25 API program, or for a Clear caused by a UNIX Close of a tty device with HUPCL also set. The latter is the normal action after you have logged off, which is why its diagnostic should indicate a normal clearing.

1 0x01 Reset

Bad P(S) in a packet from the X.25 link. Most likely due to a mismatch of default packet window sizes on a non-negotiating link.

2 0x02 Reset

Bad P(R) in a packet from the X.25 link.

17 0x11 Restart

Restart Confirmation received when packet level is in Level Ready state.

20 0x14 Clear

Illegal packet (anything besides Call) on an Idle channel.

21 0x15 Clear

Illegal packet for Calling state of a channel.

22 0x16 Clear

Illegal packet for Accepting state of a channel.

23 0x17 Clear

Illegal packet for Data Transfer state of a channel.

25 0x19 Clear

Illegal packet for Clearing state of a channel.

27 0x1B Reset

Reset Confirmation on a channel in Data Transfer state.

33 0x21 Clear,
Reset

Unrecognized Packet Type Identifier on a configured logical channel, including the Reject Packet when XIP has not been compiled for Packet Reject support.

34 0x22 Clear

Incoming call on a logical channel reserved for Outgoing Calls Only.

35 0x23 Reset

Incoming Call, Call Accept, Clear Request, or Clear Confirm on a logical channel reserved for operation as a PVC.

36 0x24 Diagnostic,
Clear

A packet on an non-configured logical channel. If the incoming packet was an Incoming Call, a Clear is issued with this diagnostic.

37 0x25 Reset

Produced when a Packet Reject packet is received and packet reject support is not an option in the link configuration.

38 0x26 Diagnostic,
Clear,
Reset

Packet was too short for the packet type. This applies to Call or Clear packets with Address Length or Facilities Length fields that are greater than the length of the packet. If an individual facility length exceeds the Facility Length, diagnostic 64 is produced.

39 0x27 Clear,
Reset

Packet was too long for the packet type. This applies to Call or Clear packets with User Data fields that are too long. If no User Data field is allowed, diagnostic 42 is produced instead.

40 0x28 Diagnostic

Packet had a General Format Identifier (the first 4 bits of the packet header) that was illegal for the packet type.

41 0x29 Clear,
Reset

Packet was on a configured Logical Channel Identifier, but it was a Restart or Restart Confirmation packet. These packets must have a zero LCI.

42 0x2A Clear

Illegal facility specified for the packet type. Specifically, User Data was found in Clear, Clear Confirm, or Call Connect when the call is not a Fast Select call, or an attempt was made to Accept a Fast Select Restricted Response call.

43 0x2B Reset

Interrupt Confirmation received when an unconfirmed Interrupt is not outstanding.

44 0x2C Reset

Interrupt received when an Interrupt Confirmation was not sent to the last Interrupt packet.

49 0x31 Clear

T21 (outgoing Call Request timer) expired while waiting for Call Connect or Clear. Check "bwc_num" in link configuration file.

50 0x32 Clear

T23 (outgoing Clear Request timer) expired while waiting for Clear Confirm from the X.25 link. XIP will retry the Clear a specified number of times (default 20), and then consider the logical channel unavailable.

51 0x33 Reset

T22 (outgoing Reset Request timer) expired while waiting for Reset Confirmation.

52 0x34 Restart

T20 (Restart Request timer) expired while waiting for Restart Confirmation.

64 0x40 Clear

Facilities Length exceeds 63 bytes on a 1980 link, or facilities found exceed Facilities Length.

65 0x41 Clear

Bad facility code, or illegal facility code for the link options, or illegal facility code for the packet type.

66 0x42 Clear

Illegal value found in a facility parameter field.

67 0x43 Clear

Invalid/Non-configured Called Network Address.

68 0x44 Clear

Invalid/Non-configured Calling Network Address.

69 0x45 Clear

On CCITT 1984 links, the facilities length exceeded 109 bytes.

70 0x46 Clear

Incoming call barred.

XIP Packet Level Diagnostic Bytes and xip_causes (Range 0x80 to 0xE7)

Diagnostics values 0x80 and greater are in the implementation specific range, and not standardized by the CCITT. This means that the following definitions are only applicable if the clear or reset was sent by TSG software. For diagnostics sent by other X.25 vendor equipment, refer to their manuals.

Decimal
byte
Hexadecimal
byte
Packet

Description

128 0x80 Clear,
Reset

Sent to the operating system on all permanent virtual circuits (PVCs) when Packet Level Ready is lost. Sent to the operating system on all active SVCs when Packet Level Ready is lost.

129 0x81 Clear,
Reset

Sent to the operating system whenever an error in a packet from the X.25 link occurs, for which the accompanying cause and diagnostic to the X.25 link have been issued.

132 0x84 Clear

Internal error - the operating system issued a message type out of context.

133 0x85 Reset

Internal error - Attempt by the operating system to acknowledge too many packets, or to send packets when the window was closed.

134 0x86 Reset

Occurs when an X.25 IOCTL API program issues Interrupt Request before the network Confirmed the previous one, or the program issues Interrupt Confirmation when no Request from the network is outstanding.

135 0x87 Clear

Channel is out of order due to failure of the X.25 link to return a Clear Confirmation within the T23 timeout.

137 0x89 Reset

Internal error - operating system driver specified a bad length packet to be transmitted.

    Clear

The operating system specified a bad length Call Progress Structure to a Call Accept.

138 0x8A Clear

Call Collision when the system is DCE. The same logical channel as the DTE was chosen The call is cleared internally, and when complete, the incoming call is permitted to come through.

139 0x8B Clear

Returned to the operating system if the facilities specified in an outgoing call request were incompatible with the link configuration or illegal for the packet type. Also sent if a Call Acceptance from the operating system is similarly in error.

140 0x8C Clear

The packet level is attempting to quiesce use of an old configuration in order to install a new one due to a Registration or an X_NEWCONFIG request, and so is not accepting new incoming calls.

141 0x8D Clear,
Reset

If a Restart Request is received when the system was already in Packet Level Ready, all SVCs are Cleared to the operating system with this diagnostic. Always sent in a Reset to the operating system on PVCs whenever the packet level comes Ready.

142 0x8E Reset

Sent to the OS upon an attempt to send any call establishment or call teardown packets on a PVC. Also, the xip_cause of the automatic Reset sent to the OS upon a PVCATTACH.

144 0x90 Clear

The Clear Confirm timer T23 expired.

145 0x91 Clear,
Reset

Sent if unrecoverable buffer shortage occurs.

146 0x92 Reset

For the BX.25 Data Packet Acknowledgement timer. An acknowledgement for a data packet was not received within the T25 time limit.

147 0x93 Clear

The operating system sent a bad format Call Progress Structure for a Clear Request, or it was incompatible with the call's options or link configuration.

148 0x94 Clear

The operating system sent a bad format Call Progress Structure with a Clear Confirm. The operating system is actually re-cleared for this error.

149 0x95 Reset

The operating system has not yet attached to this PVC. This Reset is produced for all packets sent by the X.25 link (unless the system is waiting for Reset Confirm) until the OS executes X_PVCATTACH for this PVC. It is also produced when a the OS program detaches from a PVC to clean up any outstanding acknowledgements.

150 0x96 Registration

An incoming Registration Request attempted to configure a group of SVCs at logical channels that have been reserved for PVCs. That group has been deleted from the Request.

    Reset

This diagnostic is sent on PVCs for the automatic Reset that is generated upon PVCATTACH.

151 0x97 Registration

An incoming Registration Request attempted to configure a packet or window size greater than the currently configured maximums. The request is modified to be the maximum.

152 0x98 Registration

An incoming Registration Request attempted to configure a number of logical channels, or Packet Reject support, for which XIP needs to be recompiled.

153 0x99 Restart

Sent in order to install a dynamic reconfiguration request from the OS for which all SVCs must be down.

154 0x9A  

Modem has CTS OFF and is unable to dial the call (X.32 only).

155 0x9B Clear

Device closed while SVC was still up.

156 0x9C  

Modem has dropped DSR, connection cleared (X.32 only).

157 0x9D  

Modem reports "No Dialtone" and is unable to dial the call (X.32 only).

158 0x9E  

Modem has not been able to complete the call. Some possible causes are no answer, line busy, unable to synchronize with remote system or the dial timeout has expired (X.32 only).

159 0x9F  

No listener for incoming call.

164 0xA4 Clear

An X.25 Invitation to Clear was received from the remote system.

165 0xA5 Clear

Stream associated with VC is closed, or X25clear() called and diagnostic was not specified with either a T_DIAG or T_PCPS tag.

168 0xA8 Clear

IP router idle timer expired (no traffic).

169 0xA9 Clear

The call was rejected because the IP address is not in the local configuration, or because the IP router software is shut down.

170 0xAA Clear

The IP router interface was shut down (tcp shutdown) or a configuration change requiring circuits be re-established occurred.

171 0xAB Clear

The IP router refused the call because it did not contain the calling address field.

172 0xAC Clear

The IP router refused the call because the maximum number of virtual circuits allowed by the configuration are already in use.

176 0xB0 Clear

Incoming call did not match any x25incalls entries and there is no "ANY" entry in the file.

177 0xB1 Clear

Incoming call was cleared due to a specific directive in the x25incalls file. There are two scenarios here: the x25incalls either directed that all such calls be cleared, or the x25incalls would not allow reverse charging on this call.

178 0xB2 Clear

Incoming call was cleared because the daemon failed to execute the process to handle the call.

179 0xB3 Clear

x25daemon failed to fork a child process in preparation for executing a new process. This will be very rare. It should probably only happen if the system wide maximum number of processes (NPROC) is exceeded (UNIX only).

180 0xB4 Clear

Incoming call was cleared because the x25daemon failed to open the STC module (UNIX only).

181 0xB5 Clear

Incoming call was cleared because the x25daemon failed to push on the STC module (UNIX only).

182 0xB6 Clear

Incoming call was cleared because the x25daemon failed to send STC the incoming call (UNIX only) (putmsg failure).

193 0xC1  

Modem timeout.

194 0xC2  

The modem reported a bad command.

195 0xC3  

Modem timeout.

197 0xC5 Clear

Internal problem - driver made an illegal request.

199 0xC7 Clear

An outgoing call failed because the packet level is not Ready. This is probably due to the HDLC link being down.

200 0xC8 Clear

An outgoing call specified a Call Progress Structure with an incorrect length.

201 0xC9 Clear

An outgoing call failed because the link is currently being reconfigured - try again in a few minutes.

202 0xCA Clear

An outgoing call failed because Outgoing Calls are Barred as per the link configuration.

203 0xCB Clear

An outgoing call failed because no SVC logical channels are available.

224 0xE0 Clear

User cleared PAD connection.

225 0xE1 Clear

PAD received invitation to clear.

226 0xE2 Clear

X.29 received invitation to clear.

Reserved Diagnostic Bytes (Range 0xE8 to 0xFF)

This range is available and reserved for use by user software.


Revision 6.3.0 (April 2004)

Copyright © 1997-2004 The Software Group Limited. All Rights Reserved.
® Netcom is a registered trademark of The Software Group Limited.