Hi Henning

 

I’m aware of that setting, but we rely on the database for some diagnostic tools etc.

 

So my idea now is to set it to memory-only, and write to database myself upon registration, I was just wondering if there was any more “built-in” way.

 

 

 

Van: Henning Westerholt <hw@skalatan.de>
Verzonden: zondag 17 oktober 2021 13:16
Aan: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
CC: Maarten Ureel <maarten@youreal.eu>
Onderwerp: RE: dmq_usrloc writes to database on other nodes too

 

Hello,

 

already tried to configure the usrloc/registrar modules in memory-only mode?

 

https://www.kamailio.org/docs/modules/5.5.x/modules/usrloc.html#usrloc.p.db_mode

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: sr-users <sr-users-bounces@lists.kamailio.org> On Behalf Of Maarten Ureel
Sent: Friday, October 15, 2021 10:38 AM
To: sr-users@lists.kamailio.org
Subject: [SR-Users] dmq_usrloc writes to database on other nodes too

 

I have the idea that if you enable dmq_usrloc, the other nodes that receive the usrloc info, also try to write to database.

We see this by a lot of errors indicating the index violation on postgres.

 

What is the easiest way to tell Kamailio that it does not need to store the usrloc in database if the data came through a DMQ message?

 

Currently I have in my config:

    # DMQ processing

    if(is_method("KDMQ") && $Rp == 5090) {

        dmq_handle_message();

    }

 

 

I have understood that no further processing happens then. So is my assumption correct that my other handling of REGISTER will not be used then?

 

As in, can you handle this in code that it will only store the register information in memory? Like this?

 

# Registration handling

route[REGISTRAR] {

    # If coming from DMQ, don't save to database

    if(dmq_is_from_node()) {

        save("location", "0x01")

    }

}