Hello,
if you want to use DMQ for synchronizing usrloc information, I think just calling
dmq_handling_message() is enough. The save() call in the Server 1 (proxy) should not be
necessary.
Try to deactivate it and see if it still synchronizing (e.g. by looking with ngrep for
KDMQ messages). If not, there is a problem with the DMQ cluster, which would explain also
the missing sync on startup.
Cheers,
Henning
--
Henning Westerholt –
https://skalatan.de/blog/
Kamailio services –
https://gilawa.com<https://gilawa.com/>
From: sr-dev <sr-dev-bounces(a)lists.kamailio.org> On Behalf Of Hardik Patel
Sent: Wednesday, November 3, 2021 4:11 PM
To: sr-dev(a)lists.kamailio.org
Subject: [sr-dev] DMQ userloc data not replicated after restarting the receiver service.
Hello Team,
We are using Kamailio 5.5.2 (DMQ + usrloc) modules. We want to replicate all users from
server-2(Registration) to server-1(Proxy) .
Replication worked perfectly fine but we noticed that after restarting the receiver (Proxy
node) data has not been replicated automatically. If we re-register the users it is
replicating to the receiver side but the old data is not replicated.
Can you please guide us where we made the mistake?
Please find the configuration
SERVER-1 (Proxy)
========================
#--- dmq db param ----
modparam("dmq","server_address","sip:10.128.77.187:5060<http://10.128.77.187:5060>")
modparam("dmq", "notification_address",
"sip:10.128.77.188:5060<http://10.128.77.188:5060>")
modparam("dmq", "num_workers", 6)
modparam("dmq", "multi_notify", 1)
#modparam("dmq", "worker_usleep", 0)
modparam("dmq", "ping_interval", 60)
#--- dmq usrloc db param ----
modparam("dmq_usrloc", "enable", 1)
modparam("dmq_usrloc", "replicate_socket_info", 1)
modparam("dmq_usrloc", "sync", 1)
modparam("dmq_usrloc", "batch_size", 2000)
modparam("dmq_usrloc", "batch_usleep", 1000)
route[KMDQ_SAVE_LOCATION] {
if(is_method("KDMQ")) {
dmq_handle_message();
}
if (dmq_is_from_node()) {
if(!save("location"))
xlogl("L_ERR", "Error saving contact\n");
}
}
SERVER-2 (Registration)
======================
#--- dmq db param ----
modparam("dmq","server_address","sip:10.128.77.188:5060<http://10.128.77.188:5060>")
modparam("dmq", "notification_address",
"sip:10.128.77.187:5060<http://10.128.77.187:5060>")
modparam("dmq", "num_workers", 6)
modparam("dmq", "multi_notify", 1)
modparam("dmq", "ping_interval", 60)
#--- dmq usrloc db param ----
modparam("dmq_usrloc", "enable", 1)
modparam("dmq_usrloc", "replicate_socket_info", 1)
modparam("dmq_usrloc", "sync", 1)
modparam("dmq_usrloc", "batch_size", 2000)
modparam("dmq_usrloc", "batch_usleep", 1000)
route[SAVE_LOCATION]{
save("location");
}
version: kamailio 5.5.2 (x86_64/linux) e2b6cc
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST,
DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY,
USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535,
DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: e2b6cc
--
Hardik Patel