You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > GenericLLCReport

GenericLLCReport

Type

SwitchKit API message

Description

This message reports the status of LLC entities to applications that have registered for it. In particular it will report the status of the LLC socket connections, LLC to LLC redundancy status, and the service state of channels groups being watched by an application.

Sent by

LLC to applications that have registered for it using the SK_ msgRegister() function with the parameter SK_GENERIC_LLC_REPORT.

C Structure

typedef struct {

unsigned short DataSize;

UBYTE ReportType;

UBYTE TLVCount;

UBYTE Data[249];

} SK_GenericLLCReport;

C++ Class

class SKC_GenericLLCReport : public SKC_ToolkitMessage {

public:

unsigned short getDataSize() const;

void setDataSize(unsigned short x);

UBYTE getReportType() const;

void setReportType(UBYTE x);

UBYTE getTLVCount() const;

void setTLVCount(UBYTE x) ;

const UBYTE *getData() const;

UBYTE *getData();

void setData(UBYTE *x);

};

Arguments

The following table shows the arguments sent by the LLC:

Argument | Description
--- | ---
DataSize | Number of bytes of the data.
ReportType | Type of GenericLLCReport
TLVCount | Number of TLVs in the data.
data | Data bytes

Report Types

The following report types are used in the GenericLLCReport message.

Report Type | Value
SK_NSR_CHANGE | 0x01 (not currently used)
SK_NSQ_CHANGE | 0x02 (not currently used)
SK_PM_CHANGE | 0x03
SK_SOCKET_CHANGE | 0x04 (not currently used)
SK_SSC_UPDATE | 0x05
SK_LINK_UP | 0x06
SK_LINK_DOWN | 0x07
SK_GROUP_WATCHER_STATUS | 0x08
SK_CHANNEL_RANGE_STATUS | 0x09
SK_LLC_REDUNDANCY | 0x0b

TLVs

Several different TLVs can be reported within the GenericLLCReport:

SK_LLCREDSTATE_TLV (0x0004)

SK_LLCREDSTATE_TLV (0x0005)

SK_LLCREDSETTINGS_TLV (0x0006)

SK_POLL_DATA_TLV (0x1000)

Sk_IPV4_TLV (0x1001)

SK_ROUTING_TLV (0x1002)

Sk_LNI_TLV (0x1003)

SK_CHANNEL_GROUP_TLV (0x1004)

SK_CHANNEL_RANGE_TLV (0x1005)

Report Type: SK_LLC_REDUNDANCY

A GenericLLCReport of report type, SK_LLC_REDUNDANCY is generated and sent to registered applications by the active LLC when:

An application connects

The LLC changes redundancy states

An LLCQuery of type SK_LLC_REDUNDANCY_QUERY_TLV is sent to the active LLC.

The standby LLC sends reports under the same circumstances. However, because only the active LLC can communicate with the standby LLC, the primary LLC (PLLC) to redundant LLC (RLLC) link must be in SK_LINK_UP state for the application to receive the reports. If the PLLC to RLLC link is in state SK_LINK_DOWN, no responses from the standby LLC will be seen.

Possible TLV Combinations

Report Type | LLCREDTYPE_TLV | LLCREDSTATE_TLV | LLCREDSETTINGS_TLV
--- | --- | --- | ---
SK_LLC_Redundancy | 1 | 1 | 1

TLV Syntax

The TLVs described in this section are used with the SK_LLC_REDUNDANCY report type in a GenericLLCReport message.

SK_LLCREDTYPE_TLV (0x0004)

SK_LLCREDSTATE_TLV (0x0005)

SK_LLCREDSETTINGS_TLV (0x0006)

SK_LLCREDTYPE_TLV (0x0004)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x0004 (SK_LLCREDTYPE_TLV)
Length | Data[2, 3] = 0x0001
Value | Data[4] = Type 0x01 - LLC was started as primary 0x02 - LLC was started as redundant (with -r)

