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

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

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@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