Fault Log Query 0x0086

SwitchKit Name

FaultLogQuery

Type

EXS API and SwitchKit API message

Description

Fault Log Query 0x0086

This message should be sent by the host if it receives a Card Status Report message or a response to a Card Status Query message with the "Faults Logged" bit set. Faults are queried for the slot specified. The host receives separate responses for each fault logged. There are two types of logs: a fault log containing a log that can be cleared after it is reported by setting the Action field to 0x02. The response data should be reported to Cantata Technical Support for evaluation.

The host can also send this message to the active or standby Matrix Controller card.

Sent by

Host

SwitchKit Code

C Structure

typedef struct {

UBYTE AddrInfo[30];

UBYTE Action;

} XL_FaultLogQuery;

C Structure Response

typedef struct {

unsigned short Status;

UBYTE AddrInfo[30];

UBYTE NumFaults;

UBYTE FaultNumber;

char FaultBuffer[80];

} XL_FaultLogQueryAck;

C++ Class

class XLC_FaultLogQuery : public XLC_OutboundMessage {

public:

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

UBYTE getSlot() const;

void setSlot(UBYTE x);

UBYTE getModule() const;

void setModule(UBYTE x);

UBYTE getAction() const;

void setAction(UBYTE x);

};

C++ Class Response

class XLC_FaultLogQueryAck : public XLC_AcknowledgeMessage {

public:

unsigned short getStatus() const;

void setStatus(unsigned short x);

const UBYTE *getAddrInfo() const;

UBYTE *getAddrInfo();

void setAddrInfo(UBYTE *x);

UBYTE getSlot() const;

void setSlot(UBYTE x);

UBYTE getModule() const;

void setModule(UBYTE x);

UBYTE getNumFaults() const;

void setNumFaults(UBYTE x);

UBYTE getFaultNumber() const;

void setFaultNumber(UBYTE x);

const char *getFaultBuffer() const;

void setFaultBuffer(const char *x);

};

EXS API Hex Format

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0xNNNN)

1, 2

Length (0xNNNN)

3, 4

Message Type (0x0086)

3, 4

Message Type (0x0086)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

:

AIB

Address Method

0x00 - Individual AEs

8, 9

Status MSB, LSB

If the value of this field is a positive acknowledgment (0x0010), then the Fault Data bytes apply.

 

If the value of this field is not a positive acknowledgment (0x0010), then the Fault Data bytes are not reported and the length is 0x07.

Number of AEs to follow

AEs

0x01 Slot

or

0x42 VoIP Module

:

Action

0x01 Return Fault Log

0x02 Return Fault Log,
then clear Fault Log

0x03 Return Stack Trace

10

AIB (starting with Byte 0)

:

Checksum

 

Response continued below.

:

Fault Data

The response data varies depending on the type of fault log queried.


0x01 or 0x02 Fault Log

Data[0] Number of Faults
Indicates the total number of faults in the log.


Data[1] Fault Number

The first response is the number of the last fault logged.
The last response is fault Number 1.


Data[2+] Data

A null-terminated text string with a maximum of 128 bytes.
If the text string is less, it will be terminated with 0x0A.

 

0x03 Fault Log and Trace

Data[0] Reserved (0x00)


Data[1] Reserved (0x00)


Data[2+] A NULL terminated ASCII string, followed by the stack pointer
when t he fault occurred, followed by a trace of the stack.

:

Checksum

NOTES:

 

1. Faults are logged as NULL terminated readable text strings. The host will receive a message for each fault in the log.

2. When in any state other than active, the only valid slot is the matrix that the message is sent to. All requests for other slots will receive a response status of negative acknowledgment.