Thanks for the reply.

> just deactivating NAPTR does not work for you?
No, our setup relies on NAPTR... That's why it is also fatal when the NAPTR is "burned" for a certain time.

> Otherwise, you can of course always setup a local cache (dnsmasq, others)
We already use the internal DNS cache of Kamailio as we also use load balancing and fail over. As I understood from the documentation and testing, that doesn't work without the internal DNS cache.

> You can also delete individual naptr entries in the internal cache with RPC commands: dns.delete_naptr.
The problem is, that I don't see with dns.view which record is marked to be skipped. DNS works and therefore all records look correct. To remove a certain record, I would need to write a service, which periodically iterates through the list and removes "burned" records. But for that, I somehow need to know which records are marked to be skipped. Is this somehow visible from outside?

Best regards
Mathias

Am Di., 11. März 2025 um 09:15 Uhr schrieb Henning Westerholt <hw@gilawa.com>:

Hello,

 

just deactivating NAPTR does not work for you?

https://www.kamailio.org/wikidocs/cookbooks/5.8.x/core/#dns_try_naptr

 

You can also delete individual naptr entries in the internal cache with RPC commands: dns.delete_naptr.

 

Otherwise, you can of course always setup a local cache (dnsmasq, others) and add the needed records with low TTLs there.

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: Mathias Schneuwly via sr-users <sr-users@lists.kamailio.org>
Sent: Montag, 10. März 2025 15:38
To: sr-users@lists.kamailio.org
Cc: Mathias Schneuwly <mathias@schneuwlys.ch>
Subject: [SR-Users] Set TTL for skipped NAPTR record due to all IPs are unreachable

 

Hi

 

I've a question regarding skipped NAPTR records.

 

In our setup, we are using quite big DNS TTLs (860400). If there is an issue on the target server, the NAPTR record is marked as skipped "Mark to skip _sips._tcp.... NAPTR record due to all IPs are unreachable" until the TTL is expired. Since our TTLs are so big, the destination is no longer reachable during this time, even if the server is reachable again.

 

I've seen that I can set "dns_cache_max_ttl" to reduce the time, but this is of course for all cached DNS records. Is there a way to set how long a NAPTR record is skipped or disable the feature at all? Or maybe skip the NAPTR only for the current dialog or transaction?

 

Thanks for your help

Best regards

Mathias