[SR-Users] How to ensure separate kamailio instances dispatchers make the same decision?

George Diamantopoulos georgediam at gmail.com
Wed May 20 20:29:24 CEST 2020


Thank you for your reply Karsten,

The distinction between the auto-incremented IDs and the manually-chosen
setid is clear to me. The issue is how to pick the same entry from the same
setid when a pvar resolves to the same value in an algorithm that takes
said pvar into account for a hash:

Say KamA has:

set_id_100_members:
 * id: 0, setid: 100, destination: sip:b2b1.domain.com...
 * id: 1, setid: 100, destination: sip:b2b2.domain.com...

and KamB has:

 * id: 7, setid: 100, destination: sip:b2b1.domain.com...
 * id: 9, setid: 100, destination: sip:b2b1.domain.com...

Now, say that $fU is used as the value to be hashed over for dispatcher.
How does one ensure that for $fU = 'alice', both KamA and KamB will choose
the same destination, for example b2b2.domain.com

Obviously, both need to be configured with setid 100, but do other things
play a role, such as the way the destination is presented (e.g. sip:
b2b2.domain.com;xdesc=b2b-east might refer to the same host as sip:
b2b2.domain.com or sip:3.3.3.3, but does it affect dispatcher in any way)?
Similarly, how about the fact that these dispatcher destinations are in
reversed order, or that their auto-increment IDs are different?

I hope this clarifies my question. Thanks!

BR,
George

On Wed, 20 May 2020 at 21:07, Karsten Horsmann <khorsmann at gmail.com> wrote:

> Hi Georg,
>
> setid is not an autoincrement.
>
> See the DB structure information (should be to your version)
> https://kamailio.org/docs/db-tables/kamailio-db-5.1.x.html#idm1963
>
> I group my targets with the setid. That's maybe the name "sets of id's"
>
> So all with the same id would be taken if the are active and how you call
> them from your kamailio.cfg.
>
> The other question is an implementation one. I don't understand the
> problem completely.
>
> Cheers
> Karsten
>
>
> George Diamantopoulos <georgediam at gmail.com> schrieb am Mi., 20. Mai
> 2020, 19:42:
>
>> Hello all,
>>
>> I need to have two separate kamailio instances' dispatcher modules make
>> the same decisions when using algorithm 7 (hash over pvar). What do I need
>> to do to ensure this?
>>
>> Note that for design reasons, the two instances cannot share a dispatcher
>> table from db. If I ensure the "setid" group used for algo 7 in the
>> respective cases contain the same group of hosts, is it enough? Do other
>> things matter, such as the ordering of the group members in the table (i.e.
>> different AUTO INCREMENT ids?). Does the setid need to be the same number?
>> Do I need to ensure the 'destination' values are identical (i.e. not using
>> IPs for dispatcher table A and hostnames for dispatcher table B)?
>>
>> If someone knows what the criteria is for matching a hashed pvar to a
>> member of a dispatcher setid and how this can be made deterministic, I
>> would be grateful. Thanks!
>>
>> BR,
>> George
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200520/3be4c481/attachment.html>


More information about the sr-users mailing list