We have some cam problems between some clients.
This happens only on WAN connection, LAN is fine.
The limit is in all cases a udp package size of 1401. Above it can come to problems (more later...):
camping -s 1401 -r 1 ServerA
camping: Trying <ip> ...
1: reply from ServerA, rtt 234ms
ServerA: camping done, statistics:-
Sent 1, completed 1, packet size 1401 bytes.
Timed out 0 (0%) (detected: late discard return 0, late completion 0)
****
camping -s 1402 -r 1 ServerA
camping: Trying <ip> ...
1: no reply (timed out)
ServerA: camping done, statistics:-
Sent 1, completed 0, packet size 1402 bytes.
Timed out 1 (100%) (detected: late discard return 0, late completion 0)
The even stranger thing is that it is completely different for each client.
Example (just to illustrate, there is no "rule"):
Machines A1 and A2 are in China, B1 and B2 are in Europe.
From A1 "camping -s 1402 B1" works, "camping -s 1402 B2" does not work.
From A2 "camping -s 1402 B1" does not work, "camping -s 1402 B2" works.
From cam trace I see that the bigger package is normally received, but it cannot answer:
11:33:03.711 1 fd 904 (UDP_SOCKET), events 01, revents 01
11:33:03.711 1(0) active(queued messages)/14 inactive queues
11:33:03.711 event_handler() UDP IN 1
11:33:03.711 get_message() called
11:33:03.711 get_message(), message from IP-A1:4104
11:33:03.711 new_msg( length 4167 ) called
11:33:03.711 new_msg() returns
11:33:03.711 ack_message( ACK ) called for IP-A1:4104
11:33:03.711 ack_message() returns
11:33:03.711 router( from IP-A1:4104 )
11:33:03.711 router() entry: Seq 69031465, ER, from A1/CAI002588-00000, to B2/, len 4096, data >CA_ping< 1><, created 39503, life 8, notify: yes, flags: 89, src IP-A1, dst IP-B2
11:33:03.711 harmless request
11:33:03.711 swap_addr() called B2/->A1/CAI002588-00000
11:33:03.711 create_msg_id() called
11:33:03.711 create_msg_id() returns, seq 5404 now 1365154383
11:33:03.727 swap_addr() returns
11:33:03.727 router() echo request
11:33:03.727 router() dispatch: Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 8, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:03.727 network_msg(A1/IP-A1) called
11:33:03.727 enqueue_msg() called (B2/->A1/CAI002588-00000)
11:33:03.727 enqueue_msg() returns
11:33:03.727 start_poll( IP-A1:4104, index 0 ) called
11:33:03.727 network_msg(IP-A1:4104) returns
11:33:03.727 router() returns
11:33:03.727 get_message() returns
11:33:03.727 send_message(IP-A1:4104) called
11:33:03.727 send_message(): Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 8, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:03.727 set_next_udp_queue() called
11:33:03.727 set_next_udp_queue() returns (no ready queues)
11:33:03.727 send_message() returns
11:33:05.727 resend(IP-A1:4104) called
11:33:05.727 timer: re-sending message sequence 5404
11:33:05.727 start_poll( IP-A1:4104, index 0 ) called
11:33:05.727 resend() returns
11:33:05.727 send_message(IP-A1:4104) called
11:33:05.727 send_message(): Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 8, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:05.727 set_next_udp_queue() called
11:33:05.727 set_next_udp_queue() returns (no ready queues)
11:33:05.727 send_message() returns
11:33:07.727 resend(IP-A1:4104) called
11:33:07.727 timer: re-sending message sequence 5404
11:33:07.727 start_poll( IP-A1:4104, index 0 ) called
11:33:07.727 resend() returns
11:33:07.727 send_message(IP-A1:4104) called
11:33:07.727 send_message(): Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 6, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:07.727 set_next_udp_queue() called
11:33:07.727 set_next_udp_queue() returns (no ready queues)
11:33:07.727 send_message() returns
11:33:09.727 resend(IP-A1:4104) called
11:33:09.727 timer: re-sending message sequence 5404
11:33:09.727 start_poll( IP-A1:4104, index 0 ) called
11:33:09.727 resend() returns
11:33:09.727 send_message(IP-A1:4104) called
11:33:09.727 send_message(): Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 4, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:09.727 set_next_udp_queue() called
11:33:09.727 set_next_udp_queue() returns (no ready queues)
11:33:09.727 send_message() returns
11:33:11.727 resend(IP-A1:4104) called
11:33:11.727 timer: re-sending message sequence 5404
11:33:11.727 start_poll( IP-A1:4104, index 0 ) called
11:33:11.727 resend() returns
11:33:11.727 send_message(IP-A1:4104) called
11:33:11.727 send_message(): Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 2, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:11.727 set_next_udp_queue() called
11:33:11.727 set_next_udp_queue() returns (no ready queues)
11:33:11.727 send_message() returns
11:33:12.727 timer: discarding message sequence 5404
11:33:12.727 start_poll( IP-A1:4104, index 0 ) called
11:33:12.727 bounce() called
11:33:12.727 discarding message (reason: network error) ...
11:33:12.727 bounce(): Seq 5404, MM, from B2/, to A1/CAI002588-00000, len 4096, data >CA_ping< 1><, created 39503, life 0, notify: no, flags: 91, src IP-B2, dst IP-A1
11:33:12.727 bounce() returns (no notification requested) (B2/->A1/CAI002588-00000)
The network trace on the clints did not show any clue...
It is quite frustrating...