You are here: CSP API Reference > 1 EXS & SwitchKit API Messages > ConnectionStatusMsg
Type:
EXS SwitchKit API message
Description
This message is sent by the Low-Level Communicator (LLC) to an application whenever any application connects to or disconnects from the LLC. These notifications go to applications. All applications connect to LLC. By default, LLC will send ConnectionStatusMsg messages to all applications. To disable this functionality, set SK_DISABLE_CSM =1.
NOTE: An application can use this message to determine that a software version mismatch has occured. In this case, an application recieves a ConnectionStatusMsg with status 0x06, which indicates there is an invalid connection. The application needs to manually delete the connection, otherwise, a loop will continue. In CSA, you will receive an error message saying the LLC is a different version of software and you should upgrade CSA for it to work.
This feature is also used, for example, to detect whether an application in a redundant pair disconnects. This includes notification of an LLC or SwitchManager switchover. In a redundant LLC set-up, if the primary LLC fails, a ConnectionStatusMsg is sent, stating that an application with the LLC name of ‘0’ has disconnected. The ‘0’ corresponds to the primary LLC.
There are two types of applications:
• Special Applications
– SwitchManger and Redundant LLC (RLLC) are special applications. SwitchManger always connects to the LLC as the application named 1. RLLC always connects to the LLC as the application named 2.
• User Applications
– User applications, including the Converged Services Administrator, connect to the LLC as applications with names greater than or equal to 10.
In a redundant LLC set-up, if the primary LLC (PLLC) fails, a ConnectionStatusMsg is sent, stating that an application with the LLC name of ‘0’ has disconnected. The ‘0’ corresponds to the primary LLC.
By default Switchkit applications, with the wrong version of software, will cause an error when attempting to connect to the LLC. The connection for this faulty application will be made to the LLC, and LLC will then send a ConnectionStatusMsg with an error code to all registered applications. All registered Switchkit applications will get a status of SK_CSM_NoCompat_App_SW (6) when this occurs.
Once the ConnectionStatusMsg had been successfully sent to all registered applications, the LLC will drop the connection, and log the following within the maintenance_llc.log:
*************************************************************************
* Application Connection Failed
*
* Application cannot remain connected to LLC due to incompatible SK API
* software version.
*
* Application software version: 08.02.03
* Switchkit software version: 08.03.01
**************************************************************
Sent by
Application
C Structure
typedef struct {
char IPAddress[50];
UBYTE Status;
int Name;
UBYTE reserved72[4];
} SK_ConnectionStatusMsg;
C++ Class
class SKC_ConnectionStatusMsg : public SKC_ToolkitInbound {
public:
const char *getIPAddress() const;
void setIPAddress(const char *x);
UBYTE getStatus() const;
void setStatus(UBYTE x);
int getName() const;
void setName(int x);
};
Argument Values
The following table shows the possible values for the arguments of this message:
Argument |
Value |
Description |
---|---|---|
Status |
SK_CSM_OtherAppIDDropped |
Indicates the application has disconnected. |
SK_CSM_OtherAppIDConnected |
Indicates another application has connected. This value is only received, if the application is registered for the connection status message. Then, the application will get the connection status message for itself and all other applications that connect to LLC. |
|
SK_CSM_AppIDReturnedFromPhantom |
This is sent when an application reconnects to an LLC, either because it was disconnected and reconnected within the 15 second time-out period, or there was a switchover from the PLLC to the RLLC. |
|
SK_CSM_CurrentAppIDConnected |
The current application has connected to the LLC/RLLC. |
|
SK_CSM_AppDropped_NonCompatSoftware |
Indicates a SwitchKit user application is trying to connect to an LLC which has a different software version. When a SwitchKit application connects to the LLC, it must have the same software version as the LLC it is connecting to. |
|
Name |
The LLC name (i.e. integer) associated with the application |
The LLC name (i.e. integer) associated with the application. |
IPAddress |
IP address of the client that the LLC sees the incoming socket connecting from. |
IP address of the client that the LLC sees the incoming socket connecting from. |