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.
;; ANSWER SECTION:
_sips._tcp.sip.provider.com. 10 IN SRV 10 50 5061
sip11-sip.provider.com.
_sips._tcp.sip.provider.com. 10 IN SRV 15 50 5061
sip10-sip.provider.com.
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