Module: kamailio Branch: 5.5 Commit: fcc065f0cd873d9880a5b9a170a305c858b95753 URL: https://github.com/kamailio/kamailio/commit/fcc065f0cd873d9880a5b9a170a305c8...
Author: Morten Tryfoss morten@tryfoss.no Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2021-12-06T14:24:28+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.
(cherry picked from commit 429fea8069f0753e6b8dbfbfaf36701e30af6dda)
---
Modified: src/modules/dispatcher/dispatch.c
---
Diff: https://github.com/kamailio/kamailio/commit/fcc065f0cd873d9880a5b9a170a305c8... Patch: https://github.com/kamailio/kamailio/commit/fcc065f0cd873d9880a5b9a170a305c8...
---
diff --git a/src/modules/dispatcher/dispatch.c b/src/modules/dispatcher/dispatch.c index 674678417d..936c7f2993 100644 --- a/src/modules/dispatcher/dispatch.c +++ b/src/modules/dispatcher/dispatch.c @@ -3503,6 +3503,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 */