Hello,
please check the two patches I committed to your recently added function: 1) this is for trying all protocols in SRV -- if I didn't get it wrong, that should be done when no protocol is set. It seemed that was done when a protocol is set. Check it to be sure I haven't misunderstood.
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=17b3c70e...
2) catch ip addresses - your function was replacing srv_sip_resolvehost(), which catches IP addresses. no_naptr_srv_sip_resolvehost() is wrapper of srv_sip_resolvehost() only for no-cache mode, for cache mode it calls dns_srv_get_he(). I haven't gotten deep in the code, but Juha reported a dns related error when trying to resolve IP addresses. The only change seems to be the new function introduced.
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b2e5040f...
Cheers, Daniel