version: kamailio 5.5.2 (arm6/linux) 55e232
raspberry pi 3b
I initially stated that I was running on 5.5.3 but I was mistaken. However I checked the 5.5.3 source and it appears to be the same.
I think that there is a bug in the tm module with respect to the "tm:local-response" event route. In the "t_reply.c" file, there is a static variable called '_tm_local_response_set_lookup'. This variable is initialized at load time to zero. It is checked in the '_reply_light()' routine and will initiate a local callback from the config script if "armed". The problem as I see it is that if the callback is readied, the variable is set to one. But it is never reset.
So the observed behavior is as follows. A REGISTER is received and the request_route arms the callback. The REGISTER requires an authorization (local database sqlite). After the 401 is sent back, the callback via the event route is called as expected. All good except that the event route script fragment is never executed again after the first call... ever, even if it's a new REGISTER request.
I would think that somewhere in the tm module, the variable should be reset to zero so that subsequent transactions can initiate the event route again. Or maybe the variable ought to live somewhere in the transaction cell???
. . .
t_on_reply ("MY_FRAG");
t_on_failure ("MY_FRAG");
. . .
event_route [tm:local-response] {
xlog ("L_NOTICE", IN tm:local-response\n");
my_function();
}
. . .
So 'my_function()' is only called once.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3064
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3064(a)github.com>
### Description
I have enabled `tcp_accept_haproxy=yes`, inbound TCP connection received on IPv6 kamailio socket but client real IP is IPv4.
When kamailio add `Record-Route` header then added IPv6 header and not added IPv4.
Example
```
INVITE sip:xxxx@example.com SIP/2.0
Record-Route: <sip:9sovfn2oP7ozLQID7BkFxBNt/CfE+wc=@[2600::6]:5060;r2=on;lr=on>
Record-Route: <sip:9sovfn2oP7ozLQID7BkFxBNt/CfE+wc=@[2600::6]:5060;transport=tcp;r2=on;lr=on>
```
From client perspective Kamailio make protocol conversion from the IPv4 to IPv6, and expected to see IPv4 in the IPv4 address in the received 'Record-Route' headers to use in the future requests.
Because client receiving IPv6 only and client does not have IPv6 address, then `ACK` message cannot be send to Kamailio.
### Expected behavior
Kamailio will use Kamailio server load balancer address to generate `Record-Route` headers.
Load balancer IP address can be received from the HAPROXY protocol.
#### Actual observed behavior
Kamailio use listeneer socket IP to generate `Record-Route` headers.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3666
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3666(a)github.com>
With GNU make 4.4 building Kamailio prints many “make: --libs: No such file or directory” and similar warnings. This changeset utilizes immediate variables and silences the warnings on my systems.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3475
-- Commit Summary --
* lib/ims: Aviod “make: --libs: No such file or directory” warnings
* auth_identity: Aviod “make: --libs: No such file or directory” warnings
* auth_ephemeral: Aviod “make: --libs: No such file or directory” warnings
* app_python3: Avoid “/bin/sh: line 1: --ldflags: command not found” warnings
* app_python3s: Avoid “/bin/sh: line 1: --ldflags: command not found” warnings
* cdp: Aviod “make: --libs: No such file or directory” warnings
* cnxcc: Avoid “make: --libs-only-L: No such file or directory” warnings
* cplc: Avoid “make: --libs-only-L: No such file or directory” warnings
* crypto: Aviod “make: --libs: No such file or directory” warnings
* db_postgres: Avoid “make: --libs-only-L: No such file or directory” warnings
* db_redis: Avoid “make: --libs-only-L: No such file or directory” warning
* dialplan: Avoid “make: --libs-only-L: No such file or directory” warning
* gzcompress: Aviod “make: --libs: No such file or directory” warnings
* http_async_client: Aviod “make: --libs: No such file or directory” warnings
* http_client: Aviod “make: --libs: No such file or directory” warning
* ims_auth: Avoid “make: --libs-only-L: No such file or directory” warning
* ims_icscf: Aviod “make: --libs: No such file or directory” warning
* ims_registrar_scscf: Avoid “make: --libs-only-L: No such file or directory” warnings
* ims_registrar_pcscf: Aviod “make: --libs: No such file or directory” warning
* ims_isc: Avoid “make: --libs-only-L: No such file or directory” warnings
* jansson: Aviod “make: --libs: No such file or directory” warning
* kazoo: Avoid “make: --libs: No such file or directory’ warning
* lcr: Aviod “make: --libs: No such file or directory” warning
* log_systemd: Aviod “make: --libs: No such file or directory” warning
* lost: Aviod “make: --libs: No such file or directory” warnings
* lwsc: Aviod “make: --libs: No such file or directory” warning
* ndb_redis: Aviod “make: --libs: No such file or directory” warning
* osp: Avoid “make: --libs: No such file or directory’ warning
* outbound: Aviod “make: --libs: No such file or directory” warnings
* presence: Avoid “make: --libs-only-L: No such file or directory” warnings
* presence_conference: Aviod “make: --libs: No such file or directory” warning
* presence_dialog: Aviod “make: --libs: No such file or directory” warning
* presence_reginfo: Aviod “make: --libs: No such file or directory” warning
* presence_xml: Avoid “make: --libs-only-L: No such file or directory” warnings
* pua: Avoid “make: --libs-only-L: No such file or directory” warnings
* pua_bla: Aviod “make: --libs: No such file or directory” warning
* pua_dialoginfo: Aviod “make: --libs: No such file or directory” warning
* pua_reginfo: Aviod “make: --libs: No such file or directory” warning
* pua_usrloc: Aviod “make: --libs: No such file or directory” warning
* pua_xmpp: Aviod “make: --libs: No such file or directory” warning
* regex: Aviod “make: --libs: No such file or directory” warning
* rls: Avoid “make: --libs-only-L: No such file or directory” warnings
* slack: Aviod “make: --libs: No such file or directory” warning
* systemdops: Avoid “make: --libs-only-L: No such file or directory” warning
* tls: Aviod “make: --libs: No such file or directory” warnings
* tlsa: Avoid “make: --libs-only-L: No such file or directory” warning
* topos_redis: Aviod “make: --libs: No such file or directory” warning
* utils: Avoid “make: --libs-only-L: No such file or directory” warnings
* uuid: Aviod “make: --libs: No such file or directory” warning
* websocket: Aviod “make: --libs: No such file or directory” warnings
* xcap_server: Avoid “make: --libs-only-L: No such file or directory” warnings
* xhttp_pi: Avoid “make: --libs-only-L: No such file or directory” warnings
* xmlops: Aviod “make: --libs: No such file or directory” warning
* xmlrpc: Aviod “make: --libs: No such file or directory” warning
-- File Changes --
M src/lib/ims/Makefile (4)
M src/modules/app_python3/Makefile (6)
M src/modules/app_python3s/Makefile (6)
M src/modules/auth_ephemeral/Makefile (2)
M src/modules/auth_identity/Makefile (4)
M src/modules/cdp/Makefile (4)
M src/modules/cnxcc/Makefile (4)
M src/modules/cplc/Makefile (4)
M src/modules/crypto/Makefile (2)
M src/modules/db_postgres/Makefile (2)
M src/modules/db_redis/Makefile (2)
M src/modules/dialplan/Makefile (2)
M src/modules/gzcompress/Makefile (2)
M src/modules/http_async_client/Makefile (6)
M src/modules/http_client/Makefile (2)
M src/modules/ims_auth/Makefile (4)
M src/modules/ims_icscf/Makefile (4)
M src/modules/ims_isc/Makefile (4)
M src/modules/ims_registrar_pcscf/Makefile (4)
M src/modules/ims_registrar_scscf/Makefile (4)
M src/modules/jansson/Makefile (2)
M src/modules/kazoo/Makefile (2)
M src/modules/lcr/Makefile (2)
M src/modules/log_systemd/Makefile (2)
M src/modules/lost/Makefile (6)
M src/modules/lwsc/Makefile (2)
M src/modules/ndb_redis/Makefile (2)
M src/modules/osp/Makefile (2)
M src/modules/outbound/Makefile (7)
M src/modules/presence/Makefile (4)
M src/modules/presence_conference/Makefile (4)
M src/modules/presence_dialoginfo/Makefile (4)
M src/modules/presence_reginfo/Makefile (4)
M src/modules/presence_xml/Makefile (4)
M src/modules/pua/Makefile (4)
M src/modules/pua_bla/Makefile (4)
M src/modules/pua_dialoginfo/Makefile (4)
M src/modules/pua_reginfo/Makefile (4)
M src/modules/pua_usrloc/Makefile (4)
M src/modules/pua_xmpp/Makefile (4)
M src/modules/regex/Makefile (2)
M src/modules/rls/Makefile (4)
M src/modules/slack/Makefile (2)
M src/modules/systemdops/Makefile (2)
M src/modules/tls/Makefile (4)
M src/modules/tlsa/Makefile (4)
M src/modules/topos_redis/Makefile (2)
M src/modules/utils/Makefile (4)
M src/modules/uuid/Makefile (2)
M src/modules/websocket/Makefile (2)
M src/modules/xcap_server/Makefile (4)
M src/modules/xhttp_pi/Makefile (4)
M src/modules/xmlops/Makefile (4)
M src/modules/xmlrpc/Makefile (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3475.patchhttps://github.com/kamailio/kamailio/pull/3475.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3475
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3475(a)github.com>
Actual implementation doesn't work with async. Need to investigate how to support it
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/684
### Description
We have updated one system from a Ubuntu Focal 5.6.x container to a Ubuntu Jammy 5.7.2 container. In the last 24 hours, we saw three crashes. The logs of the last crash say:
```
Nov 09 20:39:34 sipproxy /usr/sbin/kamailio[4332]: CRITICAL: <core> [core/mem/q_malloc.c:519]: qm_free(): BUG: freeing already freed pointer (0x7f[4434056180](tel:4434056180)), called from tls: tls_init.c: ser_free>
Nov 09 20:39:34 sipproxy /usr/sbin/kamailio[4331]: CRITICAL: <core> [core/mem/q_malloc.c:123]: qm_debug_check_frag(): BUG: qm: fragm. 0x7f[44340561](tel:44340561)d0 (address 0x7f[4434056208](tel:4434056208)) beginning overwritten >
Nov 09 20:39:43 sipproxy /usr/sbin/kamailio[4273]: ALERT: <core> [main.c:776]: handle_sigs(): child process 4331 exited by a signal 6
Nov 09 20:39:43 sipproxy /usr/sbin/kamailio[4273]: ALERT: <core> [main.c:779]: handle_sigs(): core was generated
```
#### Debugging Data
Backtraces of the three crashes are attached.
[kamailio-crash1.log](https://github.com/kamailio/kamailio/files/13313115/ka…
[kamailio-crash2.log](https://github.com/kamailio/kamailio/files/13313116/ka…
[kamailio-crash3.log](https://github.com/kamailio/kamailio/files/13313117/ka…
### Additional Information
We are using the official Kamailio debian packages.
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.7.2 (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 11.4.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`)
-->
```
root@sipproxy:/WORKSPACE/sipproxy-container# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
root@sipproxy:/WORKSPACE/sipproxy-container# uname -a
Linux sipproxy 5.15.0-87-generic #97-Ubuntu SMP Mon Oct 2 21:09:21 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3635
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3635(a)github.com>
The dialog module will expire dialogs that don't actually belong to the particular proxy.
Scenario: 2 proxies on 5.2.4 with a loadbalancer in front. Call was routed over proxy1, dialog timeout on proxy2 was shorter (to make it easier to reproduce it). The results:
* Dialog synchronized with DMQ: proxy 2 would timeout the dialog
* Dialog entry synchronized to proxy2 DB and proxy2 restarted: Proxy2 would timeout the dialog
* Dialog entry synchronized to proxy2 DB and proxy2 not restarted: Proxy2 would _not_ timeout the dialog (I’ve tried both db_mode 1 and 2)
So the proxy2 would load the dialog into memory and then later expire it. So timeout routes, send_bye on timeout would not work correctly.
One idea to solve this would be to check e.g. over the existing socket data if the dialog belongs to this proxy and skip loading it in this case. This could be also made configurable e.g. with a module parameter.
Any comments? Better ideas how to solve it?
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2080
### Description & troubleshooting
I have defined a redis cluster as followed. The cluster consists of 3 masters (port 6379) and 3 slaves (port 6380).
The password is identical on all nodes through redis option 'requirepass'.
```
modparam("ndb_redis", "server", "name=sbcredis;addr=SBCMASTERREDISIP;port=6379;db=0;pass=REDACTED")
modparam("ndb_redis", "server", "name=sbcredis;addr=PRIVATEIP;port=6380;db=0;pass=REDACTED")
modparam("ndb_redis", "server", "name=sbcredis;addr=ASTP5IP;port=6380;db=0;pass=REDACTED")
modparam("ndb_redis", "server", "name=sbcredis;addr=ASTP6IP;port=6379;db=0;pass=REDACTED")
modparam("ndb_redis", "server", "name=sbcredis;addr=ASTP3IP;port=6380;db=0;pass=REDACTED")
modparam("ndb_redis", "server", "name=sbcredis;addr=ASTP4IP;port=6379;db=0;pass=REDACTED")
modparam("ndb_redis", "cluster", 1)
modparam("ndb_redis", "allow_dynamic_nodes", 1)
modparam("ndb_redis", "debug", 3)
```
When executing the redis_cmd command, most of the times an expected warning is shown due to another server providing the requested slot:
`"(error) MOVED ... 192.168.136.241:6380"`
Notice that I've enabled "allow_dynamic_nodes" to make sure there is an automated connection attempt to the indicated server.
However, it appears that sometimes a "NOAUTH Authentication required." error is thrown when there is a redirection to a slave server serving that slot. I can authenticate succesfull on the redis-cli when using the identical password though.
Also note that when a redis master is queried, the redis_cmd is successful.
#### Reproduction
Each simple redis command that needs authentication (GET, SET, ...)
`redis_cmd("sbcredis", "SET TESTKEY TESTVALUE", "r");`
#### Log Messages
```
ndb_redis [redis_client.c:1089]: redisc_exec(): Redis error:NOAUTH Authentication required.
```
### Possible Solutions
None for now except disabling the password on all nodes.
### Additional Information
```
kamailio 5.7.2
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3654
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3654(a)github.com>