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

LLCControl

Type

SwitchKit API message

Purpose

Use LLCControl to manage the behavior of LLC. LLCControl can be used to dynamically modify environment variables and to manage SS7 redundancy.

Description

The message is used for controlling or modifying the behavior of the LLC. The message consists of a sequence of TLVs, a command TLV followed by one or more parameter TLVs.

Establish Redundancy

The SK_LLC_CONTROL_ESTABLISH_REDUNDANCY TLV is used to initiate synchronization between to components that are configured as redundant pairs. Synchronization can only be initiated if the components have been previously configured as redundant pairs and each component is in a state where synchronization can commence. A successful reply to this message indicates that the synchronization process has been initiated. It does not indicate the success or failure of that synchronization process.

The use of this TLV requires that the ComponentType and PrimaryLNI TLV's also be included and properly defined. The only component type supported is SS7 (0x1000).

Control Switchover

SK_LLC_CONTROL_SWITCHOVER_COMP_TLV (0x0021) is used to initiate a switchover of fully synchronized, redundant components. Switchover can only be initiated if the components have been previously configued as redundant pairs and each component is in a state where switchover can occur. A successful reply to this message indicates that the switchover process has been initiated. It does not indicate the success or failure of that switchover process.

The use of this TLV requires that the Component Type and Primary LNI TLV's also be included and properly defined. The only component type supported is SS7(0x1000).

Sent by

Application

How to use

To use LLCControl, construct the message and set the TLV information.

SKC_LLCControllq;

lq.setDataSize(DataSize);

lq.setTLVCount(TLVCount);

lq.setData(data);

Arguments

The following table shows the arguments you can change:

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

Status Argument

The following are values that can be returned in the Status argument of LLCControlAck

Value | Description
--- | ---
SK_BAD_PARAM | Returned if there is an unknown command TLV.
SK_BAD_OR_MISSING_PARAM | A required parameter TLV is missing from the LLCControl.
SK_NODE_NOT_PREVIOUSLY_DEFINED | A node specified in a parameter TLV is unknown to the LLC.
SK_UNABLE_TO_INITIATE_SYNC | An attempt to initiate synchronization of SS7 redundant components failed.
SK_UNABLE_TO_INITIATE_SWITCHOVER | An attempt to initiate switchover of SS7 redundant components failed.
SK_UNKNOWN_REDUNDANT_COMPONENT | The specified redundant component is unknown.

Command TLVs

SK_LLC_CONTROL_ESTABLISH_REDUNDANCY (0x0015)

Byte | Description
--- | ---
Tag | Data[0, 1] = SK_LLC_CONTROL_ESTABLISH_REDUNDANCY (0x1015)
Length | Data[2,3] = 0x0000

SK_LLC_CONTROL_SWITCHOVER_COMP_TLV (0x0021)

Byte | Description
--- | ---
Tag | Data[0, 1] = SK_LLC_CONTROL_SWITCHOVER_COMP_TLV (0x0021)
Length | Data[2, 3] = 0x0000

Parameter TLVs

SK_LLC_CONTROL_GO_STANDBY_TLV (0x0016)

This SK_LLC_CONTROL_GO_STANDBY_TLV will cause an LLC switchover. The current Active LLC will become Standby and will inform the current Standby (if any) that it should become Active. Note that switchover behavior is dependant on the current SK_LLC_SWITCHBACK_MODE environment variable. See the environment variables section for details.

Byte | Description
--- | ---
Tag | Data[0, 1] = SK_LLC_CONTROL_GO_STANDBY_TLV (0x0016)
Length | Data[2, 3] = 0x0000
Value | Not Applicable

SK_COMPONENT_TYPE_TLV (0x1008)

Byte | Description
--- | ---
Tag | Data[0, 1] = SK_COMPONENT_TYPE_TLV (0x1008)
Length | Data[2, 3] = 0x0002
Value | Data[4, 5] = Component ID (currently only support 0x1000 for SS7)

SK_PRIMARY_LNI_TLV (0x1006)

Byte | Description
--- | ---
Tag | Data[0, 1] = SK_PRIMARY_LNI_TLV (0x1006)
Length | Data[2, 3] = 0x0002
Value | Data[4, 5] = Component ID (currently only support 0x1000 for SS7)

C Structure

typedef struct {

unsigned short DataSize;

UBYTE TLVCount;

UBYTE Data[250];

} SK_LLCControl;

C Structure Response

typedef struct {

int Status;

UBYTE reserved21[10]

} SK_LLCControlAck;

C++ Class

class SKC_LLCControl : public SKC_ToolkitMessage {

public:

unsigned short getDataSize() const;

void setDataSize(unsigned short x);

UBYTE getTLVCount() const;

void setTLVCount(UBYTE x);

const UBYTE *getData() const;

UBYTE *getTLVData();

void setTLVData(UBYTE *x);

};

C++ Class Response

class SKC_LLCControlAck : public SKC_ToolkitAck {

public:

int getStatus() const;

void setStatus(int x);

See Signaling System Number Seven.
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.