How to set timeout in SMPP

1.1k Views Asked by At

Anyone knows how to set timeout when submit message (submit_sm) to SMSC? I have tried to set the receivetimeout (session.getReceiver().setReceiveTimeout) to 6 seconds but I still got the null response after around 30 seconds.

Below are the timeouts that I set:

  • session.getReceiver().setReceiveTimeout(6000)
  • session.getReceiver().setQueueTimeout(6000)
  • TCPIPConnection.setCommsTimeout(5000)
  • TCPIPConnection.setReceiveTimeout(5000)

Currently I am using OpenSMPP

TIA :)

1

There are 1 best solutions below

0
On

make new future task

public static class SubmitSMTask implements Callable<SubmitSMResp>{
    SubmitSM smRequest;
    Session sessionSend;

    public SubmitSMTask(Session sessionSend, SubmitSM smRequest) {
        this.sessionSend = sessionSend;
        this.smRequest = smRequest;
    }

    @Override
    public SubmitSMResp call() throws Exception {
        SubmitSMResp response = sessionSend.submit(smRequest);
        return response;
    }
}

then call it. i used 100 ms as timeout

ExecutorService executor = Executors.newSingleThreadExecutor();
Future<SubmitSMResp> future = executor.submit(new SubmitSMTask(sessionSend, smRequest));
SubmitSMResp response = future.get(100, TimeUnit.MILLISECONDS);
smsId = response.getMessageId();