[sr-dev] ICMP port-unreachable for UDP INVITEs
Daniel-Constantin Mierla
miconda at gmail.com
Thu Apr 9 18:40:08 CEST 2020
Kamailio doesn't do any ICMP processing by itself. I noticed that some
recent kernels do that when an app tries to send out via UDP to an
invalid ip/port in the same network and sendto() fails immediately, but
does detect for other target nodes not in the same local network.
You can lower the retransmission timeout to cope better with such case
and fail over to next route faster.
Cheers,
Daniel
On 08.04.20 15:19, James Browne wrote:
> I've searched, but I cannot find anything recent about this.
>
> My kamailio 5.0.8 proxy sends an INVITE downstream over UDP and gets
> an ICMP port-unreachable response from the UAS.
> Apparently ignoring this, it re-transmits the INVITEs and eventually
> times out and sends to the next host (from the SRV lookup).
>
> According to RFC 3261 (https://tools.ietf.org/html/rfc3261#section-8.1.3.1),
> If a fatal transport error is reported by the transport layer
> (generally, due to fatal ICMP errors in UDP or connection failures in
> TCP), the condition MUST be treated as a 503 (Service Unavailable)
> status code.
>
> Does kamailio support handling ICMP responses to INVITEs (and
> therefore either failing over immediately, or sending 503 upstream
> immediately)?
>
> I don't know for sure the "correct" behavior because the RFC3261 is so
> old and because ICMP responses are limited in size and therefore can't
> guarantee to uniquely identify the transactions that caused them.
>
> _______________________________________________
> Kamailio (SER) - Development Mailing List
> sr-dev at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
--
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
More information about the sr-dev
mailing list