showrav017 / jain-sip

Automatically exported from code.google.com/p/jain-sip
0 stars 0 forks source link

TCP/TLS channel resend problem #108

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Use sip client with tcp/tls connection when client is behind nat.
2. Send keepalive or any other data from client periodically to allow channel 
reestablishment ( in my case it 2 minutes ) 
3.clear nat table on nat machine ( can be done by 3G network providers or any 
router when no packet received after some time )
4) Send message from server to client,wait 30 seconds.

What is the expected output? What do you see instead?
Client transaction should expire and cancel sending the packet to client.
Instead transaction is expired but packet is resent as soon as connection to 
client is recovered ( due to keepalive from client side ) 

What version of the product are you using? On what operating system?
latest nio

Please provide any additional information below.
message is sent from stack to tcp buffer , which keeps it all the time if it 
has enough space.by default its 512KB.
Therefore stack puts the message into buffer , then transaction is expired , 
but message remains in buffer and therefore resent.
Stack does not tries to remove the request from buffer.

Original issue reported on code.google.com by oifa.yul...@gmail.com on 1 May 2013 at 2:50

GoogleCodeExporter commented 8 years ago

Original comment by gvage...@gmail.com on 1 May 2013 at 2:51