SK_LLCREDSTATE_TLV (0x0005)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x0005 (SK_LLCREDSTATE_TLV)
Length | Data[2, 3] = 0x0002
Value | Data[4] = LLC state 0x00 - Transient or Unknown 0x01 - Active 0x02 - Standby Data [5] = LLC to LLC Redundant Link State 0x06 - RLink Up (PLLC to RLLC communication possible) 0x07 - Rlink Down (PLLC to RLLC communication not possible)

SK_LLCREDSETTINGS_TLV (0x06)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x0006 (SK_LLCREDSETTINGS_TLV)
Length | Data[2, 3] = 0x0012
Value | IP Address of the Host this message came from (presumably the Active LLC) Data [4] = First octet of Host IP address Data [5] = Second octet of Host IP address Data [6] = Third octet of Host IP address Data [7] = Fourth octet of Host IP address IP of the Primary LLC's listening socket Data [8] = First octet of PLLC IP address Data [9] = Second octet of PLLC Host IP address Data [10] = Third octet of PLLC Host IP address Data [11] = Fourth octet of PLLC IP address Listening Port of the Primary LLC Data [12, 13] = PLLC Port IP of the Redundant LLC's listening socket Data [14] = First octet of RLLC IP address Data [15] = Second octet of RLLC Host IP address Data [16] = Third octet of RLLC Host IP address Data [17] = Fourth octet of RLLC IP address Listening Port of the Redundant LLC Data [18, 19] = RLLC PortSwitchback mode as defined by Primary Host Data [20] = mode 0x00 - Primary LLC preferred 0x01 - Manual

Report Types

The TLVs in this section are used to report the status of the LLC socket connections.

SK_PM_CHANGE

SK_SSC_UPDATE

SK_LINK_UP

SK_LINK_DOWN

These report types are unsolicited messages that report the status of socket connections between the LLC and its devices, in particular, devices that share a logical node but are on unique logical links (i.e. direct connections to the SS7 for TCAP).

The following list describes the conditions that will cause the LLC to send these reports within the GenericLLCReport:

SK_PM_CHANGE

Sent when the first poll is received by the LLC for a CSP Matrix Series 3 Card. Also sent any time a value changes in the Poll. The UpdatedFieldBits field indicates which fields have changed since the last poll.

SK_SSC_UPDATE

Sent when an application issues an AddLLCCard. An SSC_UPDATE may be generated if the LLC already knew about the device and the LLC is currently connected to the active device within that node. In other words, if the Link is considered to be up.

SK_LINK_UP

Sent to indicate that there is a connection to the active device for this node and the device is ready to be configured. This will be sent if this is a new condition (i.e. the LLC was not previously connected to the active Device).

SK_LINK_DOWN

Sent to indicate that there is NO connection to the active Device for a node. This will be sent if this is a new condition (that is, we were previously connected to the active Device).

Important! Performing an AddLLCCard will result in an SK_SSC_UPDATE with the last poll from the active Device, if the LLC is currently connected to the Device in the active state.

SK_POLL_DATA_TLV (0x1000)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x1000 (SK_POLL_DATA_TLV)
Length | Data[2, 3] = 0x000b
Value | Data[4] = StatusData Data[5,6] = SystemType Data[7] = MatrixSide Data[8] = MatrixState Data[9] = AdjMatrixState Data[10] = StatusBits Data[11,12] = Actual Logical Node ID Data[13, 14] = UpdatedFieldBits

SK_IPV4_TLV (0x1001)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x1001 (SK_IPV4_TLV)
Length | Data[2, 3] = 0x0004
Value | Data[4] = First octet of IP address (hexadecimal) Data[5] = Second octet of IP address (hexadecimal) Data[6] = Third octet of IP address (hexadecimal) Data[7] = Fourth octet of IP address (hexadecimal)

SK_ROUTING_TLV (0x1002)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x1002 (SK_ROUTING_TLV)
Length | Data[2, 3] = 0x0004
Value | Data[4,5,6,7] = Routing ID

