2010/11/29 marius zbihlei marius.zbihlei@1and1.ro:
Kamailio does not use ICMP replies to check if a host is reachable on a UDP sendto(). This means that ICMP port unreachable errors are not handled by K and so the same host is retried on TM retransmits.
AFAIR using raw sockets checking ICMP notifications would be possible (not yet implemented, but possible as I remember from a thread with Andrei). IMHO this would be very useful because if a UDP port is unreachable and there is a ICMP notification about it, the proxy should generate an internal 503 (transport error) rather than a 408 (fr_timer timeout).