Dear all
since version 4.4 we are using this parameter to 1 to allow that ongoing
calls process their messages through a particular rtpengine when disabling
it manually from database.
But we see that enabling it also makes all the messages select the
rtpengine and attempt to send its own op command. This is causing an impact
in cases where the rtpengine crashes (luckily not so often).
We have been doing some tests, and with this change
diff --git a/src/modules/rtpengine/rtpengine.c
> b/src/modules/rtpengine/rtpengine.c
> index 20df725d2e..2f6130c62a 100644
> --- a/src/modules/rtpengine/rtpengine.c
> +++ b/src/modules/rtpengine/rtpengine.c
> @@ -3138,11 +3138,12 @@ select_rtpp_node(str callid, str viabranch, int
> do_test, struct rtpp_node **quer
> if (node->rn_recheck_ticks == RTPENGINE_MAX_RECHECK_TICKS)
> {
> LM_DBG("node=%.*s for calllen=%d callid=%.*s is
> disabled(permanent) (probably still UP)! Return it\n",
> node->rn_url.len, node->rn_url.s,
> callid.len, callid.len, callid.s);
> + return node;
> } else {
> LM_DBG("node=%.*s for calllen=%d callid=%.*s is
> disabled, either broke or timeout disabled! Return it\n",
> node->rn_url.len, node->rn_url.s,
> callid.len, callid.len, callid.s);
> }
> - return node;
> + /*return node;*/
> }
>
> return NULL;
it would make to only use allow_op for manually disabled rtpengine nodes,
and would make to not select the node and not try to send the rtpp command,
so we would not have almost any impact in kamailio like timeouts and
congestion, expect having messages not doing rtpengine in a call where
others did.
Do you think this change could make sense?
Is there any reason for being like it is now?
thanks a lot and regards
david
--
[image: Logo]
David Escartín Almudévar
VoIP/Switch Engineer
descartin(a)sonoc.io
*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
When rtpengine answers with error-reason 'Ran out of ports' adopt the same behavor that when node answers 'Parallel session limit reached'
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x ] Commit message has the format required by CONTRIBUTING guide
- [x ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ x] Each component has a single commit (if not, squash them into one commit)
- [ x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
Backport of the 'sessions limit' behavor for the 'Ran out of ports' error-reason.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2621
-- Commit Summary --
* rtpengine : add node fallback if node out of port
-- File Changes --
M src/modules/rtpengine/rtpengine.c (10)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2621.patchhttps://github.com/kamailio/kamailio/pull/2621.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/2621
Module: kamailio
Branch: master
Commit: 351efd29d332703e79104a106ade08c9d1df6e20
URL: https://github.com/kamailio/kamailio/commit/351efd29d332703e79104a106ade08c…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2021-02-03T13:33:32+01:00
doc: update manpage for atexit option
---
Modified: doc/man/kamailio.8
---
Diff: https://github.com/kamailio/kamailio/commit/351efd29d332703e79104a106ade08c…
Patch: https://github.com/kamailio/kamailio/commit/351efd29d332703e79104a106ade08c…
---
diff --git a/doc/man/kamailio.8 b/doc/man/kamailio.8
index c5ba986639..a97b43f3c1 100644
--- a/doc/man/kamailio.8
+++ b/doc/man/kamailio.8
@@ -58,6 +58,12 @@ Enable auto-aliases with 'yes' or 'on', disable with 'no' or 'off
Add an alias, the value has to be '[proto:]hostname[:port]'
(like for 'alias' global parameter)
.TP
+.BI \-\-atexit\fR=\fIval
+Control atexit callbacks execution from external libraries
+which may access destroyed shm memory causing crash on shutdown.
+Can be y[es] or 1 to enable atexit callbacks, n[o] or 0 to disable,
+default is yes.
+.TP
.BI \-A " pre\-processor\-define"
Add config pre-processor define (e.g., -A WITH_AUTH, -A N=1, -A X='"Y"')
.TP
@@ -160,10 +166,6 @@ Specifies the number of children processes forked to handle tcp incoming connect
.BI \-n
).
.TP
-.BI \-\-no\-atexit
-Skip atexit callbacks execution from external libraries
-which may access destroyed shm memory causing crash on shutdown.
-.TP
.BI \-P " pid\-file"
Creates a file containing the pid of the main
.B kamailio