Description

From what I experience dynamic routing (drouting) module is not supporting SRV resolution if NAPTR is turned off (dns_try_naptr=no). Is this intentional to not have SRV if NAPTR is turned off? Or some special format of entry is expected for SRV records in gateways table? I've tried with just domain and _sip._udp.domain but it it the same.

Reproduction

  1. Use Dynamic routing module
  2. set dns_try_naptr=no
  3. insert gateway with SRV domain name in dynamic routing gateways table.
  4. execute kamcmd drouting.reload
  5. in the log of the kamailio is the error: ERROR: drouting [routing.c:337]: add_dst(): cannot resolve

Possible Solutions

Upon reload of drouting tables, dynamic routing tries to add destinations and resolve them:
https://github.com/kamailio/kamailio/blob/08a9ed3d136c861f990e4f63c2c0544e08d9078d/src/modules/drouting/routing.c#L334

But, since port that is sent is NULL, SRV is being skipped later on. It seems that SRV would be executed if port would be 0 instead of NULL.

Additional Information

version: kamailio 5.1.9 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 4.9.2


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.