Hi Henning
Thanks for the reply.
We tried as you suggested but it is not working. Also our main issue is to
sync data on startup. In case of the proxy (Receiver) service has
rebooted then it should replicate the data from the main server, it is not
working now.
Please let me know what we can do to make it working?
On Sun, Nov 7, 2021 at 1:29 AM Henning Westerholt <hw(a)gilawa.com> wrote:
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(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")
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