Hi,
Don't want to sound like a captain obvious, but what I can say after a
quick look at your traces is that both client and server are behind NAT
and either some entity drops big packets silently or somebody drops ICMP
(fragmentation needed) which doesn't allow TCP to adjust max MSS. The
other strange thing is that you said that you set server's MTU to 800
bytes, but server has sent a huge TCP segment with a total length of
1548 bytes and "Don't fragment" bit set.
On 24/06/15 17:30, Andrey Utkin wrote:
Thanks for all the suggestions.
Have taken pcap dumps with commands
tcpdump -i any -w /tmp/sip_tcp.pcap host <counterpart host>
http://whdd.org/sip_tcp_server.pcap
http://whdd.org/sip_tcp_client.pcap
The only obviously bad thing I see is "[TCP Previous segment not
captured]" mark on the packet client side dump which is the ending of
INVITE request body.
Googling on this message, I've found some advice at StackOverflow to
tune TCP socket TCP_MAXSEG option.
http://whdd.org/sip_tcp_mtu800_server.pcap
http://whdd.org/sip_tcp_mtu800_client.pcap
For this test I have set MTU to 800 on the server's only actual net
interface, and restarted Kamailio. The situation stays the same,
despite the packets show differently in wireshark.
On client side, there's still "[TCP Previous segment not captured]",
and on server side there's a mark "[TCP segment of a reassembled
PDU]".
Any review is greatly appreciated!