sergey-safarov created an issue (kamailio/kamailio#4180)
### Description
I have installed two `rtpengine` instances and want to use them as an `active backup`. I want to use `backup` only when `active` is unavailable.
Closest settings for this rtpengine node `weight` and want to use settings like
```
MariaDB [kamailio]> select * from rtpengine;
+----+-------+---------------------------------+--------+----------+---------------------+
| id | setid | url | weight | disabled | stamp |
+----+-------+---------------------------------+--------+----------+---------------------+
| 1 | 0 | udp6:[2005:84c0:bf:11::20]:2223 | 1 | 0 | 1900-01-01 00:00:01 |
| 2 | 0 | udp6:[2005:84c0:bf:11::21]:2223 | 0 | 0 | 1900-01-01 00:00:01 |
+----+-------+---------------------------------+--------+----------+---------------------+
```
But in case `weight=0` node is not selected and handled as disabled.
It will be fine do not use rtpengine nodes with `weight=0` when other rtpengine with `weight!=0` are available. But if no other nodes are available, use `weight=0` nodes as last resort.
### Expected behavior
Do not use rtpengine nodes with `weight=0` when other rtpengine with `weight!=0` are available. But if no other nodes are available, use `weight=0` nodes as last resort.
#### Actual observed behavior
The node is not selected and handled as disabled when `weight=0`.
#### Log Messages
```
rtpengine [rtpengine.c:3430]: rtpp_test(): rtpengine instance <udp6:[2005:84c0:bf:11::21]:2223> found, support for it enabled
rtpengine [rtpengine.c:3883]: select_rtpp_node(): rtpengine failed to select new for calllen=27 callid=1-10824@2005:84c0:bf:11::22
rtpengine [rtpengine.c:3183]: rtpp_function_call(): no available proxies
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4180
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4180(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [ ] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Added subscriptions replication and presentity sync via dmq for presence module.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4239
-- Commit Summary --
* Subscriptions replication and presence sync
-- File Changes --
M src/modules/presence/hash.c (92)
M src/modules/presence/hash.h (6)
M src/modules/presence/notify.c (9)
M src/modules/presence/presence.c (18)
M src/modules/presence/presence.h (6)
M src/modules/presence/presence_dmq.c (334)
M src/modules/presence/presence_dmq.h (6)
M src/modules/presence/presentity.c (93)
M src/modules/presence/presentity.h (2)
M src/modules/presence/publish.c (4)
M src/modules/presence/subscribe.c (55)
M src/modules/presence/subscribe.h (1)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4239.patchhttps://github.com/kamailio/kamailio/pull/4239.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4239
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4239(a)github.com>
ChristianBergerSipgate created an issue (kamailio/kamailio#4167)
Hi,
we have found a potential bug. The pseudo variables return null for WSS connections.
Example config:
`xlog("L_INFO", "<mainLogic> REGISTER: TLS or WSS detected: fU=$fU tls_version=$tls_version tls_cipher_info=$tls_cipher_info ua=$ua\n");`
Log output:
`Mar 7 08:37:28 sip-tcploadbalancer01 /usr/sbin/kamailio[1268940]: { "level": "ERROR", "module": "tls", "file": "tls_select.c", "line": 131, "function": "get_cur_connection", "message": "Transport protocol is not TLS (bug in config)\n" }
Mar 7 08:37:28 sip-tcploadbalancer01 /usr/sbin/kamailio[1268940]: { "level": "INFO", "module": "tls", "file": "tls_select.c", "line": 310, "function": "get_version", "message": "TLS connection not found in select_version\n" }
Mar 7 08:37:28 sip-tcploadbalancer01 /usr/sbin/kamailio[1268940]: { "level": "ERROR", "module": "tls", "file": "tls_select.c", "line": 131, "function": "get_cur_connection", "message": "Transport protocol is not TLS (bug in config)\n" }
Mar 7 08:37:28 sip-tcploadbalancer01 /usr/sbin/kamailio[1268940]: { "level": "INFO", "module": "tls", "file": "tls_select.c", "line": 201, "function": "get_cipher", "message": "TLS connection not found in select_cipher\n" }
Mar 7 08:37:28 sip-tcploadbalancer01 /usr/sbin/kamailio[1268940]: { "level": "INFO", "module": "xlog", "file": "xlog.c", "line": 278, "function": "", "message": "<mainLogic> REGISTER: TLS or WSS detected: fU=1125411e0 tls_version=<null> tls_cipher_info=<null> ua=webphone\n" }`
As you can see both tls_version and tls_cipher_info return <null> even though the underlying connection is via WSS.
We have looked into it, and it seems like `get_cur_connection` in `modules/tls/tls_select.c` only checks for TLS, but not WSS.
```
struct tcp_connection *get_cur_connection(struct sip_msg *msg)
{
struct tcp_connection *c;
if(_tls_pv_con != 0)
return _tls_pv_con;
if(msg->rcv.proto != PROTO_TLS) {
ERR("Transport protocol is not TLS (bug in config)\n");
return 0;
}
c = tcpconn_get(msg->rcv.proto_reserved1, 0, 0, 0,
cfg_get(tls, tls_cfg, con_lifetime));
if(c && c->type != PROTO_TLS) {
ERR("Connection found but is not TLS\n");
tcpconn_put(c);
return 0;
}
return c;
}
```
We think that checking for `PROTO_WSS` might solve the issue.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4167
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4167(a)github.com>
Hello,
If somebody is using Kamailio in a larger environment with TLS, this new technical analysis and performance report from haproxy could be interesting: https://www.haproxy.com/blog/state-of-ssl-stacks
The bottom-line - OpenSSL 3.0 will show serious performance regressions for larger TLS services with higher performance requirements. OpenSSL 3.1 and newer versions are a bit better, but still much slower in key operations. You should consider using the tls_wolfssl module or stay on OpenSSL 1.1.1. For the medium- to long-term we probably should observe how other OpenSSL libraries are developing and act accordingly for the tls modules.
The haproxy project recommends besides using wolfssl also the aws-lc library. The situation regarding OpenSSL 3.x seems to be not easily fixable, as these regressions are caused from internal design decisions.
Cheers,
Henning
--
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://gilawa.com<https://gilawa.com/>
Module: kamailio
Branch: master
Commit: 57316690e96f8c458e9f83af7e102bfa816bf2cf
URL: https://github.com/kamailio/kamailio/commit/57316690e96f8c458e9f83af7e102bf…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2025-05-11T15:57:50+02:00
pv: docs for the new xavp/i rm all functions
---
Modified: src/modules/pv/doc/pv_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/57316690e96f8c458e9f83af7e102bf…
Patch: https://github.com/kamailio/kamailio/commit/57316690e96f8c458e9f83af7e102bf…
---
diff --git a/src/modules/pv/doc/pv_admin.xml b/src/modules/pv/doc/pv_admin.xml
index 6a06bb717de..0d962a81ca5 100644
--- a/src/modules/pv/doc/pv_admin.xml
+++ b/src/modules/pv/doc/pv_admin.xml
@@ -726,6 +726,29 @@ xavi_child_sets("WhatEver", "FoO", "Count: $var(n)");
...
xavp_rm("x");
# same result as: $xavp(x) = $null;
+...
+ </programlisting>
+ </example>
+ </section>
+ <section id="pv.f.xavp_rm_all">
+ <title>
+ <function moreinfo="none">xavp_rm_all(rname)</function>
+ </title>
+ <para>
+ Remove all the values of $xavp(rname).
+ </para>
+ <para>
+ The parameter has to be the name of XAVP in the root list.
+ It can be static or dynamic string (to include variables).
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavp_rm_all</function> usage</title>
+ <programlisting format="linespecific">
+...
+xavp_rm_all("x");
...
</programlisting>
</example>
@@ -750,6 +773,29 @@ xavp_rm("x");
...
xavi_rm("WhatEver");
# same result as: $xavi(whatever) = $null;
+...
+ </programlisting>
+ </example>
+ </section>
+ <section id="pv.f.xavi_rm_all">
+ <title>
+ <function moreinfo="none">xavi_rm_all(rname)</function>
+ </title>
+ <para>
+ Remove all the values of $xavi(rname).
+ </para>
+ <para>
+ The parameter has to be the name of XAVI in the root list.
+ It can be static or dynamic string (to include variables).
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavi_rm_all</function> usage</title>
+ <programlisting format="linespecific">
+...
+xavi_rm_all("WhatEver");
...
</programlisting>
</example>