Module: kamailio
Branch: master
Commit: f653ea8c05e6916ff14e7da491bcd68f928b97af
URL:
https://github.com/kamailio/kamailio/commit/f653ea8c05e6916ff14e7da491bcd68…
Author: david <you(a)example.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2021-07-13T15:01:15+02:00
rtpengine: add mode 2 for rtpengine_allow_op to return only manually disabled nodes
---
Modified: src/modules/rtpengine/doc/rtpengine_admin.xml
Modified: src/modules/rtpengine/rtpengine.c
---
Diff:
https://github.com/kamailio/kamailio/commit/f653ea8c05e6916ff14e7da491bcd68…
Patch:
https://github.com/kamailio/kamailio/commit/f653ea8c05e6916ff14e7da491bcd68…
---
diff --git a/src/modules/rtpengine/doc/rtpengine_admin.xml
b/src/modules/rtpengine/doc/rtpengine_admin.xml
index ef7d5a4fd7..731e4c6d56 100644
--- a/src/modules/rtpengine/doc/rtpengine_admin.xml
+++ b/src/modules/rtpengine/doc/rtpengine_admin.xml
@@ -259,8 +259,9 @@ modparam("rtpengine", "rtpengine_tout_ms", 2000)
<section id="rtpengine.p.rtpengine_allow_op">
<title><varname>rtpengine_allow_op</varname> (integer)</title>
<para>
- Enable this setting to allow finishing the current sessions while denying new sessions
for the
- <emphasis>manually deactivated nodes </emphasis> via kamctl command i.e.
"disabled(permanent)" nodes.
+ Enable this setting to allow finishing the current sessions while denying new sessions
for deactivated nodes.
+ </para>
+ <para>Nodes can be <emphasis>manually deactivated </emphasis> via
kamctl command i.e. "disabled(permanent)" nodes.
Probably the manually deactivated machine is still running(did not crash).
</para>
<para>
@@ -279,6 +280,18 @@ modparam("rtpengine", "rtpengine_tout_ms", 2000)
Default value is <quote>0</quote> to keep the current behaviour.
</emphasis>
</para>
+ <para>
+ <emphasis>
+ If value set to <quote>1</quote> it will send commands to all disabled
nodes for the
+ existing call.
+ </emphasis>
+ </para>
+ <para>
+ <emphasis>
+ If value set to <quote>2</quote> it will send commands only to manually
disabled
+ nodes. (Not when timeout is disabled or node broken)
+ </emphasis>
+ </para>
<example>
<title>Set <varname>rtpengine_allow_op</varname>
parameter</title>
<programlisting format="linespecific">
diff --git a/src/modules/rtpengine/rtpengine.c b/src/modules/rtpengine/rtpengine.c
index 1777ebc98f..28c058c2ee 100644
--- a/src/modules/rtpengine/rtpengine.c
+++ b/src/modules/rtpengine/rtpengine.c
@@ -3347,8 +3347,10 @@ select_rtpp_node(str callid, str viabranch, int do_test, struct
rtpp_node **quer
} 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);
+ if (rtpengine_allow_op == 1) {
+ return node;
+ }
}
- /*return node;*/
}
return NULL;