The rest of the dispatcher "features", like failover should be supported
based on what I remember from the way it was integrated and tested.
If it is not the case I can have a look.
On Thu, Sep 1, 2022 at 9:21 AM Julien Chavanton <jchavanton(a)gmail.com>
wrote:
On second thought, the documentation looks accurate to
me.
Do you have the latency stats enabled ?
3.26. ds_ping_latency_stats (int)
If yes, the priority values you are using seem a bit low 1ms and 10ms.
If not, the algorithm should behave simply like that :
"The algorithm will load balance using round-robin prioritizing the
gateways with the highest priority. "
On Thu, Sep 1, 2022 at 9:09 AM Julien Chavanton <jchavanton(a)gmail.com>
wrote:
> Maybe the documentation should be improved, it seems the first bullet
> point should say.
>
> "The algorithm will load balance using round-robin prioritizing the
> gateways with the highest *adjusted* priority. "
>
>
>
> On Thu, Sep 1, 2022 at 9:06 AM Julien Chavanton <jchavanton(a)gmail.com>
> wrote:
>
>> Hi, did you look at the documentation of algorithm 13 ?
>>
>> The priority is used in combination with the latency to determine the
>> preferred gateway.
>> Once you confirm that this is what you want "latency latency optimized
>> dispatching", we can help to clarify why and how this may not work as
>> expected.
>>
>>
>> Regards
>>
>>
>>
https://kamailio.org/docs/modules/devel/modules/dispatcher.html
>>
>> -
>>
>> “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)
>>
>>
>> -
>>
>>
>>
>>
>> On Thu, Sep 1, 2022 at 2:38 AM Pyry Aaltonen <pyry.aaltonen(a)cuuma.com>
>> wrote:
>>
>>> 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(a)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
>>>
>>