<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-users.lists.kamailio…
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* https://lists.kamailio.org/mailman3/postorius/lists/sr-dev.lists.kamailio.o…
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
Note that an issue report may be closed automatically after about 2 months
if there is no interest from developers or community users on pursuing it, being
considered expired. In such case, it can be reopened by writing a comment that includes
the token `/notexpired`. About two weeks before considered expired, the issue is
marked with the label `stale`, trying to notify the submitter and everyone else
that might be interested in it. To remove the label `stale`, write a comment that
includes the token `/notstale`. Also, any comment postpone the `expire` timeline,
being considered that there is interest in pursuing the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
#### Debugging Data
<!--
If you got a core dump, use gdb to extract troubleshooting data - full backtrace,
local variables and the list of the code at the issue location.
gdb /path/to/kamailio /path/to/corefile
bt full
info locals
list
If you are familiar with gdb, feel free to attach more of what you consider to
be relevant.
-->
```
I want to read params from environment, so define
#!defenv MYSQL_IP
#!trydef DBURL "mysql://kamailio:kamailio@MYSQL_IP/kamailio"
but It can't read this ”MYSQL_IP“。
root@d2e1fcc3f89e:/# env |grep MYSQL*
MYSQL_URL=172.16.4.111
MYSQL_IP=172.16.4.111
```
#### Log Messages
<!--
Check the syslog file and if there are relevant log messages printed by Kamailio, add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
0(34) ERROR: db_mysql [km_my_con.c:166]: db_mysql_new_connection(): driver error: Unknown server host 'MYSQL_IP' (-2)
0(34) ERROR: <core> [db.c:324]: db_do_init2(): could not add connection to the pool
0(34) ERROR: dispatcher [dispatch.c:955]: ds_connect_db(): cannot initialize db connection
0(34) ERROR: dispatcher [dispatch.c:989]: ds_init_db(): unable to connect to the database
0(34) ERROR: dispatcher [dispatcher.c:439]: mod_init(): could not initiate a connect to the database
0(34) ERROR: <core> [core/sr_module.c:1030]: init_mod(): Error while initializing module dispatcher (/usr/lib/x86_64-linux-gnu/kamailio/modules/dispatcher.so)
```
#### SIP Traffic
<!--
If the issue is exposed by processing specific SIP messages, grab them with ngrep or save in a pcap file, then add them next, or attach to issue, or provide a link to download them (e.g., to a pastebin site).
-->
```
(paste your sip traffic here)
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
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 12.2.0
```
* **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`)
-->
```
cat /proc/version
Linux version 3.10.0-1160.105.1.el7.x86_64 (mockbuild(a)kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Dec 7 15:39:45 UTC 2023
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3800
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3800(a)github.com>
### 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/3757(a)github.com>
I'm trying to build current git sources on ArchLinux.
`modules/app_python/Makefile` still asks for python2:
```
which: no python2 in ($PATH)
which: no python2.7 in ($PATH)
File "<string>", line 1
import distutils.sysconfig;print distutils.sysconfig.get_config_var('LIBDIR')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
```
Is this intended?
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3805
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3805(a)github.com>
Module: kamailio
Branch: master
Commit: 368661cc15251af4cbf295d1f5fad5a42d1b647b
URL: https://github.com/kamailio/kamailio/commit/368661cc15251af4cbf295d1f5fad5a…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-04-05T08:10:11+02:00
core: parser/sdp - function to find sdp line with start EoL check option
---
Modified: src/core/parser/sdp/sdp_helpr_funcs.c
Modified: src/core/parser/sdp/sdp_helpr_funcs.h
---
Diff: https://github.com/kamailio/kamailio/commit/368661cc15251af4cbf295d1f5fad5a…
Patch: https://github.com/kamailio/kamailio/commit/368661cc15251af4cbf295d1f5fad5a…
---
diff --git a/src/core/parser/sdp/sdp_helpr_funcs.c b/src/core/parser/sdp/sdp_helpr_funcs.c
index d5cb359b40f..a5dffd9c398 100644
--- a/src/core/parser/sdp/sdp_helpr_funcs.c
+++ b/src/core/parser/sdp/sdp_helpr_funcs.c
@@ -733,9 +733,10 @@ int extract_sess_version(str *oline, str *sess_version)
/*
* Auxiliary for some functions.
+ * - smode: if 1, pstart is pointing inside msg body
* Returns pointer to first character of found line, or NULL if no such line.
*/
-char *find_sdp_line(char *pstart, char *plimit, char linechar)
+char *find_sdp_line_start(char *pstart, char *plimit, char linechar, int smode)
{
static char linehead[3] = "x=";
char *cp, *cp1;
@@ -749,11 +750,14 @@ char *find_sdp_line(char *pstart, char *plimit, char linechar)
if(cp1 == NULL)
return NULL;
/*
- * As it is body, we assume it has previous line and we can
- * lookup previous character.
+ * smode==1 means it is msg body, thus it has previous line and it can
+ * lookup previous character even when cp1==pstart.
*/
- if(cp1[-1] == '\n' || cp1[-1] == '\r')
- return cp1;
+ if(cp1 > pstart || smode == 1) {
+ if(cp1[-1] == '\n' || cp1[-1] == '\r') {
+ return cp1;
+ }
+ }
/*
* Having such data, but not at line beginning.
* Skip them and reiterate. ser_memmem() will find next
@@ -765,6 +769,14 @@ char *find_sdp_line(char *pstart, char *plimit, char linechar)
}
}
+/*
+ * Auxiliary for some functions - expect pstart to point inside SIP message body.
+ * Returns pointer to first character of found line, or NULL if no such line.
+ */
+char *find_sdp_line(char *pstart, char *plimit, char linechar)
+{
+ return find_sdp_line_start(pstart, plimit, linechar, 1);
+}
/* This function assumes pstart points to a line of requested type. */
char *find_next_sdp_line(
diff --git a/src/core/parser/sdp/sdp_helpr_funcs.h b/src/core/parser/sdp/sdp_helpr_funcs.h
index e8ce6f7e60a..20d3ebd882d 100644
--- a/src/core/parser/sdp/sdp_helpr_funcs.h
+++ b/src/core/parser/sdp/sdp_helpr_funcs.h
@@ -65,6 +65,7 @@ int extract_accept_wrapped_types(str *body, str *accept_wrapped_types);
int extract_max_size(str *body, str *max_size);
int extract_path(str *body, str *path);
+char *find_sdp_line_start(char *pstart, char *plimit, char linechar, int smode);
char *find_sdp_line(char *p, char *plimit, char linechar);
char *find_next_sdp_line(char *p, char *plimit, char linechar, char *defptr);