CS5000 - V09.30
Hello learned people. I've been browsing this forum and it's so refreshing to see people helping each other with Inter-tel stuff. When I first started working on Inter-tel I couldn't find any kind of reference or help of any kind. Could of done with finding you guys back then!
This question is related to SMDR programming and moving from serial to tcp/ip. I've noticed there is already a thread out there about this but my question isn't related to setting it up, that has already been done. It's more to do with making sure the SMDR tcp/ip connection is still up and communicating.
Obviously the core for most people is the call information that flows in and out of the PBX. We have been forced to upgrade from an AXXESS system (5.0*) to the latest version of the CS5000. The main difference I've come across for SMDR logging is obviously moving from serial to tcp/ip. This brings a few headaches because at least with the serial you're pretty much guaranteed that if the serial logging application is running, the data is being captured. If there are any network issues though, you may not be aware that the connection is down. One example is some engineers actually turned off the PBX while my SMDR monitor was connecting to it and it didn't even know, not even a few hours after it had been disconnected. I know you might be thinking it's shoddy code but it recognised a reboot shutting down but not a reboot... but I digress
From the developer docs I found this paragraph;
"Once you have established the connection, it is recommended that the application periodically send four, binary-zero bytes to the CPC or CP Server socket. If the application does not receive an acknowledgement from the CPC or CP Server, the connection is down. If these bytes are not sent, the application may not be aware that there is a connection problem."
Does anyone have any experience with this? I have tried all manners of sending the 4 null bytes across the SMDR stream but there is no kind of acknowledgement.
I've:
Sent 4 binary-zero bytes
Sent 4 binary-zero bytes with the length of the string packed in the 4 bytes preceding it (a la OAI)
Sent 4 binary-zero bytes with a carriage return (a la OAI)
Sent a _NO (even though it told me not to, I had to try)
Newlines... everything, but nothing seems to acknowledge my presence. I've even done a tcpdump and checked the network activity with wireshark to make sure it doesn't do a hidden null byte acknowledgement back and it doesn't seem to.
Does anyone know what kind of "acknowledgement" I should be expecting when sending these null bytes? Any help or direction would be wonderful
