### 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:
* topos-redis is enabled (haven't tested other storage backends yet, let me 
know if needed)
* kamailio is multihomed
* enable_double_rr is enabled (the default)

### 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):
* Inbound Via: `Via: SIP/2.0/UDP 
195.167.21.66:5060;branch=z9hG4bKtjlwcpvfh03epe0thhtjhq3qg;Role=3;Hpt=8e58_16`
* Oubound Via: `Via: SIP/2.0/UDP 
185.73.43.241;branch=z9hG4bK66c4.3453dd9a219858819d528b9da671e39e.0`

Working (5.6.4):
* Inbound Via: `Via: SIP/2.0/UDP 
195.167.21.66:5060;branch=z9hG4bK8lj1ahz6npz65khd8jkzl1ohh;Role=3;Hpt=8e68_16`
* Oubound Via: `Via: SIP/2.0/UDP 
172.30.154.1;branch=z9hG4bK4dce.4f5448efd64465fa5dbaf5eef0dc35b7.0`
### Possible Solutions
Only solution I have found so far is to downgrade to kamailio 5.6.4
<!--
If you found a solution or workaround for the issue, describe it. Ideally, 
provide a pull request with a fix.
-->

### 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.
* **Operating System**:

<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 
16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `lsb_release -a` and `uname -a`)
-->

```
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 or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3757
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/3...@github.com>
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org

Reply via email to