Greetings.

I have kamailio 3.3.3 setup on server behind the nat. Nat forwards ports for tls/tcp/udp.

This setup worked without rls ok.
I added necessary modules - rls, pua, xcap etc. 
Updated a config file and db.

Client application uploads xcap documents ok; after app sends subscribe request to list address.
Rls/pua modules generate subscriptions to entries in list.

But dns resolver finds the public ip as target for subscription.
The result is: sip packets cannot reach the server - they are sent to public ip of nat machine. I see it in ngrep output. Nat does not route them back.

I add the domain name and _sip._udp.domain with internal ip address to /etc/hosts.
But kamailio does not use /etc/hosts when dns caching is active.

I do not want to loose dns caching.
I made an attempt to run without caching but server was not stable. It crashed couple of times - so i stopped these attempts.

Is there way to put eternal domain -> ip bindings  into dns cache?
I want to put bingings to internal ip - hope it will help.

Maybe there is another way to handle this problem?