Hey guys,

I will log a bug for this but just for interest on the mailing list.

#0  0x0000000000464543 in dns_naptr_sip_resolvehost (name=0x7fff7ea6ce40, port=0x0, proto=0x0) at dns_cache.c:2811
#1  0x0000000000464d45 in dns_sip_resolvehost (name=0x7fff7ea6ce40, port=0x0, proto=0x0) at dns_cache.c:2876
#2  0x00007f35b2f9bb89 in send_keepalive (contact=0x7f35736e0c08) at nat_traversal.c:1557
#3  0x00007f35b2f9bcd1 in keepalive_timer (ticks=62930527, data=0x0) at nat_traversal.c:1591
#4  0x0000000000603b62 in fork_basic_timer (child_id=-1, desc=0x7f35b2fa6dc5 "TIMER NT", make_sock=1, f=0x7f35b2f9bc18 <keepalive_timer>, param=0x0, interval=1) at timer_proc.c:90
#5  0x00007f35b2f9fa79 in child_init (rank=0) at nat_traversal.c:1820
#6  0x000000000059674d in init_mod_child (m=0x7f35b9a0bf50, rank=0) at sr_module.c:921
#7  0x0000000000596a61 in init_child (rank=0) at sr_module.c:947
#8  0x00000000004a85da in main_loop () at main.c:1709
#9  0x00000000004ad5f9 in main (argc=7, argv=0x7fff7ea6f3a8) at main.c:2568

This crash will happen everytime with the call from nathelper:
( hostent = sip_resolvehost(&nat_ip, NULL, NULL);

the 3rd argument is the proto parameter in the target function which is dereferenced without a check in dns_cache.c:
origproto=*proto;

I am not sure what the fix will be (either assume proto is UDP if NULL) or nathelper must be specific when calling sip_resolvehost...

Cheers
Jason