Description

All kamailio versions on the 5.7.x train and additionally point release 5.6.5 break early dialog transactions, at least when the following conditions are (cumulatively) met:

Troubleshooting

SIP Traffic

Here's an exchange demonstrating the problem:

              kamailio instance
  ──────────┬──────────────────┬─────────     
       internal           external                         peer
    172.30.154.1:5060  185.73.43.241:5060            195.167.21.66:5060
  ──────────┬──────────────────┬─────────          ──────────┬─────────
            │                  │                             │         
            │                  │                             │         
            │                  │                             │         
            │                  │                             │         
            │                  │                             │         
            │                  │                             │         
            │                  │                             │         
            │                  │                             │         
            │                  │        INVITE (SDP)         │         
            │                  │ ──────────────────────────> │         
            │                  │         100 Trying          │         
            │                  │ <────────────────────────── │         
            │                  │  183 Session Progress (SDP) │         
            │                  │ <────────────────────────── │         
            │                  │            PRACK            │         
            │                  │ ──────────────────────────> │         
            │                  │           200 OK            │         
            │                  │ <────────────────────────── │         
            │                  │        UPDATE (SDP)         │         
                 UPDATE (SDP)  │                             │ 
  <─────────────────────────── │                             │ 

Whereas the expected behaviour should be:

            │                  │        UPDATE (SDP)         │
                               | <────────────────────────── │
UPDATE (SDP)│                  │                             │
 <───────── │                  │                             │

This is also exemplified by examining the Via headers as rewritten by kamailio.
Not working (>= 5.6.5, 5.7.x):

Working (5.6.4):

Possible Solutions

Only solution I have found so far is to downgrade to kamailio 5.6.4

Additional Information

version: kamailio 5.7.4 (x86_64/linux) 
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, 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_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, 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 10.2.1

But I have also tested all 5.7.x versions, which are all affected, as well 5.6.5.

Linux host 5.10.0-27-amd64 #1 SMP Debian 5.10.205-2 (2023-12-31) x86_64 GNU/Linux


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <kamailio/kamailio/issues/3757@github.com>