Module: kamailio
Branch: master
Commit: d99f040463805a8f7438409e41a9a270ec298092
URL: https://github.com/kamailio/kamailio/commit/d99f040463805a8f7438409e41a9a27…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-03-25T22:21:52+01:00
tm: t flags field made int
- short size is full, flag 15 already used
---
Modified: src/modules/tm/h_table.h
Modified: src/modules/tm/uac.h
---
Diff: https://github.com/kamailio/kamailio/commit/d99f040463805a8f7438409e41a9a27…
Patch: https://github.com/kamailio/kamailio/commit/d99f040463805a8f7438409e41a9a27…
---
diff --git a/src/modules/tm/h_table.h b/src/modules/tm/h_table.h
index 59e229d068d..3e8136cbdac 100644
--- a/src/modules/tm/h_table.h
+++ b/src/modules/tm/h_table.h
@@ -346,9 +346,9 @@ typedef struct cell
/* sequence number within hash collision slot */
unsigned int label;
/* different information about the transaction */
- unsigned short flags;
+ unsigned int flags;
/* number of forks */
- short nr_of_outgoings;
+ int nr_of_outgoings;
/* free operations counter - debug */
int fcount;
diff --git a/src/modules/tm/uac.h b/src/modules/tm/uac.h
index a76d8ea63a7..00dc32d2a5b 100644
--- a/src/modules/tm/uac.h
+++ b/src/modules/tm/uac.h
@@ -32,6 +32,7 @@
#define DEFAULT_CSEQ 10 /* Default CSeq number */
+
/* structure for UAC interface
*
* You can free the memory allocated
### RTPEngine + RTIMER + SEGFAULT + unable to ping
When unable to ping RTPEngine instances kamailio crashes.
### Troubleshooting
Determined issue was related to the ping failures, resolved AWS SG issue, allowing successful pings. Issue subsequently went away.
#### Reproduction
Use rtpengine with RDS backend
Load rtpengine with ~ 20 destinations you do not expect a response from on
Use rtimer to call rtpengine.reload via jsonrpcs:
```
modparam("rtimer", "timer", "name=rtpengine;interval=60;mode=0;")
modparam("rtimer", "exec", "timer=rtpengine;route=RELOAD_RTPENGINE")
route[RELOAD_RTPENGINE] {
xinfo("RTPEngine database reloading");
jsonrpc_exec('{"jsonrpc": "2.0", "method": "rtpengine.reload", "id": 1}');
}
```
#### Debugging Data
Got a core dump -- although I deleted quickly (not thinking) as they were running instances out of disk quickly. bt full did not show much to step through all though clearly pointed to rtpengine.
#### Log Messages
```
send_rtpp_command(): timeout waiting reply for command "ping" from RTPEngine <udp:10.0.X.X>
```
### Possible Solutions
TBD / do not have ping failures under heavy load.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.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_SEND_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
```
* **Operating System**:
```
uname -a
Linux 5.10.0-27-cloud-amd64 #1 SMP Debian 5.10.205-2 (2023-12-31) x86_64 GNU/Linux
cat /proc/version
Linux version 5.10.0-27-cloud-amd64 (debian-kernel(a)lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.205-2 (2023-12-31)
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4122
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4122(a)github.com>
ITNOA
I suggest port Kamailio to windows, if you agree with me, I can try to port that
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4109
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4109(a)github.com>
Opening this generic issue to track how some commands from old Makefiles can be done when using the new CMake-based build system, or what the possible alternatives. Hopefully we can build some knowledge here that can be then transferred to the wiki cmake tutorials.
### Compiling core only
With the old makefiles, the `make` compiled only the core of Kamailio. With cmake, `make` compiles everything.
Would it be possible to have a command with cmake that compiles only the core? Like:
```
make core
```
Or maybe there is a way to do it already?!?
### Compile a single module
With the old makefiles, compiling a single module, say acc, was possible with:
```
make modules modules=src/modules/acc
```
With cmake, this is possible with:
```
make acc
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4052
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4052(a)github.com>
Mercury109 created an issue (kamailio/kamailio#4169)
### Description
I loop through the active dialogs in a timer functions and based on some conditions, a dialog may be ended by setting a short timeout or using the dlg_bye function. **Sometimes** when a dialog times out or the dlg_bye("all") function is used, the BYE is not being sent in both directions, only towards the caller.
There's a warning:
send_bye(): dlg [25641:71143] with callid XXXXXXXXX already in deleted state, BYE not sent.
I noticed this check was added in the commit below:
https://github.com/kamailio/kamailio/commit/d411c6ea4358e6d9dd367349e877ed5…
Is there a race condition between marking the dialog as terminated and sending the BYE?
Not sending a BYE towards the callee when it should is much worse than sending an unnecessary BYE as it causes billing issues. If this can't be resolved to be 100% reliable, it's safer to remove this check all together.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.7.6 (x86_64/linux))
```
* **Operating System**:
Debian GNU/Linux 12 (bookworm)
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4169
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4169(a)github.com>
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4183
-- Commit Summary --
* lcr: add counters per gateway
* lcr: add counters per gateway documentation
* Typo on sanity module error
-- File Changes --
M src/modules/lcr/doc/lcr_admin.xml (58)
M src/modules/lcr/lcr_mod.c (306)
M src/modules/lcr/lcr_mod.h (52)
M src/modules/lcr/lcr_rpc.c (460)
M src/modules/sanity/sanity.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4183.patchhttps://github.com/kamailio/kamailio/pull/4183.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4183
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4183(a)github.com>
schneuwlym created an issue (kamailio/kamailio#4174)
### Description
A NAPTR record in dns cache may be skipped if all IPs are unreachable. The NAPTR record contains the internal parameter `skip_record`. From outside, it is not possible to view the state of a certain NAPTR record.
Extend the return value of `dns_cache_print_entry` with the parameter `skip_record`.
### Expected behavior
The answer of `kamcmd dns.view` shows `yes` or `no` depending on the internal state of `skip_record`.
```
{
name: skipped.example.com
type: NAPTR
size_bytes: 208
reference_counter: 2
permanent: no
expires: 268
last_used: 29
negative_entry: no
records: {
{
rr_idx: 0
rr_order: 10
rr_preference: 10
-> rr_skip_record: yes
rr_flags: S
rr_service: SIPS+D2T
rr_regexp:
rr_regexp: _sips._tcp.skipped.example.com
rr_permanent: no
rr_expires: 268
}
}
}
{
name: valid.example.com
type: NAPTR
size_bytes: 328
reference_counter: 1
permanent: no
expires: 294
last_used: 5
negative_entry: no
records: {
{
rr_idx: 0
rr_order: 20
rr_preference: 20
-> rr_skip_record: no
rr_flags: S
rr_service: SIP+D2U
rr_regexp:
rr_regexp: _sip._udp.valid.example.com
rr_permanent: no
rr_expires: 294
}
{
rr_idx: 1
rr_order: 10
rr_preference: 10
-> rr_skip_record: no
rr_flags: S
rr_service: SIPS+D2T
rr_regexp:
rr_regexp: _sips._tcp.valid.example.com
rr_permanent: no
rr_expires: 294
}
}
}
```
#### Actual observed behavior
At the moment it is not visible why a NAPTR record is not used.
### Possible Solutions
The following patch extends the output of `dns_cache_print_entry` with the parameter `rr_skip_record`.
The patch has been tested locally.
```patch
From c4d559f12892fb5a2c3b572f9660b637299fcafb Mon Sep 17 00:00:00 2001
From: Mathias Schneuwly <mathias.schneuwly(a)ruag.ch>
Date: Tue, 11 Mar 2025 12:38:44 +0000
Subject: [PATCH] Print parameter skip_record in dns_cache_print_entry
---
src/core/dns_cache.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/core/dns_cache.c b/src/core/dns_cache.c
index 1507e89015..1bb95a2d41 100644
--- a/src/core/dns_cache.c
+++ b/src/core/dns_cache.c
@@ -3898,6 +3898,13 @@ int dns_cache_print_entry(rpc_t *rpc, void *ctx, struct dns_hash_entry *e)
rpc->fault(ctx, 500, "Internal error adding naptr order");
return -1;
}
+ if(rpc->struct_add(sh, "s", "rr_skip_record",
+ ((struct naptr_rdata *)(rr->rdata))->skip_record ? "yes" : "no")
+ < 0) {
+ rpc->fault(
+ ctx, 500, "Internal error adding naptr rr_skip_record");
+ return -1;
+ }
s.s = ((struct naptr_rdata *)(rr->rdata))->flags;
s.len = ((struct naptr_rdata *)(rr->rdata))->flags_len;
if(rpc->struct_add(sh, "S", "rr_flags", &s) < 0) {
--
2.44.1
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.4 (x86_64/linux) f1d83d
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
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_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: f1d83d
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4174
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4174(a)github.com>