Hi all,
My Kamailio server has been throwing a lot of errors during the manipulation and forwarding of registrations to my Asterisk server (192.168.96.97) using uac_req_send(); and t_relay()
[core/tcp_main.c:1402]: tcp_do_connect(): connect 192.168.96.97:5060: (99) Cannot assign requested address [core/tcp_main.c:1399]: tcp_do_connect(): connect 192.168.96.97:5060 failed Cannot assign requested address
When looking deeper into the code it appears that the errors are thrown when "tcp_async" is enabled. I've enabled this option a few weeks ago to make sure clients can REGISTER quickly. The parameter "tcp_reuse_port" is also set to yes.
I'm suspecting that on busy moments, the destination can't be reached because no TCP connections are available. Is there any of the following parameters that I can adjust to prevent this issue?
tcp_children = 25 disable_tcp = no tcp_max_connections = 63536 tcp_connection_lifetime = 3605 tcp_accept_aliases = no tcp_async = yes tcp_connect_timeout = 10 tcp_conn_wq_max = 65536 tcp_crlf_ping = yes tcp_delayed_ack = yes tcp_fd_cache = yes tcp_keepalive = yes tcp_keepcnt = 3 tcp_keepidle = 30 tcp_keepintvl = 10 tcp_linger2 = 30 tcp_rd_buf_size = 80000 tcp_send_timeout = 10 tcp_wq_blk_size = 2100 tcp_wq_max = 10485760 tcp_reuse_port=yes /* tcp_connection_match=1 */ open_files_limit=63536
A quick tcpdump doesn't show outgoing packet during the error events.
Best regards, Dries