Hi,

Kamailio crashes when we handle a 302 redirect and the reply is a 404.

kamailio -v

version: kamailio 4.4.4 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 4.9.2

root@14cn5:/home/joel/files#

This works:

softphone1 > kamailio1 > server1 > 302 > kamailio1 > server2 > 200 OK

This crashes:

softphone1 > kamailio1 > server1 > 302 > kamailio1 > server2 > 404 Not Found

I'm attaching debug logs, sip traces and the bt full from backtrace.

IPs:

A.B.C.D = Kamailio IP
E.F.G.H = Softphone IP
I.J.K.L1 = dispatcher node1
I.J.K.L2 = dispatcher node2

In the config we send INVITE requests to a dispatcher group (very simple config).

Then, in failure_route we have:

    if (t_check_status("302")) {
        xlog("L_NOTICE", "Redirecting to TestName: $T_rpl($ct) - M=$rm R=$ru ID=$ci\n");
        get_redirects("*");
        route(RELAY);
    }

And call get redirected to the address of the contact in the 302.

If the new INVITE to that address gets a 200, all works, if that request gets a 404, Kamailio crashes.

Please let me know if you need more info, this is 100% reproducible on our platform.

Thank you!
Joel.

backtrace.txt
debug.txt
sip.txt


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.