[sr-dev] git:master:429fea80: dispatcher: Not possible to deactivate probing of destination by reload

Daniel-Constantin Mierla miconda at gmail.com
Tue Nov 30 08:24:08 CET 2021


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

Author: Morten Tryfoss <morten at tryfoss.no>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2021-11-30T08:24:03+01:00

dispatcher: Not possible to deactivate probing of destination by reload

If ds_probing_mode is set to 3, flag in the dispatcher entry needs to include 8
for probing to happen.

Changing a destination to not include this anymore while the destination do
not respond to OPTIONS will cause the probing flag to be re-added because of the
delayed response. A restart will fix it.

We need to check against the probing flag in the CB function to determine if
we should continue probing this destination. If probing is deativated while
waiting for a reply, we should abort.

---

Modified: src/modules/dispatcher/dispatch.c

---

Diff:  https://github.com/kamailio/kamailio/commit/429fea8069f0753e6b8dbfbfaf36701e30af6dda.diff
Patch: https://github.com/kamailio/kamailio/commit/429fea8069f0753e6b8dbfbfaf36701e30af6dda.patch

---

diff --git a/src/modules/dispatcher/dispatch.c b/src/modules/dispatcher/dispatch.c
index dd3c93f9a8..661b4a9533 100644
--- a/src/modules/dispatcher/dispatch.c
+++ b/src/modules/dispatcher/dispatch.c
@@ -3529,6 +3529,11 @@ static void ds_options_callback(
 		}
 	}
 
+	/* Check if in the meantime someone disabled probing of the target through RPC, MI or reload */
+	if(ds_probing_mode == DS_PROBE_ONLYFLAGGED && !(ds_get_state(group, &uri) & DS_PROBING_DST)) {
+		return;
+	}
+
 	/* ps->code contains the result-code of the request.
 	 *
 	 * We accept both a "200 OK" or the configured reply as a valid response */




More information about the sr-dev mailing list