“13” - latency optimized dispatching
- The algorithm will load balance using round-robin prioritizing the gateways with the highest priority.
- If ds_ping_latency_stats is active the algorithm will adjust the priority of the gateway automatically, the priority will be lowered by 1 point every time the latency ms is as high as the priority.
- If the attribute 'cc=1' is set, the latency used is congestion ms : estimate (current latency ms) - average (normal condition latency ms).
Example 1.46. latency_optimized_dispatching
usage
Using this simple formula : ADJUSTED_PRIORITY = PRIORITY - (ESTIMATED_LATENCY_MS/PRIORITY) GATEWAY | PRIORITY | ESTIMATED | ADJUSTED | LOAD # | | LATENCY | PRIORITY | DISTRIBUTION 1 | 30 | 21 | 30 | 33% 2 | 30 | 91 | 27 | 0% 3 | 30 | 61 | 28 | 0% 4 | 30 | 19 | 30 | 33% 5 | 30 | 32 | 29 | 0% 6 | 30 | 0 | 30 | 33% 7 | 30 | 201 | 24 | 0% With congestion control the formula becomes : CONGESTION_MS = CURRENT_LATENCY_MS - NORMAL_CONDITION_LATENCY_MS ADJUSTED_PRIORITY = PRIORITY - (CONGESTION_MS/PRIORITY)
__________________________________________________________Hello,
I’m quite new user with kamailio (heard first time about it a year ago and joined the list yesterday) and now wondering how the xavp_dst should work.
I had read from the documentation that
”The first XAVP is the current selected destination.”
I use ds_select_dst with alg 13. And my kamailio version is kamailio 5.5.3 (x86_64/linux)
So when my dispatcher list is like (I have also tried to differ the priority value like 10 and 1, but doesn’t make difference)
10 sip:1.2.3.4;transport=tcp 10 1 type=type1
10 sip:4.3.2.1;transport=tcp 10 1 type=type2
If one of the destinations fails (dx/ip), and it happens to be the one with higher priority or the one that just gets higher position in the dispatcher list if the prio Is equal.
My xavp_$xavp(dsdst=>attrs) get null value. And, if I try to seek $(xavp(dsdst[0]=>attrs) or $(xavp(dsdst[1]=>attrs) I also got nothing.
If both destinations are up with equal priority, it selects them with round-robin, and the xavp_$xavp(dsdst=>attrs) has the type value of the selected destination as expected, also the $(xavp(dsdst[0]=>attrs) or $(xavp(dsdst[1]=>attrs) contains the destinations so that the selected is 0 and the other is at position 1.
The $du is updated as I expect so if one fails the other one is selected always, why the xavp_dst isn’t working same way, or am I missing something?
If needed I’ll try to provide more information,
Thanks already in advance
-Pyry
Kamailio - Users Mailing List - Non Commercial Discussions
* sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
* https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users