Hello,
I am trying to figure out what would be the best date to branch 6.0 in
the git repo.
To allow a bit of time after returning from the winter holidays to tune
more the cmake and packaging, I would think that January 15, 2025 could
be a good choice.
If nobody comes with other opinions/suggestions, then we will go for it.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Kamailio v6.0.0 is out – it comes with 5 new modules and important
updates to the core components and existing modules.
The increment of the first version number reflects several important
updates, among them: multi-threaded option for UDP receiving, option for
specifying a range of ports to listen to, support for expressions with
variables for most of the module functions parameters, internal
libraries are directly inked to the core, support to use cmake to
compile and install Kamailio.
You can read a bit more detailed release notes at:
* https://www.kamailio.org/w/kamailio-v6.0-0-release-notes/
Many thanks to all developers and community members that made possible
this release.
v6.0.0 brings more flexibility and optimizations across many existing
components and modules, new parameters, functions, variables and
transformations.
Enjoy Kamailio v6.0.0!
Thank you for flying Kamailio!
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
Kamailio World Conference, May 12-13, 2025, Berlin -- kamailioworld.com
Module: kamailio
Branch: 6.0
Commit: f540d97e3f0be21cb6abc61ac701c8fd437b4371
URL: https://github.com/kamailio/kamailio/commit/f540d97e3f0be21cb6abc61ac701c8f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-01-29T11:34:17+01:00
ims_qos_npn: small docs updates
(cherry picked from commit dcdcee0d9f2326e079f905632af9db3b898330ab)
---
Modified: src/modules/ims_qos_npn/doc/ims_qos_npn.xml
Modified: src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/f540d97e3f0be21cb6abc61ac701c8f…
Patch: https://github.com/kamailio/kamailio/commit/f540d97e3f0be21cb6abc61ac701c8f…
---
diff --git a/src/modules/ims_qos_npn/doc/ims_qos_npn.xml b/src/modules/ims_qos_npn/doc/ims_qos_npn.xml
index 0cd99dcd0c7..fa9d03eb003 100644
--- a/src/modules/ims_qos_npn/doc/ims_qos_npn.xml
+++ b/src/modules/ims_qos_npn/doc/ims_qos_npn.xml
@@ -7,7 +7,7 @@
]>
<book>
<bookinfo>
- <title>The IMS QoS Module - Neat Path Networks "branch"</title>
+ <title>The IMS QoS NPN Module</title>
<authorgroup>
<author>
diff --git a/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml b/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
index dfb6ea9ed15..70459b65801 100644
--- a/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
+++ b/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
@@ -16,7 +16,7 @@
charging control functions performed by an Application Function (e.g.
P-CSCF) over the Rx interface. This module is dependent on the CDP (C
Diameter Peer) modules for communicating with PCRF as specified in 3GPP
- specification TS 29.214.</para>
+ specification TS 29.214. It is an enhaced variant of ims_qos.</para>
</section>
<section>
@@ -548,7 +548,7 @@ modparam("ims_qos", "dialog_direction", 1)
If set to 1 it will trust the bottom Via as the UE IP/port/transport when doing client identification.
</para>
<para>
- Normally, the UE identification should be done on IPsec SPIs and source IP/port of the packets.
+ Normally, the UE identification should be done on IPsec SPIs and source IP/port of the packets.
In some cases the ims_* modules trust the top Via on requests and the bottom Via on responses. In some (better)
cases this trusts the received-from IP (or the alias in the Contact header).
</para>
@@ -707,7 +707,7 @@ modparam("ims_qos", "af_signaling_port_ps", "5063")
<para><emphasis>Note:</emphasis> this is executed asynchronously. See example on how to
retrieve return value</para>
- <para><emphasis>Note:</emphasis> this authorization session triggers
+ <para><emphasis>Note:</emphasis> this authorization session triggers
event_route[qos:asr_registration], event_route[qos:rar_access_network] and event_route[qos:terminate_dialog].</para>
<example>
@@ -785,7 +785,7 @@ route[REGISTER_AAR_REPLY]
<para><emphasis>Note:</emphasis> this is executed asynchronously. See example on how to
retrieve return value</para>
- <para><emphasis>Note:</emphasis> this authorization session triggers
+ <para><emphasis>Note:</emphasis> this authorization session triggers
event_route[qos:asr_call], event_route[qos:rar_access_network] and event_route[qos:terminate_dialog].</para>
Module: kamailio
Branch: master
Commit: dcdcee0d9f2326e079f905632af9db3b898330ab
URL: https://github.com/kamailio/kamailio/commit/dcdcee0d9f2326e079f905632af9db3…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-01-29T11:34:01+01:00
ims_qos_npn: small docs updates
---
Modified: src/modules/ims_qos_npn/doc/ims_qos_npn.xml
Modified: src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/dcdcee0d9f2326e079f905632af9db3…
Patch: https://github.com/kamailio/kamailio/commit/dcdcee0d9f2326e079f905632af9db3…
---
diff --git a/src/modules/ims_qos_npn/doc/ims_qos_npn.xml b/src/modules/ims_qos_npn/doc/ims_qos_npn.xml
index 0cd99dcd0c7..fa9d03eb003 100644
--- a/src/modules/ims_qos_npn/doc/ims_qos_npn.xml
+++ b/src/modules/ims_qos_npn/doc/ims_qos_npn.xml
@@ -7,7 +7,7 @@
]>
<book>
<bookinfo>
- <title>The IMS QoS Module - Neat Path Networks "branch"</title>
+ <title>The IMS QoS NPN Module</title>
<authorgroup>
<author>
diff --git a/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml b/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
index dfb6ea9ed15..70459b65801 100644
--- a/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
+++ b/src/modules/ims_qos_npn/doc/ims_qos_npn_admin.xml
@@ -16,7 +16,7 @@
charging control functions performed by an Application Function (e.g.
P-CSCF) over the Rx interface. This module is dependent on the CDP (C
Diameter Peer) modules for communicating with PCRF as specified in 3GPP
- specification TS 29.214.</para>
+ specification TS 29.214. It is an enhaced variant of ims_qos.</para>
</section>
<section>
@@ -548,7 +548,7 @@ modparam("ims_qos", "dialog_direction", 1)
If set to 1 it will trust the bottom Via as the UE IP/port/transport when doing client identification.
</para>
<para>
- Normally, the UE identification should be done on IPsec SPIs and source IP/port of the packets.
+ Normally, the UE identification should be done on IPsec SPIs and source IP/port of the packets.
In some cases the ims_* modules trust the top Via on requests and the bottom Via on responses. In some (better)
cases this trusts the received-from IP (or the alias in the Contact header).
</para>
@@ -707,7 +707,7 @@ modparam("ims_qos", "af_signaling_port_ps", "5063")
<para><emphasis>Note:</emphasis> this is executed asynchronously. See example on how to
retrieve return value</para>
- <para><emphasis>Note:</emphasis> this authorization session triggers
+ <para><emphasis>Note:</emphasis> this authorization session triggers
event_route[qos:asr_registration], event_route[qos:rar_access_network] and event_route[qos:terminate_dialog].</para>
<example>
@@ -785,7 +785,7 @@ route[REGISTER_AAR_REPLY]
<para><emphasis>Note:</emphasis> this is executed asynchronously. See example on how to
retrieve return value</para>
- <para><emphasis>Note:</emphasis> this authorization session triggers
+ <para><emphasis>Note:</emphasis> this authorization session triggers
event_route[qos:asr_call], event_route[qos:rar_access_network] and event_route[qos:terminate_dialog].</para>
Module: kamailio
Branch: 6.0
Commit: 1efa133244bbca0c9c35b76f936cce2b0a5864d3
URL: https://github.com/kamailio/kamailio/commit/1efa133244bbca0c9c35b76f936cce2…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Xenofon Karamanos <22965395+xkaraman(a)users.noreply.github.com>
Date: 2025-01-29T10:28:40Z
cmake: Use pkg-config instead for json-c dev package.
(cherry picked from commit 8ebae54cff261b95fcece3be3719da511cc35084)
---
Modified: src/modules/nsq/CMakeLists.txt
---
Diff: https://github.com/kamailio/kamailio/commit/1efa133244bbca0c9c35b76f936cce2…
Patch: https://github.com/kamailio/kamailio/commit/1efa133244bbca0c9c35b76f936cce2…
---
diff --git a/src/modules/nsq/CMakeLists.txt b/src/modules/nsq/CMakeLists.txt
index b4a482c2a47..e6acfa9a2f7 100644
--- a/src/modules/nsq/CMakeLists.txt
+++ b/src/modules/nsq/CMakeLists.txt
@@ -4,13 +4,19 @@ add_library(${module_name} SHARED ${MODULE_SOURCES})
find_package(Libev REQUIRED)
-find_package(json-c QUIET)
-if(NOT json-c_FOUND)
- message(STATUS "json-c not found. looking with pkg-config")
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(json-c REQUIRED IMPORTED_TARGET json-c)
- add_library(json-c::json-c ALIAS PkgConfig::json-c)
-endif()
+# TODO: When we have a proper cmake config file for json-c for most OS, we can
+# use that instead of pkg-config.
+# json-c v 0.14 and 0.15 have wrong include directories in their cmake config
+# files. uncomment the following line when we have a proper cmake config file
+# for json-c for most OS.
+# find_package(json-c 0.16 CONFIG)
+
+# if(NOT json-c_FOUND)
+# message(STATUS "json-c not found. looking with pkg-config")
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(json-c REQUIRED IMPORTED_TARGET json-c)
+add_library(json-c::json-c ALIAS PkgConfig::json-c)
+# endif()
find_package(CURL REQUIRED)
Module: kamailio
Branch: 6.0
Commit: d0360fbb8e622c786f3d8791b67f06d1eb6e0ae4
URL: https://github.com/kamailio/kamailio/commit/d0360fbb8e622c786f3d8791b67f06d…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Xenofon Karamanos <22965395+xkaraman(a)users.noreply.github.com>
Date: 2025-01-29T10:28:03Z
cmake/json: Remove find_package call. Use pkg-config instead.
(cherry picked from commit 99d36df0a15bbb960b2d7ee5916d65a55b9b26cd)
---
Modified: src/modules/json/CMakeLists.txt
---
Diff: https://github.com/kamailio/kamailio/commit/d0360fbb8e622c786f3d8791b67f06d…
Patch: https://github.com/kamailio/kamailio/commit/d0360fbb8e622c786f3d8791b67f06d…
---
diff --git a/src/modules/json/CMakeLists.txt b/src/modules/json/CMakeLists.txt
index 72df4d390f5..5d791dbd03d 100644
--- a/src/modules/json/CMakeLists.txt
+++ b/src/modules/json/CMakeLists.txt
@@ -2,13 +2,18 @@ file(GLOB MODULE_SOURCES "*.c")
add_library(${module_name} SHARED ${MODULE_SOURCES})
-find_package(json-c CONFIG)
-
-if(NOT json-c_FOUND)
- message(STATUS "json-c not found. looking with pkg-config")
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(json-c REQUIRED IMPORTED_TARGET json-c)
- add_library(json-c::json-c ALIAS PkgConfig::json-c)
-endif()
+# TODO: When we have a proper cmake config file for json-c for most OS, we can
+# use that instead of pkg-config.
+# json-c v 0.14 and 0.15 have wrong include directories in their cmake config
+# files. uncomment the following line when we have a proper cmake config file
+# for json-c for most OS.
+# find_package(json-c 0.16 CONFIG)
+
+# if(NOT json-c_FOUND)
+message(STATUS "json-c not found. looking with pkg-config")
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(json-c REQUIRED IMPORTED_TARGET json-c)
+add_library(json-c::json-c ALIAS PkgConfig::json-c)
+# endif()
target_link_libraries(${module_name} PRIVATE json-c::json-c)
Module: kamailio
Branch: master
Commit: 8ebae54cff261b95fcece3be3719da511cc35084
URL: https://github.com/kamailio/kamailio/commit/8ebae54cff261b95fcece3be3719da5…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2025-01-29T10:07:24Z
cmake: Use pkg-config instead for json-c dev package.
---
Modified: src/modules/nsq/CMakeLists.txt
---
Diff: https://github.com/kamailio/kamailio/commit/8ebae54cff261b95fcece3be3719da5…
Patch: https://github.com/kamailio/kamailio/commit/8ebae54cff261b95fcece3be3719da5…
---
diff --git a/src/modules/nsq/CMakeLists.txt b/src/modules/nsq/CMakeLists.txt
index b4a482c2a47..e6acfa9a2f7 100644
--- a/src/modules/nsq/CMakeLists.txt
+++ b/src/modules/nsq/CMakeLists.txt
@@ -4,13 +4,19 @@ add_library(${module_name} SHARED ${MODULE_SOURCES})
find_package(Libev REQUIRED)
-find_package(json-c QUIET)
-if(NOT json-c_FOUND)
- message(STATUS "json-c not found. looking with pkg-config")
- find_package(PkgConfig REQUIRED)
- pkg_check_modules(json-c REQUIRED IMPORTED_TARGET json-c)
- add_library(json-c::json-c ALIAS PkgConfig::json-c)
-endif()
+# TODO: When we have a proper cmake config file for json-c for most OS, we can
+# use that instead of pkg-config.
+# json-c v 0.14 and 0.15 have wrong include directories in their cmake config
+# files. uncomment the following line when we have a proper cmake config file
+# for json-c for most OS.
+# find_package(json-c 0.16 CONFIG)
+
+# if(NOT json-c_FOUND)
+# message(STATUS "json-c not found. looking with pkg-config")
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(json-c REQUIRED IMPORTED_TARGET json-c)
+add_library(json-c::json-c ALIAS PkgConfig::json-c)
+# endif()
find_package(CURL REQUIRED)
Module: kamailio
Branch: 6.0
Commit: 60c9bafc287bfabe7860b389197e8801e26a6bfb
URL: https://github.com/kamailio/kamailio/commit/60c9bafc287bfabe7860b389197e880…
Author: Alexander Bakker <ab(a)alexbakker.me>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-01-29T10:31:48+01:00
outbound: encode bind address into flow token as destination
This is an attempt to fix the combination of the outbound/rr modules and
``tcp_accept_haproxy=yes``. This combination is currently broken, as
previously reported on the mailing list:
https://www.mail-archive.com/sr-users@lists.kamailio.org/msg21854.html
The issue is that the destination address/port combo of the haproxy side is
encoded into the flow token. When the rr module decodes the flow token and tries
to look up the listening socket using ``find_si``, it cannot be found, because
it is given the destination address/port combo of the connection of the haproxy
side, not the address/port combo that Kamailio is actually listening on.
This patch fixes the issue by encoding the ``bind_address`` of the socket the
connection was received on into the flow token as the destination address. The
source address remains unchanged, as it *can* be used to look up the TCP
connection (with a minor patch to ``_tcpconn_find`` in ``tcp_main.c``)
(cherry picked from commit b918e09e9c3e06bddfd7a205f64abb603d589f1c)
---
Modified: src/modules/outbound/outbound_mod.c
---
Diff: https://github.com/kamailio/kamailio/commit/60c9bafc287bfabe7860b389197e880…
Patch: https://github.com/kamailio/kamailio/commit/60c9bafc287bfabe7860b389197e880…
---
diff --git a/src/modules/outbound/outbound_mod.c b/src/modules/outbound/outbound_mod.c
index f2e0c7dbc3d..a5f17e4ef99 100644
--- a/src/modules/outbound/outbound_mod.c
+++ b/src/modules/outbound/outbound_mod.c
@@ -180,15 +180,25 @@ int encode_flow_token(str *flow_token, struct receive_info *rcv)
return -1;
}
+ /* By encoding the bind address into the flow token as the destination
+ address, we make sure that we'll still be able to find the socket when
+ decoding it even if there's an haproxy in front */
+ struct ip_addr dst_ip = rcv->dst_ip;
+ unsigned short dst_port = rcv->dst_port;
+ if(rcv->bind_address) {
+ dst_ip = rcv->bind_address->address;
+ dst_port = rcv->bind_address->port_no;
+ }
+
/* Encode protocol information */
unenc_flow_token[pos++] =
- (rcv->dst_ip.af == AF_INET6 ? 0x80 : 0x00) | rcv->proto;
+ (dst_ip.af == AF_INET6 ? 0x80 : 0x00) | rcv->proto;
/* Encode destination address */
- for(i = 0; i < (rcv->dst_ip.af == AF_INET6 ? 16 : 4); i++)
- unenc_flow_token[pos++] = rcv->dst_ip.u.addr[i];
- unenc_flow_token[pos++] = (rcv->dst_port >> 8) & 0xff;
- unenc_flow_token[pos++] = rcv->dst_port & 0xff;
+ for(i = 0; i < (dst_ip.af == AF_INET6 ? 16 : 4); i++)
+ unenc_flow_token[pos++] = dst_ip.u.addr[i];
+ unenc_flow_token[pos++] = (dst_port >> 8) & 0xff;
+ unenc_flow_token[pos++] = dst_port & 0xff;
/* Encode source address */
for(i = 0; i < (rcv->src_ip.af == AF_INET6 ? 16 : 4); i++)
Module: kamailio
Branch: 6.0
Commit: 225f23a03a2941d44cbb1b56d0d95adcc3f78004
URL: https://github.com/kamailio/kamailio/commit/225f23a03a2941d44cbb1b56d0d95ad…
Author: herlesupreeth <herlesupreeth(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-01-29T10:31:27+01:00
ims_registrar_scscf: send NOTIFY in case of subsequent SUBSCRIBE as per RFC 3265
(cherry picked from commit 7de4f84f08e4ce910c007aad3fa2cadbe4b11dd2)
---
Modified: src/modules/ims_registrar_scscf/registrar_notify.c
---
Diff: https://github.com/kamailio/kamailio/commit/225f23a03a2941d44cbb1b56d0d95ad…
Patch: https://github.com/kamailio/kamailio/commit/225f23a03a2941d44cbb1b56d0d95ad…
---
diff --git a/src/modules/ims_registrar_scscf/registrar_notify.c b/src/modules/ims_registrar_scscf/registrar_notify.c
index aade763a09a..bcddbf17cc2 100644
--- a/src/modules/ims_registrar_scscf/registrar_notify.c
+++ b/src/modules/ims_registrar_scscf/registrar_notify.c
@@ -497,13 +497,15 @@ int event_reg(udomain_t *_d, impurecord_t *r_passed, ucontact_t *c_passed,
case IMS_REGISTRAR_NONE:
return 0;
case IMS_REGISTRAR_SUBSCRIBE:
+ case IMS_REGISTRAR_SUBSEQUENT_SUBSCRIBE:
if(r_passed || !presentity_uri || !watcher_contact || !_d) {
LM_ERR("this is a subscribe called from cfg file: r_passed be "
"zero and presentity_uri, watcher_contact and _d should "
"be valid for a subscribe");
return 0;
}
- LM_DBG("Event type is IMS REGISTRAR SUBSCRIBE about to get "
+ LM_DBG("Event type is IMS REGISTRAR SUBSCRIBE/RE-SUBSCRIBE about "
+ "to get "
"reginfo_full\n");
//lets get IMPU list for presentity as well as register for callbacks (IFF it is a new SUBSCRIBE)
@@ -1376,8 +1378,8 @@ int subscribe_to_reg(struct sip_msg *msg, char *_t, char *str2)
subscribe_reply(
msg, 200, MSG_REG_SUBSCRIBE_OK, &expires, &scscf_name_str);
- if(event_type == IMS_REGISTRAR_SUBSCRIBE) {
- //do reg event only for the initial subscribe
+ if(event_type == IMS_REGISTRAR_SUBSCRIBE
+ || event_type == IMS_REGISTRAR_SUBSEQUENT_SUBSCRIBE) {
if(event_reg(domain, 0, 0, event_type, &presentity_uri,
&watcher_contact, 0, 0, 0)
!= 0) {
@@ -1723,7 +1725,8 @@ void create_notifications(udomain_t *_t, impurecord_t *r_passed,
}
//This is a fix to ensure that when a user subscribes a full reg info is only sent to that UE
- if(event_type == IMS_REGISTRAR_SUBSCRIBE) {
+ if(event_type == IMS_REGISTRAR_SUBSCRIBE
+ || event_type == IMS_REGISTRAR_SUBSEQUENT_SUBSCRIBE) {
if(contact_match(watcher_contact, &s->watcher_contact)
&& (presentity_uri->len == s->presentity_uri.len)
&& (memcmp(s->presentity_uri.s, presentity_uri->s,
#### 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)
- [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 is an attempt to fix the combination of the outbound/rr modules and ``tcp_accept_haproxy=yes``. This combination is currently broken, as previously reported on the mailing list: https://www.mail-archive.com/sr-users@lists.kamailio.org/msg21854.html
The issue is that the destination address/port combo of the haproxy side is encoded into the flow token. When the rr module decodes the flow token and tries to look up the listening socket using ``find_si``, it cannot be found, because it is given the destination address/port combo of the connection of the haproxy side, not the address/port combo that Kamailio is actually listening on.
This patch fixes the issue by encoding the ``bind_address`` of the socket the connection was received on into the flow token as the destination address. The source address remains unchanged, as it *can* be used to look up the TCP connection (with a minor patch to ``_tcpconn_find`` in ``tcp_main.c``)
While I've done quite a bit of testing with this patchset, I find it difficult to oversee the full impact of this change in Kamailio's large codebase. Any feedback is welcome.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4105
-- Commit Summary --
* outbound: encode bind address into flow token as destination
* core: tcp_main - include local dst port in conn lookup when using haproxy
-- File Changes --
M src/core/tcp_main.c (3)
M src/modules/outbound/outbound_mod.c (20)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4105.patchhttps://github.com/kamailio/kamailio/pull/4105.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4105
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4105(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 (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
On CentOS, the present build error var may be used uninitialized.
This fixes this.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4129
-- Commit Summary --
* janssonrpcc: fixed warning var may be used uninitialized
-- File Changes --
M src/modules/janssonrpcc/janssonrpc_server.c (1)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4129.patchhttps://github.com/kamailio/kamailio/pull/4129.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4129
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4129(a)github.com>
### Description
Unexpected Behavior from transformations, psuedo variables, and topos.
Topos is in use for topology hiding I'm not sure if this is part of the problem as I can't easily test this in the current environment, although I do know indexes should work with $hdr() psuedo variables.
*Issue 1*
```
Record-Route: <sip:a@a.com>,<sip:b@b.com>,<sip:c@c.com>
$(hdr(Record-Route)[0]) results in "<sip:a@a.com>,<sip:b@b.com>,<sip:c@c.com>"
```
Expected result would be <sip:a@a.com>
I've also tested using index 1 incase 0 was equivalent to *, same results.
Which lead me to the second issue.
*issue 2*
```
Correct:
$(hdr(Record-Route)[*]) results in <sip:a@a.com>,<sip:b@b.com>,<sip:c@c.com>
Correct:
$(hdr(Record-Route)[*]{re.subst,/,/|/g}) results in <sip:a@a.com>|<sip:b@b.com>|<sip:c@c.com>
Incorrect:
$(hdr(Record-Route)[*]{re.subst,/,/|/g}{param.valueat,0,|}) results in some random string pulled from part of the Record-Route header
```
Expected result would be <sip:a@a.com>
### Possible Solutions
TBD
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.2 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 10.2.1
```
* **Operating System**:
```
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4127
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4127(a)github.com>
Hello,
I am considering to release Kamailio v5.8.5 (out of branch 5.8) on
Thursday, Jan 23, 2025. If anyone is aware of issues not yet on the bug
tracker, report them there asap in order to have a better chance to be
fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com