SK_LNI_TLV (0x1003)

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x1003 (SK_LNI_TLV)
Length | Data[2, 3] = 0x0002
Value | Data[4,5] = Requested Logical Node ID

Report Types

The TLVs in this section are used to report the service state of channel groups being watched by an application.

SK_GROUP_WATCHER_STATUS

SK_CHANNEL_RANGE_STATUS

Report Type | SK_CHANNEL_GROUP_TLV | SK_CHANNEL_RANGE_TLV
--- | --- | ---
SK_GROUP_WATCHER_ STATUS | 1 |
SK_CHANNEL_RANGE_STATUS |  | 1

SK_CHANNEL_GROUP_TLV (0x1004)

In the event that the environment variable SK_CHANNEL_RECOVERY_METHOD=0x03 (All_OUT_OF_SERVICE) is set or a ForceGroupState message is received, the LLC has the ability to take entire groups of channels in-service and out-of-service. In the event that this occurs a "master" application can be created that monitors this behavior by registering for GenericLLCReports and parsing a new report type within it called SK_GROUP_WATCHER_STATUS.

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x1004 (SK_CHANNEL_GROUP_TLV)
Length | Data[2, 3] = 0x0034
Value | Data[4] = Status 0x00 Not Watched 0x01 Watched Data[5] Reserved (Not Used) Data [6,56] = Group (null terminated string)

SK_CHANNEL_RANGE_TLV (0x1005)

In the event that the environment variable SK_CHANNEL_RECOVERY_METHOD=0x03 (All_OUT_OF_SERVICE) is set or a ForceGroupState message is received, the LLC has the ability to take entire groups of channels in-service and out-of-service. In the event that this occurs a "master" application can be created that monitors this behavior by registering for GenericLLCReports and parsing a new report type within it called SK_CHANNEL_RANGE_STATUS.

Description | Byte (Value)
--- | ---
Tag | Data[0, 1] = 0x1005 (SK_CHANNEL_RANGE_TLV)
Length | Data[2, 3] = 0x0009
Value | Data[4,5] = Start Span Data[6] =Start Channel Data[7,8] = End Span Data[9] = End Channel Data[10] = Status 0xF0 SK_IN_SERVICE 0x0F SK_OUT_OF_SERVICE Data[11,12] = Reserved (Not Used)

Possible TLV Combinations

Report Type | SK_LNI_TLV | SK_POLL_DATA_TLV | SK_IPV4_TLV
SK_PM_CHANGE | 1 | 1 | 1
SK_SSC_UPDATE | 1 | 1 | 1
SK_LINK_UP | 1 | 0 | *
SK_LINK_DOWN | 1 | 0 | **

* A Report Type will contain at least one of these TLVs. The CSP Matrix Series 3 Card represented by the first TLV in a series will always indicate the current Active.

** A Report Type will contain at least one of these TLVs. When a series of TLVs is sent by the LLC, the order of the TLVs is irrelevant. When the link is down the LLC does not know which is Active or not.

Connection between nodes, physical connectivity
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.
The condition of a component at a given instant. The current "context" of a PPL object, such as Idle, Seizing, Answered. In PPL files, a State is represented by a circle.
Internet Protocol. Part of the TCP/IP family of protocols used to route messages and tracks the addresses of nodes.
A computer, attached to the Excel platform through an RS-232 or Ethernet link, from which you run the telecommunications application that controls the Excel platform.
The point in the Excel platform where a DS0 connects to a network. Also known as a "socket."
See Signaling System Number Seven.
See Transaction Capability Application Part.
In PPL, a condition that, when met, drives a state machine (PPL Component) from one state to another, by invoking an associated Primitive. In PPL files, an Event is marked by an arrow and text.
Range of channels provided by T1 or E1 transmission service. A physical span is a group of channels taking up a single physical wire. A logical span is a group of channels taking up less than a single logical wire, or carried over more than one physical wire.