Genesys CTI User Forum
Genesys CTI User Forum => Genesys-related Development => Topic started by: steve_13_oct on August 03, 2007, 08:04:11 AM
-
Who knows something about Java platform SDK?
I am coding with Java platform SDK 7.2 and I suspect that there is a bug in a receive method of protocol class. I could send and receive through it for about a day and then all of a sudden it can't get no response from t-server though it successfully transmits requests using the same instance and t-server's log shows that there is a response going back to it.
If I reboot my app everything gets back to norm. Is it a bug or am I plain dumb?
[glow=red,2,300]Steve[/glow]
-
Steve:
We are getting the events like this:
[code]
try {
while(true) {
response = receiveFromTserver(this.protocol,
this.tSvMode);
if (response == null) {
objLog.WriteLog(objLog.DEBUG,
"DoQueueFromTserver(run)", "Info: T-server's a reply is null");
Thread.sleep(1000);
continue;
}
objLog.WriteLog(objLog.INFO, "DoQueueFromTserver(run)",
response.toString());
eventId = response.messageId();
switch(eventId) {
case EventAgentLogin.ID:
case EventAgentLogout.ID:
case EventRegistered.ID:
case EventAgentReady.ID:
case EventRinging.ID:
case EventEstablished.ID:
case EventAbandoned.ID:
case EventHeld.ID:
case EventRetrieved.ID:
case EventPartyChanged.ID:
case EventReleased.ID:
case EventAgentNotReady.ID:
case EventAttachedDataChanged.ID:
case EventError.ID:
case EventDialing.ID:
case EventPartyAdded.ID:
case EventPartyDeleted.ID:
objT.sendResponseToClient(this.tSvName,
response, dnInfo);
objLog.WriteLog(objLog.DEBUG,
"DoQueueFromTserver(run)", "T-server Event( " +
CodeIndication.getTseverEvent(eventId) +
" ) ---> client thisDN(" + dnInfo.get("dn") +
") orgConnID (" + dnInfo.get("cn") + ")");
break;
default: break;
}
}
} catch (Exception e) {
objLog.WriteLog(objLog.ERROR, "DoQueueFromTserver(run)",
"Error : T-server's protocol broken thisDN["+this.tSvName+"] ==> " + e);
return;
}
[/code]
Are you doing it the same way as well?
-
Steve:
sorry if it took me a while, but I think I know what your problem is: addp or lack of thereof.
Genesys SDK by default does not use addp in a connection, and I was able to recreate a situation where Genesys would not notice that session went down south for the rest of the weekend. This is plain and simple to do:
1. take three hubs and connect hub one to two and two to three.
2. connect your application to hub one
3. connect Genesys T-Server to hub three
4. once your application is connected and running, try disconnecting hub#2 for a few seconds and then connect it back in. The link will be still there but session won't. What is worse, you will see session die on T-Server side but not on your application side. Once I have added addp, I could no longer recreate the problem.
so, I really strongly suggest for you to look into adding addp - chances are you already did it between your post and my reply, right?