Softdial CallGem™ is a service process that exchanges messages using TCP/IP. In the Sockets API, the communications aspect is exposed for the integrator to handle. In RouterNET, the communication link is encapsulated within SCC.
The Sockets API is the native interface to Softdial CallGem™. Softdial CallGem™ can communicate on any number of socket connections simultaneously, although it is advised to stick to one socket connection per software component connecting to Softdial CallGem™, for simplicity. Softdial CallGem™ knows where a message originated, and will send any corresponding response back to the same connection.
RouterNET is a set of interfaces that has been developed to provide alternatives to the sockets API. These interfaces can be used directly as a .NET DLL, thereby promoting simpler use of the features of Softdial CallGem™. The interfaces each correspond to the 4 business functions;
and in this case, every instance of each of the four interfaces implement its own decoupled native socket connection to Softdial CallGem™.
Once a connection has been established, communication is via the exchange of null terminated strings, either 8-bit ASCII messages or 16-bit Unicode (standard x86 little-endian, no byte order marks), between the stream sockets. The message exchange is asynchronous in that a response to a message may not be returned straight away. The host will deal with messages as they arrive from Softdial CallGem™, without necessarily expecting them in a particular order.
Because the server just expects a connection over the network, it does not matter if the host is using a different operating platform from Softdial CallGem™, just so long as it can use the TCP/IP port addresses below.
Softdial CallGem™ service listens for socket connections on ports as follows:
Through any connection, you may connect any combinations of telephony layer, campaign management and agent control. For example, you may send either:
When you send any of the above messages, the appropriate resource becomes associated with the connection the message was received through. Subsequent responses and notifications related to that resource will be directed through the same connection. Any message for any resource may be sent through any socket connection at any time.
If the connection is closed, Softdial CallGem™ will attempt to clean up the resources associated with that connection. It does this by sending itself management messages (such as Kill Campaign [KC] and Kill Agent [KA]. See Agent Removal and Emergency Shutdown for details of these). These messages will be visible in the .MsgLog files and some of them may be errors. This is normal (considering that closing a connection while resources are still active is itself abnormal).
Existing implementations making use of other ports are still supported. The new scheme merely simplifies things and by removing restrictions on the use of different connections, allows for a greater variety of architectures.