[sr-dev] git:master:f653ea8c: rtpengine: add mode 2 for rtpengine_allow_op to return only manually disabled nodes

Henning Westerholt hw at skalatan.de
Tue Jul 13 15:01:21 CEST 2021


Module: kamailio
Branch: master
Commit: f653ea8c05e6916ff14e7da491bcd68f928b97af
URL: https://github.com/kamailio/kamailio/commit/f653ea8c05e6916ff14e7da491bcd68f928b97af

Author: david <you at example.com>
Committer: Henning Westerholt <hw at 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/f653ea8c05e6916ff14e7da491bcd68f928b97af.diff
Patch: https://github.com/kamailio/kamailio/commit/f653ea8c05e6916ff14e7da491bcd68f928b97af.patch

---

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;




More information about the sr-dev mailing list