Author Topic: Java Voice Platform SDK bug  (Read 5033 times)

steve_13_oct

  • Guest
Java Voice Platform SDK bug
« 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]

Offline victor

  • Administrator
  • Hero Member
  • *****
  • Posts: 1416
  • Karma: 18
Re: Java Voice Platform SDK bug
« Reply #1 on: August 03, 2007, 09:01:41 AM »
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?

Marked as best answer by on Today at 06:02:31 PM

Offline victor

  • Administrator
  • Hero Member
  • *****
  • Posts: 1416
  • Karma: 18
Re: Java Voice Platform SDK bug
« Reply #2 on: August 29, 2007, 05:42:08 AM »
  • Undo Best Answer
  • 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?