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(a)gmail.com
<mailto:khorsmann@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(a)gmail.com
<mailto:georgediam@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(a)lists.kamailio.org <mailto:sr-users@lists.kamailio.org>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org <mailto:sr-users@lists.kamailio.org>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users