pumpagubben created an issue (kamailio/kamailio#4359)
### Description
There is a limit in [resolve.c](https://github.com/kamailio/kamailio/blob/4e2a93074476a3e1747eb4… that blocks session with DNS responses containing over 100 record results.
This effectively blocks Kamailio from signaling with large SIP clusters since the calls are dropped with an error.
### Expected behavior
Kamailio can handle any number of hosts/records in a DNS response.
Or if a threshold is desired - truncate the response to desired threshold ignoring rest of the records.
#### Actual observed behavior
The [code goes to error](https://github.com/kamailio/kamailio/blob/4e2a93074476a3e1747eb46cb1… and the call fails if more than threshold records are returned.
### Possible Solutions
This limit should be configurable and the code could instead gracefully truncate the response and continue if you think large results are problematic (with DEBUG/VERBOSE level message instead of ERROR).
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4359
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4359(a)github.com>
sergey-safarov created an issue (kamailio/kamailio#4241)
### Description
In the GitHub Actions present Alpine Docker image build error
```
tar (child): kamailio_min-without_os_files.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
```
https://github.com/kamailio/kamailio/actions/runs/14722992691/job/413201110…
With high probability, this does not work
I will work to fix this, but if possible, it will be fine to switch to use `cmake` for Alpine Docker image.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4241
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4241(a)github.com>
wedhornsipgate created an issue (kamailio/kamailio#4426)
**Description:**
We're missing a KEMI function in the htable module that provides the same functionality as the PV function `$shtcn(table=>pattern)` to count the number of keys in an htable that match a given pattern (prefix/suffix/regex). The goal is to let KEMI scripts perform pattern counts without constructing dynamic PV expressions, which currently causes unbounded pv_cache growth in PKG memory.
**Use case / motivation:**
We implemented rolling-window rate limiting by writing short-lived, per-call entries into an htable and then counting keys that match a number-derived pattern. Using $shtcn() works well for the logic, but in KEMI (JS/TypeScript) we must call it via pv.gete("$shtcn(...)"). Because the PV string varies per INVITE (different pattern/key each time), these dynamic PV expressions accumulate in the PV cache, growing PKG/private memory over time.
We’d like a native KEMI function to perform the same count/match so we can avoid the PV layer entirely.
**Environment**
Kamailio: 5.8.6 on Debian 12
Scripting: KEMI (JavaScript/TypeScript)
Symptom: steady PKG/private memory increase over ~24h under load when using pv.gete("$shtcn(...)"). Disabling the $shtcn() call stops the growth.
Related log line: the one discussed in [#3440](https://github.com/kamailio/kamailio/issues/3440) (“pv cache … pkg memory may get filled with pv declarations”).
Current line in our script:
```if (ksr.pv.gete(`$shtcn(${htable_count}=>%~${number})`) > threshold) { ... }```
**Current workaround**
Restarting the Kamailio every day or disabling rate limit on instances with KEMI.
**Idea for API**
Minimal, PV-parity:
```
// KEMI export
int shtcn_match(str table, str pattern, int mode /* 0=exact, 1=prefix, 2=suffix, 3=regex */);
```
JS example:
`const n = KSR.htable.shtcn_match("from_number_count", number, 3); // regex`
More explicit helpers (avoids integer modes):
```
KSR.htable.shtcn_exact(table, key) -> int
KSR.htable.shtcn_prefix(table, prefix) -> int
KSR.htable.shtcn_suffix(table, suffix) -> int
KSR.htable.shtcn_regex(table, pattern) -> int
```
**Behavioral notes / expectations**
Should mirror $shtcn() semantics where reasonable (esp. regex behavior), but returning an integer directly to KEMI.
Must not allocate PV expressions or interact with pv_cache.
**Why this belongs in htable KEMI**
$shtcn() is already offered at the PV level; parity in KEMI keeps feature consistency across scripting engines.
It enables memory-safe implementations of rolling-window rate limits and similar patterns (without touching PV).
**Alternatives considered**
Replace pattern counting with per-bucket counters (sht_inc), which leads to other problems like increment/decrement handling and locking.
Use ratelimit/pike modules—useful for IP/method limits, but our use case is PAI/From/To based and currently hinges on pattern counts.
**Acceptance criteria**
A KEMI function exists to count matching keys in an htable without PV parsing.
Verified that repeated calls with dynamic patterns do not grow PV cache / PKG memory.
Basic tests for exact/prefix/suffix/regex modes (and skip_expired if implemented).
Thank you!
This would let KEMI users keep $shtcn()-style logic with the same performance characteristics, but without the PV-cache side effects.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4426
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4426(a)github.com>
jonastelzio created an issue (kamailio/kamailio#4349)
### Description
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
Kamailio configured with the following listeners:
```
listen=udp:LOCAL_IP:5060 advertise DNS_HOST:5060
listen=tcp:LOCAL_IP:5060 advertise DNS_HOST:5060
listen=tcp:LOCAL_IP:5061 advertise tls:DNS_HOST:5061
```
Notice `tls:` in the advertise part of the last listener. TLS Termination happens upstream by, in this case, haproxy.
The following happens:
1. Kamailio receives invite from a phone via TCP, on the TLS advertised listener. The phone is communicating via TLS, but it's terminated upstream.
2. Dispatcher is used to select where to forward it
3. Forwards via UDP and the call is connected downstream.
4. The downstream asterisk ends the call by sending a BYE request
5. Kamailio receives this, and generates a BYE request for the phone.
The generated BYE request has an incorrect Via-header:
`Via: SIP/2.0/TCP jswiatek.dk.office.tlz:5060;branch=z9hG4bK2e8f.2625efdb2ab26c466f55b8baf1bf807d.0`
This should be `SIP/2.0/TLS`, and the host should be `:5061`
In the provided PCAP, this is message is message number 15.
A similar issue was addressed in this commit: https://github.com/kamailio/kamailio/commit/3322bea764036deba6340e435c25724…
### Troubleshooting
#### 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).
-->
PCAP of this happening: [advertise_tls_bye_fail.zip](https://github.com/user-attachments/files/21597…
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 6.0.2 (x86_64/linux) d4dc5d-dirty
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: d4dc5d -dirty
```
* **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`)
-->
```
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Linux 44298e54e0b8 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4349
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4349(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Add auth_web3 module for blockchain-based authentication
This PR introduces a new authentication module that provides blockchain-powered
digest authentication via Oasis Sapphire smart contracts while maintaining full
compatibility with standard Kamailio auth module functions.
**Key Features:**
- Blockchain-based digest authentication via Oasis Sapphire smart contracts
- RFC2617 compliant MD5 and SHA-256 digest authentication
- Full compatibility with standard auth functions (www_authenticate, proxy_authenticate)
- Configurable parameters: web3_rpc_url, web3_contract_address, web3_debug_mode, web3_timeout
- Comprehensive error handling for network failures and blockchain connectivity
- Nonce management and replay protection identical to traditional auth
**Files Added:**
- src/modules/auth_web3/ (complete module with 9 .c files and supporting headers)
- Comprehensive documentation in doc/ subfolder
- CMakeLists.txt with curl dependency handling
**Testing Summary:**
- **Build Verification**: Module compiles successfully with curl dependency
- **Load Testing**: Module loads without errors in Kamailio configuration
- **Authentication Scenarios**:
- Valid credentials: Successful authentication with correct blockchain credentials
- Invalid credentials: Proper rejection of wrong passwords (tested with Zoiper)
- Network failures: Graceful handling of blockchain RPC connectivity issues
- Parameter validation: All module parameters properly validated
- **Compatibility Testing**: Full compatibility with existing auth module functions
- **Error Handling**: Comprehensive error logging and fallback behavior
**Documentation Status:**
- Complete XML documentation in doc/ subfolder
- Module parameters documented (auth_web3_params.xml)
- Functions documented (auth_web3_functions.xml)
- Configuration examples provided
- Usage patterns and best practices included
**Limitations:**
- Requires external blockchain RPC endpoint (Oasis Sapphire)
- Network dependency for authentication (no offline fallback)
- Requires curl library for HTTP requests to blockchain
- Smart contract must be deployed on target blockchain network
- Authentication speed depends on blockchain network response time
**Build System:**
- Added to MOD_LIST_UTILS group for proper curl dependency handling
- Includes CMakeLists.txt with find_package(CURL REQUIRED)
This module provides a drop-in replacement for traditional authentication while
leveraging blockchain technology for credential verification.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4328
-- Commit Summary --
* auth_web3: initial blockchain authentication module
* cmake: add auth_web3 to MOD_LIST_UTILS group
-- File Changes --
M cmake/groups.cmake (4)
A src/modules/auth_web3/CMakeLists.txt (9)
A src/modules/auth_web3/Makefile (17)
A src/modules/auth_web3/README (1229)
A src/modules/auth_web3/api.c (324)
A src/modules/auth_web3/api.h (170)
A src/modules/auth_web3/auth_web3_mod.c (1739)
A src/modules/auth_web3/auth_web3_mod.h (54)
A src/modules/auth_web3/challenge.c (316)
A src/modules/auth_web3/challenge.h (54)
A src/modules/auth_web3/doc/Makefile (4)
A src/modules/auth_web3/doc/auth_web3.xml (174)
A src/modules/auth_web3/doc/auth_web3_faq.xml (174)
A src/modules/auth_web3/doc/auth_web3_functions.xml (405)
A src/modules/auth_web3/doc/auth_web3_params.xml (922)
A src/modules/auth_web3/nc.c (246)
A src/modules/auth_web3/nc.h (78)
A src/modules/auth_web3/nid.c (96)
A src/modules/auth_web3/nid.h (88)
A src/modules/auth_web3/nonce.c (460)
A src/modules/auth_web3/nonce.h (228)
A src/modules/auth_web3/ot_nonce.c (232)
A src/modules/auth_web3/ot_nonce.h (83)
A src/modules/auth_web3/rfc2617.c (145)
A src/modules/auth_web3/rfc2617.h (97)
A src/modules/auth_web3/rfc2617_sha256.c (150)
A src/modules/auth_web3/rfc2617_sha256.h (71)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4328.patchhttps://github.com/kamailio/kamailio/pull/4328.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4328
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4328(a)github.com>
stefan-mititelu-idt created an issue (kamailio/kamailio#4345)
<!--
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
Crash in kamailio 5.8.5 due to broken "next" pointer of circular double linked list of expired timers.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
-
#### Reproduction
Not easily reproducible
<!--
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.
-->
```
(gdb) bt full
#0 timer_list_expire (slow_mark=<optimized out>, slow_l=0x7ff891b59d60, h=0x7ff891b56ff0, t=<optimized out>) at core/timer.c:850
tl = 0x7ff89d214810
ret = <optimized out>
tl = <optimized out>
ret = <optimized out>
#1 timer_handler () at core/timer.c:925
saved_ticks = <optimized out>
run_slow_timer = 0
i = <optimized out>
saved_ticks = <optimized out>
run_slow_timer = <optimized out>
i = <optimized out>
__func__ = "timer_handler"
__llevel = <optimized out>
__kld = {v_facility = <optimized out>, v_level = <optimized out>, v_lname = <optimized out>, v_fname = <optimized out>, v_fline = <optimized out>, v_mname = <optimized out>,
v_func = <optimized out>, v_locinfo = <optimized out>, v_pid = <optimized out>, v_pidx = <optimized out>}
__llevel = <optimized out>
__kld = {v_facility = <optimized out>, v_level = <optimized out>, v_lname = <optimized out>, v_fname = <optimized out>, v_fline = <optimized out>, v_mname = <optimized out>,
v_func = <optimized out>, v_locinfo = <optimized out>, v_pid = <optimized out>, v_pidx = <optimized out>}
#2 timer_main () at core/timer.c:963
No locals.
#3 0x000055e671830461 in main_loop () at main.c:1933
i = <optimized out>
pid = <optimized out>
si = 0x0
si_desc = "udp receiver child=15 sock=x.x.x.x:5080 (y.y.y.y:5080)", '\000' <repeats 16 times>, "\002\000\000\000\004\000\000\000\n_\022:\372\177\000\000\003\000\000\000\000\000\000\000\000kt\234s8\b\rThu Jul \a\000\000\000\000\000\000"
nrprocs = <optimized out>
woneinit = 1
__func__ = "main_loop"
error = <optimized out>
#4 0x000055e671824ff2 in main (argc=<optimized out>, argv=<optimized out>) at main.c:3257
cfg_stream = <optimized out>
c = <optimized out>
r = <optimized out>
tmp = 0x7ffe2850be85 ""
tmp_len = 0
port = 5060
proto = 0
aproto = 0
ahost = 0x0
aport = 0
options = 0x55e671bacd30 ":f:cm:M:dVIhEeb:B:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:Y:"
ret = -1
seed = 1220594137
rfd = <optimized out>
debug_save = <optimized out>
debug_flag = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
dont_fork_cnt = <optimized out>
n_lst = <optimized out>
p = <optimized out>
st = {st_dev = 22, st_ino = 1081, st_nlink = 2, st_mode = 16888, st_uid = 109, st_gid = 115, __pad0 = 0, st_rdev = 0, st_size = 40, st_blksize = 4096, st_blocks = 0,
st_atim = {tv_sec = 1751525619, tv_nsec = 801181720}, st_mtim = {tv_sec = 1751525619, tv_nsec = 117175705}, st_ctim = {tv_sec = 1751525636, tv_nsec = 937332387},
__glibc_reserved = {0, 0, 0}}
l1 = <optimized out>
tbuf = "\000\000\000\000\000\000\000\000\030\"U(\376\177\000\000\000\000\000\000 ", '\000' <repeats 27 times>, "\001\000\000\000\000\000\000\000\366u\256\003\001", '\000' <repeats 67 times>, "\060Wj\242\372\177\000\000\004\000\000\024\000\000\000\000@!k\242\372\177", '\000' <repeats 138 times>, "\020\000\000\000\000\000\000\000 \265P(\376\177\000\000\020\000\000\000\376\177\000\000\060\265P(\376\177\000\000\370\264P(\376\177\000\000x\221\205\242\372\177\000\000\300\t\000\000\300\t\000\000x\221\205\242\372\177\000\000\300\t\000\000\300\t\000\000L\206\204\242\372\177\000\000\300\t\000\000\300\t\000\000L\206\204\242\372\177\000\000\300\t\000\000\300\t\000\000\300\t\000\000\300\t\000\000\377\377\377\377\000\000\000\000\020_\202\242\372\177\000\000H\000\000\000\000\000\000\000\312<k\242\372\177\000\000`\200\205\242d\000\000\000\000kt\234s8\b\r\377\377\377\377\000\000\000\000j[j\242\372\177\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\377\377\377\377\377\377\377\377\377\265\360\000\000\000\000\000\302\000\000\000\000\000\000"
option_index = 12
long_options = {{name = 0x55e671bab333 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x55e671bb4a8e "version", has_arg = 0, flag = 0x0, val = 118}, {
name = 0x55e671bc48d1 "alias", has_arg = 1, flag = 0x0, val = 1024}, {name = 0x55e671bab338 "subst", has_arg = 1, flag = 0x0, val = 1025}, {
name = 0x55e671bab33e "substdef", has_arg = 1, flag = 0x0, val = 1026}, {name = 0x55e671bab347 "substdefs", has_arg = 1, flag = 0x0, val = 1027}, {
name = 0x55e671bab351 "server-id", has_arg = 1, flag = 0x0, val = 1028}, {name = 0x55e671bab35b "loadmodule", has_arg = 1, flag = 0x0, val = 1029}, {
name = 0x55e671bab366 "modparam", has_arg = 1, flag = 0x0, val = 1030}, {name = 0x55e671bab36f "log-engine", has_arg = 1, flag = 0x0, val = 1031}, {
name = 0x55e671bb4bab "debug", has_arg = 1, flag = 0x0, val = 1032}, {name = 0x55e671bab37a "cfg-print", has_arg = 0, flag = 0x0, val = 1033}, {
name = 0x55e671bab384 "atexit", has_arg = 1, flag = 0x0, val = 1034}, {name = 0x55e671bab38b "all-errors", has_arg = 0, flag = 0x0, val = 1035}, {name = 0x0, has_arg = 0,
flag = 0x0, val = 0}}
__func__ = "main"
```
Some more debugging info:
```
(gdb) p tl
$203 = (struct timer_ln *) 0x7ff89d214810
(gdb) p h
$202 = (struct timer_head *) 0x7ff891b56ff0
(gdb) p *(struct timer_ln *) 0x7ff891e21af0
$6 = {next = 0x7ff891e24b00, prev = 0x7ff89d214810, expire = 1057066680, initial_timeout = 480, data = 0x7ff891e21af0, f = 0x55e671a570a0 <compat_old_handler>, flags = 512,
slow_idx = 0}
(gdb) p *tl
$205 = {next = 0x0, prev = 0x7ff891b56ff0, expire = 1057066648, initial_timeout = 48, data = 0xfffffffe, f = 0x7ffa91f77e30 <retr_buf_handler>, flags = 512, slow_idx = 0}
(gdb) p *h
$204 = {next = 0x0, prev = 0x7ff891e00e10}
(gdb) p *(struct timer_ln *) 0x7ff891e00e10
$7 = {next = 0x7ff891b56ff0, prev = 0x7ff89e47d538, expire = 1057066680, initial_timeout = 16, data = 0x7ff891e00e10, f = 0x55e671a570a0 <compat_old_handler>, flags = 512,
slow_idx = 0}
(gdb) p h->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev
$198 = (struct timer_ln *) 0x7ff891e21af0
(gdb) p h->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev
$199 = (struct timer_ln *) 0x7ff89d214810
(gdb) p h->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev
$200 = (struct timer_ln *) 0x7ff891b56ff0
(gdb) p h->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev->prev
$201 = (struct timer_ln *) 0x7ff891e00e10
```
#### 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).
-->
```
(paste your log messages here)
```
#### 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).
-->
```
(gdb) p *(struct retr_buf *)((char *)(tl)-((size_t)((char *)&((struct retr_buf*)(0))->timer - (char *)0)))
$13 = {rbtype = 0, flags = 164, t_active = 0, branch = 0, buffer_len = 1021,
buffer = 0x7ff897731ef0 "KDMQ sip:usrloc@x.x.x.x:5040;transport=tcp SIP/2.0\r\nVia: SIP/2.0/TCP y.y.y.y:5045;branch=z9hG4bK6411.2eec64c5", '0' <repeats 24 times>, ".0\r\nTo: <sip:usrloc@x.x.x.x:5040;transport=tcp>\r\nFrom: <sip:usrloc@y.y.y.y:5040;transport=tcp>;tag=ea5c1e4b006551edd6973f0c22cc35ec-9c6994fe\r\nCSeq: 10 KDMQ\r\nCall-ID: 3bc128ce41f9d5e5-3737(a)x.x.x.x\r\nContent-Length: 574\r\nUser-Agent: UNITE 3.0\r\nMax-Forwards: 1\r\nContent-Type: application/json\r\n\r\n{\"action\":1,\"aor\":\"01537833832a5ccc75058ef5839f\",\"ruid\":\"uloc-a71cb2-68662908-e99-e6b85\",\"c\":\"sip:01537833832a5ccc75058ef5839f@z.z.z.z:11916;transport=TCP\",\"received\":\"sip:x.x.x.x:11916;transport=tcp\",\"path\":\"<sip:z.z.z.z:5040;transport=tcp;lr;received=sip:w.w.w.w:11916%3Btransport%3Dtcp;socket=clientTCPListener>\",\"callid\":\"0_912990869(a)192.168.1.7\",\"user_agent\":\"Yealink SIP-T30 t.t.t.t\",\"instance\":\"\",\"expires\":1751822448,\"cseq\":28,\"flags\":0,\"cflags\":96,\"q\":-1,\"last_modified\":1751822148,\"methods\":16383,\"reg_id\":0,\"server_id\":10951858,\"xavps\":{}}", my_T = 0x7ff89d214510, timer = {next = 0x0, prev = 0x7ff891b56ff0, expire = 1057066648, initial_timeout = 48, data = 0xfffffffe,
f = 0x7ffa91f77e30 <retr_buf_handler>, flags = 512, slow_idx = 0}, dst = {send_sock = 0x7ffa9264fae0, to = {s = {sa_family = 2,
sa_data = "\023\260\n_\020\210\000\000\000\000\000\000\000"}, sin = {sin_family = 2, sin_port = 45075, sin_addr = {s_addr = 2282774282},
sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 2, sin6_port = 45075, sin6_flowinfo = 2282774282, sin6_addr = {__in6_u = {
__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}, sas = {ss_family = 2,
__ss_padding = "\023\260\n_\020\210", '\000' <repeats 111 times>, __ss_align = 0}}, id = 0, send_flags = {f = 4, blst_imask = 0}, proto = 2 '\002', proto_pad0 = 0 '\000',
proto_pad1 = 0}, retr_expire = 1057066599, fr_expire = 1057066648}
```
### Possible Solutions
Check if "next" list is broken and recover the pointers form "prev" list, and viceversa.
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
### Additional Information
Using 1s transaction timeout for KDMQs.
* **Kamailio Version** - output of `kamailio -v`
```
5.8.5 kamailio version
```
* **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`)
-->
```
Debian 11
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4345
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4345(a)github.com>
Opening this generic issue to track issues when trying to switch deb package generation to cmake:
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4053
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4053(a)github.com>
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
This feature addition adds support for loading integer-type DB fields into AVPs, for the "extra" fields that are loaded when matching the authentication / route.
The following modules are effected by this change:
- dispatcher: support integer fields for ds_db_extra_attrs
- permissions: support integer fields for peer_tag
- htable: support integer fields for htable param (cols attribute key_name)
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4438
-- Commit Summary --
* htable: support for 32bit and 64bit integer keys
* permissions: support for integer peer_tag
* dispatcher: support for fields in ds_db_extra_attrs
-- File Changes --
M src/modules/dispatcher/dispatch.c (100)
M src/modules/dispatcher/doc/dispatcher.xml (9)
M src/modules/dispatcher/doc/dispatcher_admin.xml (4)
M src/modules/htable/doc/htable.xml (4)
M src/modules/htable/ht_db.c (55)
M src/modules/htable/ht_db.h (9)
M src/modules/permissions/address.c (87)
M src/modules/permissions/doc/permissions.xml (11)
M src/modules/permissions/doc/permissions_admin.xml (5)
M src/modules/permissions/trusted.c (189)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4438.patchhttps://github.com/kamailio/kamailio/pull/4438.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4438
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4438(a)github.com>