Hi,
Setup: kamailio acting as a UAC needs to register with a server whose outbound proxy is DNS SRV based only, there's no A record on the proxy's FQDN. The provider advertises two SRV records.
Everything was working fine, until the provider changed the SRV priority, putting a lower priority on the host that is actually down at the moment. In this case,
sip11-sip.provider.com is DOWN and
sip10-sip.provider.com is UP.
Now, what's happening is Kamailio tries to REGISTER with the lower priority host, gets no reply back (TCP connection doesn't get established). It then takes 30 seconds for Kamailio to try the host with the higher priority, registering successfully. And so it goes for every re-register: failure => 30 seconds => register OK.
The same happens for INVITES to the downstream: INVITE => timeout => 30 seconds => INVITE (other host 200 OK).
I've tried to play with TCP and DNS params, but so far no luck: no matter what I did - it took the same 30 seconds for Kamailio to detect failure and retry the secondary host.
Any suggestions will be highly appreciated.
Kamailio 5.6.4 (x86_64/linux) 239d0a
tcp_connection_lifetime=3604
tcp_max_connections=60
tcp_connect_timeout=10
tcp_keepalive = yes
tcp_crlf_ping=yes
tcp_keepcnt=3
tcp_keepidle=30
tcp_keepintvl=30
tcp_reuse_port=1
tcp_accept_no_cl=yes
tcp_rd_buf_size=16384
use_dns_cache = on
use_dns_failover = on
dns_srv_loadbalancing = on
dns_try_naptr = on
dns_try_ipv6=no
dns_try_naptr=no
dns_use_search_list=no
dns_retr_time=1
dns_retr_no=3
Thanks
--Sergiu