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
From: sr-dev <sr-dev-bounces@lists.kamailio.org>
On Behalf Of Hardik Patel
Sent: Wednesday, November 3, 2021 4:11 PM
To: sr-dev@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")
modparam("dmq", "notification_address", "sip: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")
modparam("dmq", "notification_address", "sip: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