Author Topic: Java Voice Platform SDK bug  (Read 5031 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 »
  • Best Answer
  • 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?

    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 »
  • 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?