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@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@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

 



--
Hardik Patel