Hi Alex, I have done some tests in a lab with dmq usrloc,
------------------------------------------------------version: kamailio 5.1.0 (x86_64/linux)
commit 28011aa9fdca7012103506d9a437c8e44dc8963c
Author: Daniel-Constantin Mierla <miconda@gmail.com>
Date: Mon Dec 11 16:31:31 2017 +0100
------------------------------------------------------
With almost the same settings, only 2 servers using DMQ, the contacts are written into postgres when replicated, I wonder what is the problem you are facing ?
Maybe double check the DB schema, just in case ?
../kamailio/utils/kamctl/postgres/usrloc-create.sql
Maybe you could send the trace of the SIP REGISTER to emulate it in the test.
The config I modified to try to test yours :
# ----- usrloc params -----
modparam("usrloc", "db_url", "postgres://postgres:cacao@127.0.0.1:5432/kamailio510")
modparam("usrloc", "db_mode", 3)
modparam("usrloc", "db_load", 0)
#modparam("usrloc", "db_insert_update", 1)
modparam("usrloc", "use_domain", 1)
modparam("usrloc", "nat_bflag", 6)
modparam("usrloc", "matching_mode", 2)
modparam("usrloc", "fetch_rows", 10000)
modparam("usrloc", "timer_interval", 5)
modparam("usrloc", "timer_procs", 1)
modparam("usrloc", "db_timer_clean", 1)
modparam("usrloc", "hash_size", 19)
# extra just for testing
modparam("usrloc", "nat_bflag", 1)
modparam("usrloc", "desc_time_order", 0)
modparam("usrloc", "matching_mode", 0)
modparam("usrloc", "cseq_delay", 10)
modparam("usrloc", "fetch_rows", 1000)
modparam("usrloc", "hash_size", 16)
#!ifdef WITH_DMQ
loadmodule "dmq.so"
loadmodule "dmq_usrloc.so"
modparam("dmq", "server_address", "sip:127.0.1.103:5060")
modparam("dmq", "notification_address", "sip:127.0.1.101:5060")
modparam("dmq_usrloc", "enable", 1)
modparam("dmq_usrloc", "batch_size", 512)
modparam("dmq_usrloc", "batch_msg_size", 65536)
modparam("dmq_usrloc", "sync", 1)
#!endif