AddLLCCard

Type

SwitchKit API message

Overview

Use the SK_AddLLCCard message as an external application connected to the LLC. This message opens sockets to the SS7 cards on the node and sets up routing to the SS7 card.

AddLLCCard is used to create and connect pairs of card level device to the LLC. It has the ability to accommodate various card types including SS7 TCAP. Additional routing ID’s can be added to the same connection by sending multiple AddLLCCard messages to the same IP pair and specifying a different Routing ID. By setting the action field to 0x01 (Remove Connection), it is assumed that all routing IDs on this connection will no longer be used and will therefore be removed by the LLC. For an application to maintain communication to the card, there must always be at least one routing ID configured for that IP pair.

This message cannot be used in a SwitchManager configuration file. Instead use the Add SS7TCAPCard message.SwitchManager will generate the appropriate AddLLCCard messages for you.

Sent by

Application

C Structure

typedef struct {

BaseFields Base;

char CardIP1[30];

char CardIP2[30];

int RoutingID;

int ControlNode;

unsigned short CardType;

UBYTE Action;

UBYTE reserved88[5];

} SK_AddLLCCard;

 

C Structure Response

typedef struct {

BaseFields Base;

int Status;

int RoutingID;

UBYTE Reserved1;

UBYTE reserved26[5];

} SK_AddLLCCardAck;

 

C++ Class

class SKC_AddLLCCard : public SKC_ToolkitMessage {

public:

SKC_AddLLCCard(int sz = 0);

~SKC_AddLLCCard();

SK_DECLARE_CLASS(SKC_AddLLCCard,SKC_ToolkitMessage)

 

virtual MsgStruct *getStructPtr();

virtual const MsgStruct *getStructPtr() const;

virtual int getTag() const;

 

const char *getCardIP1() const;

void setCardIP1(const char *x) ;

const char *getCardIP2() const;

void setCardIP2(const char *x);

int getRoutingID() const;

void setRoutingID(int x);

int getControlNode() const;

void setControlNode(int x);

unsigned short getCardType() const;

void setCardType(unsigned short x);

UBYTE getAction() const;

void setAction(UBYTE x);

 

 

C++ Class Response

class SKC_AddLLCCardAck : public SKC_ToolkitAck {

public:

SKC_AddLLCCardAck(int sz = 0);

~SKC_AddLLCCardAck();

SK_DECLARE_CLASS(SKC_AddLLCCardAck,SKC_ToolkitAck)

 

virtual MsgStruct *getStructPtr();

virtual const MsgStruct *getStructPtr() const;

virtual int getTag() const;

 

int getStatus() const;

void setStatus(int x);

int getRoutingID() const;

void setRoutingID(int x);

UBYTE getReserved1() const;

void setReserved1(UBYTE x);

 

 

AddLLCCardAck

The LLC will acknowledge AddLLCCard messages with an AddLLCCardAck message.

 

AddLLCCardAck( Status= <*Response Value>,

RoutingID= < Unique ID for Card Pair Added>,

Reserved1= <Not currently used>);

 

Status field

Possible Response Values found in the status field of an AddLLCCardAck message.

*Response Values

Action

SK_SUCCESS

SubComponent connection was successfully added to the LLC.

SK_CONNECT_IN_USE

The RoutingID specified is currently in use.

SK_DUP_IP_ADDR

One of the IP’s is being used by another pair of Devices.

SK_INTERNAL_LIMIT_REACHED

The max number of subComponents has been exceeded.

SK_INTERNAL_MEM_ERROR

There was a problem allocating memory within the LLC.

SK_NODE_DOESNT_EXIST

The node id specified has not been added to the LLC via an AddLLCNode message.

SK_BAD_IP_ADDRESS

An invalid IP string was encountered

SK_NO_MESSAGE

Invalid message parameter found while processing request.

RoutingID Macros

To avoid duplicate values, the routing ID for each type of sub-component card must be derived using that cards corresponding get_RoutingID macro. Macros will be defined within SK_API.h so that they are globally accessible.

 

Macros available for deriving RoutingID’s.

CardType

Function

SK_SS7TCAP_BOARD (0x03)

getSS7TCAP_RoutingID(int stackid(0-255));