cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1700
Views
2
Helpful
8
Replies

ReceiveThread: caught java.net.SocketTimeoutException

derrickgunter
Level 5
Level 5

Due to network issues one of our customers periodically receives "java.net.SocketTimeoutException":

35297140: Aug 22 10:20:56.636 EDT %JTAPI-CTIIMPL-7-UNK:(P1-10.41.8.11) ReceiveThread: caught java.net.SocketTimeoutException: Read timed out

35297141: Aug 22 10:20:56.636 EDT %JTAPI-MISC-7-UNK:(P1-10.41.8.11) ReceiveThread: exiting

35297142: Aug 22 10:20:56.636 EDT %JTAPI-MISC-7-UNK:(P1-10.41.8.11) ReceiveThread: notifying handler of demise

35297143: Aug 22 10:20:56.636 EDT %JTAPI-PROTOCOL-7-UNK:(P1-10.41.8.11) received Event: com.cisco.cti.protocol.ProviderOutOfServiceEvent {

  eventSequence                 = 1734381

  PROVIDER_OUT_OF_SERVICE_EVENT = 200

  }

35297144: Aug 22 10:20:56.636 EDT %JTAPI-MISC-7-UNK:(P1-10.41.8.11) EventThread: queuing com.cisco.cti.protocol.ProviderOutOfServiceEvent

Question: Is it possible to set this timeout through a JTAPI call?  JTAPI log is attached.

Thanks,

Derrick

8 Replies 8

derrickgunter
Level 5
Level 5

Second question: Can the reason reason for this "read" timeout be determined?  Or at least potential reasons.

I found the CiscoJtapiProperties.setProviderOpenRequestTimeout() but think that the provider was already opened.

Any ideas what this timeout was from and if we can set it?

Thanks.
Derrick

Any ideas? Thanks!

CiscoJtapiProperties.setProviderOpenRequestTimeout() needs to be done before getProvider() API call. Something like this:

JtapiPeer peer = JtapiPeerFactory.getJtapiPeer ( null );

  if(peer instanceof CiscoJtapiPeer){

    CiscoJtapiProperties jProps = ((CiscoJtapiPeer)peer).getJtapiProperties();

    jProps.setTracePath("\\D:\\Traces\\WorkFlow");

    jProps.setUseJavaConsoleTrace(false);

    jProps.setProviderOpenRequestTimeout(REQUIREDSOCKETIMEOUT);

    MyProviderObserver providerObserver = new MyProviderObserver ();

    provider = peer.getProvider ( providerName );

  }

Thanks Mohan.  But in this case the provider has been open for a long time so this is not a timeout for open the provider.  It specifically says that "Read timed out":

35297140: Aug 22 10:20:56.636 EDT %JTAPI-CTIIMPL-7-UNK:(P1-10.41.8.11) ReceiveThread: caught java.net.SocketTimeoutException: Read timed out

Is this definitely controlled by the same setProviderOpenRequestTimeout?  If not what would this timeout be?

Thanks again!

Derrick

If this is after a successful socket connection, network issue may be at play. Wireshark traces may give more info.

Thanks Mohan. Just to confirm:

  1. It is not possible to determine the particular action that is timing out based on the jtapi log.
  2. It is not possible to determine the timeout value based on the jtapi log.
  3. The timeout involved is not the OpenRequestTimeout since the supervisor is already open.

Correct?

Thanks again.

The exception seems to be coming from JVM and jtapi log doesn't show the operation that timed out though at this time, JTAPI is waiting a response for redirect request.

In this case JVM default timeout values should apply and JTAPI logs doesn't any internal timeouts firing. Looks like some timers at TCP level fired off.

Yes the openRequestTimeOut doesn't apply in this case.