I've not done any testing myself, but by my understanding the DS_MATCH_STRICTEST flag is basically a flag to indicate it should not return on the first match but scan through all. Then sort and return the one that is matching one most criterias?

Right, but not exactly, there is no sorting as separate entity, during the traverse of tree the gobal variable filled with strictess flags (which are the bitmask of sip uri components - addr/proto/port and local socket) and more strictess node is saved in process global variable, if full set of possible flags is found, the cycle is stopped (we found full match and no more iterations needed), when traverse pocess finished (resursive method in original code) and we are not found full match, the global vars will contains more strictness node (if found at least address match), from this global vars then making out the final result of ds_is_from_list.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <kamailio/kamailio/pull/3699/c1879215548@github.com>