You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > 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);