### Description
We are using Kamailio 5.7.4 on Debian 12 (from http://deb.kamailio.org/kamailio57) with rtpengine as an Edgeproxy for our clients. The instance terminates SIP/TLS (with Cliencertificates) and forwards the SIP Traffic to internal systems.
After some days we are getting errors like this
`tls_complete_init(): tls: ssl bug #1491 workaround: not enough memory for safe operation: shm=7318616 threshold1=8912896`
First we thought Kamailio just doesnt have enough memory, so we doubled it..
But after some days the Logmessage (and Userissues) occured again.
So we monitored the shmmem statistics and found that used and max_used are constantly growing til it reaches the limit.
As i mentioned we are using client-certificates and so we are also using the CRL feature.
We do have a systemd-timer which fetches the CRL every hour and runs 'kamcmd tls.reload' when finished.
Our tls.cfg looks like this:
```
[server:default]
method = TLSv1.2+
private_key = /etc/letsencrypt/live/hostname.de/privkey.pem
certificate = /etc/letsencrypt/live/hostname.de/fullchain.pem
ca_list = /etc/kamailio/ca_list.pem
ca_path = /etc/kamailio/ca_list.pem
crl = /etc/kamailio/combined.crl.pem
verify_certificate = yes
require_certificate = yes
[client:default]
verify_certificate = yes
require_certificate = yes
```
After testing a bit we found that every time tls.reload is executed Kamailio consumes a bit more memory which eventually leads to all the memory being consumed which leads to issues for our users.
See following example:
```
[0][root@edgar-dev:~]# while true ; do /usr/sbin/kamcmd tls.reload ; /usr/sbin/kamcmd core.shmmem ; sleep 1 ; done
Ok. TLS configuration reloaded.
{
total: 268435456
free: 223001520
used: 41352552
real_used: 45433936
max_used: 45445968
fragments: 73
}
Ok. TLS configuration reloaded.
{
total: 268435456
free: 222377960
used: 41975592
real_used: 46057496
max_used: 46069232
fragments: 78
}
Ok. TLS configuration reloaded.
{
total: 268435456
free: 221748664
used: 42604992
real_used: 46686792
max_used: 46698080
fragments: 77
}
Ok. TLS configuration reloaded.
{
total: 268435456
free: 221110832
used: 43242408
real_used: 47324624
max_used: 47335608
fragments: 81
}
^C
[130][root@edgar-dev:~]#
```
### Troubleshooting
#### Reproduction
Everytime tls.reload is called the memory consumptions grows..
#### 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.
-->
```
If you let me know what would be interesting for tracking this down, i am happy to provide logs/debugging data!
```
#### 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).
-->
```
If you let me know what would be interesting for tracking this down, i am happy to provide logs/debugging data!
```
#### SIP Traffic
SIP doesnt seem to be relevant here
### Possible Solutions
Calling tls.reload less often or restart kamailio before memory is consumed ;)
### 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 12.2.0
```
* **Operating System**:
```
* Debian GNU/Linux 12 (bookworm)
* Linux edgar-dev 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3823
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3823(a)github.com>
Added enable_register_publish parameter to enable REGISTER and PUBLISH method for topos
If set to 1 REGISTER and PUBLISH will be enabled for topos Currently only via header will be applied for topos and if mask_callid is set to 1 call-ID will be masked. Other headers should be manged by the user as required.
<!-- 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, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] 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)
- [ ] 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
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3766
-- Commit Summary --
* add enable_register_publish
-- File Changes --
M src/modules/topos/topos_mod.c (2)
M src/modules/topos/tps_msg.c (132)
M src/modules/topos/tps_msg.h (2)
M src/modules/topos/tps_storage.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3766.patchhttps://github.com/kamailio/kamailio/pull/3766.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3766
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3766(a)github.com>
<!-- Kamailio Pull Request Template -->
Topos: Added get_callid_mask functin which will give the masked callID if actual callID is given and get_callid_unmask function which will unmask the given call-ID. This funtion is useful when the client sends a refer methord with refer-to header containing call-id
<!--
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 the checkboxes that apply -->
- [ ] 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 -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3872
-- Commit Summary --
* add funtion to mask/unmask callID
* get_callid_mask /get_callid_unmask Document Update
-- File Changes --
M src/modules/topos/doc/topos_admin.xml (87)
M src/modules/topos/topos_mod.c (183)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3872.patchhttps://github.com/kamailio/kamailio/pull/3872.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3872
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3872(a)github.com>
Hi There,
We found a situation where topos seems to break, let me explain... Assuming the following scenario:
```
Caller ---- Callee
A: ------INVITE-----> Record-Route:A.A.A.A, Record-Route:B.B.B.B
B: <-----200 OK------
C: <-----INVITE------ Route: A.A.A.A, B.B.B.B
D: ------200 OK-----> Record-Route:B.B.B.B, Record-Route:A.A.A.A (reversed order)
E: <======INVITE===== Route: B.B.B.B, A.A.A.A (wrong)
```
A and B establish the connection from caller to callee, and topos works fine.
C (re-INVITE from callee) sends the Route header according to the Record-Routes from the original INVITE (A)
D is the 200 OK sent from the caller to the first re-INVITE (C) coming from the callee, with the Record-Route headers reversed, because is the order in which the callee received them; and according to the RFC it's working as intended:
```
When a UAS responds to a request with a response that establishes a
dialog (such as a 2xx to INVITE), the UAS MUST copy all Record-Route
header field values from the request into the response (including the
URIs, URI parameters, and any Record-Route header field parameters,
whether they are known or unknown to the UAS) and MUST maintain the
order of those values.
[...]
[When a UAC receives a response...]
The route set MUST be set to the list of URIs in the Record-Route
header field from the response, taken in reverse order and preserving
all URI parameters.
```
E takes the Route order from the last 200 OK ignoring they are in reversed order and assuming the top one is the first one, when it should be the other way around, sending to an IP address not reachable from the callee. And I think here is the issue, topos should not update the path on the Record-Routes from a 200 OK but if it does, it should take the reverse order
When disabling topos, everything works fine, or with topos enabled, by setting rr_update=0 works for us, but what if there is a real path update, rr_update=0 wouldn't work for us anymore. The Kamailio version is 5.8.0-rc0
Let me know if you need more information.
Thanks a lot,
Javi
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3778
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3778(a)github.com>
<!--
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
It seems that the fixup_free_* functions are not getting called when used with:
```
static cmd_export_t cmds[] = {
{"acc_log_request", (cmd_function)w_acc_log_request, 1,
acc_fixup, free_acc_fixup,
ANY_ROUTE},
// ...
{0, 0, 0, 0, 0, 0}
};
static int free_acc_fixup(void **param, int param_no)
{
LM_CRIT("acc free fixup = %d\n", param_no);
if(*param) {
pkg_free(*param);
*param = 0;
}
return 0;
}
```
Nothing is getting logged from the function. Is this expected not to print in free_fixup due to the destruction of kamailio and the logging is not reliable?
I also used gdb and added some breakpoints in `fixup` and `free_fixup` functions in some other modules (file_out) and the breakpoint was only found in `fixup` but not in `free_fixup`.
When is the `free_fixup` supposed to be called, at kamailio destruction or after fixing it and before the main loop starts?
<!--
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.
-->
Use any module that has a custom (maybe also provided from core) `free_fixup` function, and monitor if `free_fixup` is called using debug mode.
#### 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).
-->
```
Apr 15 15:52:03 app01 kamailio[812169]: INFO: <core> [core/mem/q_malloc.c:402]: qm_malloc(): qm_malloc(0x7fcdcab18010, 56) called from file_out: file_out.c: fo_fixup_str_index(287)
Apr 15 15:52:03 app01 kamailio[812169]: INFO: <core> [core/mem/q_malloc.c:449]: qm_malloc(): qm_malloc(0x7fcdcab18010, 64) returns address 0x7fcdcacc4280 frag. 0x7fcdcacc4240 (size=64) on 1 -th hit```
`0x7fcdcacc4240` fragment is not found anywhere in the logs reported that it was freed unlike other malloced resources.
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.9.0-dev0 (x86_64/linux) 8bc64a
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: 8bc64a
compiled on 15:32:09 Apr 15 2024 with gcc 10.5.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`)
-->
```
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
5.4.0-176-generic #196-Ubuntu SMP Fri Mar 22 16:46:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3814
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3814(a)github.com>
Hello all
we are seeing these kind of logs in a Debian GNU/Linux 11 using kamailio 5.5.6
```Sep 21 17:41:13 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155702]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[164.152.22.248:5060](http://164.152.22.248:5060/))
Sep 21 17:41:13 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155698]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[208.74.138.184:5060](http://208.74.138.184:5060/))
Sep 21 17:41:13 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155695]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[208.74.138.181:5060](http://208.74.138.181:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155693]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[38.102.250.60:5060](http://38.102.250.60:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155707]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[87.1.1.27:5060](http://87.1.1.27:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155707]: ERROR: tm [ut.h:302]: uri2dst2(): no corresponding socket for "87.1.1.27" af 2
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155707]: ERROR: tm [t_fwd.c:470]: prepare_new_uac(): can't fwd to af 2, proto 1 (no corresponding listening socket)
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155697]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[208.74.138.184:5060](http://208.74.138.184:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155694]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[192.40.216.97:5060](http://192.40.216.97:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155694]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[208.74.138.180:5060](http://208.74.138.180:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155714]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[87.1.1.27:5060](http://87.1.1.27:5060/))
```
The kamailio instance we are using is receiving around 1500 calls per second in average when we do start seeing these errors more frequently
In this instance we are using multihomed
the listen address list is
``` children=14
socket_workers=1
listen=udp:[192.168.99.70:5081](http://192.168.99.70:5081/)
listen=udp:[192.168.99.81:5060](http://192.168.99.81:5060/)
listen=udp:[87.1.1.27:5060](http://87.1.1.27:5060/)
listen=tcp:[192.168.96.105:8095](http://192.168.96.105:8095/)
listen=tcp:[87.1.1.27:5060](http://87.1.1.27:5060/)
tcp_children=6
port=5060
```
We use the first worker only to perform the OPTIONS requests from the dispatcher module.
The sockets
listen=udp:[192.168.99.81:5060](http://192.168.99.81:5060/)
listen=udp:[87.1.1.27:5060](http://87.1.1.27:5060/)
are used to communicate both A and B legs
so when a message is received at [192.168.99.81:5060](http://192.168.99.81:5060/) we send it to [87.1.1.27:5060](http://87.1.1.27:5060/) and viceversa
We were using $fs variable before doing the t_relay() function.
This way is working, but when load increases, seems sometimes kamailio doesn't get the proper socket to forward the reply.
I think the errors mainly are related to responses which are being forwarded, like if the function get_sock_info_list was not able to retrieve the listen interfaces
we have tried to set in the onreply routes the commands
set_recv_socket("udp:[192.168.99.81:5060](http://192.168.99.81:5060/)");
set_send_socket("udp:[87.1.1.27:5060](http://87.1.1.27:5060/)"); (when reply goes from private to public domain)
and it seems it reduces the number of
```
Sep 21 17:41:13 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155702]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[164.152.22.248:5060](http://164.152.22.248:5060/))
Sep 21 17:41:13 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155698]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[208.74.138.184:5060](http://208.74.138.184:5060/))
Sep 21 17:41:13 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155695]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[208.74.138.181:5060](http://208.74.138.181:5060/))
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155693]: ERROR: <core> [core/forward.c:183]: get_out_socket(): no corresponding socket found for(udp:[38.102.250.60:5060](http://38.102.250.60:5060/))
errors
```
But i honestly don't know why the
```Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155707]: ERROR: tm [ut.h:302]: uri2dst2(): no corresponding socket for "87.1.1.27" af 2
Sep 21 17:41:14 lax-dedge-1 /usr/local/kamailio/sbin/kamailio[3155707]: ERROR: tm [t_fwd.c:470]: prepare_new_uac(): can't fwd to af 2, proto 1 (no corresponding listening socket)
appear
```
We also tried to increase the kernel buffers rmem and wmem from 208KB (as we had by default) to 4MB
Do you know a reason which could cause these logs to appear?
Any setup that could mitigate them?
thanks a lot and regards
david escartin
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3583
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3583(a)github.com>
<!--
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
Hello, I am using ndb_redis module with TLS and redis-cluster. kamailio connects to the cluster endpoint when getting data, gets a 'MOVED' response and prints below error, it does not get data from the new host.
### Troubleshooting
I have verified that I can connect to the cluster endpoint and the host in 'MOVED' using redis-cli on the system that kamailio is running on. I tried to connect to a self hosted cluster without TLS, it works as expected. It also works as expected with TLS and a single redis host.
#### Reproduction
Connect to a redis-cluster over TLS
#### 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).
-->
```
2024-06-25T20:48:53.626708963Z 2024-06-25 20:48:53.626584 3(17) NOTICE: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:437]: redisc_get_server(): Hash 31807 (ra)
2024-06-25T20:48:53.626710053Z 2024-06-25 20:48:53.626600 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:440]: redisc_get_server(): Entry 31807 (ra)
2024-06-25T20:48:53.626711073Z 2024-06-25 20:48:53.626636 3(17) NOTICE: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:444]: redisc_get_server(): Using entry 31807 (ra)
2024-06-25T20:48:53.626712073Z 2024-06-25 20:48:53.626651 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:1030]: redisc_exec(): rsrv->ctxRedis = 0x556b4456dc20
2024-06-25T20:48:53.626713073Z 2024-06-25 20:48:53.626667 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:1036]: redisc_exec(): rsrv->ctxRedis = 0x556b4456dc20
2024-06-25T20:48:53.626810463Z 2024-06-25 20:48:53.626762 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:896]: check_cluster_reply(): Redis replied: "MOVED 3667 testdbredis-masked-hostname.00000000001110000000.130-characters-long.00000000000011111111100000000.availability-zone.amazonaws.com:6379"
2024-06-25T20:48:53.626811523Z 2024-06-25 20:48:53.626777 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:904]: check_cluster_reply(): Port "6379" [4] => 6379
2024-06-25T20:48:53.626816413Z 2024-06-25 20:48:53.626793 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:914]: check_cluster_reply(): Host "testdbredis-masked-hostname.00000000001110000000.130-characters-long.000000…" [130]
2024-06-25T20:48:53.626846113Z 2024-06-25 20:48:53.626810 3(17) NOTICE: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:925]: check_cluster_reply(): Name of new connection: testdbredis-masked-hostname.00000000001110000000.130-characters-long.00000000000011111111100000000.
2024-06-25T20:48:53.626851443Z 2024-06-25 20:48:53.626827 3(17) NOTICE: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:437]: redisc_get_server(): Hash 968070864 (testdbredis-masked-hostname.00000000001110000000.130-characters-long.00000000000011111111100000000.)
2024-06-25T20:48:53.626896173Z 2024-06-25 20:48:53.626844 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:440]: redisc_get_server(): Entry 31807 (ra)
2024-06-25T20:48:53.626897503Z 2024-06-25 20:48:53.626861 3(17) NOTICE: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:450]: redisc_get_server(): No entry found.
2024-06-25T20:48:53.626955363Z 2024-06-25 20:48:53.626877 3(17) ERROR: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:947]: check_cluster_reply(): failed to print server spec string
2024-06-25T20:48:53.626957263Z 2024-06-25 20:48:53.626893 3(17) DEBUG: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:1115]: redisc_exec(): rpl->rplRedis->type:6
2024-06-25T20:48:53.626958443Z 2024-06-25 20:48:53.626908 3(17) ERROR: {Kam 192.168.20.4 503874790_98536808 1 753067 INVITE}ndb_redis [redis_client.c:1117]: redisc_exec(): Redis error:MOVED 3667 testdbredis-masked-hostname.00000000001110000000.130-characters-long.00000000000011111111100000000.availability-zone.amazonaws.com:6379
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.1 (x86_64/linux) 384843
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: 384843
compiled on 19:05:30 Jun 25 2024 with gcc 12.2.0
```
* Hiredis(v1.2.0) and hiredis-cluster(v0.13.0) are installed from source, both with ssl support.
* **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 12
```
### Kamailio config snippet
```
loadmodule "ndb_redis.so"
.
.
# ----- ndb_redis params -----
modparam("ndb_redis", "server", "name=ra;addr=cluster.testdbredis-masked-hostname.0000000011111111100000.availability-zone.amazonaws.com;port=6379;tls=1")
modparam("ndb_redis", "init_without_redis", 1)
modparam("ndb_redis", "cluster", 1)
modparam("ndb_redis", "allow_dynamic_nodes", 1)
modparam("ndb_redis", "ca_path", "/etc/ssl/certs")
modparam("ndb_redis", "debug", 1)
.
.
redis_cmd("ra", "HMGET usr_preferences:entry::%s:%s blocked", "$rU", "$fU", "r");
if($redis(r=>value[0]) == 1) {
.
}
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3894
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3894(a)github.com>
<!--
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
Hello, I am trying to setup db_redis with TLS and redis-cluster support, I get the following errors during installation.
### Troubleshooting
#### Reproduction
Install hiredis(v1.2.0) and hiredis-cluster(v0.13.0) from source, both with ssl support.
Then install kamailio 5.8.1 from source with db_redis module
<!--
If the issue can be reproduced, describe how it can be done.
-->
#### 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).
-->
```
37.77 CC (gcc) [M db_redis.so] db_redis_mod.o
37.85 CC (gcc) [M db_redis.so] redis_connection.o
37.90 redis_connection.c: In function 'db_redis_connect':
37.90 redis_connection.c:129:9: error: unknown type name 'redisSSLContext'; did you mean 'redisContext'?
37.90 129 | redisSSLContext *ssl = NULL;
37.90 | ^~~~~~~~~~~~~~~
37.90 | redisContext
37.90 redis_connection.c:166:17: warning: implicit declaration of function 'redisInitOpenSSL' [-Wimplicit-function-declaration]
37.90 166 | redisInitOpenSSL();
37.90 | ^~~~~~~~~~~~~~~~
37.90 redis_connection.c:167:23: warning: implicit declaration of function 'redisCreateSSLContext' [-Wimplicit-function-declaration]
37.90 167 | ssl = redisCreateSSLContext(
37.90 | ^~~~~~~~~~~~~~~~~~~~~
37.90 redis_connection.c:167:21: warning: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
37.90 167 | ssl = redisCreateSSLContext(
37.90 | ^
37.91 redis_connection.c:196:17: warning: implicit declaration of function 'redisClusterSetOptionEnableSSL'; did you mean 'redisClusterSetOptionMaxRetry'? [-Wimplicit-function-declaration]
37.91 196 | redisClusterSetOptionEnableSSL(con->con, ssl);
37.91 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37.91 | redisClusterSetOptionMaxRetry
37.93 make[2]: *** [../../Makefile.rules:100: redis_connection.o] Error 1
37.93 make[1]: *** [Makefile:508: modules] Error 1
37.93 make[1]: Leaving directory '/root/build/kamailio/src'
37.93 make: *** [Makefile:34: all] Error 2
```
### Additional Information
* **Kamailio Version**:
```
Kamailio 5.8.1
```
* **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 12
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3893
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3893(a)github.com>
Running compiled Kamailio 5.8.1 (previously 5.8.0) on Debian 12 64-bit
We're seeing an issue with UDP endpoints (this issue does not happen with TCP and TLS) where usrloc will not send OPTIONS packet keepalives.
Here are all of our usrloc parameters:
modparam("usrloc", "db_mode", 0)
modparam("usrloc", "ka_domain", "SIPDOMAIN") #-- SIPDOMAIN is a fqdn
modparam("usrloc", "ka_from", "sip:proxy-ping@SIPDOMAIN")
modparam("usrloc", "ka_mode", 1)
modparam("usrloc", "timer_interval", 20) #-- How often to qualify endpoints and clean mem tables?
modparam("usrloc", "timer_procs", 4)
modparam("usrloc", "ka_randomize", 10)
modparam("usrloc", "use_domain", 0)
modparam("usrloc", "server_id_filter", 1)
modparam("usrloc", "ka_filter", 0)
modparam("usrloc", "ka_timeout", 60) #-- How quickly to expire a contact if it does not reply to keepalive?
modparam("usrloc", "matching_mode", 0)
modparam("usrloc", "handle_lost_tcp", 1)
modparam("usrloc", "close_expired_tcp", 1)
modparam("usrloc", "desc_time_order", 1)
modparam("usrloc", "hash_size", 14)
It seems usrloc is not actually using timer_interval at all for UDP devices. However, it does seem to be sending OPTIONS every 20 seconds on TCP/TLS. (this is confirmed via packet capture on a SIP phone).
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3844
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3844(a)github.com>
From the build log
```
CC (gcc) [M kazoo.so] kazoo.o
CC (gcc) [M kazoo.so] kz_amqp.o
kz_amqp.c: In function 'kz_amqp_connection_open_ssl':
kz_amqp.c:857:17: warning: 'amqp_set_initialize_ssl_library' is deprecated [-Wdeprecated-declarations]
857 | amqp_set_initialize_ssl_library(1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from kz_amqp.c:37:
/usr/include/rabbitmq-c/ssl_socket.h:233:16: note: declared here
233 | void AMQP_CALL amqp_set_initialize_ssl_library(amqp_boolean_t do_initialize);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC (gcc) [M kazoo.so] kz_fixup.o
CC (gcc) [M kazoo.so] kz_hash.o
```
Functions description in the header file
https://github.com/alanxz/rabbitmq-c/blob/v0.13.0/include/rabbitmq-c/ssl_so…
```
/**
* Sets whether rabbitmq-c will initialize OpenSSL.
*
* \deprecated Since v0.13.0 this is a no-op. OpenSSL automatically manages
* library initialization and uninitialization.
*
* OpenSSL requires a one-time initialization across a whole program, this sets
* whether or not rabbitmq-c will initialize the SSL library when the first call
* to amqp_ssl_socket_new() is made. You should call this function with
* do_init = 0 if the underlying SSL library is initialized somewhere else
* the program.
*
* Failing to initialize or double initialization of the SSL library will
* result in undefined behavior
*
* By default rabbitmq-c will initialize the underlying SSL library.
*
* NOTE: calling this function after the first socket has been opened with
* amqp_open_socket() will not have any effect.
*
* \param [in] do_initialize If 0 rabbitmq-c will not initialize the SSL
* library, otherwise rabbitmq-c will initialize the
* SSL library
*
* \since v0.4.0
*/
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3466
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3466(a)github.com>
#### Pre-Submission Checklist
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #3592
#### Description
The `kamailio-geoip` RPM sub package currently builds both the `geoip` module - based on [the old and out of support MaxMind GeoIP library](https://github.com/maxmind/geoip-api-c) - and the newer `geoip2` module - based on [the currently supported `libmaxminddb`](https://github.com/maxmind/libmaxminddb).
The old GeoIP C library had its end of support date at May 2022 but for a while was still shipped for many distributions. At this point though, the EPEL repository that shipped the GeoIP library for RHEL-based operating systems, has removed it from their repositories for "Enterprise Linux 9":

Therefor builds using the bundled spec file fail on EL9 installations.
The suggested change is to add an RPM build option `--with geoip2` that when specified will build just the `geoip2` module for the `kamailio-geoip` RPM subpackage. This build option is not enabled by default, unless the build is running on a RHEL 9 based OS - in which case it is set as the default, because otherwise trivial builds break. To revert to the older behavior in RHEL 9 based OSs (and assuming you have the required unsupported library installed correctly) one will need to set both `--without geoip2 --with geoip`.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3886
-- Commit Summary --
* packaging: RPM build option to build just the geoip2 module
* packaging: make 'with geoip2' the default behavior for EL9
-- File Changes --
M pkg/kamailio/obs/kamailio.spec (36)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3886.patchhttps://github.com/kamailio/kamailio/pull/3886.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3886
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3886(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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
<!-- Describe your changes in detail -->
Adding sqlfile ims i-cscf to utils/kamctl/mysql copied from misc/examples/ims/icscf
so that sql file will be automatically included in kamailio-mysql-module packages in the future
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3876
-- Commit Summary --
* IMS DB: Adding i-cscf database/tables under utils/kamctl/mysql
-- File Changes --
A utils/kamctl/mysql/ims-icscf.sql (94)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3876.patchhttps://github.com/kamailio/kamailio/pull/3876.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3876
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3876(a)github.com>
Hello
The tm.t_uac_start function generates a “tm:local-request” event.
But the tm.cancel function doesn't generete “tm:local-request” event.
Is it possible to activate a parameter in the TM or TMX module to generate the event?
Thanks
Juan
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3831
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3831(a)github.com>
#### Pre-Submission Checklist
- [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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
This change allows to enable/disable the insertion of SIP traces into the DB at runtime (i know we could do this with `siptrace.status`, but this is a different case).
This feature is strictly important if you start `Kamailio` with `trace_to_database` parameter disabled, and you want to enable it later and at runtime.
Nowadays, if you try to start `Kamailio` with `trace_to_database` enabled, but without a connection to the DB, the service won't start (`child_init` logic).
In this type of situation, it makes sense to start `Kamailio` disabling the `trace_to_database` parameter, and when the DB is ok, at runtime, we enable `trace_to_database` parameter. This prevents the need to restart the service, and also we can start `Kamailio` without problems, if DB of SIP Traces is NOK at that time.
My PR may need some improvements, especially on the enable side, so feel free to make any changes to improve that.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3877
-- Commit Summary --
* siptrace: handle trace_to_database param at runtime
-- File Changes --
M src/modules/siptrace/siptrace.c (100)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3877.patchhttps://github.com/kamailio/kamailio/pull/3877.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3877
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3877(a)github.com>
When relaying this `200 OK` repeatedly with calls to `rtpengine_answer()` failing because all RTPEngines in a set are unreachable...
```
Dec 8 06:24:38 gw kamailio[4823]: ERROR: rtpengine [rtpengine.c:2960]: select_rtpp_node(): rtpengine failed to select new for calllen=36 callid=8279a4ea-151e-48de-a23c-5840104126de
```
```
SIP/2.0 200 OK
v:SIP/2.0/UDP 10.150.20.20;branch=z9hG4bK03e.e4da444e627bb575ef4f46151729a1fa.0,SIP/2.0/UDP 10.151.20.108;received=10.151.20.108;rport=5060;branch=z9hG4bKKQyrBKpp04X0K
Record-Route:<sip:10.150.20.20;lr;ftag=emHm2apy95jFe;rtp_relay=1;rtp_group=0>
f:"14045551212"<sip:14045551212@10.151.20.108>;tag=emHm2apy95jFe
t:<sip:16782001111@internal.evaristesys.com>;tag=tHQt0rDcF7UHK
i:8279a4ea-151e-48de-a23c-5840104126de
CSeq:60686471 INVITE
m:<sip:16782001111@10.160.10.55:5060;transport=udp>
User-Agent:VoiceAppServer
Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REFER,NOTIFY
k:path,replaces
u:talk,hold,conference,refer
c:application/sdp
Content-Disposition:session
l:257
v=0
o=DM 1670428117 1670428118 IN IP4 10.160.10.55
s=DM
c=IN IP4 10.160.10.55
t=0 0
m=audio 52418 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=rtcp:52419 IN IP4 10.160.10.55
```
Repeat INVITEs eventually result in a crash. This backtrace is taken from a different server but identical scenario:
```
#0 t_should_relay_response (Trans=0x7f4aee56ba80, new_code=200, branch=0, should_store=0x7ffd8b8bbba0, should_relay=0x7ffd8b8bbba4, cancel_data=0x7ffd8b8bbe40,
reply=0x7f4afe40df70) at t_reply.c:1285
1285 && !(inv_through && Trans->uac[branch].last_received<300)) {
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64 jansson-2.11-1.el6.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libev-4.03-3.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libunistring-0.9.3-5.el6.x86_64 openssl-1.0.1e-48.el6_8.3.x86_64 sqlite-3.6.20-1.el6_7.2.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) where
#0 t_should_relay_response (Trans=0x7f4aee56ba80, new_code=200, branch=0, should_store=0x7ffd8b8bbba0, should_relay=0x7ffd8b8bbba4, cancel_data=0x7ffd8b8bbe40,
reply=0x7f4afe40df70) at t_reply.c:1285
#1 0x00007f4afd73ab7d in relay_reply (t=0x7f4aee56ba80, p_msg=0x7f4afe40df70, branch=0, msg_status=200, cancel_data=0x7ffd8b8bbe40, do_put_on_wait=1)
at t_reply.c:1821
#2 0x00007f4afd740c38 in reply_received (p_msg=0x7f4afe40df70) at t_reply.c:2558
#3 0x00000000004b5d6a in do_forward_reply (msg=0x7f4afe40df70, mode=0) at core/forward.c:747
#4 0x00000000004b78c9 in forward_reply (msg=0x7f4afe40df70) at core/forward.c:852
#5 0x000000000054982b in receive_msg (
buf=0xb27700 "SIP/2.0 200 OK\r\nv:SIP/2.0/UDP xxx;branch=z9hG4bK9915.dcfe6d03cb21e6c94a6705adb095c566.0,SIP/2.0/UDP xxx;received=xxx;rport=5060;branch=z9hG4bKZmZp0NZv3FvQB\r\nRecord-Rout"..., len=984, rcv_info=0x7ffd8b8bc6c0) at core/receive.c:434
#6 0x00000000006658ca in udp_rcv_loop () at core/udp_server.c:541
#7 0x000000000042500f in main_loop () at main.c:1655
#8 0x000000000042c5bb in main (argc=11, argv=0x7ffd8b8bcc88) at main.c:2696
```
Looks like in the crash frame, `Trans->uac` is `NULL`:
```
(gdb) frame 0
#0 t_should_relay_response (Trans=0x7f4aee56ba80, new_code=200, branch=0, should_store=0x7ffd8b8bbba0, should_relay=0x7ffd8b8bbba4, cancel_data=0x7ffd8b8bbe40,
reply=0x7f4afe40df70) at t_reply.c:1285
1285 && !(inv_through && Trans->uac[branch].last_received<300)) {
(gdb) print Trans->uac
$1 = (struct ua_client *) 0x0
```
I have seen this crash from time to time, though it is infrequent. It always seems to occur when there are problems reaching RTPEngine in a timely fashion.
This is on Kamailio 5.2.4:de9a03, which I know has long fallen off the back of the maintenance train. However, line 1386 of `t_reply.c` in `master:HEAD` shows that the code is no different now:
https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_reply.c#L…
Of course, it's possible that something upstream has changed so as to prevent this state. Otherwise, I suppose a null pointer safety check for `Trans->uac` is recommended. I'd be happy to submit a patch, just wasn't sure if the feeling was more that this should be resolved higher up the call stack.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3297
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3297(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, ...)
- [ ] 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [x] 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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue [reported in lists](https://lists.kamailio.org/mailman3/hyperkitty/list/sr-users@lists.k…
#### Description
<!-- Describe your changes in detail -->
This PR aims to fix a bug/security issue where data that was supposed to be encrypted and transferred through TLS, were transferred instead with TCP protocol.
More information and how to replicate can be found in the above [issue](https://lists.kamailio.org/mailman3/hyperkitty/list/sr-users@lists.k… in list.
This PR suggests using also the protocol to match if a TCP connection exists, and when doing connection lookups, otherwise, it might return a wrong connection, ie a TCP one when we are asking for a TLS one (a case when source ip/port and dest IP are same but dest port is set 0 (wildcard) ).
`tcpconn_get` was left unchanged due to being used by some modules and not wanting to break them. Please advise whether it should be beneficial to also change it.
In some cases like, `tcpconn_add_alias` and `tcpconn_get` we used the `PROTO_NONE` which preserves the original behavior. `tcpconn_add_alias` we do have the protocol available, should it be also used?
`tcpconn_get` does not have the protocol available unless we pass it as an argument.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3810
-- Commit Summary --
* tcp_main: Add protocol argument for searching tcp/tls connections
* tcp_main: Add proto argument to tcpconn_exists function
* tcp_main: Update comment docs
* core/forward: Match protocol when forwarding
* tcp_main: Match wss protocol
-- File Changes --
M src/core/forward.h (3)
M src/core/tcp_conn.h (3)
M src/core/tcp_main.c (43)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3810.patchhttps://github.com/kamailio/kamailio/pull/3810.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3810
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3810(a)github.com>
<!--
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
If Deregistration contains * in a contact field as described in RFC-3261,
then the Kamailio is not cleaning the in-memory and database record. And the next iteration is not working correctly.
Use of the "*" Contact header field value allows a registering UA
to remove all bindings associated with an address-of-record
without knowing their precise values.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
Step:1 REGISTER USER UE-A
Step:2: Wait for the certain duration
Step:3: De-REGISTER USER UE-A (Contact header is using *)
Step:4: Repeat from the step-1
After step:3, clean-up is not happening. Record can be seen in SQL.
Note: If de-register contains specific CONTACT header, then cleanup is happening.
### 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.
-->
```
(paste your debugging data here)
```
#### 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).
-->
```
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: DEBUG: <script>: Contact headervalue: *
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=25 a=63 n=assign
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=26 a=26 n=xlog
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: DEBUG: <script>: Full URI from sip:49404965200004@open-ims.test: sip:49404965200004@open-ims.test
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=33 a=63 n=assign
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=34 a=63 n=assign
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=36 a=63 n=assign
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=37 a=26 n=xlog
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=38 a=63 n=assign
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=39 a=26 n=xlog
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=46 a=16 n=if
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=43 a=26 n=xlog
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=54 a=16 n=if
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=46 a=25 n=is_present_hf
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=47 a=26 n=xlog
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=50 a=25 n=append_hf
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=54 a=26 n=xlog
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=55 a=25 n=pcscf_save_pending
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: ims_registrar_pcscf [save.c:318]: save_pending(): No contact headers
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: DEBUG: ims_registrar_pcscf [save.c:492]: save_pending(): Error saving pending contact
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=67 a=16 n=if
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=65 a=63 n=assign
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[] c=[] l=0 a=12 n=seturi
May 13 19:47:22 openims-tvmcfg-node-focal pcscf/pcscf[35816]: ERROR: *** cfgtrace:dbg_cfg_trace(): request_route=[REGISTER] c=[/usr/local/etc/kamailio/pcscf/route/register.cfg] l=71 a=26 n=xlog
```
#### 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`
```
kamailio -v
version: kamailio 5.7.5 (x86_64/linux) 58499a-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_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 58499a -dirty
compiled on 11:23:55 May 8 2024 with gcc 9.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`)
-->
```
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3848
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3848(a)github.com>
<!--
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.
-->
Hello, when I was testing the SMSC SMS business, I found that the SMS could not be forwarded by the SMSC when the characters were too long, approximately 117 characters. The issue was traced back to the smsops module, which has a limit on the length of the SMS, but it seems that it does not handle SMS segmentation. The error message returned is as follows. Could you please provide some suggestions and help?
### 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.
-->
```
(paste your debugging data here)
```
#### Log Messages
```
2024-04-24T05:59:01.837950514Z 3(24) ERROR: <script>: SMS for "" (Valid: 0 )
2024-04-24T05:59:14.466167796Z 2(23) ERROR: <script>: 3GPP-SMS: MESSAGE (sip:+8618107550088@ims.mnc011.mcc460.3gppnetwork.org (172.22.0.20:6060) to tel:+8613800138000, bnecb4LQJ(a)10.46.2.1)
2024-04-24T05:59:14.466173859Z 2(23) ERROR: smsops [smsops_impl.c:1055]: decode_3gpp_sms(): Length of TP-User-Data payload exceeds maximum length!
2024-04-24T05:59:14.466175929Z 2(23) ERROR: smsops [smsops_impl.c:1320]: pv_get_sms(): Error getting/decoding RP-Data from request!
2024-04-24T05:59:14.466191554Z 2(23) ERROR: smsops [smsops_impl.c:1055]: decode_3gpp_sms(): Length of TP-User-Data payload exceeds maximum length!
2024-04-24T05:59:14.466194545Z 2(23) ERROR: smsops [smsops_impl.c:1320]: pv_get_sms(): Error getting/decoding RP-Data from request!
2024-04-24T05:59:14.466196517Z 2(23) ERROR: smsops [smsops_impl.c:1055]: decode_3gpp_sms(): Length of TP-User-Data payload exceeds maximum length!
2024-04-24T05:59:14.466198406Z 2(23) ERROR: smsops [smsops_impl.c:1320]: pv_get_sms(): Error getting/decoding RP-Data from request!
2024-04-24T05:59:14.466200311Z 2(23) ERROR: <script>: SMS for "" (Valid: )
2024-04-24T05:59:14.466255812Z 2(23) ERROR: smsops [smsops_impl.c:1055]: decode_3gpp_sms(): Length of TP-User-Data payload exceeds maximum length!
2024-04-24T05:59:14.466276249Z 2(23) ERROR: smsops [smsops_impl.c:1903]: isRPDATA(): Error getting/decoding RP-Data from request!
```
#### 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).
-->
```
```

### 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`
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 4fb8ac -dirty
compiled on 03:11:49 Apr 24 2024 with gcc 9.4.0
```
version: kamailio 5.9.0-dev0 (x86_64/linux) 4fb8ac-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
```
* **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 sder 4.15.0-128-generic #131-Ubuntu SMP Wed Dec 9 06:57:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3822
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3822(a)github.com>
#### Pre-Submission Checklist
- [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)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
Adding support for converting unsigned integers from database tables into kamailio pseudo variables usable in the routing config.
This is quite useful when pulling `int unsigned` fields from a database, in modules that support "extra fields" in their module parameters.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3828
-- Commit Summary --
* permissions: fixup uint support in address table reload
* htable: add uint support when packing an htable
* lib/srdb1: add uint support for db->pv conversions
-- File Changes --
M src/lib/srdb1/db_ut.c (4)
M src/modules/htable/ht_db.c (6)
M src/modules/permissions/address.c (35)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3828.patchhttps://github.com/kamailio/kamailio/pull/3828.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3828
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3828(a)github.com>
Hi
there is an issue with the SIP parser for the t_uac_send function
https://www.kamailio.org/docs/modules/devel/modules/tm.html#tm.f.t_uac_send
If I call this function for example:
t_uac_send("INVITE", "sip:test@123.123.123.123:5060", "", "" ,"Content-Type: text/plain\r\nContact: <sip:85951b3d-096c-95d6-5f05-4f38095aca9f@172.17.64.120:5060;transport=tcp>;+u.sip!devicename.ccm.cisco.com=\"SEP5486BC7F2BBC\"", "Testbody")
Then the resulting request is broken - it's probably due to a character (exclamation mark?) in the Contact header.... I tested it with a call from kemi, but it probably also occurs when you run it with a normal kamailio -script tests
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3682
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3682(a)github.com>
### Description
Calling functions from the `dialplan` module in 5.8 (`dp_translate()`, `dp_match()`) results in the following line being logged:
```
WARNING: <core> [core/mem/q_malloc.c:520]: qm_free(): WARNING: free(0) called from dialplan: dp_db.c: pcre2_free(206)
```
Is this a functional problem, or just a case of overly aggressive logging?
### Troubleshooting
#### Reproduction
Reproducible with the following kamailio config:
```
#!KAMAILIO
loadmodule "pv"
loadmodule "db_sqlite"
loadmodule "xlog"
loadmodule "dialplan"
disable_tcp = true
force_rport = true
!!define DBFILE /etc/kamailio/kamailio.sqlite
modparamx("db_sqlite","db_set_readonly", "$def(DBFILE)")
modparamx("dialplan","db_url", "sqlite:///$def(DBFILE)")
modparam("dialplan", "attrs_pvar", "$avp(dp_attrs)")
request_route {
if ( $rm == "ACK" ) {
exit;
}
xinfo("$ci New request\n");
dp_match("1", "$rU");
exit;
}
```
The warning log is issued in 5.8 but not 5.7. Reproduced by sending a request with SIPp:
```
sipp -sn uac -m 1 -s 15554445555 localhost
```
### Possible Solutions
Not sure if this is just a case of logging being overly aggressive, or an issue with the module's memory management.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.1 (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 12.2.0
```
Tested using docker `debian:12-slim` using the official packages from `http://deb.kamailio.org/kamailio58`
* **Operating System**:
Docker debian:12-slim, but also observed in Alpine Linux/
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3851
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3851(a)github.com>
Situation: Two Kamailio nodes syncing dialog profiles via DMQ
Observation: When a dialog timeout is encountered, about half of the time, the timeout is triggered on the peer node not handling the dialog preventing the call to be correctly terminated and also leaving entries in the dialog database which never get deleted.
https://kamailio.org/docs/modules/5.7.x/modules/dialog.html#dialog.p.enable…
Makes clear, that only the node which is handling the dialog in question, can make changes not related to the dialog profiles. So when a dialog times out, it is this node which has to trigger the timeout, not any other one.
When looking at the source code, it is clear, that the 'lifetime' is transmitted via DMQ dialog message to the peer nodes, which in turn arm a timer. So it is obvious, this time will trigger, sometimes before the instance handling the dialog itself triggers that timer.
With some assistance of @oej I found a way to alter the JSON payload to extend the lifetime on the peer nodes:
```
route[DMQ_CAPTURE]
{
if(is_method("KDMQ"))
{
if(has_body("application/json") && $fU == 'dialog')
{
if (jansson_get("lifetime", $rb, "$var(lifetime)"))
{
$var(new_lifetime) = $var(lifetime) + 60; # Add 60 seconds on DMQ peer to make sure it expires AFTER main node.
$var(newrb) = $rb;
jansson_set("integer", "lifetime", $var(new_lifetime), "$var(newrb)");
set_body("$var(newrb)","application/json");
msg_apply_changes();
}
}
dmq_handle_message();
exit;
}
}
```
Testing with this config fixed the issue of the timeout firing on a peer node instead of the node handling the dialog.
Issue is present in 5.5, 5.6 and after looking at the code, I assume also on 5.7
-Benoît
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3656
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3656(a)github.com>
Hi,
I think there is an issue with writing CDRs on failover scenarios.
I have two servers with Kamailio. Both server running Debian 11 (bulleye) and latest Kamailio 5.6.1 from git.
I'm using DMQ to sync dialogs and htable between these servers, so both servers have the same knowledge of dialog state. Both Kamailio uses nobind option, so I can switch a VIP from one server to the other one. This is managed with keepalived. Switching the VIP from one server the other one works fine an while a call is running I can switch the VIP. I can see that the BYE Message is handled OK after I made a switch. I can see that acc is triggered but what is missing is acc_cdr in this case.
I'm using htable to fill all necessary variables to complete the CDR an I can see that all values are synced correctly.
The acc_cdr is created fine if there is no failover so i think it can't be an configuration issue.
Both server holds the same Kamailio configuration except the IP.
`version: kamailio 5.6.1 (x86_64/linux) bfc5c2-dirty
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, 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: bfc5c2 -dirty
compiled with gcc 10.2.1`
`root@voip-lab-proxy01:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye`
`root@voip-lab-proxy01:~# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 38 bits physical, 48 bits virtual
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Model name: Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
Stepping: 10
CPU MHz: 2500.088
BogoMIPS: 5000.17
Virtualization: VT-x
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 128 KiB
L1i cache: 128 KiB
L2 cache: 16 MiB
L3 cache: 16 MiB
NUMA node0 CPU(s): 0-3
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Mitigation; PTE Inversion; VMX EPT disabled
Vulnerability Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Mmio stale data: Unknown: No mitigations
Vulnerability Retbleed: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid
tsc_known_freq pni vmx ssse3 cx16 pdcm sse4_1 x2apic tsc_deadline_timer xsave hypervisor lahf_lm cpuid_fault pti tpr_shadow vnmi flexpriority vpid tsc_adjust arat arch_capabilit
ies`
If you need more information, please let me know. As I'm running this on a test system I can reproduce the issue at any time.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3254
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3254(a)github.com>
### Description
"ims_registrar_scscf" cannot be compiled on Fedora 40 dist.
```
CC (gcc) [M ims_registrar_scscf.so] reply.o
CC (gcc) [M ims_registrar_scscf.so] rerrno.o
CC (gcc) [M ims_registrar_scscf.so] save.o
CC (gcc) [M ims_registrar_scscf.so] server_assignment.o
CC (gcc) [M ims_registrar_scscf.so] sip_msg.o
CC (gcc) [M ims_registrar_scscf.so] stats.o
CC (gcc) [M ims_registrar_scscf.so] userdata_parser.o
userdata_parser.c: In function ‘ifc_tDefaultHandling2char’:
userdata_parser.c:126:13: error: implicit declaration of function ‘strtol’; did you mean ‘strtok’? [-Wimplicit-function-declaration]
126 | r = strtol((char *)x, (char **)NULL, 10);
| ^~~~~~
| strtok
userdata_parser.c: In function ‘parse_spt_extension’:
userdata_parser.c:411:32: error: implicit declaration of function ‘atoi’ [-Wimplicit-function-declaration]
411 | switch(atoi((char *)x)) {
| ^~~~
make[2]: *** [../../Makefile.rules:100: userdata_parser.o] Error 1
make[1]: *** [Makefile:508: modules] Error 1
make[1]: Leaving directory '/root/rpmbuild/BUILD/kamailio-5.8.1/src'
make: *** [Makefile:34: every-module] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.tyeQgK (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.tyeQgK (%build)
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
used modified 5.8.1 version
```
* **Operating System**:
```
[root@sbc-stage-a0 SPECS]# cat /etc/os-release
NAME="Fedora Linux"
VERSION="40 (Container Image)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Container Image)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40
SUPPORT_END=2025-05-13
VARIANT="Container Image"
VARIANT_ID=container
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3855
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3855(a)github.com>
#### Pre-Submission Checklist
- [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:
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #3667
#### Description
Allow creating Record-Route and Via header using destination address and port in the haproxy protocol header.
PR created behalf @ivanuschak
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3731
-- Commit Summary --
* core: extented haproxy protocol parser
* rr: extented haproxy protocol suppport
* path: extented haproxy protocol suppport
* websocket: extented haproxy protocol suppport
* siptrace: extented haproxy protocol suppport
-- File Changes --
M src/core/forward.h (4)
M src/core/msg_translator.c (137)
M src/core/parser/msg_parser.h (1)
M src/core/receive.c (6)
M src/core/receive.h (3)
M src/core/tcp_conn.h (1)
M src/core/tcp_main.c (22)
M src/core/tcp_read.c (20)
M src/modules/path/path.c (2)
M src/modules/rr/loose.c (4)
M src/modules/rr/record.c (6)
M src/modules/siptrace/siptrace.c (89)
M src/modules/websocket/ws_frame.c (9)
M src/modules/websocket/ws_handshake.c (3)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3731.patchhttps://github.com/kamailio/kamailio/pull/3731.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3731
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3731(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 the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [X] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
Not for merging yet.
Package tls_wolfssl as an alternative to OpenSSL 3.x.
Depends on PR https://github.com/kamailio/kamailio/pull/3590
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3592
-- Commit Summary --
* pkg: RPM packaging add kamailio-tls_wolfssl subpackage
-- File Changes --
M pkg/kamailio/obs/kamailio.spec (18)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3592.patchhttps://github.com/kamailio/kamailio/pull/3592.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3592
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3592(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 -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- Not yet - first let's see if the work is valid, then I'll recompose the whole work to satisfy this. Otherwise... if I need to fix something, it's too hard to work like this...
- [ ] Each component has a single commit (if not, squash them into one commit)
- ditto
- [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
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Normally, the IMS P-CSCF should identify the clients (UEs) by the received IP address and ports on Rx. The current code is using a mix of that, plus using Contact and Via headers, with arguable potential security issues.
This patch adds a new parameter to `ims_registrar_pcscf` and `ims_qos` modules, allowing for an optional outsource of the IPsec functionality to another element, which is also in charge of checking/enforcing correct UE Via header. The existing code is allowed to work as before, with the default value of the flag being towards that.
List of functional changes:
- `ims_qos`
- added `trust_bottom_via` parameter
-
List of indirect changes:
- default I-CSCF config example contained a questionable line which adds a `+` as a prefix in Request-URI. After way too much time wasted to figure out why the Diameter LIR has bogus SIP or TEL URI values in UserName AVP, I have discovered this. Seems like someone had just tel-URIs in their network, but otherwise the blind addition of this prefix makes no sense to me.
- added a `str2ushort()` macro, since code was using some dangerous casting and macros with a larger type
-
List of non-functional fixes:
- spelling in comments
- comments at the end of line moved above the line they refer to; with just 80 columns code-formatting, commenting on the same line provides for some super weird and hard to read code, so IMHO should not be allowed (or ... much harder now... increase to 120 columns)
-
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3891
-- Commit Summary --
* squashed work
-- File Changes --
M misc/examples/ims/icscf/kamailio.cfg (4)
M src/core/ut.h (36)
M src/lib/ims/ims_getters.c (2)
M src/modules/ims_icscf/location.c (10)
M src/modules/ims_qos/ims_qos_mod.c (27)
M src/modules/ims_qos/ims_qos_mod.h (1)
M src/modules/ims_qos/rx_aar.h (4)
M src/modules/ims_qos/rx_authdata.h (2)
M src/modules/ims_qos/rx_avp.c (2)
M src/modules/ims_qos/rx_avp.h (1)
M src/modules/ims_registrar_pcscf/doc/ims_registrar_pcscf_admin.xml (39)
M src/modules/ims_registrar_pcscf/ims_registrar_pcscf_mod.c (18)
M src/modules/ims_registrar_pcscf/notify.c (2)
M src/modules/ims_registrar_pcscf/save.c (78)
M src/modules/ims_registrar_pcscf/service_routes.c (125)
M src/modules/ims_registrar_pcscf/subscribe.c (75)
M src/modules/ims_registrar_pcscf/subscribe.h (4)
M src/modules/ims_usrloc_pcscf/udomain.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3891.patchhttps://github.com/kamailio/kamailio/pull/3891.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3891
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3891(a)github.com>
### Description
On systems with a high number of TCP sessions there can be a significant performance regression observed, probably related to the newly added TCP connection tracking feature.
### Troubleshooting
#### Reproduction
No special configuration is necessary, just install the latest 5.7.x release, e.g. 5.7.3 on a production system with a lot of clients connected over TCP or TLS. You need to have a large number of clients connected to be able to observe the regression. For a high number of connections (e.g. more then 20.000 up to 30.000 connections) the Kamailio servers uses about 30% to 50% more CPU as with the old version.
#### Debugging Data
Two graphs were attached to this issue. The first shows the CPU load before (less load) and after the upgrade (increased load). The second is a flamegraph that shows that over 80% of the CPU time is spent in the newly added function tcp_connection_limit_srcip().
<img width="372" alt="cpu-load-before-after" src="https://github.com/kamailio/kamailio/assets/6481937/ec92c41b-25e2-4847-a4bc…">

Most of the CPU time is spend in the TCP main process, as expected.
#### Log Messages
No special log messages could be observed.
#### SIP Traffic
### Possible Solutions
The TCP limit feature should probably be optimized to not cause such a large performance regression. It should be also possible to deactivate it completly and therefore getting a comparable performance as before the feature addition.
### Additional Information
Kamailio 5.7.3 and probably also git master version.
* **Operating System**:
Debian 11, Debian 12
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3759
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3759(a)github.com>
### Description
Currently secsipid has a method to sign arbitrary (json) data (`secsipid_sign`), however it has no converse method to check the signature. Currently, an attempt to check a `div` signature for example will yield a `-303` error (`SIPHdrInfo`). Rather than trying to have full parsing for every possible type of Identity header (which are likely to increase in variety), it would be good to simply check "is this signature valid by trusted key", possibly validating the `iat` timestamp as well, but without any other opinions on the header values.
### Expected behavior
A feature to check only the signature of an identity header.
#### Actual observed behavior
Currently the `secsipid_check_` family of functions fails for non- `shaken` passport types.
#### Debugging Data
The following DIV identity header was generated by secsipid's `secsipid_sign()` function, so it should be possible to reverse this to validate the signature:
```
Identity: eyJhbGciOiJFUzI1NiIsInBwdCI6ImRpdiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9kLm10c2VjLm1lL2QzYTkvQmZUeGJVTlozS1FMLnBlbSJ9.eyJkZXN0Ijp7InRuIjpbIjE2MTI1NTU0MzIxIl19LCJpYXQiOiIxNzEwMTY5MzQ1Iiwib3JpZyI6eyJ0biI6IjE1NTU3MzU5MzA5In0sImRpdiI6eyJ0biI6IjE5NTI1NTU5ODc2In19.-0QF6-u6zgAQNoAhdiETuhAu7FuRDzxmFch_cTdhcbeWvUZ60NQXxdPM-JucpOtFaEdn9wnFreAZ_6vZoc_Phg;info=<https://d.mtsec.me/d3a9/BfTxbUNZ3KQL.pem>;alg=ES256;ppt=div
```
### Possible Solutions
Because it's fairly straight forward to investigate the JWT, it's not necessary to try to account for every possible passport type, etc. The act of validating the signature is the complicated part, so a function that does only that would be convenient.
### 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**:
Currently alpine linux 3.19 in a docker container, but it should be pretty reproducible everywhere.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3784
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3784(a)github.com>
Hello all,
I've started working on integrating CMake as a build system for the Kamailio. This is an initial step towards potentially offering CMake as an alternative to the current build system across the entire Kamailio project.
Right now, the CMake configuration is quite basic and covers only the core module. It offers limited options described in Makefile.defs that are required to build the core module.
Some notes regarding the definitions can be found also in the CMakelists.notes<https://github.com/kamailio/kamailio/compare/master...cmake#diff-4e8ba0f2d5…> that made the build failed and maybe it's good to remove from current Makefiles as well, if i am not wrong.
Before we consider extending it to other modules and components, i would like some feedback whether you find it useful at all.
You can find the initial CMake files in the cmake branch. Please take a look and feel free to share any feedback or suggestions. Your input will be much appreciated and nessecary if we want CMake as a build system.
For anyone wanting to try and compile using cmake, here are some basic instructions on how to get you started.
Checkout the cmake branch of kamailio repo.
Create a new folder, let's call it build.
mkdir build && cd build
Then run CMake for the configuration
cmake .. (you can also then use ccmake . for a visual of the offered options)
Build and install using make
make -j4
make install
OR
Build and install using cmake
cmake --build .
cmake --install .
You can of course use the CMake variable CMAKE_INSTALL_PREFIX to change the installation paths as follows and of course other preprocessor defintions:
cmake -DCMAKE_INSTALL_PREFIX=./kamailio-cmake -DUSE_TCP=0 ..
This will install it in the build/kamailio-cmake folder but fails to build because USE_TCP is required for kamailio to build (Check CMakelists.notes).
Thank you all for your continuous contributions and support. Looking forward to hearing your thoughts and insights.
Best regards,
Xenofon
https://github.com/kamailio/kamailio/tree/cmake
[https://repository-images.githubusercontent.com/15101579/2d895000-e695-11e9…]<https://github.com/kamailio/kamailio/tree/cmake>
GitHub - kamailio/kamailio at cmake<https://github.com/kamailio/kamailio/tree/cmake>
Kamailio - The Open Source SIP Server for large VoIP and real-time communication platforms - - GitHub - kamailio/kamailio at cmake
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)
- [ ] 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
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3888
-- Commit Summary --
* usrloc: refactor some db queries using global usrloc_columns variable
-- File Changes --
M src/modules/usrloc/udomain.c (260)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3888.patchhttps://github.com/kamailio/kamailio/pull/3888.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3888
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3888(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
- [X] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
- [X] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Issue: when using usrloc with db_redis, I get constant WARNING logs for 'delete' via usrloc timer. The real WARNING, in my opinion, is when doing full table scans(which is already logged as so).
Make logs less important when performing table scans using a match key.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3892
-- Commit Summary --
* db_redis: change logs on delete
-- File Changes --
M src/modules/db_redis/redis_dbase.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3892.patchhttps://github.com/kamailio/kamailio/pull/3892.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3892
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3892(a)github.com>
Hello,
I am considering to release Kamailio v5.6.6 (out of branch 5.6) later
this week (likely on Wednesday, July 3, 2024). If anyone is aware of
issues not yet on the bug tracker, report them there asap in order to
have a better chance to be fixed.
This is going to be the last release out of branch 5.6 to mark the end
of official/packaging maintenance.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Hello,
I am considering to release Kamailio v5.7.6 (out of branch 5.7) on
Tuesday, July 2, 2024. If anyone is aware of issues not yet on the bug
tracker, report them there asap in order to have a better chance to be
fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.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 the checkboxes that apply -->
- [ ] 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 -->
https://datatracker.ietf.org/doc/html/rfc3265#section-3.2.2 says that if a NOTIFY fails, the subscription should be removed. There is one exception only, when a Retry-After is specified.
This is done in order to cleanup state and not keep it around for huge periods of time. This is preferred and the client is the one that should re-subscribe at intervals to fix the situation.
Anyway, I guess I was super annoyed by the huge number of useless notifications that I'm getting for gone IMS clients.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3895
-- Commit Summary --
* ims_registrar_scscf: drop subscription on notification failure
-- File Changes --
M src/modules/ims_registrar_scscf/registrar_notify.c (153)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3895.patchhttps://github.com/kamailio/kamailio/pull/3895.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3895
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3895(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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
<!-- Describe your changes in detail -->
The `ims_registrar_scscf` was not able to function with global-number tel-URIs. This fix prevents a bad AOR to search by from being formed, when the host part of Request-URI is empty.
e.g. INVITE with Request-URI `tel:+123` --> AOR to search by was `tel:+123@` --> not found in `ims_usrloc_scscf`
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3897
-- Commit Summary --
* ims_registrar_scscf: fix for location AOR with empty host
-- File Changes --
M src/modules/ims_registrar_scscf/lookup.c (5)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3897.patchhttps://github.com/kamailio/kamailio/pull/3897.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3897
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3897(a)github.com>
### Description
When using the RPC command `rtpengine.show`, the resulting list has the field `disabled` for each RTPEngine configured, and its value - for some reason can be either `0` (number), `1` (number) or `"1(permanent)"` (string).
For example:
```
$ curl -k -X POST -HContent-Type:application/json -d '{"jsonrpc":"2.0","method":"rtpengine.show","params":["all"],"id":1}' https://localhost:8443/rpc
{
"jsonrpc": "2.0",
"result": [{
"url": "udp:old-rtpengine2227",
"set": 0,
"index": 0,
"weight": 1,
"disabled": 1,
"recheck_ticks": 0
}, {
"url": "udp:172.24.73.28:2227",
"set": 0,
"index": 1,
"weight": 1,
"disabled": 0,
"recheck_ticks": 0
}, {
"url": "udp:172.24.75.15:2227",
"set": 0,
"index": 2,
"weight": 1,
"disabled": "1(permanent)",
"recheck_ticks": "N/A"
}],
"id": 1
}
```
This makes it very annoying to parse the results from JSON RPC (and maybe other machine readable RPC APIs). Also the same problem for `recheck_ticks`, but I never actually read it so it is less important for me.
#### Reproduction
The difference between `0` and `"1(permanent)"` can be seen by setting up multiple RTPEngine sockets that work and then disable one of the using the `rtpengine.enable` RPC command with the `flag` set to `0`. As far as I can tell that is the only way to get `recheck_ticks` to be set to `RTPENGINE_MAX_RECHECK_TICKS` which causes the "permanently disabled" state.
### Possible Solutions
I can try to offer a patch, but any change I can make will be a breaking API change - so if users are relying on this weird behavior, that could be a problem.
Maybe the best way to move forward is to expose two additional fields:
- `active` : `boolean` - set to `true` if the RTPEngine is not disabled, and to `false` if it is disabled (i.e. the value is equal to `disabled == 0`).
- `active` : `boolean` - set to `true` if the RTPEngine had not failed it checks (i.e. `recheck_ticks` is either 0 or `RTPENGINE_MAX_RECHECK_TICKS`). This will be set to `false` if `disabled` is set to `1`, and not `"1(permanent)"`.
Maybe the last field is unneeded? Maybe `"disabled"` can be changed to only report whether the RPC was used to disable the socket and let the `active` field specify whether the socket can be used?
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.7.5 (x86_64/linux) 58499a
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: 58499a
compiled on 00:00:00 Sep 13 2022 with gcc 11.4.1
```
* **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`)
-->
```
$ uname -a
Linux sip-172-24-50-23.XX.XX.XX 6.5.0-1020-aws #20~22.04.1-Ubuntu SMP Wed May 1 16:10:50 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/os-release
NAME="AlmaLinux"
VERSION="9.4 (Seafoam Ocelot)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.4 (Seafoam Ocelot)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.4"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.4"
SUPPORT_END=2032-06-01
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3896
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3896(a)github.com>
#### Pre-Submission Checklist
- [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)
- [ ] New feature (non-breaking change which adds new functionality)
- [x] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #3896
#### Description
As per issue #3896, "active" is a boolean field that just describes whether the socket will be used, while "disabled" now just describes whether the socket was disabled by an RPC command. Also make "disabled" and "recheck_ticks" fields have a fixed value type of boolean and number respectively.
use `"recheck_ticks": -1` instead of "N/A" as per discussion.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3898
-- Commit Summary --
* rtpengine: add "active" field to rtpengine.show as alternate of "disabled"
-- File Changes --
M src/modules/rtpengine/rtpengine.c (7)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3898.patchhttps://github.com/kamailio/kamailio/pull/3898.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3898
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3898(a)github.com>
Module: kamailio
Branch: master
Commit: 96ada96f69f606c35fd46a45def3b095026f2393
URL: https://github.com/kamailio/kamailio/commit/96ada96f69f606c35fd46a45def3b09…
Author: Oded Arbel <oded(a)geek.co.il>
Committer: GitHub <noreply(a)github.com>
Date: 2024-06-30T12:40:53-04:00
rtpengine: add "active" field to rtpengine.show as alternate of "disabled" (#3898)
As per issue #3896, "active" is a boolean field that just describes whether the socket will be used,
while "disabled" now just describes whether the socket was disabled by an RPC command. Also make
"disabled" and "recheck_ticks" fields have a fixed value type of boolean and number respectively.
use `"recheck_ticks": -1` instead of "N/A" as per discussion
---
Modified: src/modules/rtpengine/rtpengine.c
---
Diff: https://github.com/kamailio/kamailio/commit/96ada96f69f606c35fd46a45def3b09…
Patch: https://github.com/kamailio/kamailio/commit/96ada96f69f606c35fd46a45def3b09…
---
diff --git a/src/modules/rtpengine/rtpengine.c b/src/modules/rtpengine/rtpengine.c
index 775542c5994..54f22b1843f 100644
--- a/src/modules/rtpengine/rtpengine.c
+++ b/src/modules/rtpengine/rtpengine.c
@@ -1784,13 +1784,14 @@ static int add_rtpp_node_info(
if((1 == crt_rtpp->rn_disabled)
&& (crt_rtpp->rn_recheck_ticks == RTPENGINE_MAX_RECHECK_TICKS)) {
- rpc->struct_add(vh, "s", "disabled", "1(permanent)");
+ rpc->struct_add(vh, "b", "disabled", 1);
} else {
- rpc->struct_add(vh, "d", "disabled", crt_rtpp->rn_disabled);
+ rpc->struct_add(vh, "b", "disabled", 0);
}
+ rpc->struct_add(vh, "b", "active", crt_rtpp->rn_disabled == 0);
if(crt_rtpp->rn_recheck_ticks == RTPENGINE_MAX_RECHECK_TICKS) {
- rpc->struct_add(vh, "s", "recheck_ticks", "N/A");
+ rpc->struct_add(vh, "d", "recheck_ticks", -1);
} else {
rtpp_ticks = crt_rtpp->rn_recheck_ticks - get_ticks();
rtpp_ticks = rtpp_ticks < 0 ? 0 : rtpp_ticks;
Hey everybody,
While attempting to use the official Ubuntu package for Kamailio version 5.7.4 on Ubunut 24.04, we encountered an issue where TLS functionality does not seem to work as expected but 5.8 branch does.
Given this, I am inquiring about the availability and status of Kamailio packages for Ubuntu 24.04 on the official Kamailio repository at deb.kamailio.org. Are there any plans to support this version of Ubuntu with updated packages? If so, is there an estimated timeline for when these packages might become available?
Thank you in advance for your assistance.
Best regards,
Xenofon
<!--
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:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot 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
Hi, I ran into an issue where the Kamailio service seemingly froze (didn't crash, but failed to receive and deliver calls) while running, I went through the logs a little bit, and saw the same log pattern (pasted below) recouring every few months or so, on an older installation (5.2.0). Usually, it ended up automatically restarting the service. But not this time, I had to reload it manually to make the service work again.
Is this a known issue?
How can I make sure that the service will be able to restart the next time it happens?
Edward
### Troubleshooting
#### 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/
bt full
info locals
list
If you are familiar with gdb, feel free to attach more of what you consider to
be relevant.
-->
```
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/sbin/kamailio...done.
warning: exec file is newer than core file.
[New LWP 11413]
Core was generated by `kamailio'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f4e4a52e428 in ?? ()
(gdb) Quit
(gdb) bt full
#0 0x00007f4e4a52e428 in ?? ()
No symbol table info available.
#1 0x00007f4e4a53002a in ?? ()
No symbol table info available.
#2 0x0000000000000020 in ?? ()
No symbol table info available.
#3 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) info locals
No symbol table info available.
(gdb) list
1871 & now if we don't need it */
1872 #ifdef USE_SLOW_TIMER
1873 + 1 /* slow timer process */
1874 #endif
1875 #ifdef USE_TCP
1876 +((!tcp_disable)?( 1/* tcp main */ + tcp_listeners ):0)
1877 #endif
1878 #ifdef USE_SCTP
1879 +((!sctp_disable)?sctp_listeners:0)
1880 #endif
(gdb)
```
#### 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).
-->
```
Jun 28 16:35:22 kamprodegres kamailio: INFO: <core> [core/sctp_core.c:74]: sctp_core_check_support(): SCTP API not enabled - if you want to use it, load sctp module
Jun 28 16:35:22 kamprodegres kamailio: WARNING: <core> [core/socket_info.c:1394]: fix_hostname(): could not rev. resolve 70.36.25.87
Jun 28 16:35:22 kamprodegres kamailio: WARNING: <core> [core/socket_info.c:1394]: fix_hostname(): could not rev. resolve 70.36.25.87
Jun 28 16:35:22 kamprodegres kamailio: INFO: <core> [core/tcp_main.c:5042]: init_tcp(): using epoll_lt as the io watch method (auto detected)
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: jsonrpcs [jsonrpcs_sock.c:197]: jsonrpc_dgram_mod_init(): the socket /var/run/kamailio/kamailio_rpc.sock already exists, trying to delete it...
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: rr [../outbound/api.h:52]: ob_load_api(): unable to import bind_ob - maybe module is not loaded
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: rr [rr_mod.c:177]: mod_init(): outbound module not available
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [main.c:2779]: main(): processes (at least): 40 - shm size: 67108864 - pkg size: 8388608
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [core/udp_server.c:154]: probe_max_receive_buffer(): SO_RCVBUF is initially 212992
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [core/udp_server.c:206]: probe_max_receive_buffer(): SO_RCVBUF is finally 425984
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [core/udp_server.c:154]: probe_max_receive_buffer(): SO_RCVBUF is initially 212992
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [core/udp_server.c:206]: probe_max_receive_buffer(): SO_RCVBUF is finally 425984
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [core/udp_server.c:154]: probe_max_receive_buffer(): SO_RCVBUF is initially 212992
Jun 28 16:35:22 kamprodegres kamailio[8489]: INFO: <core> [core/udp_server.c:206]: probe_max_receive_buffer(): SO_RCVBUF is finally 425984
Jun 28 16:35:22 kamprodegres kamailio[8518]: INFO: jsonrpcs [jsonrpcs_sock.c:443]: jsonrpc_dgram_process(): a new child 0/8518
Jun 28 16:35:22 kamprodegres kamailio[8519]: INFO: ctl [io_listener.c:214]: io_listen_loop(): io_listen_loop: using epoll_lt io watch method (config)
Jun 29 18:13:37 kamprodegres kamailio[8513]: INFO: {1 581461 CANCEL 402954192_49936786(a)67.231.13.146} tm [t_reply.c:478]: _reply_light(): can't generate 487 reply when a final 404 was sent out
Jun 29 18:27:00 kamprodegres kamailio[8508]: INFO: {1 211236 CANCEL 405019408_127896329(a)67.231.13.146} tm [t_reply.c:478]: _reply_light(): can't generate 487 reply when a final 404 was sent out
Jun 29 18:51:10 kamprodegres /usr/local/sbin/kamailio[2269]: NOTICE: <core> [main.c:725]: handle_sigs(): Thank you for flying kamailio!!!
Jun 29 18:51:10 kamprodegres /usr/local/sbin/kamailio[2326]: INFO: <core> [main.c:847]: sig_usr(): signal 15 received
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.3.2 (x86_64/linux) 7ba545
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, 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_BLACKLIST, HAVE_RESOLV_RES
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: 7ba545
compiled on 16:37:32 Jun 14 2020 with gcc 5.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 `uname -a`)
-->
```
Ubuntu 16.04
```
--
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/2380
### Description
When I set up Kamailio, it is not easy to configure, monitor, and register visually.
There are compatibility issues with the older versions of Siremis components mentioned in the guide, and there are many problems in initialization and deployment that cannot be matched with the latest version.
Any other web management tools suggestions?
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3881
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3881(a)github.com>
Module: kamailio
Branch: master
Commit: 8df69ebca23bde071b08b0ed5b8cd34b2d28446b
URL: https://github.com/kamailio/kamailio/commit/8df69ebca23bde071b08b0ed5b8cd34…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-25T13:00:08+02:00
pv: docs for xavp_xparams_explode(...)
---
Modified: src/modules/pv/doc/pv_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/8df69ebca23bde071b08b0ed5b8cd34…
Patch: https://github.com/kamailio/kamailio/commit/8df69ebca23bde071b08b0ed5b8cd34…
---
diff --git a/src/modules/pv/doc/pv_admin.xml b/src/modules/pv/doc/pv_admin.xml
index 1f91e633a00..6a06bb717de 100644
--- a/src/modules/pv/doc/pv_admin.xml
+++ b/src/modules/pv/doc/pv_admin.xml
@@ -387,6 +387,39 @@ xavp_params_explode("a=b;c=d;e=d", "x");
# $xavp(x=>a) = "b";
# $xavp(x=>c) = "d";
# $xavp(x=>e) = "f";
+...
+ </programlisting>
+ </example>
+ </section>
+ <section id="pv.f.xavp_xparams_explode">
+ <title>
+ <function moreinfo="none">xavp_xparams_explode(sparams, sep, xname)</function>
+ </title>
+ <para>
+ Convert a parameters string in xavp attributes.
+ </para>
+ <para>
+ The first parameter has to be a string in similar format of SIP header
+ parameters (name1=value1;...;nameN=valueN), but the separator can
+ be other character than ';'. The second parameter is the separator
+ for the parameters list. The third parameter is the name of the
+ root xavp to hold the pairs (nameX,valueX).
+ </para>
+ <para>
+ The values are stored as string type.
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavp_xparams_explode</function> usage</title>
+ <programlisting format="linespecific">
+...
+xavp_xparams_explode("a=b,c=d,e=d", ",", "x");
+# results in:
+# $xavp(x=>a) = "b";
+# $xavp(x=>c) = "d";
+# $xavp(x=>e) = "f";
...
</programlisting>
</example>
@@ -1132,4 +1165,3 @@ $ &kamcmd; pv.shvGet debug
</section>
</chapter>
-
I just study and work with Kamailio . I have a issue about listening port . Please help me.
I install kamailio in centos 9 stream with version 5.6.5 when start call sometime, my system established connect from google dns (8.8.8.8:53) to kamailio with random port and it do call fail (not reply when receive invite ). please help me and i attatch screenshot
github.com>
Module: kamailio
Branch: master
Commit: 54aa2eac1a8c60e0741a5616e79b7b03e1e213e5
URL: https://github.com/kamailio/kamailio/commit/54aa2eac1a8c60e0741a5616e79b7b0…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-06-23T12:01:10+02:00
modules: readme files regenerated - textopsx ... [skip ci]
---
Modified: src/modules/textopsx/README
---
Diff: https://github.com/kamailio/kamailio/commit/54aa2eac1a8c60e0741a5616e79b7b0…
Patch: https://github.com/kamailio/kamailio/commit/54aa2eac1a8c60e0741a5616e79b7b0…
---
diff --git a/src/modules/textopsx/README b/src/modules/textopsx/README
index 7c6bc59df14..5344e15043d 100644
--- a/src/modules/textopsx/README
+++ b/src/modules/textopsx/README
@@ -753,8 +753,8 @@ bl_iterator_end("b1");
3.1. @hf_value
- Get value of required header-value or param. Note that functions called
- 'value2' works with Authorization-like headers where comma is not
+ Get value of required header-value or param. Note that selects called
+ 'hf_value2' work with Authorization-like headers where comma is not
treated as value delimiter.
Formats:
@@ -805,7 +805,9 @@ $prt = @hf_value2.authorization.integrity_protected;
3.2. @hf_value2
- TBA.
+ Similar to selects called 'hf_value', but work with Authorization-like
+ headers where comma is treated as attribute delimiter instead of header
+ value delimiter.
3.3. @hf_value_exists
Module: kamailio
Branch: master
Commit: d13c741d90c3887cdf144a9094a78c0c7cb9856d
URL: https://github.com/kamailio/kamailio/commit/d13c741d90c3887cdf144a9094a78c0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-23T11:52:34+02:00
textopsx: docs - note about @hf_value2 select
---
Modified: src/modules/textopsx/doc/selects.xml
---
Diff: https://github.com/kamailio/kamailio/commit/d13c741d90c3887cdf144a9094a78c0…
Patch: https://github.com/kamailio/kamailio/commit/d13c741d90c3887cdf144a9094a78c0…
---
diff --git a/src/modules/textopsx/doc/selects.xml b/src/modules/textopsx/doc/selects.xml
index 3c72c21cd36..dd3ea3f7a62 100644
--- a/src/modules/textopsx/doc/selects.xml
+++ b/src/modules/textopsx/doc/selects.xml
@@ -8,8 +8,8 @@
<section id="textopsx.sel.hf_value">
<title>@hf_value</title>
<para>
- Get value of required header-value or param. Note that functions called 'value2'
- works with Authorization-like headers where comma is not treated as value delimiter.
+ Get value of required header-value or param. Note that selects called 'hf_value2'
+ work with Authorization-like headers where comma is not treated as value delimiter.
</para>
<para>
Formats:
@@ -73,7 +73,9 @@ $prt = @hf_value2.authorization.integrity_protected;
<section id="textopsx.sel.hf_value2">
<title>@hf_value2</title>
<para>
- TBA.
+ Similar to selects called 'hf_value', but work with Authorization-like
+ headers where comma is treated as attribute delimiter instead of header
+ value delimiter.
</para>
</section>
<section id="textopsx.sel.hf_value_exists">
Module: kamailio
Branch: master
Commit: eaf18505360a3bbaf25889095fcf23b620caedff
URL: https://github.com/kamailio/kamailio/commit/eaf18505360a3bbaf25889095fcf23b…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-06-21T13:01:09+02:00
modules: readme files regenerated - textopsx ... [skip ci]
---
Modified: src/modules/textopsx/README
---
Diff: https://github.com/kamailio/kamailio/commit/eaf18505360a3bbaf25889095fcf23b…
Patch: https://github.com/kamailio/kamailio/commit/eaf18505360a3bbaf25889095fcf23b…
---
diff --git a/src/modules/textopsx/README b/src/modules/textopsx/README
index 9d6b81c05cd..7c6bc59df14 100644
--- a/src/modules/textopsx/README
+++ b/src/modules/textopsx/README
@@ -755,25 +755,36 @@ bl_iterator_end("b1");
Get value of required header-value or param. Note that functions called
'value2' works with Authorization-like headers where comma is not
- treated as value delimiter. Formats: @hf_value.HFNAME[IDX] # idx value,
- negative value counts from bottom @hf_value.HFNAME.PARAM_NAME
- @hf_value.HFNAME[IDX].PARAM_NAME @hf_value.HFNAME.p.PARAM_NAME # or
- .param., useful if required called "uri", "p", "param"
- @hf_value.HFNAME[IDX].p.PARAM_NAME # dtto @hf_value.HFNAME[IDX].uri #
- (< & > excluded) @hf_value.HFNAME[*] # return comma delimited list of
- all values (combines headers) @hf_value.HFNAME # the same as above [*]
- but may be parsed by cfg.y @hf_value.HFNAME[*].uri # return comma
- delimited list of uris (< & > excluded) @hf_value.HFNAME.uri # the same
- as above [*] but may be parsed by cfg.y @hf_value.HFNAME[IDX].name #
- returns name part, quotes excluded @hf_value.HFNAME.name # returns name
- part of the first value @hf_value2.HFNAME # returns value of first
- header @hf_value2.HFNAME[IDX] # returns value of idx's header
- @hf_value2.HFNAME.PARAM_NAME @hf_value2.HFNAME[IDX].PARAM_NAME
- @hf_value.HFNAME[IDX].uri # return URI, quotes excluded
- @hf_value.HFNAME.p.uri # returns param named uri, not URI itself
- @hf_value.HFNAME.p.name # returns param named name, not name itself
- @hf_value.HFNAME[IDX].uri.name # any sel_any_uri nested features may be
- used @hf_value.HFNAME[IDX].nameaddr.name # select_any_nameaddr
+ treated as value delimiter.
+
+ Formats:
+ * @hf_value.HFNAME[IDX] # idx value, negative value counts from
+ bottom
+ * @hf_value.HFNAME.PARAM_NAME
+ * @hf_value.HFNAME[IDX].PARAM_NAME
+ * @hf_value.HFNAME.p.PARAM_NAME # or .param., useful if required
+ called "uri", "p", "param"
+ * @hf_value.HFNAME[IDX].p.PARAM_NAME # dtto
+ * @hf_value.HFNAME[IDX].uri # (< & > excluded)
+ * @hf_value.HFNAME[*] # return comma delimited list of all values
+ (combines headers)
+ * @hf_value.HFNAME # the same as above [*] but may be parsed by cfg.y
+ * @hf_value.HFNAME[*].uri # return comma delimited list of uris (< &
+ > excluded)
+ * @hf_value.HFNAME.uri # the same as above [*] but may be parsed by
+ cfg.y
+ * @hf_value.HFNAME[IDX].name # returns name part, quotes excluded
+ * @hf_value.HFNAME.name # returns name part of the first value
+ * @hf_value2.HFNAME # returns value of first header
+ * @hf_value2.HFNAME[IDX] # returns value of idx's header
+ * @hf_value2.HFNAME.PARAM_NAME
+ * @hf_value2.HFNAME[IDX].PARAM_NAME
+ * @hf_value.HFNAME[IDX].uri # return URI, quotes excluded
+ * @hf_value.HFNAME.p.uri # returns param named uri, not URI itself
+ * @hf_value.HFNAME.p.name # returns param named name, not name itself
+ * @hf_value.HFNAME[IDX].uri.name # any sel_any_uri nested features
+ may be used
+ * @hf_value.HFNAME[IDX].nameaddr.name # select_any_nameaddr
Meaning of the parameters is as follows:
* HFNAME - Header field name. Underscores are treated as dashes.
- affected: src/lib/ims, src/modules/cdp*, src/modules/ims_*
- the Fraunhofer FOKUS institute name was misspelled in the comment headers
<!-- 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
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] 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)
- [ ] 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
<!-- Describe your changes in detail -->
The name of the Fraunhofer FOKUS institute was incomplete and misspelled. It bugged me for a long time :upside_down_face: .
The changes are not split in 2 commits - one for lib and one for modules. Since these are just bulk changes with no effect on the output, should it be split or it's better if it is not?
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3889
-- Commit Summary --
* lib, modules: fixed Fraunhofer FOKUS name
-- File Changes --
M src/lib/ims/ims_getters.c (4)
M src/lib/ims/ims_getters.h (4)
M src/lib/ims/useful_defs.h (4)
M src/modules/cdp/acceptor.c (4)
M src/modules/cdp/acceptor.h (4)
M src/modules/cdp/api_process.c (4)
M src/modules/cdp/api_process.h (4)
M src/modules/cdp/authstatemachine.c (4)
M src/modules/cdp/authstatemachine.h (4)
M src/modules/cdp/cdp_load.c (4)
M src/modules/cdp/cdp_load.h (4)
M src/modules/cdp/cdp_mod.c (4)
M src/modules/cdp/cdp_mod.h (4)
M src/modules/cdp/config.c (4)
M src/modules/cdp/config.h (4)
M src/modules/cdp/configdtd.h (4)
M src/modules/cdp/configparser.c (4)
M src/modules/cdp/diameter.h (4)
M src/modules/cdp/diameter_api.h (4)
M src/modules/cdp/diameter_avp.c (4)
M src/modules/cdp/diameter_code_avp.h (4)
M src/modules/cdp/diameter_code_result.h (4)
M src/modules/cdp/diameter_comm.c (4)
M src/modules/cdp/diameter_epc.h (4)
M src/modules/cdp/diameter_epc_code_app.h (4)
M src/modules/cdp/diameter_epc_code_avp.h (4)
M src/modules/cdp/diameter_epc_code_cmd.h (4)
M src/modules/cdp/diameter_epc_code_result.h (4)
M src/modules/cdp/diameter_ims.h (4)
M src/modules/cdp/diameter_ims_code_app.h (4)
M src/modules/cdp/diameter_ims_code_avp.h (4)
M src/modules/cdp/diameter_ims_code_cmd.h (4)
M src/modules/cdp/diameter_ims_code_result.h (4)
M src/modules/cdp/diameter_msg.c (4)
M src/modules/cdp/diameter_peer.c (4)
M src/modules/cdp/diameter_peer.h (4)
M src/modules/cdp/globals.c (4)
M src/modules/cdp/globals.h (4)
M src/modules/cdp/peer.c (4)
M src/modules/cdp/peer.h (4)
M src/modules/cdp/peermanager.c (4)
M src/modules/cdp/peermanager.h (4)
M src/modules/cdp/peerstatemachine.c (4)
M src/modules/cdp/peerstatemachine.h (4)
M src/modules/cdp/receiver.c (4)
M src/modules/cdp/receiver.h (4)
M src/modules/cdp/routing.c (2)
M src/modules/cdp/routing.h (4)
M src/modules/cdp/sem.h (4)
M src/modules/cdp/session.c (4)
M src/modules/cdp/session.h (4)
M src/modules/cdp/tcp_accept.c (4)
M src/modules/cdp/tcp_accept.h (4)
M src/modules/cdp/timer.c (4)
M src/modules/cdp/timer.h (4)
M src/modules/cdp/transaction.c (4)
M src/modules/cdp/transaction.h (4)
M src/modules/cdp/utils.h (4)
M src/modules/cdp/worker.c (4)
M src/modules/cdp/worker.h (4)
M src/modules/cdp_avp/avp_add.c (4)
M src/modules/cdp_avp/avp_add.h (4)
M src/modules/cdp_avp/avp_get.c (4)
M src/modules/cdp_avp/avp_get.h (4)
M src/modules/cdp_avp/avp_get_base_data_format.c (4)
M src/modules/cdp_avp/avp_get_base_data_format.h (4)
M src/modules/cdp_avp/avp_new.c (4)
M src/modules/cdp_avp/avp_new.h (4)
M src/modules/cdp_avp/avp_new_base_data_format.c (4)
M src/modules/cdp_avp/avp_new_base_data_format.h (4)
M src/modules/cdp_avp/base.c (4)
M src/modules/cdp_avp/base.h (4)
M src/modules/cdp_avp/ccapp.c (4)
M src/modules/cdp_avp/ccapp.h (4)
M src/modules/cdp_avp/cdp_avp_mod.c (4)
M src/modules/cdp_avp/cdp_avp_mod.h (4)
M src/modules/cdp_avp/epcapp.c (4)
M src/modules/cdp_avp/epcapp.h (4)
M src/modules/cdp_avp/get_reference.h (4)
M src/modules/cdp_avp/imsapp.c (4)
M src/modules/cdp_avp/imsapp.h (4)
M src/modules/cdp_avp/macros.h (4)
M src/modules/cdp_avp/nasapp.c (4)
M src/modules/cdp_avp/nasapp.h (4)
M src/modules/ims_auth/api.h (4)
M src/modules/ims_auth/authorize.c (4)
M src/modules/ims_auth/authorize.h (4)
M src/modules/ims_auth/blurb (4)
M src/modules/ims_auth/conversion.c (4)
M src/modules/ims_auth/conversion.h (4)
M src/modules/ims_auth/cxdx_avp.c (4)
M src/modules/ims_auth/cxdx_avp.h (4)
M src/modules/ims_auth/cxdx_mar.c (4)
M src/modules/ims_auth/cxdx_mar.h (4)
M src/modules/ims_auth/ims_auth_mod.c (4)
M src/modules/ims_auth/ims_auth_mod.h (4)
M src/modules/ims_auth/pvt_message.c (4)
M src/modules/ims_auth/pvt_message.h (4)
M src/modules/ims_auth/rfc2617.c (4)
M src/modules/ims_auth/rfc2617.h (4)
M src/modules/ims_auth/sip_messages.h (4)
M src/modules/ims_auth/stats.c (4)
M src/modules/ims_auth/stats.h (4)
M src/modules/ims_auth/utils.c (4)
M src/modules/ims_auth/utils.h (4)
M src/modules/ims_diameter_server/sem.h (4)
M src/modules/ims_icscf/cxdx_avp.c (4)
M src/modules/ims_icscf/cxdx_avp.h (4)
M src/modules/ims_icscf/cxdx_lir.c (4)
M src/modules/ims_icscf/cxdx_lir.h (4)
M src/modules/ims_icscf/cxdx_uar.c (4)
M src/modules/ims_icscf/cxdx_uar.h (4)
M src/modules/ims_icscf/db.c (4)
M src/modules/ims_icscf/db.h (4)
M src/modules/ims_icscf/ims_icscf_mod.c (4)
M src/modules/ims_icscf/ims_icscf_mod.h (4)
M src/modules/ims_icscf/location.c (4)
M src/modules/ims_icscf/location.h (4)
M src/modules/ims_icscf/nds.c (4)
M src/modules/ims_icscf/nds.h (4)
M src/modules/ims_icscf/registration.c (4)
M src/modules/ims_icscf/registration.h (4)
M src/modules/ims_icscf/scscf_list.c (4)
M src/modules/ims_icscf/scscf_list.h (4)
M src/modules/ims_icscf/sip_messages.h (4)
M src/modules/ims_icscf/stats.c (4)
M src/modules/ims_icscf/stats.h (4)
M src/modules/ims_ipsec_pcscf/cmd.c (4)
M src/modules/ims_ipsec_pcscf/cmd.h (4)
M src/modules/ims_isc/blurb (4)
M src/modules/ims_isc/checker.c (4)
M src/modules/ims_isc/checker.h (4)
M src/modules/ims_isc/ims_isc_mod.c (4)
M src/modules/ims_isc/ims_isc_mod.h (4)
M src/modules/ims_isc/isc.c (4)
M src/modules/ims_isc/isc.h (4)
M src/modules/ims_isc/mark.c (4)
M src/modules/ims_isc/mark.h (4)
M src/modules/ims_isc/third_party_reg.c (4)
M src/modules/ims_isc/third_party_reg.h (4)
M src/modules/ims_ocs/sem.h (4)
M src/modules/ims_qos/cdpeventprocessor.c (4)
M src/modules/ims_qos/cdpeventprocessor.h (4)
M src/modules/ims_qos/ims_qos_mod.c (4)
M src/modules/ims_qos/ims_qos_mod.h (4)
M src/modules/ims_qos/ims_qos_stats.c (4)
M src/modules/ims_qos/rx_aar.c (4)
M src/modules/ims_qos/rx_aar.h (4)
M src/modules/ims_qos/rx_asr.c (4)
M src/modules/ims_qos/rx_asr.h (4)
M src/modules/ims_qos/rx_authdata.c (4)
M src/modules/ims_qos/rx_authdata.h (4)
M src/modules/ims_qos/rx_avp.c (4)
M src/modules/ims_qos/rx_avp.h (4)
M src/modules/ims_qos/rx_str.c (4)
M src/modules/ims_qos/rx_str.h (4)
M src/modules/ims_qos/sem.h (4)
M src/modules/ims_qos/stats.c (4)
M src/modules/ims_qos/stats.h (4)
M src/modules/ims_registrar_pcscf/async_reginfo.c (4)
M src/modules/ims_registrar_pcscf/async_reginfo.h (4)
M src/modules/ims_registrar_pcscf/ims_registrar_pcscf_mod.c (4)
M src/modules/ims_registrar_pcscf/ims_registrar_pcscf_mod.h (4)
M src/modules/ims_registrar_pcscf/save.c (4)
M src/modules/ims_registrar_pcscf/save.h (4)
M src/modules/ims_registrar_pcscf/sem.h (4)
M src/modules/ims_registrar_pcscf/ul_callback.c (4)
M src/modules/ims_registrar_pcscf/ul_callback.h (4)
M src/modules/ims_registrar_scscf/cxdx_avp.c (4)
M src/modules/ims_registrar_scscf/cxdx_avp.h (4)
M src/modules/ims_registrar_scscf/cxdx_sar.c (4)
M src/modules/ims_registrar_scscf/cxdx_sar.h (4)
M src/modules/ims_registrar_scscf/ims_registrar_scscf_mod.c (4)
M src/modules/ims_registrar_scscf/ims_registrar_scscf_mod.h (4)
M src/modules/ims_registrar_scscf/pvt_message.c (4)
M src/modules/ims_registrar_scscf/pvt_message.h (4)
M src/modules/ims_registrar_scscf/registrar_notify.c (4)
M src/modules/ims_registrar_scscf/registrar_notify.h (4)
M src/modules/ims_registrar_scscf/save.c (4)
M src/modules/ims_registrar_scscf/save.h (4)
M src/modules/ims_registrar_scscf/sem.h (4)
M src/modules/ims_registrar_scscf/server_assignment.c (4)
M src/modules/ims_registrar_scscf/server_assignment.h (4)
M src/modules/ims_registrar_scscf/stats.c (4)
M src/modules/ims_registrar_scscf/stats.h (4)
M src/modules/ims_registrar_scscf/userdata_parser.c (4)
M src/modules/ims_registrar_scscf/userdata_parser.h (4)
M src/modules/ims_registrar_scscf/usrloc_cb.c (4)
M src/modules/ims_registrar_scscf/usrloc_cb.h (4)
M src/modules/ims_usrloc_pcscf/dlist.c (4)
M src/modules/ims_usrloc_pcscf/dlist.h (4)
M src/modules/ims_usrloc_pcscf/hslot.c (4)
M src/modules/ims_usrloc_pcscf/hslot.h (4)
M src/modules/ims_usrloc_pcscf/ims_usrloc_pcscf_mod.c (4)
M src/modules/ims_usrloc_pcscf/ims_usrloc_pcscf_mod.h (4)
M src/modules/ims_usrloc_pcscf/pcontact.c (4)
M src/modules/ims_usrloc_pcscf/pcontact.h (4)
M src/modules/ims_usrloc_pcscf/reginfo.c (4)
M src/modules/ims_usrloc_pcscf/reginfo.h (4)
M src/modules/ims_usrloc_pcscf/udomain.c (4)
M src/modules/ims_usrloc_pcscf/udomain.h (4)
M src/modules/ims_usrloc_pcscf/ul_callback.c (4)
M src/modules/ims_usrloc_pcscf/ul_callback.h (4)
M src/modules/ims_usrloc_pcscf/ul_rpc.c (4)
M src/modules/ims_usrloc_pcscf/ul_rpc.h (4)
M src/modules/ims_usrloc_pcscf/usrloc.c (4)
M src/modules/ims_usrloc_pcscf/usrloc.h (4)
M src/modules/ims_usrloc_pcscf/utime.c (4)
M src/modules/ims_usrloc_pcscf/utime.h (4)
M src/modules/ims_usrloc_scscf/bin_utils.c (4)
M src/modules/ims_usrloc_scscf/bin_utils.h (4)
M src/modules/ims_usrloc_scscf/contact_hslot.c (4)
M src/modules/ims_usrloc_scscf/contact_hslot.h (4)
M src/modules/ims_usrloc_scscf/dlist.c (4)
M src/modules/ims_usrloc_scscf/dlist.h (4)
M src/modules/ims_usrloc_scscf/hslot.c (4)
M src/modules/ims_usrloc_scscf/hslot.h (4)
M src/modules/ims_usrloc_scscf/hslot_sp.c (4)
M src/modules/ims_usrloc_scscf/hslot_sp.h (4)
M src/modules/ims_usrloc_scscf/impurecord.c (4)
M src/modules/ims_usrloc_scscf/impurecord.h (4)
M src/modules/ims_usrloc_scscf/ims_usrloc_scscf_mod.c (4)
M src/modules/ims_usrloc_scscf/ims_usrloc_scscf_mod.h (4)
M src/modules/ims_usrloc_scscf/subscribe.c (4)
M src/modules/ims_usrloc_scscf/subscribe.h (4)
M src/modules/ims_usrloc_scscf/ucontact.c (4)
M src/modules/ims_usrloc_scscf/ucontact.h (4)
M src/modules/ims_usrloc_scscf/udomain.c (4)
M src/modules/ims_usrloc_scscf/udomain.h (4)
M src/modules/ims_usrloc_scscf/ul_callback.c (4)
M src/modules/ims_usrloc_scscf/ul_callback.h (4)
M src/modules/ims_usrloc_scscf/usrloc.c (4)
M src/modules/ims_usrloc_scscf/usrloc.h (4)
M src/modules/ims_usrloc_scscf/utime.c (4)
M src/modules/ims_usrloc_scscf/utime.h (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3889.patchhttps://github.com/kamailio/kamailio/pull/3889.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3889
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3889(a)github.com>
Module: kamailio
Branch: master
Commit: 9317670dc2624a0ed06114e42e0e054ac5cbafb6
URL: https://github.com/kamailio/kamailio/commit/9317670dc2624a0ed06114e42e0e054…
Author: Dragos Vingarzan <vingarzan(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-21T12:58:01+02:00
lib/ims: fixed Fraunhofer FOKUS Institute name
- #3889
---
Modified: src/lib/ims/ims_getters.c
Modified: src/lib/ims/ims_getters.h
Modified: src/lib/ims/useful_defs.h
---
Diff: https://github.com/kamailio/kamailio/commit/9317670dc2624a0ed06114e42e0e054…
Patch: https://github.com/kamailio/kamailio/commit/9317670dc2624a0ed06114e42e0e054…
---
diff --git a/src/lib/ims/ims_getters.c b/src/lib/ims/ims_getters.c
index d50f6b3571d..c752f08eef1 100644
--- a/src/lib/ims/ims_getters.c
+++ b/src/lib/ims/ims_getters.c
@@ -4,7 +4,7 @@
*
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -14,7 +14,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
diff --git a/src/lib/ims/ims_getters.h b/src/lib/ims/ims_getters.h
index 6004f228eb5..77a55a6695b 100644
--- a/src/lib/ims/ims_getters.h
+++ b/src/lib/ims/ims_getters.h
@@ -5,7 +5,7 @@
* Copyright (C) 2012 Smile Communications, richard.good(a)smilecoms.com
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -15,7 +15,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
diff --git a/src/lib/ims/useful_defs.h b/src/lib/ims/useful_defs.h
index 111bd2e6c00..5461eea6859 100644
--- a/src/lib/ims/useful_defs.h
+++ b/src/lib/ims/useful_defs.h
@@ -6,7 +6,7 @@
*
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -16,7 +16,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
<!-- 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, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
<!-- Describe your changes in detail -->
Part of the documentation of the textopsx module (the selectors) was hard to read, since it was missing line-wraps in the example.
- itemizing the list of examples for readability
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3887
-- Commit Summary --
* fixed hard-to-read documentation for textopsx
-- File Changes --
M src/modules/textopsx/README (49)
M src/modules/textopsx/doc/selects.xml (49)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3887.patchhttps://github.com/kamailio/kamailio/pull/3887.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3887
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3887(a)github.com>
Module: kamailio
Branch: master
Commit: cd57d606cc6bfc96fca50e495d3a587fee25cc4f
URL: https://github.com/kamailio/kamailio/commit/cd57d606cc6bfc96fca50e495d3a587…
Author: Dragos Vingarzan <vingarzan(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-21T12:58:01+02:00
ims_ocs: fixed Fraunhofer FOKUS Institute name
- #3889
---
Modified: src/modules/ims_ocs/sem.h
---
Diff: https://github.com/kamailio/kamailio/commit/cd57d606cc6bfc96fca50e495d3a587…
Patch: https://github.com/kamailio/kamailio/commit/cd57d606cc6bfc96fca50e495d3a587…
---
diff --git a/src/modules/ims_ocs/sem.h b/src/modules/ims_ocs/sem.h
index f72073004ee..45d4467dd1f 100644
--- a/src/modules/ims_ocs/sem.h
+++ b/src/modules/ims_ocs/sem.h
@@ -6,7 +6,7 @@
*
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -16,7 +16,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
Module: kamailio
Branch: master
Commit: addc23622a4125293c25805cc8f1207af94a942a
URL: https://github.com/kamailio/kamailio/commit/addc23622a4125293c25805cc8f1207…
Author: Dragos Vingarzan <vingarzan(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-21T12:58:01+02:00
ims_ipsec_pcscf: fixed Fraunhofer FOKUS Institute name
- #3889
---
Modified: src/modules/ims_ipsec_pcscf/cmd.c
Modified: src/modules/ims_ipsec_pcscf/cmd.h
---
Diff: https://github.com/kamailio/kamailio/commit/addc23622a4125293c25805cc8f1207…
Patch: https://github.com/kamailio/kamailio/commit/addc23622a4125293c25805cc8f1207…
---
diff --git a/src/modules/ims_ipsec_pcscf/cmd.c b/src/modules/ims_ipsec_pcscf/cmd.c
index 3ce36d27952..1f85cffc694 100644
--- a/src/modules/ims_ipsec_pcscf/cmd.c
+++ b/src/modules/ims_ipsec_pcscf/cmd.c
@@ -5,7 +5,7 @@
*
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -15,7 +15,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
diff --git a/src/modules/ims_ipsec_pcscf/cmd.h b/src/modules/ims_ipsec_pcscf/cmd.h
index e22000028f1..bf0884b9623 100644
--- a/src/modules/ims_ipsec_pcscf/cmd.h
+++ b/src/modules/ims_ipsec_pcscf/cmd.h
@@ -7,7 +7,7 @@
*
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -17,7 +17,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
Module: kamailio
Branch: master
Commit: f2f3e0bbb3f04cdb8fe184f4188ad83635a7a7c9
URL: https://github.com/kamailio/kamailio/commit/f2f3e0bbb3f04cdb8fe184f4188ad83…
Author: Dragos Vingarzan <vingarzan(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-21T12:58:01+02:00
ims_diameter_server: fixed Fraunhofer FOKUS Institute name
- #3889
---
Modified: src/modules/ims_diameter_server/sem.h
---
Diff: https://github.com/kamailio/kamailio/commit/f2f3e0bbb3f04cdb8fe184f4188ad83…
Patch: https://github.com/kamailio/kamailio/commit/f2f3e0bbb3f04cdb8fe184f4188ad83…
---
diff --git a/src/modules/ims_diameter_server/sem.h b/src/modules/ims_diameter_server/sem.h
index f72073004ee..45d4467dd1f 100644
--- a/src/modules/ims_diameter_server/sem.h
+++ b/src/modules/ims_diameter_server/sem.h
@@ -6,7 +6,7 @@
*
* The initial version of this code was written by Dragos Vingarzan
* (dragos(dot)vingarzan(at)fokus(dot)fraunhofer(dot)de and the
- * Fruanhofer Institute. It was and still is maintained in a separate
+ * Fraunhofer FOKUS Institute. It was and still is maintained in a separate
* branch of the original SER. We are therefore migrating it to
* Kamailio/SR and look forward to maintaining it from here on out.
* 2011/2012 Smile Communications, Pty. Ltd.
@@ -16,7 +16,7 @@
* effort to add full IMS support to Kamailio/SR using a new and
* improved architecture
*
- * NB: Alot of this code was originally part of OpenIMSCore,
+ * NB: A lot of this code was originally part of OpenIMSCore,
* FhG Fokus.
* Copyright (C) 2004-2006 FhG Fokus
* Thanks for great work! This is an effort to
Module: kamailio
Branch: master
Commit: 48d97c1941f660aa396b5ef100584611cf92ad21
URL: https://github.com/kamailio/kamailio/commit/48d97c1941f660aa396b5ef10058461…
Author: Dragos Vingarzan <vingarzan(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-21T12:57:56+02:00
textopx/doc: fixed hard-to-read documentation for textopsx
- was missing line-wraps in examples list, hence very hard to read
---
Modified: src/modules/textopsx/doc/selects.xml
---
Diff: https://github.com/kamailio/kamailio/commit/48d97c1941f660aa396b5ef10058461…
Patch: https://github.com/kamailio/kamailio/commit/48d97c1941f660aa396b5ef10058461…
---
diff --git a/src/modules/textopsx/doc/selects.xml b/src/modules/textopsx/doc/selects.xml
index 6d4dd4e3a25..3c72c21cd36 100644
--- a/src/modules/textopsx/doc/selects.xml
+++ b/src/modules/textopsx/doc/selects.xml
@@ -9,30 +9,35 @@
<title>@hf_value</title>
<para>
Get value of required header-value or param. Note that functions called 'value2'
- works with Authorization-like headers where comma is not treated as value delimiter. Formats:
- @hf_value.HFNAME[IDX] # idx value, negative value counts from bottom
- @hf_value.HFNAME.PARAM_NAME
- @hf_value.HFNAME[IDX].PARAM_NAME
- @hf_value.HFNAME.p.PARAM_NAME # or .param., useful if required called "uri", "p", "param"
- @hf_value.HFNAME[IDX].p.PARAM_NAME # dtto
- @hf_value.HFNAME[IDX].uri # (< & > excluded)
- @hf_value.HFNAME[*] # return comma delimited list of all values (combines headers)
- @hf_value.HFNAME # the same as above [*] but may be parsed by cfg.y
- @hf_value.HFNAME[*].uri # return comma delimited list of uris (< & > excluded)
- @hf_value.HFNAME.uri # the same as above [*] but may be parsed by cfg.y
- @hf_value.HFNAME[IDX].name # returns name part, quotes excluded
- @hf_value.HFNAME.name # returns name part of the first value
+ works with Authorization-like headers where comma is not treated as value delimiter.
+ </para>
+ <para>
+ Formats:
+ <itemizedlist>
+ <listitem>@hf_value.HFNAME[IDX] # idx value, negative value counts from bottom</listitem>
+ <listitem>@hf_value.HFNAME.PARAM_NAME</listitem>
+ <listitem>@hf_value.HFNAME[IDX].PARAM_NAME</listitem>
+ <listitem>@hf_value.HFNAME.p.PARAM_NAME # or .param., useful if required called "uri", "p", "param"</listitem>
+ <listitem>@hf_value.HFNAME[IDX].p.PARAM_NAME # dtto</listitem>
+ <listitem>@hf_value.HFNAME[IDX].uri # (< & > excluded)</listitem>
+ <listitem>@hf_value.HFNAME[*] # return comma delimited list of all values (combines headers)</listitem>
+ <listitem>@hf_value.HFNAME # the same as above [*] but may be parsed by cfg.y</listitem>
+ <listitem>@hf_value.HFNAME[*].uri # return comma delimited list of uris (< & > excluded)</listitem>
+ <listitem>@hf_value.HFNAME.uri # the same as above [*] but may be parsed by cfg.y</listitem>
+ <listitem>@hf_value.HFNAME[IDX].name # returns name part, quotes excluded</listitem>
+ <listitem>@hf_value.HFNAME.name # returns name part of the first value</listitem>
- @hf_value2.HFNAME # returns value of first header
- @hf_value2.HFNAME[IDX] # returns value of idx's header
- @hf_value2.HFNAME.PARAM_NAME
- @hf_value2.HFNAME[IDX].PARAM_NAME
+ <listitem>@hf_value2.HFNAME # returns value of first header</listitem>
+ <listitem>@hf_value2.HFNAME[IDX] # returns value of idx's header</listitem>
+ <listitem>@hf_value2.HFNAME.PARAM_NAME</listitem>
+ <listitem>@hf_value2.HFNAME[IDX].PARAM_NAME</listitem>
- @hf_value.HFNAME[IDX].uri # return URI, quotes excluded
- @hf_value.HFNAME.p.uri # returns param named uri, not URI itself
- @hf_value.HFNAME.p.name # returns param named name, not name itself
- @hf_value.HFNAME[IDX].uri.name # any sel_any_uri nested features may be used
- @hf_value.HFNAME[IDX].nameaddr.name # select_any_nameaddr
+ <listitem>@hf_value.HFNAME[IDX].uri # return URI, quotes excluded</listitem>
+ <listitem>@hf_value.HFNAME.p.uri # returns param named uri, not URI itself</listitem>
+ <listitem>@hf_value.HFNAME.p.name # returns param named name, not name itself</listitem>
+ <listitem>@hf_value.HFNAME[IDX].uri.name # any sel_any_uri nested features may be used</listitem>
+ <listitem>@hf_value.HFNAME[IDX].nameaddr.name # select_any_nameaddr</listitem>
+ </itemizedlist>
</para>
<para>Meaning of the parameters is as follows:</para>
<itemizedlist>
When I start Kamailio master version that has been built on Debian 12 with default-libmysqlclient-dev depending on libmariadb-dev-compat, several warnings like this are produced:
```
2024-06-17T14:48:27.702827+03:00 siika /usr/bin/sip-proxy[297246]: WARNING: db_mysql
[km_my_con.c:187]: db_mysql_new_connection(): opt_ssl_ca option not supported by mysql
version (value (null)) - ignoring
```
The only db_mysql configuration option used in the config is ping_interval.
I would expect that the warnings are not produced like it is the case when I build Kamailio branch 5.8.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3884
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3884(a)github.com>
### Description
amqp_ssl_socket_set_*() functions are just for amqp_ssl_socket sockets
#### Reproduction
```
loadmodule "rabbitmq.so"
modparam("rabbitmq", "url", "amqp://guest:guest@rabbitmq:5672/%2Fkamailio")
```
#### Debugging Data
```
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007fd60b427e8f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007fd60b3d8fb2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007fd60b3c3472 in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007fd5f5a78831 in amqp_abort (fmt=fmt@entry=0x7fd5f5a82358 "<%p> is not of type amqp_ssl_socket_t") at ./librabbitmq/amqp_api.c:183
#5 0x00007fd5f5a7f032 in amqp_ssl_socket_set_verify_peer (base=<optimized out>, verify=verify@entry=0) at ./librabbitmq/amqp_openssl.c:519
#6 0x00007fd5f5a8adf1 in rabbitmq_connect (conn=0x7fd5f5a98328 <amqp_conn>) at ./src/modules/rabbitmq/rabbitmq.c:610
#7 0x00007fd5f5a918e7 in mod_child_init (rank=-127) at ./src/modules/rabbitmq/rabbitmq.c:180
#8 0x000055ec03183a8f in init_mod_child (m=0x7fd607c8bd00, rank=-127) at core/sr_module.c:920
#9 0x000055ec031887ab in init_child (rank=rank@entry=-127) at core/sr_module.c:999
#10 0x000055ec02ff5e07 in main_loop () at ./src/main.c:1725
#11 0x000055ec02feba87 in main (argc=<optimized out>, argv=<optimized out>) at ./src/main.c:3256
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3883
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3883(a)github.com>
<!--
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.
I made a test :Several volte mobile accessed into eNB, some of them made call and hung up periodically .
After some time, ims registrations all failed. I found pcscf error log below periodically when try to ims register :
2024-05-28T13:32:30.952258+08:00 spid-YL-CLU6L-V1 pcscf[13401]: ERROR: {1 750211591 REGISTER 750211591_1277609064(a)172.60.5.12} cdp [routing.c:296]: get_routing_peer(): get_routing_peer(): No connected DefaultRoute peer found for app_id 16777236 and vendor id 10415.
2024-05-28T13:32:30.952346+08:00 spid-YL-CLU6L-V1 pcscf[13401]: ERROR: {1 750211591 REGISTER 750211591_1277609064(a)172.60.5.12} cdp [diameter_comm.c:144]: AAASendMessage(): AAASendMessage(): Can't find a suitable connected peer in the routing table.
And the RX reconnection appeared periodically ,which could be found in packet capture:
2024-05-28T13:32:49.595500+08:00 spid-YL-CLU6L-V1 pcscf[13372]: INFO: cdp [receiver.c:1006]: peer_connect(): peer_connect(): Trying to connect to 127.0.0.9 port 3868
2024-05-28T13:32:49.595621+08:00 spid-YL-CLU6L-V1 pcscf[13372]: INFO: cdp [receiver.c:1106]: peer_connect(): peer_connect(): Peer pcrf.epc.mnc009.mcc460.3gppnetwork.org:3868 connected
PCRF error log periodically :
[diam] ERROR: pid:PSM/pcscf.ims.mnc009.mcc460.3gppnetwork.org in [fd_p_ce_handle_newCER@p_ce.c](mailto:fd_p_ce_handle_newCER@p_ce.c):1138: pcscf.ims.mnc009.mcc460.3gppnetwork.org: Rejecting new connection attempt while our state machine is in state 'STATE_SUSPECT'
-->
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
Several volte mobile accessed into eNB, some of them made call and hung up periodically .
After some time, ims registrations all failed.
-->
#### 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.
-->
```
(paste your debugging data here)
```
#### 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).
-->
```
(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.
-->
If I restarted pcscf, ims registration worked well.After some time ,the error occurred again.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
(paste your output here)
```
kamailio v5.6.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`)
-->
ubuntu server 18.04
```
(paste your output here)
```
[Uploading ims-reg-fail (1).zip…]()
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3879
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3879(a)github.com>
Recently ,I've learned about Kamailio and set up it. I want to decode my phone number before my FS, so whether it is possible to decode an number within Kamailio?Any help?
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3882
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3882(a)github.com>
### Description
We have a quite basic scenario which sends a SIP MESSAGE and then receives SIP MESSAGE back. It also sets up two voice calls using SIP INVITE. It is only this specific scenario that is causing the core dump. Some time the core dump occur just a few seconds after the call/message scenario, but occasionally it takes up to 50 minutes.
We have been using the uac module for sending SIP MESSAGE in several other scenarios without experiencing a crash.
We always see the same lines in the log just prior to the core dump: CRITICAL: <core> [core/pass_fd.c:281]: receive_fd(): EOF on 49
We are using Kamailio 5.6 retrieved from the kamailio repository: http://deb.kamailio.org/kamailio56. We are running Kamailio in a Docker container which runs on "5.10.0-25-cloud-amd64 #1 SMP Debian 5.10.191-1 (2023-08-16) x86_64 GNU/Linux"
We have also tried Kamailio 5.7 from the same repo which crashes in exactly the same way.
### Troubleshooting
#### Reproduction
We have troubles to consistently reproduce it and it only happen from time to time when running a specific scenario sending SIP MESSAGE using the uac module. It does not happen for every call of this call scenario. At one instance Kamailo crashed with just 15 seconds in-between during the call scenario.
#### Debugging Data
```
# gdb /usr/sbin/kamailio /core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/kamailio...
(No debugging symbols found in /usr/sbin/kamailio)
warning: Can't open file /dev/zero (deleted) during file-backed mapping note processing
[New LWP 4777]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/kamailio -DD -M 18 -m 192 -A serverId=17173 -A sendTraceLocal="sip:10'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __strlen_evex () at ../sysdeps/x86_64/multiarch/strlen-evex.S:77
77 ../sysdeps/x86_64/multiarch/strlen-evex.S: No such file or directory.
(gdb) bt full
#0 __strlen_evex () at ../sysdeps/x86_64/multiarch/strlen-evex.S:77
No locals.
#1 0x00007f5425e34b78 in __vfprintf_internal (s=s@entry=0x55a06e969a60,
format=format@entry=0x55a06e558020 "%s: %.*s%s%s%sBUG: qm: fragm. %p (address %p) beginning overwritten (%lx)! Memory allocator was called from %s:%u. Fragment marked by %s:%lu. Exec from %s:%u.\n",
ap=ap@entry=0x7ffd6bebfb50, mode_flags=mode_flags@entry=0) at vfprintf-internal.c:1647
len = <optimized out>
step0_jumps = {0, 1717, 1621, 3413, 3317, 3997, 2677, 2837, 3613, 1773, 4309, 4445, 3517, 4437, 4389, 2789, 4197, 3917, 3221, 2997, 1141, 1365, 1997, 1925, 1885, 733, 3709, 533, 533, 4101}
space = <optimized out>
is_short = <optimized out>
use_outdigits = 0
outc = <optimized out>
step1_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1773, 4309, 4445, 3517, 4437, 4389, 2789, 4197, 3917, 3221, 2997, 1141, 1365, 1997, 1925, 1885, 733, 3709, 533, 533, 0}
group = 0
prec = -1
step2_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4309, 4445, 3517, 4437, 4389, 2789, 4197, 3917, 3221, 2997, 1141, 1365, 1997, 1925, 1885, 733, 3709, 533, 533, 0}
string = 0x756d6f7266222c22 <error: Cannot access memory at address 0x756d6f7266222c22>
left = 0
is_long_double = <optimized out>
width = 0
signed_number = <optimized out>
step3a_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4213, 0, 0, 0, 4389, 2789, 4197, 3917, 3221, 0, 0, 0, 0, 1925, 0, 0, 0, 0, 0, 0}
alt = <optimized out>
showsign = 0
is_long = 0
is_char = <optimized out>
pad = <optimized out>
step3b_jumps = {0 <repeats 11 times>, 3517, 0, 0, 4389, 2789, 4197, 3917, 3221, 2997, 1141, 1365, 1997, 1925, 1885, 733, 3709, 0, 0, 0}
step4_jumps = {0 <repeats 14 times>, 4389, 2789, 4197, 3917, 3221, 2997, 1141, 1365, 1997, 1925, 1885, 733, 3709, 0, 0, 0}
args_value = <optimized out>
is_negative = <optimized out>
number = {longlong = <optimized out>, word = <optimized out>}
base = <optimized out>
the_arg = {pa_wchar = 4777 L'\x12a9', pa_int = 4777, pa_long_int = 4777, pa_long_long_int = 4777, pa_u_int = 4777, pa_u_long_int = 4777, pa_u_long_long_int = 4777,
pa_double = 2.3601515901836347e-320, pa_long_double = 1.74131181638025811763e-4947, pa_float128 = 3.09319115455554459548860449034534676e-4962,
pa_string = 0x12a9 <error: Cannot access memory at address 0x12a9>, pa_wstring = 0x12a9 <error: Cannot access memory at address 0x12a9>, pa_pointer = 0x12a9, pa_user = 0x12a9}
spec = 115 's'
_buffer = {__routine = 0x4, __arg = 0xd, __canceltype = 1855363680, __prev = 0xe0}
_avail = <optimized out>
thousands_sep = 0x0
grouping = 0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>
done = 238
f = 0x55a06e5580a7 "s:%lu. Exec from %s:%u.\n"
lead_str_end = 0x55a06e558020 "%s: %.*s%s%s%sBUG: qm: fragm. %p (address %p) beginning overwritten (%lx)! Memory allocator was called from %s:%u. Fragment marked by %s:%lu. Exec from %s:%u.\n"
end_of_spec = <optimized out>
work_buffer = "h\r\000\000\000\000\000\000\000\000\000\000\060\000\000\000\000\000\000\000\375\177\000\000 \372\353k\375\177\000\000\237MSn\n\000\000\000\000\000\000\000\240U", '\000' <repeats 18 times>, "P\225Un\240U\000\000\000\000\000\000[\214A\323\f\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\206\002", '\000' <repeats 14 times>, "\004\000\000\000\000\000\000\000 \367\353k\375\177\000\000\301\225Un\240U\000\000\323\262\vn\240U\000\000\000\000\000\000\000\000\000\000s\374On\240U\000\000W\225Un\240U\000\000\350>\212\027T\177\000\000 \323\365$T\177\000\000\060\a\354k\375\177\000\00--Type <RET> for more, q to quit, c to continue without paging--
0\220\371\227n\240U\000\000"...
workend = 0x7ffd6bebf9f8 ""
ap_save = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffd6bebfc30, reg_save_area = 0x7ffd6bebfb70}}
nspecs_done = 10
save_errno = 4
readonly_format = 0
do_longlong_number = <optimized out>
__result = <optimized out>
#2 0x00007f5425ec079f in __vsyslog_internal (pri=<optimized out>,
fmt=0x55a06e558020 "%s: %.*s%s%s%sBUG: qm: fragm. %p (address %p) beginning overwritten (%lx)! Memory allocator was called from %s:%u. Fragment marked by %s:%lu. Exec from %s:%u.\n",
ap=0x7ffd6bebfb50, mode_flags=0) at ../misc/syslog.c:233
now_tm = {tm_sec = 8, tm_min = 18, tm_hour = 12, tm_mday = 23, tm_mon = 0, tm_year = 124, tm_wday = 2, tm_yday = 22, tm_isdst = 0, tm_gmtoff = 0, tm_zone = 0x55a06e94c5e0 "UTC"}
now = 1706012288
fd = <optimized out>
f = 0x55a06e969a60
buf = 0x0
bufsize = 0
msgoff = 21
saved_errno = <optimized out>
failbuf = "`\232\226n\240U\000\000\000\204\201\247[\214A\323`\374\353k\375\177\000\000\300p\371%T"
clarg = {buf = <optimized out>, oldaction = <optimized out>}
#3 0x00007f5425ec0c46 in __syslog (pri=<optimized out>, fmt=<optimized out>) at ../misc/syslog.c:117
ap = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffd6bebfc70, reg_save_area = 0x7ffd6bebfb70}}
#4 0x000055a06e3b7839 in ?? ()
No symbol table info available.
#5 0x000055a06e3bc039 in qm_free ()
No symbol table info available.
#6 0x000055a06e3c7c28 in qm_shm_free ()
No symbol table info available.
#7 0x00007f542325fb8e in uac_send_tm_callback () from /usr/lib/x86_64-linux-gnu/kamailio/modules/uac.so
No symbol table info available.
#8 0x00007f5424a2f002 in run_trans_callbacks_internal () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#9 0x00007f5424a2f179 in run_trans_callbacks () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#10 0x00007f54249d5e8c in free_cell_helper () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#11 0x00007f5424aa8f82 in wait_handler () from /usr/lib/x86_64-linux-gnu/kamailio/modules/tm.so
No symbol table info available.
#12 0x000055a06e37a263 in ?? ()
No symbol table info available.
#13 0x000055a06e37a79d in ?? ()
No symbol table info available.
#14 0x000055a06e37acc6 in timer_main ()
No symbol table info available.
#15 0x000055a06e0a5f62 in main_loop ()
No symbol table info available.
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x000055a06e0b120c in main ()
No symbol table info available.
(gdb) info locals
No locals.
(gdb) list
72 in ../sysdeps/x86_64/multiarch/strlen-evex.S
```
#### Log Messages
```
Log file:
2024-01-23T13:18:08.828+01:00 Jan 23 12:18:08 /usr/sbin/kamailio[4789]: INFO: <script>: Incoming SIP TCP request conid 21 call-id un0rihsRLJLvP-grn6LO-A
2024-01-23T13:18:08.835+01:00 Jan 23 12:18:08 /usr/sbin/kamailio[4789]: INFO: <script>: Incoming SIP TCP request conid 21 call-id WQjhldpRJbxjZRYe7fWgbw
2024-01-23T13:18:08.860+01:00 Jan 23 12:18:08 /usr/sbin/kamailio[4795]: CRITICAL: <core> [core/pass_fd.c:281]: receive_fd(): EOF on 49
2024-01-23T13:18:09.486+01:00 Jan 23 12:18:09 /usr/sbin/kamailio[4751]: ALERT: <core> [main.c:783]: handle_sigs(): child process 4777 exited by a signal 11
2024-01-23T13:18:09.486+01:00 Jan 23 12:18:09 /usr/sbin/kamailio[4751]: ALERT: <core> [main.c:787]: handle_sigs(): core was generated
2024-01-23T13:18:09.516+01:00 Jan 23 12:18:09 /usr/sbin/kamailio[4751]: INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized
2024-01-23T13:18:09.570+01:00 Started /root/sipconfig/startkamailio.sh
2024-01-23T13:18:09.570+01:00 info: :-) Starting Kamailio
```
#### SIP Traffic
### Possible Solutions
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
# /usr/sbin/kamailio -v
version: kamailio 5.6.5 (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, 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
```
* **Operating System**:
```
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Linux ip-nn-nn-nn-nn 5.10.0-25-cloud-amd64 #1 SMP Debian 5.10.191-1 (2023-08-16) x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3725
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3725(a)github.com>
- Adding missing ims_icscf database parameters to admin documents.
- Change the default value for ims_icscf db_url to Kamailio default db_url value.
<!-- 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 -->
- [ :white_check_mark: ] Commit message has the format required by CONTRIBUTING guide
- [ :white_check_mark:] Commits are split per component (core, individual modules, libs, utils, ...)
- [ :white_check_mark:] Each component has a single commit (if not, squash them into one commit)
- [ :white_check_mark:] 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
- [ :white_check_mark:] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
- [ :white_check_mark:] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Only an improvement for users to know they need to set database params for ims_icscf module.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3874
-- Commit Summary --
* ims_icscf: add missing documents for database params
-- File Changes --
M src/modules/ims_icscf/doc/ims_icscf_admin.xml (100)
M src/modules/ims_icscf/ims_icscf_mod.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3874.patchhttps://github.com/kamailio/kamailio/pull/3874.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3874
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3874(a)github.com>
#### Pre-Submission Checklist
- [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
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
This enables tls module statistics. This is needed for the xhttp_prom module to export tls module statistics.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3852
-- Commit Summary --
* tls: enable statistics
* tls: code formatting
-- File Changes --
M src/modules/tls/tls_mod.c (43)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3852.patchhttps://github.com/kamailio/kamailio/pull/3852.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3852
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3852(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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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 -->
- [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 -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3869
-- Commit Summary --
* ims_registrar_pcscf: fix typo in comments
* ims_ipsec_pcscf: update security params of newly created ipsec tunnel in contact
-- File Changes --
M src/modules/ims_ipsec_pcscf/cmd.c (12)
M src/modules/ims_registrar_pcscf/save.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3869.patchhttps://github.com/kamailio/kamailio/pull/3869.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3869
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3869(a)github.com>
The Kamailio ims_charging module Ro interface is sending:
AVP: User-Equipment-Info(458) -> AVP: User-Equipment-Info-Type(459) l=12 f=-M- val=MAC (1)
see attached Ro.pcapng packet #7.
but (unless I'm not understanding correctly) according to TS 132 299 this AVP should be of type IMEISV and not MAC for the Ro charging interface. also, the MAC is not encoded correctly. again, see the attached pcap at packet #7
from TS 132 299:
"User-Equipment-Info-Type This field determines the type of the identifier. The used value is 0 for the international mobile equipment identifier and software version according to TS 23.003[224].
User-Equipment-Info-Value This field contains the user IMEI."
"For PS charging, when the User-Equipment-Info-Type AVP (AVP code 459) is set to IMEISV (0), the value within the
User-Equipment-Info-Value AVP (AVP code 460) is of type OctetString and shall be a UTF-8 encoded hexadecimal.
The composition of the IMEISV follows the definition in TS 23.003 [224] . If only IMEI is received a filler ‘F’ is used
to make it 16 digits."
"For IMS charging, when the User-Equipment-Info-Type AVP (AVP code 459) is set to IMEISV (0), the value within
the User-Equipment-Info-Value AVP (AVP code 460) is of type OctetString and shall be a UTF-8 encoded decimal.
The composition of the IMEISV follows the definition in TS 23.003 [224]. If only IMEI is received the number of
digits are truncated to 15."
I have tested and found this in the following versions:
version: kamailio 5.9.0-dev0 (x86_64/linux) 4fb8ac
version: kamailio 5.3.2 (x86_64/linux) 87e8a1
Thank you so much for your help with this issue,
[Ro.zip](https://github.com/kamailio/kamailio/files/14924042/Ro.zip)
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3807
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3807(a)github.com>
<!--
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
During de-registration, Kamailio receives REGISTER (with expire 0), and then send Session Termination request, and only after getting Session Termination Answer, Kamailo sends 200OK. This is not sent till UE. The reason is after receiving Session Termination Request, the PCRF sends ReAuthRequest towards PCEF and it followed delete bearer procedure in IMS-PGW and bearer is getting deleted :(.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
In the kamailio script, pcscf_save() is used after receiving 200OK from SCSCF. And within this function, STR is sent and STA received.
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
RX_SUPPORT flag shall be defined and it can be observed in De-registration procedure.
#### 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.
-->
```
(paste your debugging data here)
```
#### 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).
-->
```
(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`
```
kamailio --version
version: kamailio 5.7.5 (x86_64/linux) 58499a-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_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 58499a -dirty
compiled on 11:23:55 May 8 2024 with gcc 9.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`)
-->
```
uname -a
Linux openims-tvmcfg-node-focal 5.4.0-181-generic #201-Ubuntu SMP Thu Mar 28 15:39:01 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3866
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3866(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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
#### Description
On start:
```
CRITICAL: <core> [core/ip_addr.c:232]: ip_addr2sbuf(): unknown address family 0
NOTICE: tls [tls_domain.c:1176]: ksr_tls_fix_domain(): registered server_name callback handler for socket [:0], server_name='<default>' ...
```
Now it will print:
```
NOTICE: tls [tls_domain.c:1176]: ksr_tls_fix_domain(): registered server_name callback handler for socket [0.0.0.0:0], server_name='<default>' ...
```
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3875
-- Commit Summary --
* tls: remove confusing error message when trying to print socket for <default> server
-- File Changes --
M src/modules/tls/tls_domain.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3875.patchhttps://github.com/kamailio/kamailio/pull/3875.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3875
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3875(a)github.com>
For tcp based transports it is need to set SND_F_FORCE_SOCKET flag before msg_send_buffer call, or duplicate will send from wrong addr/port.
<!-- 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)
- [ ] 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
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3837
-- Commit Summary --
* siptrace: add SND_F_FORCE_SOCKET flag if send_sock_name/send_sock_address config parameters are used
-- File Changes --
M src/modules/siptrace/siptrace_send.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3837.patchhttps://github.com/kamailio/kamailio/pull/3837.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3837
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3837(a)github.com>
Hello,
Kamailio SIP Server v5.8.2 stable release is out.
This is a maintenance release of the latest stable branch, 5.8, that
includes fixes since the release of v5.8.1. There is no change to
database schema or configuration language structure that you have to do
on previous installations of v5.8.x. Deployments running previous v5.8.x
versions are strongly recommended to be upgraded to v5.8.2.
For more details about version 5.8.2 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2024/06/kamailio-v5-8-2-released/
RPM, Debian/Ubuntu packages will be available soon as well.
Many thanks to all contributing and using Kamailio!
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Hello,
I am considering to release Kamailio v5.8.2 (out of branch 5.8) on
Wednesday,
June 12, 2024. If anyone is aware of issues not yet on the bug tracker,
report them there asap in order to have a better chance to be fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
- Adding missing ims_icscf database parameters documents.
- Change the default value for ims_icscf db_url to Kamailio db_url.
- ims_usrloc_pcscf: fix the db_url type from into to string in document.
<!-- 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 -->
- [ :white_check_mark:] Commit message has the format required by CONTRIBUTING guide
- [ :white_check_mark:] Commits are split per component (core, individual modules, libs, utils, ...)
- [ :white_check_mark:] Each component has a single commit (if not, squash them into one commit)
- [ :white_check_mark:] 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
- [ :white_check_mark: ] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
- [ :white_check_mark:] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3873
-- Commit Summary --
* ims_icscf: add missing documents for database params
-- File Changes --
M src/modules/ims_icscf/doc/ims_icscf_admin.xml (100)
M src/modules/ims_icscf/ims_icscf_mod.c (3)
M src/modules/ims_usrloc_pcscf/doc/ims_usrloc_pcscf_admin.xml (3)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3873.patchhttps://github.com/kamailio/kamailio/pull/3873.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3873
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3873(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 -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] 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)
- [ ] 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
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3806
-- Commit Summary --
* pike: fix documentation for reqs_density_per_unit
-- File Changes --
M src/modules/pike/doc/pike_admin.xml (3)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3806.patchhttps://github.com/kamailio/kamailio/pull/3806.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3806
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3806(a)github.com>
Module: kamailio
Branch: master
Commit: dd30f8b905a80f85891df72a1f865c9ad1508c9a
URL: https://github.com/kamailio/kamailio/commit/dd30f8b905a80f85891df72a1f865c9…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-06-10T13:16:10+02:00
modules: readme files regenerated - dispatcher ... [skip ci]
---
Modified: src/modules/dispatcher/README
---
Diff: https://github.com/kamailio/kamailio/commit/dd30f8b905a80f85891df72a1f865c9…
Patch: https://github.com/kamailio/kamailio/commit/dd30f8b905a80f85891df72a1f865c9…
---
diff --git a/src/modules/dispatcher/README b/src/modules/dispatcher/README
index c095bc201be..1e99229575a 100644
--- a/src/modules/dispatcher/README
+++ b/src/modules/dispatcher/README
@@ -122,7 +122,7 @@ Federico Cabiddu
4.14. ds_load_unset()
4.15. ds_reload()
4.16. ds_dsg_fetch(setid)
- 4.17. ds_oc_set_rate(setid, uri, val)
+ 4.17. ds_oc_set_attrs(setid, uri, rval, tval)
5. RPC Commands
@@ -212,7 +212,7 @@ Federico Cabiddu
1.57. ds_load_unset usage
1.58. ds_reload usage
1.59. ds_dsg_fetch() usage
- 1.60. ds_oc_set_rate() usage
+ 1.60. ds_oc_set_attrs() usage
1.61. dispatcher list file
1.62. Kamailio config script - sample dispatcher usage
@@ -291,7 +291,7 @@ Chapter 1. Admin Guide
4.14. ds_load_unset()
4.15. ds_reload()
4.16. ds_dsg_fetch(setid)
- 4.17. ds_oc_set_rate(setid, uri, val)
+ 4.17. ds_oc_set_attrs(setid, uri, rval, tval)
5. RPC Commands
@@ -1118,7 +1118,7 @@ modparam("dispatcher", "ds_interval_mode", 7200)
4.14. ds_load_unset()
4.15. ds_reload()
4.16. ds_dsg_fetch(setid)
- 4.17. ds_oc_set_rate(setid, uri, val)
+ 4.17. ds_oc_set_attrs(setid, uri, rval, tval)
4.1. ds_select_dst(set, alg[, limit])
@@ -1636,22 +1636,26 @@ onreply_route {
xinfo("set id: 1 - all: $dsg(count); active: $dsg(active)\n");
...
-4.17. ds_oc_set_rate(setid, uri, val)
+4.17. ds_oc_set_attrs(setid, uri, rval, tval)
- Sets the overload control rate for the destination (setid, uri).
+ Sets the overload control rate and time internval limit for the
+ destination (setid, uri).
Description of parameters:
* setid - the set (group) id. The parameter can be an integer or a
variable holding an integer value.
* uri - the URI of the destination.
- * val - the value of the overload control rate (from 1 to 100) - how
+ * rval - the value of the overload control rate (from 1 to 100) - how
many times to skip using this destination in 100 selections.
+ * tval - time interval limit to apply the overload control rate (in
+ milliseconds). If the value is 0 or negative, then the default
+ value 500 is used.
This function can be used from ANY_ROUTE.
- Example 1.60. ds_oc_set_rate() usage
+ Example 1.60. ds_oc_set_attrs() usage
...
- ds_oc_set_rate("1", "sip:127.0.0.1:5080", "30");
+ ds_oc_set_attrs("1", "sip:127.0.0.1:5080", "30", "1000");
...
5. RPC Commands
Module: kamailio
Branch: master
Commit: 244fc84a971d3381e731dab558c19d96e0922f5f
URL: https://github.com/kamailio/kamailio/commit/244fc84a971d3381e731dab558c19d9…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-10T12:49:42+02:00
dispatcher: docs for ds_oc_set_attrs(...)
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/244fc84a971d3381e731dab558c19d9…
Patch: https://github.com/kamailio/kamailio/commit/244fc84a971d3381e731dab558c19d9…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index e0e8d1beed8..62e212f8744 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -2014,12 +2014,13 @@ onreply_route {
</programlisting>
</example>
</section>
- <section id="dispatcher.f.ds_oc_set_rate">
+ <section id="dispatcher.f.ds_oc_set_attrs">
<title>
- <function moreinfo="none">ds_oc_set_rate(setid, uri, val)</function>
+ <function moreinfo="none">ds_oc_set_attrs(setid, uri, rval, tval)</function>
</title>
<para>
- Sets the overload control rate for the destination (setid, uri).
+ Sets the overload control rate and time internval limit
+ for the destination (setid, uri).
</para>
<para>Description of parameters:</para>
<itemizedlist>
@@ -2032,9 +2033,14 @@ onreply_route {
<para><emphasis>uri</emphasis> - the URI of the destination.</para>
</listitem>
<listitem>
- <para><emphasis>val</emphasis> - the value of the overload control
+ <para><emphasis>rval</emphasis> - the value of the overload control
rate (from 1 to 100) - how many times to skip using this destination
in 100 selections.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>tval</emphasis> - time interval limit to apply the
+ overload control rate (in milliseconds). If the value is 0 or
+ negative, then the default value 500 is used.</para>
</listitem>
</itemizedlist>
@@ -2042,10 +2048,10 @@ onreply_route {
This function can be used from ANY_ROUTE.
</para>
<example>
- <title><function>ds_oc_set_rate()</function> usage</title>
+ <title><function>ds_oc_set_attrs()</function> usage</title>
<programlisting format="linespecific">
...
- ds_oc_set_rate("1", "sip:127.0.0.1:5080", "30");
+ ds_oc_set_attrs("1", "sip:127.0.0.1:5080", "30", "1000");
...
</programlisting>
</example>
Module: kamailio
Branch: 5.8
Commit: 955c6e02ed0e31a4c7f148518bf44edb12c37a07
URL: https://github.com/kamailio/kamailio/commit/955c6e02ed0e31a4c7f148518bf44ed…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-06-08T20:31:20+02:00
modules: readme files regenerated - modules ... [skip ci]
---
Modified: src/modules/ims_ipsec_pcscf/README
---
Diff: https://github.com/kamailio/kamailio/commit/955c6e02ed0e31a4c7f148518bf44ed…
Patch: https://github.com/kamailio/kamailio/commit/955c6e02ed0e31a4c7f148518bf44ed…
---
diff --git a/src/modules/ims_ipsec_pcscf/README b/src/modules/ims_ipsec_pcscf/README
index bce99b791da..3d831eb2c47 100644
--- a/src/modules/ims_ipsec_pcscf/README
+++ b/src/modules/ims_ipsec_pcscf/README
@@ -361,7 +361,7 @@ ipsec_destroy("location");
recv_host - received host to match the record.
recv_port - received port to match the record.
- The last three parameters have to be string valies and can contain
+ The last three parameters have to be string values and can contain
variables.
Example 1.14. ipsec_destroy_by_contact()
### Description
What I did: I enabled the pua_dialoginfo module to publish changes for both the caller and the callee.
What I expected: PUBLISH to be generated for the caller and the callee
What actually happened: PUBLISH is only generated for the callee.
### Troubleshooting
I troubleshooted the issue by adding LM_ERR messages at various point in the pua_dialoginfo.c
#### Reproduction
Add a db-url as modparam to pua
Do not add any modparam to pua_dialoginfo.
Then make a phone call while making sure dialog.dlg_manage() is called to track the call.
#### Debugging Data
Not applicable
#### Log Messages
pua_dialoginfo [dialog_publish.c:303]: dialog_publish(): failed to parse the PUBLISH R-URI
### Possible Solutions
I tracked the issue to line 840 of pua_dialoginfo.c (see enclosed patch file), where dlginfo->pubruris_caller->s.s is set to the value of dlginfo->from_uri but dlginfo->pubruris_caller->s.len is not set to anything (left at zero).
So I added a line to set the len value to the len value of dlginfo->from_uri.len
See patch below:
```
diff -ru a/src/modules/pua_dialoginfo/pua_dialoginfo.c b/src/modules/pua_dialoginfo/pua_dialoginfo.c
--- a/src/modules/pua_dialoginfo/pua_dialoginfo.c 2024-05-02 11:14:34.150097771 -0600
+++ b/src/modules/pua_dialoginfo/pua_dialoginfo.c 2024-05-02 11:09:30.855960974 -0600
@@ -838,6 +838,8 @@
}
memset(dlginfo->pubruris_caller, 0, sizeof(struct str_list));
dlginfo->pubruris_caller->s.s = shm_str2char_dup(&dlginfo->from_uri);
+ dlginfo->pubruris_caller->s.len = dlginfo->from_uri.len;
+
if(!dlginfo->pubruris_caller->s.s) {
free_dlginfo_cell(dlginfo);
return NULL;
```
### Additional Information
version: kamailio 5.8.1 (x86_64/linux) 384843
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: 384843
compiled on 13:45:08 May 2 2024 with gcc 10.2.1
* **Operating System**:
Linux yto11-stg-smf-vtr1.vcn.ms 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/3838
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3838(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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #3838
#### Description
<!-- Describe your changes in detail -->
This PR fixes a bug where R-URI couldn't be parsed correctly by assing the correct length to the str variable
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3871
-- Commit Summary --
* pua_dialoginfo: Fix ruri length
-- File Changes --
M src/modules/pua_dialoginfo/pua_dialoginfo.c (1)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3871.patchhttps://github.com/kamailio/kamailio/pull/3871.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3871
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3871(a)github.com>
### Description
Carrierroute's CRC32 algorithm over call_id tends to produce poor call distribution under real world examples. Having 4 records for a given carrier/domain combo (assuming no flags, mask, or scan_prefix) and a probability of `0.25` using a hash source of `call_id` I observed over 800 hundred consecutive calls from a carrier (bandwidth.com) where `CRC32(call_id) % 1000` was less than 250.
To be fair, the module does what it says - it uses a CRC32 hash over the call id, however the data from the UA generating the call is yielding poor results. Would it be possible to change to an alternate hashing mechanism (or add another hashing mechanism, selectable via `modparam`) such as MD5?
### Expected behavior
Even distribution across all hosts provided.
#### Actual observed behavior
Uneven distribution under real-world conditions.
#### Debugging Data
I can provide a list of > 800 call-ids observed that all routed to the same endpoint. These are pulled from real world calls, and while there's not much danger in just having call-id's I would still prefer not to post it into github for posterity.
#### Log Messages
Log messages end up looking similar to this. I validated that the number is the CRC32 hash of the call id, so it's not a bug in the module.
```
proxy-1 | 1(7) DEBUG: carrierroute [cr_func.c:449]: rewrite_on_rule(): searching for matching routing rules 1(7) DEBUG: carrierroute [prime_hash.c:66]: hash_func(): hash: 2417021133 % 1000 = 133
proxy-1 | 1(7) INFO: carrierroute [cr_func.c:689]: ki_cr_do_route_helper(): uri service was rewritten to sip:service@host-d, carrier 1, domain 1
```
### Possible Solutions
Ability to use MD5, kamailio's core hash function or other such hashing function
### Additional Information
Problem validate in 5.7.3, but since it's *correct* by module design, it shouldn't have changed in 5.8
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3786
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3786(a)github.com>
Module: kamailio
Branch: master
Commit: 637c5ce2a9f2a9f82937f9102545f896a5a8abed
URL: https://github.com/kamailio/kamailio/commit/637c5ce2a9f2a9f82937f9102545f89…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-06-07T19:46:11+02:00
modules: readme files regenerated - dispatcher ... [skip ci]
---
Modified: src/modules/dispatcher/README
Modified: src/modules/ims_ipsec_pcscf/README
---
Diff: https://github.com/kamailio/kamailio/commit/637c5ce2a9f2a9f82937f9102545f89…
Patch: https://github.com/kamailio/kamailio/commit/637c5ce2a9f2a9f82937f9102545f89…
---
diff --git a/src/modules/dispatcher/README b/src/modules/dispatcher/README
index c915f552809..c095bc201be 100644
--- a/src/modules/dispatcher/README
+++ b/src/modules/dispatcher/README
@@ -1644,7 +1644,7 @@ onreply_route {
* setid - the set (group) id. The parameter can be an integer or a
variable holding an integer value.
* uri - the URI of the destination.
- * val - the valie of the overload control rate (from 1 to 100) - how
+ * val - the value of the overload control rate (from 1 to 100) - how
many times to skip using this destination in 100 selections.
This function can be used from ANY_ROUTE.
diff --git a/src/modules/ims_ipsec_pcscf/README b/src/modules/ims_ipsec_pcscf/README
index bce99b791da..3d831eb2c47 100644
--- a/src/modules/ims_ipsec_pcscf/README
+++ b/src/modules/ims_ipsec_pcscf/README
@@ -361,7 +361,7 @@ ipsec_destroy("location");
recv_host - received host to match the record.
recv_port - received port to match the record.
- The last three parameters have to be string valies and can contain
+ The last three parameters have to be string values and can contain
variables.
Example 1.14. ipsec_destroy_by_contact()
<!-- 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] 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
<!-- Describe your changes in detail -->
Fix two small typos
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3870
-- Commit Summary --
* dispatcher: Fix typo
* ims_ipsec_pcscf: Fix typo
-- File Changes --
M src/modules/dispatcher/doc/dispatcher_admin.xml (2)
M src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3870.patchhttps://github.com/kamailio/kamailio/pull/3870.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3870
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3870(a)github.com>
Module: kamailio
Branch: master
Commit: 16e1b38fcc1593ad09eb03d86cd056ab8ff7f7f7
URL: https://github.com/kamailio/kamailio/commit/16e1b38fcc1593ad09eb03d86cd056a…
Author: Bastian Triller <bastian.triller(a)gmail.com>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2024-06-07T19:37:57+02:00
ims_ipsec_pcscf: Fix typo
---
Modified: src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/16e1b38fcc1593ad09eb03d86cd056a…
Patch: https://github.com/kamailio/kamailio/commit/16e1b38fcc1593ad09eb03d86cd056a…
---
diff --git a/src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml b/src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml
index ee58f16fb63..f4a388ee777 100644
--- a/src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml
+++ b/src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml
@@ -405,7 +405,7 @@ ipsec_destroy("location");
</para>
</listitem>
</itemizedlist>
- <para>The last three parameters have to be string valies and can contain
+ <para>The last three parameters have to be string values and can contain
variables.</para>
<example>
<title>ipsec_destroy_by_contact()</title>
Module: kamailio
Branch: master
Commit: e10a629a7737c12cc58a8abebf1fe67ed1f30ab9
URL: https://github.com/kamailio/kamailio/commit/e10a629a7737c12cc58a8abebf1fe67…
Author: Bastian Triller <bastian.triller(a)gmail.com>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2024-06-07T19:37:57+02:00
dispatcher: Fix typo
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/e10a629a7737c12cc58a8abebf1fe67…
Patch: https://github.com/kamailio/kamailio/commit/e10a629a7737c12cc58a8abebf1fe67…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index cdd1ebc896e..e0e8d1beed8 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -2032,7 +2032,7 @@ onreply_route {
<para><emphasis>uri</emphasis> - the URI of the destination.</para>
</listitem>
<listitem>
- <para><emphasis>val</emphasis> - the valie of the overload control
+ <para><emphasis>val</emphasis> - the value of the overload control
rate (from 1 to 100) - how many times to skip using this destination
in 100 selections.</para>
</listitem>
Module: kamailio
Branch: master
Commit: a366c9a30f953571f89f539e87448ff0c5ac8585
URL: https://github.com/kamailio/kamailio/commit/a366c9a30f953571f89f539e87448ff…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-06-07T12:31:09+02:00
modules: readme files regenerated - dispatcher ... [skip ci]
---
Modified: src/modules/dispatcher/README
---
Diff: https://github.com/kamailio/kamailio/commit/a366c9a30f953571f89f539e87448ff…
Patch: https://github.com/kamailio/kamailio/commit/a366c9a30f953571f89f539e87448ff…
---
diff --git a/src/modules/dispatcher/README b/src/modules/dispatcher/README
index 209d77f4c87..c915f552809 100644
--- a/src/modules/dispatcher/README
+++ b/src/modules/dispatcher/README
@@ -122,6 +122,7 @@ Federico Cabiddu
4.14. ds_load_unset()
4.15. ds_reload()
4.16. ds_dsg_fetch(setid)
+ 4.17. ds_oc_set_rate(setid, uri, val)
5. RPC Commands
@@ -211,8 +212,9 @@ Federico Cabiddu
1.57. ds_load_unset usage
1.58. ds_reload usage
1.59. ds_dsg_fetch() usage
- 1.60. dispatcher list file
- 1.61. Kamailio config script - sample dispatcher usage
+ 1.60. ds_oc_set_rate() usage
+ 1.61. dispatcher list file
+ 1.62. Kamailio config script - sample dispatcher usage
Chapter 1. Admin Guide
@@ -289,6 +291,7 @@ Chapter 1. Admin Guide
4.14. ds_load_unset()
4.15. ds_reload()
4.16. ds_dsg_fetch(setid)
+ 4.17. ds_oc_set_rate(setid, uri, val)
5. RPC Commands
@@ -1115,6 +1118,7 @@ modparam("dispatcher", "ds_interval_mode", 7200)
4.14. ds_load_unset()
4.15. ds_reload()
4.16. ds_dsg_fetch(setid)
+ 4.17. ds_oc_set_rate(setid, uri, val)
4.1. ds_select_dst(set, alg[, limit])
@@ -1227,6 +1231,9 @@ GATEWAY | PRIORITY | ESTIMATED | ADJUSTED | LOAD
With congestion control the formula becomes :
CONGESTION_MS = CURRENT_LATENCY_MS - NORMAL_CONDITION_LATENCY_MS
ADJUSTED_PRIORITY = PRIORITY - (CONGESTION_MS/PRIORITY)
+ + ���64��� - round-robin (next destination) with over load control
+ (destination record is skipped based on over load control
+ rate).
+ ���X��� - if the algorithm is not implemented, the first entry in
set is chosen.
* limit - the maximum number of items to be stored in XAVP list for
@@ -1629,6 +1636,24 @@ onreply_route {
xinfo("set id: 1 - all: $dsg(count); active: $dsg(active)\n");
...
+4.17. ds_oc_set_rate(setid, uri, val)
+
+ Sets the overload control rate for the destination (setid, uri).
+
+ Description of parameters:
+ * setid - the set (group) id. The parameter can be an integer or a
+ variable holding an integer value.
+ * uri - the URI of the destination.
+ * val - the valie of the overload control rate (from 1 to 100) - how
+ many times to skip using this destination in 100 selections.
+
+ This function can be used from ANY_ROUTE.
+
+ Example 1.60. ds_oc_set_rate() usage
+...
+ ds_oc_set_rate("1", "sip:127.0.0.1:5080", "30");
+...
+
5. RPC Commands
5.1. dispatcher.set_state
@@ -1890,6 +1915,10 @@ kamctl rpc dispatcher.hash 4 bob server.com
* 'obproxy' - SIP URI of outbound proxy to be used when sending
pings. It overwrites the general ds_outbound_proxy parameter.
* 'latency' - latency_stats initialization in ms.
+ * 'ocmin' - minimum limit for over load control rate (value between 0
+ and 100, default 10).
+ * 'ocrate' - over load control rate (value between 0 and 100, default
+ 100).
6.1.2. File Format
@@ -1907,7 +1936,7 @@ setid(int) destination(sip uri) flags(int,opt) priority(int,opt) attrs(str,opt)
For database, each element of a line resides in a different column.
Next is a dispatcher.list file example:
- Example 1.60. dispatcher list file
+ Example 1.61. dispatcher list file
...
#
# dispatcher destination sets (groups)
@@ -1932,7 +1961,7 @@ r,opt)
Next listing shows a sample config for using the dispatcher module.
- Example 1.61. Kamailio config script - sample dispatcher usage
+ Example 1.62. Kamailio config script - sample dispatcher usage
...
#!KAMAILIO
#
Module: kamailio
Branch: master
Commit: c2bde271f9d606e6cef987a223f746092c59d306
URL: https://github.com/kamailio/kamailio/commit/c2bde271f9d606e6cef987a223f7460…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-07T12:02:04+02:00
dispatcher: docs for algorithm 64 - round robin with overload control
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/c2bde271f9d606e6cef987a223f7460…
Patch: https://github.com/kamailio/kamailio/commit/c2bde271f9d606e6cef987a223f7460…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index 83ef06285a0..979b59798af 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -1418,6 +1418,13 @@ With congestion control the formula becomes :
</programlisting>
</example>
</listitem>
+ <listitem>
+ <para>
+ <quote>64</quote> - round-robin (next destination) with over
+ load control (destination record is skipped based on over
+ load control rate).
+ </para>
+ </listitem>
<listitem>
<para>
<quote>X</quote> - if the algorithm is not implemented, the
@@ -2388,6 +2395,14 @@ kamctl rpc dispatcher.hash 4 bob server.com
<listitem>
<para>'latency' - latency_stats initialization in ms.</para>
</listitem>
+ <listitem>
+ <para>'ocmin' - minimum limit for over load control rate
+ (value between 0 and 100, default 10).</para>
+ </listitem>
+ <listitem>
+ <para>'ocrate' - over load control rate
+ (value between 0 and 100, default 100).</para>
+ </listitem>
</itemizedlist>
</para>
</section>
Module: kamailio
Branch: master
Commit: 199f7cc4f29e6bab5f462d0db1942a8a583f8a67
URL: https://github.com/kamailio/kamailio/commit/199f7cc4f29e6bab5f462d0db1942a8…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-06-07T11:40:17+02:00
dispatcher: set DS_ALG_OVERLOAD to 64 to be able to use as a flag
---
Modified: src/modules/dispatcher/dispatch.c
---
Diff: https://github.com/kamailio/kamailio/commit/199f7cc4f29e6bab5f462d0db1942a8…
Patch: https://github.com/kamailio/kamailio/commit/199f7cc4f29e6bab5f462d0db1942a8…
---
diff --git a/src/modules/dispatcher/dispatch.c b/src/modules/dispatcher/dispatch.c
index 0466f09d9d4..d3ddb81ee82 100644
--- a/src/modules/dispatcher/dispatch.c
+++ b/src/modules/dispatcher/dispatch.c
@@ -79,7 +79,7 @@
#define DS_ALG_RELWEIGHT 11
#define DS_ALG_PARALLEL 12
#define DS_ALG_LATENCY 13
-#define DS_ALG_OVERLOAD 14
+#define DS_ALG_OVERLOAD 64 /* 2^6 - can be also used as a flag */
#define DS_HN_SIZE 256
@@ -2618,7 +2618,7 @@ int ds_manage_routes(sip_msg_t *msg, ds_select_state_t *rstate)
return -1;
xavp_filled = 1;
break;
- case DS_ALG_OVERLOAD: /* 14 - round robin with overload control */
+ case DS_ALG_OVERLOAD: /* 64 - round robin with overload control */
lock_get(&idx->lock);
hash = idx->last;
idx->last = (idx->last + 1) % idx->nr;
<!-- 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 the checkboxes that apply -->
- [ ] 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 a new update/delete function based on contact's uniq uniq. Some devices may use same uniq for multiple contacts, so I needed to restrain it further based on ruid value.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3865
-- Commit Summary --
* p_usrloc: Add update/delete based on uniq
-- File Changes --
M src/modules/p_usrloc/doc/p_usrloc_admin.xml (5)
M src/modules/p_usrloc/ucontact.c (307)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3865.patchhttps://github.com/kamailio/kamailio/pull/3865.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3865
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3865(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 the checkboxes that apply -->
- [ ] 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 -->
Make timeout modparam runtime configurable.
Also update timout execeded logs from NOTICE to ERR and add more info to them.
Also update utils/pdbt.c query tool to allow 0 carrier id.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3850
-- Commit Summary --
* pdb: make 'timeout' runtime configurable
-- File Changes --
A src/modules/pdb/config.c (42)
A src/modules/pdb/config.h (37)
M src/modules/pdb/pdb.c (40)
M utils/pdbt/pdbt.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3850.patchhttps://github.com/kamailio/kamailio/pull/3850.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3850
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3850(a)github.com>
Hello,
based on many reports coming over along all the past years, there are
crashes that happen on module destroy callbacks, many could be fixed,
but some cannot be predicted, depending on the moment when the kill
(shut down) is triggered.
Furthermore, there are cases when the clean makes no much sense, like
attempting to close the DB connection, because the destroy callback is
executed by Kamailio's main process only, which does not handle SIP
traffic and usually does not have DB connection,. So actually, all the
other connections from the SIP works are clean up automatically by the
OS on process shut down.
Also, the pkg and shm blocks are cleaned up as a whole after all,
therefore trying to free chunks inside them that were used by various
internal structures is kind of waste of time. The main purpose to do it
in the past it to be able to discover memory leaks by having status
reports written in syslog, but these reports can be triggered by RPC
during runtime and it is even better to get them in such way.
I think that the best is to use module destroy callbacks only to save
data to backend (e.g., database) that has to be reloaded on restart, and
leave the memory/resources clean up to the OS. In this way we also deal
nicer with the inter-modules dependencies, the structures of a module
will be always available, even after its mod-destroy callback execution,
so if another module depending on them still wants to access, it should
be no problem.
At the last Kamailio Devel meeting we had a brief discussion that we may
want to change mod-destroy to be done in two steps, first for storing
meeded data to backed and then do the cleanup, but I think it is better
without the 2nd step.
Any comments or other suggestions?
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.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)
- [ ] 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
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3868
-- Commit Summary --
* Revert "ims_registrar_pcscf: update registered state to pending registration if contact exists"
* ims_registrar_pcscf: fix typo in comments
* ims_ipsec_pcscf: update security params of newly created ipsec tunnel in contact
-- File Changes --
M src/modules/ims_ipsec_pcscf/cmd.c (12)
M src/modules/ims_registrar_pcscf/save.c (13)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3868.patchhttps://github.com/kamailio/kamailio/pull/3868.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3868
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3868(a)github.com>
Hey Team,
I submitted a PR a while back that has not had much discussion:
https://github.com/kamailio/kamailio/pull/3828
The intention was to allow loading in unsigned integer IDs from DB into PVs.
Currently converting unsigned integers from DB to PVs will error by
default unless the module specifically handles the ease use case.
When the following parameter is enabled the srdb interface will allow
the conversion to an integer PV value (possibly overflowing):
|modparam("db_mysql", "unsigned_type", 1) |
This PR allows the srdb APIs to convert the unsigned integer to an
unsigned integer PV value.
This can be quite useful in modules such as |auth_db| / |permissions|
that can load an arbitrary column into a PV (|load_credentials|,
|tag_col|/|peer_tag_avp|, etc..).
Since most ID columns are auto incrementing unsigned integers this just
makes sense for referring to customer data.
Elevator pitch over..
What I need help with is reviewing the srdb changes, since I am unsure
what side effects that would have on other modules.
Comments are welcome here, on the PR, or find me on the matrix channel
(@devopsec).
Happy Coding..
Regards,
Tyler Moore
Full Stack Software Engineer
dOpenSource