Error Messages

Where can I find SwitchKit status codes and error responses?

The Windows NT default path to status codes and error responses is:

C:\Program Files\Excel Switching Corporation\SwitchKit\include\SK_API.h

 

The UNIX default path to status codes and error responses is:

 

/usr/local/switchkit/include/SK_API.h

LAN

How do I distribute the SwitchKit modules and my call processing applications across a local or wide area network?

To run modules on separate host machines from the LLC, the modules must be told where the LLC is running and must be able to connect to that machine over the network. The location of the machine is specified through the environment variable SK_LLC_HOST, or through the llc_host field in the system-wide defaults file as mentioned above. The value of this variable can be either a host name, or an IP address in dot notation.

Is this secure? Can anyone else connect to my LLC?

If you want secure connections to the LLC, set the SK_PASSWORD environment variable, or the password field in the system-wide defaults file on both the machine that is running the LLC and the machine that is running the module that will connect to the LLC. Only by knowing the value of that password will anyone be able to connect to the LLC.

Applications

How do I load share a single application across multiple machines?

Run the application on all the machines you wish to load share it across, and the load sharing will be accomplished automatically. Because the application will always be registering for the same inbound channel groups, the LLC will evenly distribute incoming calls among the various instances of the application. For more information, refer to the SwitchKit Programmer’s Guide and the Redundant Application Feature.

How does an application establish a connection with the LLC?

Refer to the SwitchKit Programmer’s Guide, Connection Management Functions. The SwitchKit API offers two connection models to set up a connect between your applications and the LLC.

When I first start my application, channels are allocated correctly, but after a while, I start getting SK_NO_CHANNELS error messages?

Make sure that any channel that is assigned to the application, either from an inbound call or via sk_requestOutseizedChannel, is returned to the LLC via sk_returnChannel, when the application is finished with it. Just like a dynamic memory leak, any channels that are not returned to the LLC will not be available to be allocated. It is important to realize that you must return not only the channels that you explicitly allocate via sk_requestOutseizedChannel, but also the channels that the LLC is implicitly allocating to you on inbound calls because of sk_watchChannelGroup.

I’m trying to send a message to the switch, but my application doesn’t get a reply. In fact, there isn’t even any mention of it in messages.log. What happened?

If a message that is supposed to be sent to the switch does not appear in messages.log, the most likely explanation is that your application was not able to send it to the LLC correctly. Check the return value from your call to the appropriate send function.

Why does any application that I compile, when run, give an error message about static initializers not being called?

All applications using the SwitchKit libraries must be linked with a C++-aware linker. In particular, the static initializers in the SwitchKit library must be called, and only a C++-aware linker knows how to call them. Whether your C compiler can handle static initializers depends on your system and the compiler. For example, cc on SCO UNIX will work fine, whereas cc on UNIXWare will not. GCC will work on all platforms, and is recommended.

CSA

How can I save custom configurations without the CSA view resetting every time we restart?

By default when you connect to an LLC, CSA opens an event view for that LLC. The default filter is all events selected, except for PPL events. CSA stores all event views and filters in CSA’s default file. On restart (assuming Open with last setting is checked), CSA will re-open all the event views with the corresponding filters.

What file does the output of the event viewer dump to?

The messages seen in the event viewer are stored in memory. Therefore, the event viewer does not move messages to other files. CSA currently stores a maximum of 2500 messages in memory. When new messages come in, CSA begins to delete old messages. This is done to limit CSA’s memory usage. All messages, even those that CSA or event viewer may or may not be registered to receive, are stored in the alarm.log file.