<!-- 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, …
[View More]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
- [x] Tested changes locally
- [x] Related to issue #3653
#### Description
<!-- Describe your changes in detail -->
- Contacts are now added at the end of the list.
- hfl(Contact)[index] is now returning in the correct order.
Currently, if a sip message contains multiple Contacts or just 2, let's say
```
Contact: <sip:bob0@example.com>;expires=3600,<sip:bob1@example.com>;expires=3600,<sip:bob2@example.com>;expires=3600
Contact: <sip:bob3@example.com>;expires=3600,<sip:bob4@example.com>;expires=3600,<sip:bob5@example.com>;expires=3600
```
contacts are stored in the reversed order, ie bob2, bob1,bob0 and bob5,bob4,bob3.
This can be seen with a simple config file such as:
```
#kamailio.cfg
...
request_route {
...
xlog("L_INFO", "Contact headers: $hfl(Contact)\n");
xlog("L_INFO", "Contact headers 0: $(hfl(Contact)[0])\n");
xlog("L_INFO", "Contact headers 1: $(hfl(Contact)[1])\n");
xlog("L_INFO", "Contact headers 2: $(hfl(Contact)[2])\n");
xlog("L_INFO", "Contact headers 3: $(hfl(Contact)[3])\n");
xlog("L_INFO", "Contact headers 4: $(hfl(Contact)[4])\n");
xlog("L_INFO", "Contact headers 5: $(hfl(Contact)[5])\n");
xlog("L_INFO", "Contact headers 6: $(hfl(Contact)[6])\n");
xlog("L_INFO", "Contact headers 7: $(hfl(Contact)[7])\n");
xlog("L_INFO", "Contact headers -1: $(hfl(Contact)[-1])\n");
xlog("L_INFO", "Contact headers -2: $(hfl(Contact)[-2])\n");
xlog("L_INFO", "Contact headers -3: $(hfl(Contact)[-3])\n");
xlog("L_INFO", "Contact headers -4: $(hfl(Contact)[-4])\n");
xlog("L_INFO", "Contact headers -5: $(hfl(Contact)[-5])\n");
xlog("L_INFO", "Contact headers -6: $(hfl(Contact)[-6])\n");
```
that prints in the log all the contacts reversed:
```
Contact headers: <sip:bob2@example.com>;expires=3600
Contact headers 0: <sip:bob2@example.com>;expires=3600
Contact headers 1: <sip:bob1@example.com>;expires=3600
Contact headers 2: <sip:bob0@example.com>;expires=3600
Contact headers 3: <sip:bob5@example.com>;expires=3600
Contact headers 4: <sip:bob4@example.com>;expires=3600
Contact headers 5: <sip:bob3@example.com>;expires=3600
Contact headers 6: <null>
Contact headers 7: <null>
Contact headers -1: <sip:bob3@example.com>;expires=3600
Contact headers -2: <sip:bob4@example.com>;expires=3600
Contact headers -3: <sip:bob5@example.com>;expires=3600
Contact headers -4: <sip:bob0@example.com>;expires=3600
Contact headers -5: <sip:bob1@example.com>;expires=3600
Contact headers -6: <sip:bob2@example.com>;expires=3600
```
This PR fixes and produces:
```
Contact headers: <sip:bob0@example.com>;expires=3600
Contact headers 0: <sip:bob0@example.com>;expires=3600
Contact headers 1: <sip:bob1@example.com>;expires=3600
Contact headers 2: <sip:bob2@example.com>;expires=3600
Contact headers 3: <sip:bob3@example.com>;expires=3600
Contact headers 4: <sip:bob4@example.com>;expires=3600
Contact headers 5: <sip:bob5@example.com>;expires=3600
Contact headers 6: <null>
Contact headers 7: <null>
Contact headers -1: <null>
Contact headers -2: <sip:bob5@example.com>;expires=3600
Contact headers -3: <sip:bob4@example.com>;expires=3600
Contact headers -4: <sip:bob3@example.com>;expires=3600
Contact headers -5: <sip:bob2@example.com>;expires=3600
Contact headers -6: <sip:bob1@example.com>;expires=3600
```
The `contact headers -1: <null>` if fixed via #3697.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3698
-- Commit Summary --
* parser/contact: Change addition order to the end of list
-- File Changes --
M src/core/parser/contact/contact.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3698.patchhttps://github.com/kamailio/kamailio/pull/3698.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3698
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3698(a)github.com>
[View Less]
<!--
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/…
[View More]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 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
I am working on extending $hfl and $hflc to support some more headers.
During some experimentation, I stumbled into some weird behavior regarding $(hfl(Route)[-1]) and negative indexing of $hfl pseudo-variable (also for Via, Contact).
Per the [docs ](https://www.kamailio.org/wikidocs/cookbooks/devel/pseudovariables/#hflname-header-field-with-list-of-bodies ): -1 index should print the last header found and so on (as stated by $hdr $hfl).
Right now, -1 produces null, and from -2 and onwards it prints correctly from the last one to the first one.
### Troubleshooting
#### Reproduction
```
#kamailio.cfg
...
request_route {
xlog("L_INFO", "Route headers hdr: $hdr(Route)\n");
xlog("L_INFO", "Route headers hfl: $hfl(Route)\n");
xlog("L_INFO", "Route headers count: $hflc(Route)\n");
xlog("L_INFO", "Route headers 0: $(hfl(Route)[0])\n");
xlog("L_INFO", "Route headers 1: $(hfl(Route)[1])\n");
xlog("L_INFO", "Route headers 4: $(hfl(Route)[4])\n");
xlog("L_INFO", "Route headers -1: $(hfl(Route)[-1])\n");
xlog("L_INFO", "Route headers -2: $(hfl(Route)[-2])\n");
xlog("L_INFO", "Route headers -3: $(hfl(Route)[-3])\n");
...
}
```
Seng a SIP message containing Route (but also applicable for VIA, Contact headers):
```
OPTIONS_MSG_2CONTACTS="OPTIONS sip:example.com SIP/2.0
Via: SIP/2.0/UDP 192.168.1.100:5060;branch=z9hG4bK123456789
Max-Forwards: 70
From: <sip:bob@example.com>;tag=123456789
To: <sip:alice@example.com>
Call-ID: 987654321(a)192.168.1.100
CSeq: 1 OPTIONS
Contact: <sip:bob@example.com>;expires=3600,<sip:bob2@example.com>;expires=3600,<sip:bob3@example.com>;expires=3600
Route: <sip:server1.example.com;lr;ftag=1234>, <sip:server2.example.com;lr;ftag=5678>, <sip:server3.example.com;lr;ftag=9012>
Route: <sip:server4.example.com;lr;ftag=1234>, <sip:server5.example.com;lr;ftag=5678>
Content-Length: 0
"
echo -e "$OPTIONS_MSG_2CONTACTS" | nc -u localhost 5060
```
See logs for logging details.
#### 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).
-->
```
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers hdr: <sip:server1.example.com;lr;ftag=1234>, <sip:server2.example.com;lr;ftag=5678>, <sip:server3.example.com;lr;ftag=9012>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers hfl: <sip:server1.example.com;lr;ftag=1234>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers count: 5
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers 0: <sip:server1.example.com;lr;ftag=1234>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers 1: <sip:server2.example.com;lr;ftag=5678>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers 4: <sip:server5.example.com;lr;ftag=5678>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers -1: <null>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers -2: <sip:server5.example.com;lr;ftag=5678>
INFO: {1 1 OPTIONS 987654321(a)192.168.1.100} <script>: Route headers -3: <sip:server4.example.com;lr;ftag=1234>
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
In https://github.com/kamailio/kamailio/blob/e59c4415707f0995a0d5315b5601ae518…, the count should start at 0 ie.
```
n=0; // not n=1;
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
(paste your output here)
```
* **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`)
-->
```
(paste your output here)
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3653
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3653(a)github.com>
[View Less]
Hello to all.
I have tried to install VoLTE Setup with Kamailio IMS on Ubuntu 18.04 from https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/
in step 16, Install RTPEngine, dpkg-checkbuilddeps have dependencies: libbcg729-dev, which is not in the repository of ubuntu 18.04 to install. How can install it?
dpkg-checkbuilddeps: error: Unmet build dependencies: libbcg729-dev
sudo apt install libbcg729-dev
Reading package lists... Done
Building dependency tree
Reading state information.…
[View More].. Done
E: Unable to locate package libbcg729-dev
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3703
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3703(a)github.com>
[View Less]
Before: -1 yielded null and -2 the last element of a header
<!-- 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 …
[View More]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 #3653
#### Description
<!-- Describe your changes in detail -->
This PR fixes a bug referenced in #3653.
Before fix `$(hfl(HEADER)[-1]` where `HEADER='Via' | Contact | Route | Record-Route ` produced `null` instead of the last element of header.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3697
-- Commit Summary --
* pv_core: Fix negative index bug for hfl()
-- File Changes --
M src/modules/pv/pv_core.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3697.patchhttps://github.com/kamailio/kamailio/pull/3697.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3697
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3697(a)github.com>
[View Less]
### Description
References: #3635
Early initialization of tls in OpenSSL 3 in rank 0 results in the use of shared state (pointers to the same shared memory location). Note: this is not related to shared memory allocation contention as this protected by a (multi-process)futex. Under heavy traffic the workers will corrupt each others state (race condition). This is only visible under heavy loading and is the reason for the intermittent appearance in #3635.
Ping @miconda
https://github.com/…
[View More]kamailio/kamailio/commit/1a9b0b63617afebcee2aecb3b2240d7…
Since qm/fm are already protected by a multi-process futex this commit is redundant (it puts a pthread mutex around the futex). I have been able to reproduce OpenSSL 3 crashes with heavy loading with this commit.
Example of shared object is the error state (SSL_get_error). It should be per worker but
```
CRITICAL: <core> [core/mem/q_malloc.c:555]: qm_free(): BUG: freeing already freed pointer (0x7f1d7f9c77b0), called from tls: tls_init.c: ser_free(535), first free tls: tls_init.c: ser_free(535) - ignoring
```
shows that multiple workers are accessing the same object (in OpenSSL this is `ERR_STATE *`).
### Troubleshooting
N/A
#### Reproduction
* create heaving loading of TLS clients
* observe shm logging errors
#### Debugging Data
Dump `ERR_STATE *` from two different processes: observe that these are identical meaning both workers are using the same struct.
```
# !!!!IMPORTANT!!!! 2 == OpenSSL thread local key for ERR_STATE *
(gdb) p err_thread_local
$3 = 2
# this is worker 1, process_no 7
Reading symbols from /usr/local/kamailio/lib64/kamailio/modules/debugger.so...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f1df054e80a in epoll_wait (epfd=5, events=0x7f1db0504990, maxevents=1, timeout=2000) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
30 return SYSCALL_CANCEL (epoll_wait, epfd, events, maxevents, timeout);
(gdb) p pthread_getspecific(2)
$1 = (void *) 0x7f1d700a65a0
# this is worker 2, process_no 8, rank 4
Reading symbols from /usr/local/kamailio/lib64/kamailio/modules/stun.so...
Reading symbols from /usr/local/kamailio/lib64/kamailio/modules/debugger.so...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--c
0x00007f1df054e80a in epoll_wait (epfd=5, events=0x7f1db0504990, maxevents=1, timeout=2000) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
30 return SYSCALL_CANCEL (epoll_wait, epfd, events, maxevents, timeout);
(gdb) p pthread_getspecific(2)
$2 = (void *) 0x7f1d700a65a0
```
#### Log Messages
```
CRITICAL: <core> [core/mem/q_malloc.c:555]: qm_free(): BUG: freeing already freed pointer (0x7f1d7f9c77b0), called from tls: tls_init.c: ser_free(535), first free tls: tls_init.c: ser_free(535) - ignoring
```
#### SIP Traffic
N/A
### Possible Solutions
- avoid doing TLS initialization in rank 0; this will require cooperation from all modules that use OpenSSL 3 themselves. If an OpenSSL-using module initializes state before `fork()` then all workers will reuse global state
### Additional Information
- OpenSSL 3 has initialize-once and initialize-once-per-thread states. An example of this is `ERR_STATE *` - this is of the type initialize-once-per-thread.
- when kamailio does OpenSSL initialization in rank 0, the workers inherit all "global" objects. If these objects are in shared memory then the worker processes will contend for the same state leading to corruption
- due to the design of the OpenSSL 3 alot of this state (static variables, one time initialization) cannot be reinitialized after `fork()`. "initialize-once-per-thread" can be reinitialized if the child were to spawn threads.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3695
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3695(a)github.com>
[View Less]
#### 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 …
[View More]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 -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [X] Related to issue #3695 , #3635
#### Description
- changes to avoid setting `ERR_STATE *` in rank 0 main thread - all config is done in a transient worker thread
- `tls_fix_domains_cfg()` is performed in `PROC_SIPINIT` instead of `PROC_INIT` (could also be done in worker thread)
- changes to a module `outbound.so`: OpenSSL config is done in a transient worker thread
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3696
-- Commit Summary --
* tls: POC for OpenSSL 3
* outbound: OpenSSL 3 POC
* tls: skip OPENSSL_init_ssl
-- File Changes --
M src/modules/outbound/outbound_mod.c (38)
M src/modules/tls/tls_init.c (89)
M src/modules/tls/tls_mod.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3696.patchhttps://github.com/kamailio/kamailio/pull/3696.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3696
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3696(a)github.com>
[View Less]
Module: kamailio
Branch: master
Commit: 3d6fecc6bc6d52f56d0fdd4e075a15032da91421
URL: https://github.com/kamailio/kamailio/commit/3d6fecc6bc6d52f56d0fdd4e075a150…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2023-12-29T09:55:33+01:00
siputils: docs for tel2sip2() function
---
Modified: src/modules/siputils/doc/siputils_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/…
[View More]3d6fecc6bc6d52f56d0fdd4e075a150…
Patch: https://github.com/kamailio/kamailio/commit/3d6fecc6bc6d52f56d0fdd4e075a150…
---
diff --git a/src/modules/siputils/doc/siputils_admin.xml b/src/modules/siputils/doc/siputils_admin.xml
index 63984c60c67..d2197b1c3f4 100644
--- a/src/modules/siputils/doc/siputils_admin.xml
+++ b/src/modules/siputils/doc/siputils_admin.xml
@@ -539,13 +539,15 @@ if (uri_param_rm("param1")) {
<para>
The conversion follows the rules in RFC 3261 section 19.1.6:
<itemizedlist>
- <listitem>
- <para>Visual separators ( "-", ".", "(", ")" ) are removed from tel URI number before converting it to SIP URI userinfo.</para>
+ <listitem>
+ <para>Visual separators ( "-", ".", "(", ")" ) are removed
+ from tel URI number before converting it to SIP URI userinfo.</para>
</listitem>
<listitem>
- <para>tel URI parameters are downcased before appending them to SIP URI userinfo</para>
- </listitem>
- </itemizedlist>
+ <para>tel URI parameters are downcased before appending them
+ to SIP URI userinfo</para>
+ </listitem>
+ </itemizedlist>
</para>
<para>
The SIP URI hostpart is taken from second param
@@ -569,6 +571,36 @@ tel2sip("$ru", $fd", "$ru");
tel2sip("$ru", $fd", "$ru");
# $ru: sip:+12345678;ext=200;isub=+123-456@foo.com;user=phone
...
+</programlisting>
+ </example>
+ </section>
+ <section id="siputils.f.tel2sip2">
+ <title>
+ <function moreinfo="none">tel2sip2(uri, hostpart, result)</function>
+ </title>
+ <para>
+ Alternative to sip2tel() function that tries to follow closer the RFC
+ requrements (e.g., sort tel: uri parameters copied to the sip: uri in
+ the manner defined in the standard; deletes the phone-context parameter
+ if it is a domain, and, takes visual separators from the phone-context
+ parameter if it is a telephone number).
+ </para>
+ <para>
+ Its parameters have the same meaning as for tel2sip().
+ </para>
+ <para>
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
+ BRANCH_ROUTE, or ONREPLY_ROUTE.
+ </para>
+ <example>
+ <title><function>tel2sip2</function> usage</title>
+ <programlisting format="linespecific">
+...
+# $ru: tel:+(34)-999-888-777
+# $fu: sip:test@foo.com
+tel2sip2("$ru", $fd", "$ru");
+# $ru: sip:+34999888777@foo.com;user=phone
+...
</programlisting>
</example>
</section>
[View Less]
<!-- 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, …
[View More]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)
- [ ] 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
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
This PR fixes duplicate "Destination-Realm" AVP being added to Session Termination Request Diameter message sent over Rx interface
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3692
-- Commit Summary --
* cdp: add destination realm avp only if not present
-- File Changes --
M src/modules/cdp/authstatemachine.c (32)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3692.patchhttps://github.com/kamailio/kamailio/pull/3692.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3692
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3692(a)github.com>
[View Less]
<!-- 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, …
[View More]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 -->
This PR fixes the disabled parts of the TLS code in cdp module which resulted in getting an error (**undefined symbol init_ssl_methods**) whenever cdp module was loaded and following openssl version was used.
```
openssl version
OpenSSL 1.1.1f 31 Mar 2020
```
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3691
-- Commit Summary --
* cdp: fix disabled parts for openssl version newer than 1.1.0
-- File Changes --
M src/modules/cdp/cdp_tls.c (18)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3691.patchhttps://github.com/kamailio/kamailio/pull/3691.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3691
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3691(a)github.com>
[View Less]
<!-- 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, …
[View More]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)
- [ ] 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 -->
Fixes the conversion fro UTF-8 to UCS-2 conversion when SMS is sent with emojis
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3690
-- Commit Summary --
* smsops: fix utf8 to ucs2 conversion
-- File Changes --
M src/modules/smsops/smsops_impl.c (10)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3690.patchhttps://github.com/kamailio/kamailio/pull/3690.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3690
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3690(a)github.com>
[View Less]
…destination protocol to use
<!-- 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 …
[View More]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)
- [ ] 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 -->
This commits rearrange the place where destination URI was resetted. This was needed because the value was used to decide destination protocol to use.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3689
-- Commit Summary --
* ims_ipsec_pcscf: reset destination URI after value is used to decide destination protocol to use
-- File Changes --
M src/modules/ims_ipsec_pcscf/cmd.c (14)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3689.patchhttps://github.com/kamailio/kamailio/pull/3689.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3689
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3689(a)github.com>
[View Less]
Hi !
### Description
I have а scenario where dialogs are saved at kamailio shutdown and loaded at startup, the dialog module related configuration:
modparam("dialog", "db_url", DBURL)
modparam("dialog", "db_mode", 3)
When kamailio shut down first time all dialogs a saved in DB, upon startup they loaded as expected, but when in some resonable short time kamailio shutdowned again with active dialogs loaded at startup, they not saved in DB.
I think this happens because the dialog dflags in …
[View More]load_dialog_info_from_db function set to zero after dialog loaded, so
in update_dialog_dbinfo_unsafe such dialogs are ignored (no DLG_FLAG_NEW, no DLG_FLAG_CHANGED set).
#### Debugging Data
Before shutdown:
kamcmd> dlg.list
{
h_entry: 521
h_id: 11463
ref: 2
call-id: 7z32YR9BCg
from_uri: sip:XXXXX@[XXXX:XXXX:b081:1320::1:2c]
to_uri: sip:YYYYY@[XXXX:XXXX:0:201d::a1]
state: 4
start_ts: 1702137597
init_ts: 1702137595
end_ts: 0
duration: 18
timeout: 1702144797
lifetime: 7200
**dflags: 643**
sflags: 0
iflags: 0
.....
After startup:
kamcmd> dlg.list
{
h_entry: 521
h_id: 11463
ref: 2
call-id: 7z32YR9BCg
from_uri: sip:XXXXX@[XXXX:XXXX:b081:1320::1:2c]
to_uri: sip:YYYYY@[XXXX:XXXX:0:201d::a1]
state: 4
start_ts: 1702137597
init_ts: 1702137636
end_ts: 0
duration: 46
timeout: 1702144798
lifetime: 7201
**dflags: 0**
sflags: 0
iflags: 0
....
### Possible Solutions
At first glance, it's easy to set dlg->flags = DLG_FLAG_CHANGED (or may be to DLG_FLAG_NEW|DLG_FLAG_CHANGED) after loading from the database in load_dialog_info_from_db function, but I'm not sure if this could break anything else (e.g. DMQ).
### Additional Information
* **Kamailio Version** - kamailio 5.7.2 (x86_64/linux)
* **Operating System**:
Ubuntu 18.04.6 LTS
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3669
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3669(a)github.com>
[View Less]
…tartup when using db_mode 3
- The dialogs that loaded at startup are not saved in DB on shutdown, and so not loaded at restart, fixes issue #3669
<!-- 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 …
[View More]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/3688
-- Commit Summary --
* dialog: fixed saving dialogs on shutdown that are already loaded at startup when using db_mode 3
-- File Changes --
M src/modules/dialog/dlg_db_handler.c (3)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3688.patchhttps://github.com/kamailio/kamailio/pull/3688.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3688
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3688(a)github.com>
[View Less]
### Description
Found error in the haproxy protocol parser
Does not properly parsed
```
$rcv(rcvip)
$rcv(srcport)
$rcv(rcvport)
```
#### Reproduction
This can be tested suing config file
```
#!define IPV6_ADDR ::1
tcp_accept_haproxy=yes
received_route_mode=1
listen=tcp:[IPV6_ADDR]:45060
loadmodule "xlog.so"
loadmodule "pv.so"
event_route[core:msg-received] {
xerr("Source IP: $rcv(srcip)\n");
xerr("Received socket: $rcv(rcvip)\n");
xerr("Source port: $rcv(srcport)\…
[View More]n");
xerr("Received port: $rcv(rcvport)\n");
}
request_route {
drop;
}
```
Then required send call via haproxy server
```sh
sipp -l 1 -m 1 -t t1 -sn uac [2600::5]
```
#### Log Messages
```
4(1749405) ERROR: <script>: Source IP: 2600:xxx:6d5:aa02::c3
4(1749405) ERROR: <script>: Received socket: 2600:xxx:6d5:aa02::c3
4(1749405) ERROR: <script>: Source port: 50707
4(1749405) ERROR: <script>: Received port: 50195
```
Here is `received socket` contains "source ip" and porst parsed in the reverse order.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3683
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3683(a)github.com>
[View Less]
#### 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature …
[View More](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
- [x] Related to issue #3683 (replace XXXX with an open issue number)
#### Description
fixes GH #3683
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3685
-- Commit Summary --
* core: fixed haproxy protocol parser
-- File Changes --
M src/core/tcp_main.c (10)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3685.patchhttps://github.com/kamailio/kamailio/pull/3685.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3685
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3685(a)github.com>
[View Less]
<!-- 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, …
[View More]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
- [x] Related to issue #3064 (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
This PR fixes #3064.
It resets the check variable back to 0 after sending a tm:local-response reply.
As of currently, event_route[tm:local-response] will be called only max `children` times (one for each) and then won't process any more.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3687
-- Commit Summary --
* tm: Reset local_response_sent_lookup
-- File Changes --
M src/modules/tm/t_reply.c (1)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3687.patchhttps://github.com/kamailio/kamailio/pull/3687.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3687
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3687(a)github.com>
[View Less]
Module: kamailio
Branch: master
Commit: dde74dc1d3413bc677813502aa71d727cbe1e981
URL: https://github.com/kamailio/kamailio/commit/dde74dc1d3413bc677813502aa71d72…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2023-12-27T09:24:33+01:00
tm: remove redundant check in if condition
- else branch is already for >= 200
---
Modified: src/modules/tm/dlg.c
---
Diff: https://github.com/kamailio/kamailio/commit/…
[View More]dde74dc1d3413bc677813502aa71d72…
Patch: https://github.com/kamailio/kamailio/commit/dde74dc1d3413bc677813502aa71d72…
---
diff --git a/src/modules/tm/dlg.c b/src/modules/tm/dlg.c
index 29b8d50769f..96483259c8c 100644
--- a/src/modules/tm/dlg.c
+++ b/src/modules/tm/dlg.c
@@ -712,8 +712,9 @@ static inline int dlg_early_resp_uac(dlg_t *_d, struct sip_msg *_m)
if(code < 200) {
/* We are in early state already, do nothing */
- } else if((code >= 200) && (code <= 299)) {
- /* Warning - we can handle here response for non-initial request (for
+ } else if(code <= 299) {
+ /* (200-299)
+ * Warning - we can handle here response for non-initial request (for
* example UPDATE within early INVITE/BYE dialog) and move into
* confirmed state may be error! But this depends on dialog type... */
[View Less]
Module: kamailio
Branch: master
Commit: 09318b6d0f224cace31d7db925f792b66cefd469
URL: https://github.com/kamailio/kamailio/commit/09318b6d0f224cace31d7db925f792b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2023-12-27T09:24:33+01:00
seas: if expression on else not needed
- evaluation of it is true on else branch
---
Modified: src/modules/seas/event_dispatcher.c
---
Diff: https://github.com/kamailio/…
[View More]kamailio/commit/09318b6d0f224cace31d7db925f792b…
Patch: https://github.com/kamailio/kamailio/commit/09318b6d0f224cace31d7db925f792b…
---
diff --git a/src/modules/seas/event_dispatcher.c b/src/modules/seas/event_dispatcher.c
index 57483212686..e827629e53f 100644
--- a/src/modules/seas/event_dispatcher.c
+++ b/src/modules/seas/event_dispatcher.c
@@ -312,9 +312,7 @@ int dispatcher_main_loop(void)
poll_fds[3 + as_nr].revents = 0;
as_nr++; /*not very sure if this is thread-safe*/
unc_as_nr--;
- } else if(
- fd
- <= 0) { /* pull the upper set of incomplete AS down and take this one out*/
+ } else { /* pull the upper set of incomplete AS down and take this one out*/
poll_tmp->revents = 0;
for(k = i; k < (unc_as_nr - 1); k++) {
j = 3 + as_nr + k;
[View Less]
Kamailio project continued to evolve steadily, a new major release was
out during this year, next one planned in a few months, relying on an
amazing community of developers and users. We hope it kept helping
people and companies world wide to connect with the dear ones and build
a better way of living.
The season holidays are ahead, time to relax, spend time with family and
friends! I take again this chance to express my thanks and greetings to
all the friends, developers, supporting companies …
[View More]and community members
that made 2023 another fantastic year for Kamailio project.
Enjoy the holidays! Merry Christmas!
Daniel
* Santa is flying Kamailio! *
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services
Kamailio World Conference - April 18-19, 2024, Berlin
[View Less]
### Description
It would be nice if the JSONRPC-S module would support batch requests. For example if you want to set multiple values in htable simultaneously.
### Expected behavior
That the implementation is in line with JSON-RPC 2.0 specification and support batching.
For example:
`[
{"jsonrpc": "2.0", "method": "htable.stats", "id": 22},
{"jsonrpc": "2.0", "method": "htable.listTables", "id": 23}
]`
#### Actual observed behavior
Get an empty result with no error code (see Debugging …
[View More]data)
Only the first message is parsed when discarding the brackets (which should give a json format error anyway, but doesn't)
`
{"jsonrpc": "2.0", "method": "htable.stats", "id": 22},
{"jsonrpc": "2.0", "method": "htable.listTables", "id": 23}
`
Then I get an answer to only the first request instead of expected JSON validation error.
#### Debugging Data
`curl -X POST -H "Content-Type: application/json" -d '[{"jsonrpc": "2.0", "method": "htable.stats", "id": 22},{"jsonrpc": "2.0", "method": "htable.listTables", "id": 23}]' http://10.0.0.1:5060/RPC
{
"jsonrpc": "2.0",
"result": {
}
}`
#### Log Messages
`254(260) ERROR: jsonrpcs [jsonrpcs_mod.c:1263]: jsonrpc_dispatch(): missing or invalid jsonrpc field in request`
#### SIP Traffic
N/A
### Possible Solutions
Needs a code fix
### Additional Information
https://www.jsonrpc.org/specification
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3677
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3677(a)github.com>
[View Less]
```
CC (gcc) [M auth_identity.so] auth_crypt.o
auth_crypt.c: In function 'rsa_sha1_enc':
auth_crypt.c:215:9: warning: 'RSA_sign' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
215 | if (RSA_sign(NID_sha1,
| ^~
In file included from /usr/include/openssl/x509.h:36,
from /usr/include/openssl/pem.h:23,
from auth_crypt.c:33:
/usr/include/openssl/rsa.h:353:27: note: declared here
353 | OSSL_DEPRECATEDIN_3_0 int RSA_sign(int …
[View More]type, const unsigned char *m,
| ^~~~~~~~
auth_crypt.c: In function 'rsa_sha1_dec':
auth_crypt.c:261:9: warning: 'EVP_PKEY_get1_RSA' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
261 | hpubkey = EVP_PKEY_get1_RSA(pkey);
| ^~~~~~~
In file included from /usr/include/openssl/pem.h:22:
/usr/include/openssl/evp.h:1348:16: note: declared here
1348 | struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
| ^~~~~~~~~~~~~~~~~
auth_crypt.c:269:9: warning: 'RSA_verify' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
269 | if (RSA_verify(NID_sha1,
| ^~
/usr/include/openssl/rsa.h:356:27: note: declared here
356 | OSSL_DEPRECATEDIN_3_0 int RSA_verify(int type, const unsigned char *m,
| ^~~~~~~~~~
auth_crypt.c:275:17: warning: 'RSA_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
275 | RSA_free(hpubkey);
| ^~~~~~~~
/usr/include/openssl/rsa.h:298:28: note: declared here
298 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
| ^~~~~~~~
auth_crypt.c:298:9: warning: 'RSA_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
298 | RSA_free(hpubkey);
| ^~~~~~~~
/usr/include/openssl/rsa.h:298:28: note: declared here
298 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
| ^~~~~~~~
CC (gcc) [M auth_identity.so] auth_dynstr.o
CC (gcc) [M auth_identity.so] auth_hdrs.o
CC (gcc) [M auth_identity.so] auth_http.o
CC (gcc) [M auth_identity.so] auth_identity.o
auth_identity.c: In function 'mod_init':
auth_identity.c:396:9: warning: 'PEM_read_RSAPrivateKey' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
396 | glb_hmyprivkey=PEM_read_RSAPrivateKey(hpemfile, NULL, NULL, NULL);
| ^~~~~~~~~~~~~~
In file included from auth_identity.c:43:
/usr/include/openssl/pem.h:447:1: note: declared here
447 | DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
| ^~~~~~~~~~~~~~~~~~~~~~
auth_identity.c:408:9: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
408 | if (initdynstr(&glb_encedmsg, RSA_size(glb_hmyprivkey)))
| ^~
In file included from /usr/include/openssl/x509.h:36,
from /usr/include/openssl/pem.h:23:
/usr/include/openssl/rsa.h:209:27: note: declared here
209 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
| ^~~~~~~~
auth_identity.c:412:9: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
412 | if (initdynstr(&glb_b64encedmsg, (RSA_size(glb_hmyprivkey)/3+1)*4))
| ^~
/usr/include/openssl/rsa.h:209:27: note: declared here
209 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
| ^~~~~~~~
CC (gcc) [M auth_identity.so] auth_tables.o
LD (gcc) [M auth_identity.so] auth_identity.so
```
This warning on Fedora 38
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3636
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3636(a)github.com>
[View Less]
### Description
It seems PCRE is not supported anymore
```
make[2]: --libs: No such file or directory
grep: unrecognized option: P
BusyBox v1.36.1 (2023-12-20 14:59:51 UTC) multi-call binary.
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3686
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3686(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
- [X] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature …
[View More](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
Currently dlgs and sworker modules are not packaged. We propose with this PR to add them to the extra modules list.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3684
-- Commit Summary --
* Makefile.groups: add dlgs and sworker to extra modules
-- File Changes --
M src/Makefile.groups (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3684.patchhttps://github.com/kamailio/kamailio/pull/3684.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3684
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3684(a)github.com>
[View Less]
Module: kamailio
Branch: master
Commit: 19572a828ffeb08b190dab5ae4aee93f03d9a7f2
URL: https://github.com/kamailio/kamailio/commit/19572a828ffeb08b190dab5ae4aee93…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2023-12-19T10:57:40+01:00
tm: clearer reply code handling for uac dlg
---
Modified: src/modules/tm/dlg.c
---
Diff: https://github.com/kamailio/kamailio/commit/19572a828ffeb08b190dab5ae4aee93…
Patch:…
[View More]https://github.com/kamailio/kamailio/commit/19572a828ffeb08b190dab5ae4aee93…
---
diff --git a/src/modules/tm/dlg.c b/src/modules/tm/dlg.c
index 420f95a98d2..29b8d50769f 100644
--- a/src/modules/tm/dlg.c
+++ b/src/modules/tm/dlg.c
@@ -666,7 +666,7 @@ static inline int dlg_new_resp_uac(dlg_t *_d, struct sip_msg *_m)
code = _m->first_line.u.reply.statuscode;
if(code < 200) {
- /* A provisional response, do nothing, we could
+ /* 100-199: a provisional response, do nothing, we could
* update remote tag and route set but we will do that
* for a positive final response anyway and I don't want
* bet on presence of these fields in provisional responses
@@ -674,8 +674,8 @@ static inline int dlg_new_resp_uac(dlg_t *_d, struct sip_msg *_m)
* Send a request to jan(a)iptel.org if you need to update
* the structures here
*/
- } else if((code >= 200) && (code < 299)) {
- /* A final response, update the structures and transit
+ } else if(code < 299) {
+ /* 200-299: a final response, update the structures and transit
* into DLG_CONFIRMED
*/
if(response2dlg(_m, _d) < 0)
@@ -687,7 +687,7 @@ static inline int dlg_new_resp_uac(dlg_t *_d, struct sip_msg *_m)
return -2;
}
} else {
- /* A negative final response, mark the dialog as destroyed
+ /* 300-699: a negative final response, mark the dialog as destroyed
* Again, I do not update the structures here because it
* makes no sense to me, a dialog shouldn't be used after
* it is destroyed
[View Less]
Hello,
In the kamailio core cookbook (https://www.kamailio.org/wiki/cookbooks/5.5.x/core#event_route) I read that the name of an event_route should be like this:
event_route[groupid:eventid]
Where:
groupid - should be the name of the module that triggers the event
eventid - some meaningful short text describing the event
Some modules of kamailio have underscores in the name, for example: http_async_client
Years ago a fix have been committed in order to allow underscores in the second part …
[View More]of the name, after the semicolon:
https://github.com/kamailio/kamailio/commit/5806703c1ff72243457ff55758f41c3…
But it seems that an underscore is still not allowed in the first part of the name:
https://github.com/kamailio/kamailio/blob/master/src/core/cfg.lex
EVENT_RT_NAME [a-zA-Z][0-9a-zA-Z-]*(":"[a-zA-Z][0-9a-zA-Z_-]*)+
So I wonder if this is a bug in the code or a mistake in the cookbook.
Thanks,
Luca
[View Less]
Hello,
a short announcement to inform that the dates for next Kamailio World
Conference have been set to April 18-19, 2024, the event to take place
again in Berlin, Germany. It will be a different venue than the past
editions, that one not being available. A pre-conference day is
considered on April 17, 2024, but it is not yet known in what form and
where.
The conference is scheduled a bit earlier than the usual in the year
because Germany hosts the Euro 2024 football championship during
June-…
[View More]July 2024, making May very busy and harder to find adequate
conferencing space in Berlin.
The website and more details will be published soon.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy and Development Services
Kamailio Advanced Training -- asipto.com
[View Less]
Module: kamailio
Branch: master
Commit: f128db2b85a525ff82c28faffbeec3203f9560c3
URL: https://github.com/kamailio/kamailio/commit/f128db2b85a525ff82c28faffbeec32…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2023-12-18T12:16:08+01:00
tm: use coherent type int for tm route blocks indexes
---
Modified: src/modules/tm/h_table.h
Modified: src/modules/tm/t_reply.c
Modified: src/modules/tm/t_reply.h
---
Diff: …
[View More]https://github.com/kamailio/kamailio/commit/f128db2b85a525ff82c28faffbeec32…
Patch: https://github.com/kamailio/kamailio/commit/f128db2b85a525ff82c28faffbeec32…
---
diff --git a/src/modules/tm/h_table.h b/src/modules/tm/h_table.h
index 8481ccde29e..d95cb7d717c 100644
--- a/src/modules/tm/h_table.h
+++ b/src/modules/tm/h_table.h
@@ -225,13 +225,11 @@ typedef struct ua_client
*/
struct retr_buf *local_ack;
/* the route to take if no final positive reply arrived */
- unsigned short on_failure;
+ int on_failure;
/* the route to take for all failure replies */
- unsigned short on_branch_failure;
+ int on_branch_failure;
/* the onreply_route to be processed if registered to do so */
- unsigned short on_reply;
- /* unused - keep the structure aligned to 32b */
- unsigned short on_unused;
+ int on_reply;
} tm_ua_client_t;
@@ -429,18 +427,18 @@ typedef struct cell
/* nr of replied branch; 0..sr_dst_max_branches=branch value,
* -1 no reply, -2 local reply */
- short relayed_reply_branch;
+ int relayed_reply_branch;
/* the route to take if no final positive reply arrived */
- unsigned short on_failure;
+ int on_failure;
/* the route to take for all failure replies */
- unsigned short on_branch_failure;
+ int on_branch_failure;
/* the onreply_route to be processed if registered to do so */
- unsigned short on_reply;
+ int on_reply;
/* The route to take for each downstream branch separately */
- unsigned short on_branch;
+ int on_branch;
/* branch route backup for late branch add (t_append_branch) */
- unsigned short on_branch_delayed;
+ int on_branch_delayed;
/* place holder for MD5checksum, MD5_LEN bytes are extra alloc'ed */
char md5[0];
diff --git a/src/modules/tm/t_reply.c b/src/modules/tm/t_reply.c
index e9b9df434a5..c5a58bba8ab 100644
--- a/src/modules/tm/t_reply.c
+++ b/src/modules/tm/t_reply.c
@@ -224,17 +224,17 @@ void t_on_reply(unsigned int go_to)
}
-unsigned int get_on_failure()
+int get_on_failure()
{
return goto_on_failure;
}
-unsigned int get_on_branch_failure()
+int get_on_branch_failure()
{
return goto_on_branch_failure;
}
-unsigned int get_on_reply()
+int get_on_reply()
{
return goto_on_reply;
}
diff --git a/src/modules/tm/t_reply.h b/src/modules/tm/t_reply.h
index 709b70454ed..18ce47f457c 100644
--- a/src/modules/tm/t_reply.h
+++ b/src/modules/tm/t_reply.h
@@ -199,11 +199,11 @@ void on_failure_reply(
replies arrive
*/
void t_on_failure(unsigned int go_to);
-unsigned int get_on_failure(void);
+int get_on_failure(void);
void t_on_branch_failure(unsigned int go_to);
-unsigned int get_on_branch_failure(void);
+int get_on_branch_failure(void);
void t_on_reply(unsigned int go_to);
-unsigned int get_on_reply(void);
+int get_on_reply(void);
int t_retransmit_reply(struct cell *t);
[View Less]

max_branches=30
Following this route, the branch value will be doubled,only 15 branches can be created
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3678
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3678(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, …
[View More]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 -->
I was looking in code at how t_check_trans() works and updated doc. Please let me know if I understood correctly how it behaves for non-acks and non-cancel, when transaction is found.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3673
-- Commit Summary --
* tm: Update doc for t_check_trans()
-- File Changes --
M src/modules/tm/doc/functions.xml (18)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3673.patchhttps://github.com/kamailio/kamailio/pull/3673.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3673
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3673(a)github.com>
[View Less]
### Description
I came across the following while trying to serialize SQL data to xavp (`sql_xquery()`) and then serializing the result to htable using `xavp_params_implode()`. One of the data columns has a type of `BIGINT`. The resulting string had neither the key nor value.
I recognize that Kamailio does not currently have support for 64 bit integers and that adding support for it is probably not a trivial matter. My request here is really that if the value is going to be dropped it …
[View More]would be good if `pv` would omit a warning.
#### Reproduction
MySQL table:
```sql
CREATE TABLE dids (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
did varchar(11) NOT NULL,
route_id BIGINT NOT NULL,
failure_route_id INT NOT NULL,
description VARCHAR(255)
);
```
With data like this:
```sql
INSERT INTO dids
( did, route_id, failure_route_id, description ) VALUES
( '15555551000', 101, 1006, 'Alice' );
```
And the following Kamailio code:
```
$var(query) = "SELECT * "
+ "FROM dids "
+ "WHERE did = " + $(rU{sql.val.str});
sql_xquery("db", "$var(query)", "did_data");
xavp_params_implode("did_data", "$sht(did=>$rU)");
xinfo("Serialized query result: [$sht(did=>$rU)]\n");
```
The following log line results - the `route_id` is missing all together:
```
1(7) INFO: <script>: Serialized query result: [id=1;did=15555551000;failure_route_id=1006;description=Alice;]
```
### Possible Solutions
It's worth noting that the value is usable out of the XAVP. `$xavp(did=>route_id)` is retrievable, and the problem seems to be only when running `xavp_params_implode()`. In a perfect world, the key and value would be retained and put into the serialized data, however I'm not sure of the complexity of this (what if the the value exceeds a 32 bit int?, etc). With that said, my only real request would be that if a value is dropped that a warning is omitted with a rough explanation of the reason ("omitting _keyName_ unknown_ data type", etc).
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
5.7.3
```
* **Operating System**:
Alpine 3.18
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3663
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3663(a)github.com>
[View Less]
#### 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature …
[View More](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
- [x] Related to issue #3464
#### Description
fixed rabbitmq-c deprecation warning
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3670
-- Commit Summary --
* rabbitmq: fixed rabbitmq-c deprecation warning
* kazoo: fixed rabbitmq-c deprecation warning
-- File Changes --
M src/modules/kazoo/Makefile (4)
M src/modules/kazoo/kz_amqp.c (9)
M src/modules/kazoo/kz_amqp.h (5)
M src/modules/rabbitmq/Makefile (4)
M src/modules/rabbitmq/rabbitmq.c (7)
M src/modules/rabbitmq/utils.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3670.patchhttps://github.com/kamailio/kamailio/pull/3670.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3670
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3670(a)github.com>
[View Less]
On Ubuntu, `/bin/sh` defaults to `dash` whose built-in `echo` command does not support the `-e` flag. `printf`, on the other hand, supports backslash escapes by default so we use that instead.
In passing, also clean up some messy ANSI escape codes.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3671
-- Commit Summary --
* utils: Prefer `printf` over `echo -e`.
-- File Changes --
M pkg/kamailio/obs/kamailio.init (2)
M …
[View More]utils/kamctl/kamctl (2)
M utils/kamctl/kamctl.base (10)
M utils/kamctl/kamdbctl (6)
M utils/kamctl/kamdbctl.base (10)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3671.patchhttps://github.com/kamailio/kamailio/pull/3671.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3671
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3671(a)github.com>
[View Less]
Hi
I have a kimailio box that receives messages from one interface and send it from another interface and I use dispatcher module successfully.
Now I assigned an I range to Linux loopback interface through Linux kernel anyip feature. And I can ping the range.
ip -4 route add local 192.168.0.0/24 dev lo
I want to send messages from source of the ip in this range but kamailio cant do this in the right way.
I added this two directives to kamailio.cfg:
mhomed=yes
ip_free_bind = 1
and …
[View More]when I want to use an ip from the list I use
$fs=”udp:192.168.0.120:5060”;
With no luck
If I use
force_send_socket(udp:192.168.0.120:5060);
kamailio returns an error
bad force_send_socket argument: 192.168.0.120:5060 (kamailio doesn't listen on it)
and if I add listen directive for one ip like:
listen=udp:192.168.0.120:5060
everything works fine but I want to be able to use any ip from list not just one ip.
Thanks.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3394
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3394(a)github.com>
[View Less]
When used `tcp_accept_haproxy=yes` and inbound connection from load-balancer received via IPv6 protocol and client real IPv4 then i can see error in the kamailio log
```
28(723055) ERROR: {1 27 REGISTER 4fkReTbLC-} siptrace [siptrace_hep.c:94]: trace_send_hep3_duplicate(): interworking detected ?
```
Looks like requried add haproxy protocol support into siptrace module
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3665
You are receiving …
[View More]this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3665(a)github.com>
[View Less]
### Description
When used haproxy protocol then from client perspetive TCP connection established to loadbalancer IP address.
Real Kamailio listener may be IPv6 and expected to see `$RAut` value with IP of load balancer IP.
Really I can see for first message from the client
```
sip:2600::6:45060;transport=tcp
```
For second message
```
Advertised socket URI: sip:[2600::6]:5060
```
For first case missed `[]` in the IP and expected to see loadbalancer IPv4 because client use IPv4 to establish …
[View More]connection to Kamailio.
### Expected behavior
Used loadbalancerserver IP from haproxy protocol for `$RAut` value and for `Record-Route` headers generation.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3667
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3667(a)github.com>
[View Less]
### Description
PKG memory errors when configured mask_callid in TOPOS.
### Troubleshooting
The poblem in detail desribed in mailing lists:
https://www.mail-archive.com/sr-users@lists.kamailio.org/msg19997.html
### Possible Solutions
Right way to configure topos for callid masking is:
modparam("topoh", "use_mode", 1)
modparam("topos", "mask_callid", 1)
modparam("topoh", "mask_callid", 1)
We need to set mask_callid module parameter for topoh also. There is not a word about this in the …
[View More]documentation,
so docs correction needed.
### Additional Information
* **Kamailio Version** - 5.7.X
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3606
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3606(a)github.com>
[View Less]
<!-- 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, …
[View More]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
- [ ] 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 -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
This PR adds support for $hfl(Diversion)[] and $hflc(Diversion).
This parse_diversion.c was inspired by [parse_pai_ppi.c](https://github.com/kamailio/kamailio/blob/master/src/core/…. I am not sure if it's breaking the existing implementation and usage.
Any feedback and review is welcome.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3651
-- Commit Summary --
* parser: Extend diversion for multiple bodies
* pv: Add hfl and hflc support for Diversion header
-- File Changes --
M src/core/parser/parse_diversion.c (152)
M src/core/parser/parse_diversion.h (11)
M src/modules/pv/pv_core.c (71)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3651.patchhttps://github.com/kamailio/kamailio/pull/3651.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3651
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3651(a)github.com>
[View Less]
<!-- 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, …
[View More]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)
- [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
This PR adds support for $hfl(name)[] and $hflc(name) for P-Preferred-Identity and P-Asserted-Identity.
Should probably also be documented in https://www.kamailio.org/wikidocs/cookbooks/devel/pseudovariables/#hflname-…
Any feedback welcome.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3652
-- Commit Summary --
* pv: Add PPI and PAI support to hfl and hflc
-- File Changes --
M src/modules/pv/pv_core.c (104)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3652.patchhttps://github.com/kamailio/kamailio/pull/3652.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3652
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3652(a)github.com>
[View Less]
<!--
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/…
[View More]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
Kamailio chrashes on startup when set init_mode to 1. Seems to be introduced with 4b068f49b618dca5fa85a1687bd9054c1d98ae6a
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
#### Reproduction
modparam("tls", "init_mode", 1)
<!--
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.
-->
```
#0 ___pthread_mutex_lock (mutex=0x0) at ./nptl/pthread_mutex_lock.c:80
#1 0x00007f9e93510614 in ser_malloc (size=56, fname=<optimized out>, fline=<optimized out>) at ./src/modules/tls/tls_init.c:388
#2 0x00007f9e93031b59 in CRYPTO_zalloc (num=num@entry=56, file=file@entry=0x7f9e9317563d "../crypto/threads_pthread.c", line=line@entry=50) at ../crypto/mem.c:197
#3 0x00007f9e9303dedf in CRYPTO_THREAD_lock_new () at ../crypto/threads_pthread.c:50
#4 0x00007f9e93030ad9 in ossl_init_base () at ../crypto/init.c:64
#5 ossl_init_base_ossl_ () at ../crypto/init.c:55
#6 0x00007f9e97affea7 in __pthread_once_slow (once_control=0x7f9e9327edcc <base>, init_routine=0x7f9e93030ad0 <ossl_init_base_ossl_>) at ./nptl/pthread_once.c:116
#7 0x00007f9e97afff85 in ___pthread_once (once_control=<optimized out>, init_routine=<optimized out>) at ./nptl/pthread_once.c:143
#8 0x00007f9e9303dfc9 in CRYPTO_THREAD_run_once (once=once@entry=0x7f9e9327edcc <base>, init=init@entry=0x7f9e93030ad0 <ossl_init_base_ossl_>) at ../crypto/threads_pthread.c:154
#9 0x00007f9e93030d48 in OPENSSL_init_crypto (opts=opts@entry=131148, settings=settings@entry=0x0) at ../crypto/init.c:507
#10 0x00007f9e93473a21 in OPENSSL_init_ssl (opts=131148, opts@entry=131072, settings=settings@entry=0x0) at ../ssl/ssl_init.c:115
#11 0x00007f9e93511f44 in tls_h_mod_pre_init_f () at ./src/modules/tls/tls_init.c:779
#12 0x000055c792122571 in main (argc=<optimized out>, argv=0x7ffd43d1a338) at ./src/main.c:3174
```
#### 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).
-->
```
[ 1803.304680] kamailio[7700]: segfault at 10 ip 00007fe7b62c91c0 sp 00007ffd499a0db8 error 4 in libc.so.6[7fe7b6263000+155000] likely on CPU 1 (core 0, socket 1)
[ 1803.304698] Code: 30 11 00 ba c2 01 00 00 48 8d 35 47 ad 10 00 48 8d 3d 55 ad 10 00 e8 3f 8c fa ff e8 4a bd 08 00 66 2e 0f 1f 84 00 00 00 00 00 <8b> 47 10 89 c2 81 e2 7f 01 00 00 83 e0 7c 0f 85 ac 00 00 00 53 48
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.7.3 (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
```
```
version: kamailio 5.8.0-dev2 (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
```
* **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`)
-->
```
% cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3668
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3668(a)github.com>
[View Less]
0xffffffff00000000ULL mask does not take into consideration signed 32 bit
integers and as result 2147483648 will be stored as -2147483648.
Another mask should be used to correct the issue: 0xffffffff80000000ULL.
It processes correctly the case of integers that are greater than 2147483647.
There are several gdb tests below:
(gdb) p ((unsigned long long)2147483648 & 0xffffffff80000000ULL)
$1= 2147483648
(gdb) p ((unsigned long long)2147483647 & 0xffffffff80000000ULL)
$2 = 0
(gdb) …
[View More]p ((unsigned long long)2147483646 & 0xffffffff80000000ULL)
$3 = 0
(gdb) p ((unsigned long long)4147483646 & 0xffffffff80000000ULL)
$4 = 2147483648
<!-- 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/2106
-- Commit Summary --
* lib: big integers should not be treated as negative ones
-- File Changes --
M src/lib/srdb1/db_ut.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2106.patchhttps://github.com/kamailio/kamailio/pull/2106.diff
--
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/pull/2106
[View Less]
#### 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
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature …
[View More](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
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
This PR fixes the setting of uac_req object's socket length.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3664
-- Commit Summary --
* uac: fix socket length settings
-- File Changes --
M src/modules/uac/uac_send.c (3)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3664.patchhttps://github.com/kamailio/kamailio/pull/3664.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3664
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3664(a)github.com>
[View Less]