At present SmppTransactionHandle is created using ESME name and sequence number from SubmitSM/DeliverSM. This mechanism is not unique enough and causes issues in case an SMPP client connects/disconnects at short intervals due to network issues or by design. The sequence numbers are restarted from 0 on smpp clients mostly and thus SMSC errors out stating Activity/Handle already exists.
We need a way to may be use socketId or connectiontime as an added key to uniquely create SMPP transactions in the system.
https://github.com/RestComm/smscgateway/blob/master/core/slee/resource-adaptors/smpp-server-ra/ra/src/main/java/org/mobicents/smsc/slee/resources/smpp/server/SmppTransactionHandle.java#L38
At present SmppTransactionHandle is created using ESME name and sequence number from SubmitSM/DeliverSM. This mechanism is not unique enough and causes issues in case an SMPP client connects/disconnects at short intervals due to network issues or by design. The sequence numbers are restarted from 0 on smpp clients mostly and thus SMSC errors out stating Activity/Handle already exists.
We need a way to may be use socketId or connectiontime as an added key to uniquely create SMPP transactions in the system.
https://github.com/RestComm/smscgateway/blob/master/core/slee/resource-adaptors/smpp-server-ra/ra/src/main/java/org/mobicents/smsc/slee/resources/smpp/server/SmppTransactionHandle.java#L38