<!-- Kamailio Pull Request Template -->
#### 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
- [x] Related to issue #3720
#### Description
Fixing R-RURI and adding necessary headers when creating fake_msg in xhttp_mod.c for successful message validation and the ability to perform various kamailio functions from event_route[xhttp:request].
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3723
-- Commit Summary --
* xhttp: fix execution of async functions
-- File Changes --
M src/modules/xhttp/xhttp_mod.c (39)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3723.patchhttps://github.com/kamailio/kamailio/pull/3723.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3723
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3723(a)github.com>
<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for feature requests.
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.
If you submit a feature request (or enhancement) add the description of what you would like to be added.
If there is no content to be filled in a section, the entire section can be removed.
Note that a feature request may be closed automatically after about 2 months
if there is no interest from developers or community users to implement it, being
considered expired. In such case can be reopened by writing a comment that includes
the token `/notexpired`. About two weeks before considered expired, the item 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 the proposed feature request.
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
We recently deployed successfully Kamailio with TLS certificates. Now we would like to use let's encrypt certificate which expire after 3 months. Means we need to renew certificate approximatively every 2 months. But while reading docs, in [known limitations](https://kamailio.org/docs/modules/devel/modules/tls.html#tls.k… it says :
> TLS specific config reloading is not safe, so for now better don't use it, especially under heavy traffic.
We struggle to understand if this behaviour is risky and not recommended under heavy traffic for certificate renewal. The doc has been added initially by @poandrei 18 years ago in Feb 21 2007 (see [commit](https://github.com/kamailio/kamailio/commit/32e4977cdb9c1c9ca24c140…)
While digging we came across few discussions Kamailio user groups which are saying "the opposite" (kind of):
- [Comments by a co-founder of Kamailio ](https://www.mail-archive.com/sr-users@lists.kamailio.org/msg16014.html)stating that the old connections shouldn’t be affected by reload.
- Comments by a Kamailio core developer stating that certificate reload is fine with the “reload” cmd ([link1](https://lists.kamailio.org/pipermail/sr-users/2022-February/114296.h…, [link2](https://github.com/kamailio/kamailio/issues/3305))
Plus in another section in docs:
- [By definition :](https://kamailio.org/docs/modules/devel/modules/tls.html#tls.r.tls.reload) (the) existing active TLS connections are not terminated and they continue to use the old certificates. The new configuration will be used for new connections.
So 18 years after, Is it safe to use `tls.reload` command in production and in heavy traffic for **TLS certificate renewal** ? Because it sounds scary and confusing.
So the documentation as it is, really needs clarifications to let users know which risk they're taking when running the `tls.reload` command.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Expected behavior
The document should clearly documents risks, at least for certificate renewal.
#### Actual observed behavior
Docs and Kamailio user/dev groups are confusing.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3717
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3717(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
This PR adds 2 new flags to the mode parameter of the ds_is_from_list function.
Some times the dispatcher configuration can look like this (route attribute is just for exampe, sockname is important here):
70 sip:192.168.1.1:5060;transport=udp 0 1 route=route1;sockname=udp_5060
71 sip:192.168.1.1:5060;transport=udp 0 1 route=route2;sockname=udp_5061
72 sip:192.168.1.1:5060;transport=udp 0 1 route=route3;sockname=udp_5062
73 sip:192.168.1.1:5060;transport=udp 0 1 route=route4;sockname=udp_5063
Here we have one host/port/protocol on the remote side and different ports that we are listening on,
In stock dispatcher version ds_is_from_list(-1,0) will always match first available - 70, but this is not right
for dst ports 5061-5063 (sockets in realality, because we can have different local ip on same port also).
The new mode flag DS_MATCH_SOCKET (8) allow match for dispatcher socket also.
Second flag is DS_MATCH_STRICTEST (16), it allow to match more strictness target in "address/protocol/port/socket" key,
for example:
70 sip:192.168.1.1;transport=udp 0 1 route=route1
71 sip:192.168.1.1:5061;transport=udp 0 1 route=route2
72 sip:192.168.1.1:5062;transport=udp 0 1 route=route3
73 sip:192.168.1.1;transport=udp 0 1 route=route4;socket=udp:192.168.10.10:5063
if packet come from from any port of sip:192.168.1.1;transport=udp except 5061-5062 ds_is_from list will return 70,
if received port also is 5063 the result will be 73, packets from ports 5061-5062 will be matched at 71-72 respectively.
In stock version of ds_is_from_list the result will always be 70.
Note, the DS_MATCH_STRICTEST method can be more compute intensive, because we can potentially traverse all the dispatcher tree.
The behavior of existing flags are not changed.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3699
-- Commit Summary --
* dispatcher: added two new flags to mode parameter of ds_is_from_list function for more strictly matching
-- File Changes --
M src/modules/dispatcher/dispatch.c (112)
M src/modules/dispatcher/dispatch.h (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3699.patchhttps://github.com/kamailio/kamailio/pull/3699.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3699
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3699(a)github.com>
Hello,
discussed a bit during the online Kamailio devel meeting, it is time to
set the milestones towards the next major Kamailio release series v5.8.x.
If no other suggestions that suit more developers, I would propose to
freeze by end of this month or early February, then test for about 4
weeks as usual and release by end of February or during March.
If anyone wants to add new features/modules, they have to be published
till freezing date, either pushed in the git repository or proposed as
pull request.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Kamailio Advanced Training, February 20-22, 2024 -- asipto.com
Kamailio World Conference, April 18-19, 2024, Berlin -- kamailioworld.com
Hi
When I add a destination to MySQL server to block and use kamcmd to reload, the call will not be blocked, while if I use kamcmd to add destination with `secfilter.add_dst` it works properly. It's considerable that after reloading if I print the blocked list in kamcmd (with `secfilter.print`) new database row will be printed correctly.
my secfilter SQL table:
+----+--------+------+------+
| id | action | type | data |
+----+--------+------+------+
| 1 | 2 | 4 | 1111 |
+----+--------+------+------+
kamailio 5.4.6 (x86_64/linux)
Ubuntu 22.04.3 LTS
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3694
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3694(a)github.com>
The uac module lacks the uac_reg_unregister(attr, val) method, Send REGISTER with expires 0 for matching record in real time, instead of through RPC command。uac_reg_disable(attr, val) :SIP processing is done on the next timer routine.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3702
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3702(a)github.com>
There seems to be an incompatibility in the pua_json module related to the libjson-c-dev" version.
The module crashes on startup on version 0.15.2 (e.g. from Debian bullseye).
It works with version 0.12 (e.g. Debian buster).
Backtrace below:
```
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f6d265e5537 in __GI_abort () at abort.c:79
#2 0x00007f6d265e540f in __assert_fail_base (fmt=0x7f6d2675d6a8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f6d2322c091 "jso->_ref_count > 0",
file=0x7f6d2322c064 "./json_object.c", line=308, function=<optimized out>) at assert.c:92
#3 0x00007f6d265f4662 in __GI___assert_fail (assertion=0x7f6d2322c091 "jso->_ref_count > 0", file=0x7f6d2322c064 "./json_object.c", line=308, function=0x7f6d2322c480 "json_object_put")
at assert.c:101
#4 0x00007f6d23224732 in json_object_put () from /lib/x86_64-linux-gnu/libjson-c.so.5
#5 0x00007f6d25842362 in pua_json_publish (msg=0x7fffb3fffb20,
json=0x7f6d25ff5778 "{\"Call-ID\":\"111\",\"Event-Category\":\"presence\",\"Event-Name\":\"update\",\"Event-Package\":\"message-summary\",\"Expires\":\"3600\",\"To\":\"sip:103@XXX.YYY.55.208\",\"To-User\":\"103\",\"To-Realm\":\"XXX.YYY.55.208\",\"From\":\""...) at pua_json_publish.c:383
#6 0x00007f6d2583e74a in w_pua_json_publish (msg=0x7fffb3fffb20, p1pjson=0x7f6d25ff5988 "xW\377%m\177", p2=0x0) at pua_json_mod.c:100
#7 0x0000563199d1c47e in do_action ()
#8 0x0000563199d29ae6 in run_actions ()
#9 0x00007f6d2324444e in ?? () from /usr/lib/x86_64-linux-gnu/kamailio/modules/xhttp.so
#10 0x00007f6d23246005 in ?? () from /usr/lib/x86_64-linux-gnu/kamailio/modules/xhttp.so
#11 0x0000563199e6cb10 in nonsip_msg_run_hooks ()
#12 0x0000563199ede538 in receive_msg ()
#13 0x0000563199cac4f2 in receive_tcp_msg ()
#14 0x0000563199caeb51 in tcp_read_req ()
#15 0x0000563199cb2028 in ?? ()
#16 0x0000563199c9da4f in ?? ()
#17 0x0000563199cb4f8c in tcp_receive_loop ()
#18 0x0000563199e2330b in tcp_init_children ()
#19 0x0000563199c8967f in main_loop ()
#20 0x0000563199c9446e in main ()
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3376
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3376(a)github.com>
<!--
Module pipelimit add pl.reload RPC Command
-->
### Description
Sometimes it is necessary to dynamically add current limiting rules without restarting kamailio.
After adding pipe rules in the database, it is hoped that the new rules can be reloaded into memory through the rpc command.
### Expected behavior
#### Actual observed behavior
#### Debugging Data
```
(paste your debugging data here)
```
#### Log Messages
<!--
-->
```
(paste your log messages here)
```
#### SIP Traffic
<!--
-->
```
(paste your sip traffic here)
```
### Possible Solutions
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.7.0 (x86_64/linux) f1e91d
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: f1e91d
compiled on 14:56:02 May 17 2023 with gcc 4.8.5
```
* **Operating System**:
```
Debian 9+, Ubuntu 16.04+, CentOS 7, ...
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3632
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3632(a)github.com>
### Description
I've recently spent some time debugging a case with JsSIP and usernames in form of a generated string which can be both upper and lower case letters plus digits.
On BYE from callee to JsSIP, it responded with a "404" and "Request-URI does not point to us" in the console while debugging.
JsSIP is using the Contact returned in the 200 OK to REGISTER (which is transformed to all lower case) for new outgoing INVITE.
It does not match this against the one used in BYE correctly, and return "404".
I see there is a setting in the registrar about this:
```
3.11. case_sensitive (integer)
If set to 1 then AOR comparison and also storing will be case sensitive, if set to 0 then AOR comparison and storing will be case insensitive.
This is recommended. This parameter can be modified via Kamailio config framework.
Default value is 0.
```
Since the RFC states that username should be handle case-sensitive, maybe it would be smart to change this default?
```
Comparison of the userinfo of SIP and SIPS URIs is case-
sensitive. This includes userinfo containing passwords or
formatted as telephone-subscribers.
...
The URIs within each of the following sets are not equivalent:
SIP:ALICE@AtLanTa.CoM;Transport=udp (different usernames)
sip:alice@AtLanTa.CoM;Transport=UDP
```
#### Reproduction
Make a registration with a username containing both upper and lower case characters. It will be stored in all lower case.
### Possible Solutions
Change default value.
Regardless of the outcome on this case - at least now there is a note about it here too.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3719
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3719(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
While doing a call, new dialogue is not created in PCSCF. RX feature is on. As per my understanding, ims_dialog has one call back function and it invokes dlg_onreq() function and a new dialgue can be created (function is dlg_new_dialog). And in the traces, that is not happening.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
I have added additional traces for troubleshooting, and I can see that in case of PCSCF, new dialog is not created. And later on Rx feature is not working as expected.
#### Reproduction
Everytime
<!--
If the issue can be reproduced, describe how it can be done.
-->
Need to do Two UEs VoLTE registration and then a call from UE1 to UE2
#### 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.
-->
![image](https://github.com/kamailio/kamailio/assets/64190746/9e41f486-61ad-4974-bd1c-b57a1602c57f)
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
(paste your output here)
```
root@openims-node-focal:/usr/local/etc/kamailio# kamailio -v
version: kamailio 5.7.2 (x86_64/linux) 02958e
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: 02958e
compiled on 18:07:29 Oct 17 2023 with gcc 9.4.0
* **Operating System**:
ubuntu
uname -a
Linux openims-node-focal 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
<!--
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`)
-->
```
(paste your output here)
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3676
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3676(a)github.com>