I am writing ESME using logica smpp lib, but have a serious problem –
when SMSC send to ESME [FIN, ACK], ESME do not answer correct.
Here TCP dump:
2751.016216 ESME -> SMSC SMPP SMPP Submit_sm
2751.019818 SMSC -> ESME SMPP SMPP Submit_sm - resp: "Throttling error (ESME exceeded allowed message limits)"
2751.136172 ESME -> SMSC TCP 42265 > 5001 [ACK] Seq=1651885221 Ack=3959508692 Win=123 Len=0
2774.588453 SMSC -> ESME TCP 5001 > 42265 [FIN, ACK] Seq=3959508692 Ack=1651885221 Win=32768 Len=0
2774.741502 ESME -> SMSC TCP 42265 > 5001 [ACK] Seq=1651885221 Ack=3959508693 Win=123 Len=0
2821.032427 ESME -> SMSC SMPP SMPP Submit_sm
2821.033502 SMSC -> ESME TCP 5001 > 42265 [RST] Seq=3959508693 Ack=0 Win=32768 Len=22
How to solve this? Is it possible to handle this packet?
In class
TCPIPConnection, method –public ByteBuffer receive()you should do something like this: