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

Daniel-Constantin Mierla miconda at gmail.com
Wed May 20 21:09:08 CEST 2020


Hello,

id column is not used at all by the dispatcher module, it is there to
facilitate the management of db records, so one can do sql operations
using id=X to update/delete from a management app.

To ensure the same order in the memory of dispatcher module set the
priority field to the same value for each of those destinations in
different sets. IIRC, higher the priority value, first in the list. You
can check with dispatcher.list rpc command and if they addresses are on
the same position in the set, then hashing over the same value will pick
the same address in set.

Cheers,
Daniel

On 20.05.20 20:29, George Diamantopoulos wrote:
> 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
> <http://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 <http://b2b2.domain.com>;xdesc=b2b-east might
> refer to the same host as sip:b2b2.domain.com <http://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
> <mailto: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
>     <mailto: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 <mailto: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 <mailto: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

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Funding: https://www.paypal.me/dcmierla

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200520/adc5d5ce/attachment.html>


More information about the sr-users mailing list