[SR-Users] issue with usr_loc db_mode
miconda at gmail.com
Fri May 9 11:11:28 CEST 2014
can you enable query log in mysql and verify if they happen in such
case? I checked and for db_mode=1, it should immediately do the query.
For db_mode=3, th queries are done on time.
Also, is there any other application that could potentially delete
records? Because after the first registration of a phone (which does an
INSERT), there will be UPDATE queries, and if the record is not there,
there is nothing to update.
Look at usrloc module parameters, there are some parameters to try to do
insert if the update doesn't affect records, you can try with this one
to see if there is a difference.
On 08/05/14 18:20, Henry Fernandes wrote:
> There are no errors in the log about this.
> Yesterday, I tried db_mode=2 (with default 'timer_interval' of 60 seconds) and it's better now, although still not working properly. There are still some records that are not in the 'location' table in the database.
> For example, I have a phone that has a registration expirations are set to 1 hour (3600 seconds). Currently, this record is not in the database however "kamctl ul show" shows the following:
> AOR:: phoneUsername
> Contact:: sip:phoneUsername at a.b.c.d:62544 Q=
> Expires:: 3123
> Callid:: f1e0aa72-eb0d28e2-c3737132 at 10.1.0.14
> Cseq:: 52
> User-agent:: PolycomVVX-VVX_500-UA/126.96.36.19935
> State:: CS_SYNC
> Flags:: 0
> Cflag:: 0
> Socket:: udp:a.b.c.d:5060
> Methods:: 8159
> Ruid:: uloc-536a9e57-3137-2
> Reg-Id:: 0
> In other words, it's been more than 60 seconds but the database is not up to date. This is similar to what I see with db_mode=1. In that case, the database is often missing more than 50% of the registered phones.
> Here are the parameters I'm using for the USRLOC module.
> modparam("usrloc", "db_url", WRITE_DBURL)
> modparam("usrloc", "db_mode", 2)
> modparam("usrloc", "use_domain", 0)
> On 2014-05-08, at 1:00 AM, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
>> any db_mode>0 in 3.3 is safe for not losing registrations upon kamailio restart (e.g., db_mode=2 writes to db on time and at shutdown, so nothing is lost as well). db_mode=1 should do that in realtime, indeed.
>> I'm not aware of any issue with db_mode=1, being used in quite some deployments. Can you check the syslog to see if there is any error reported there?
>> If you use mysql, then you can enable logging the queries and then check if for each registration there is a mysql query to insert/update/delete a record.
>> On 08/05/14 00:08, Henry Fernandes wrote:
>>> I'm using Kamailio 3.3 and the USRLOC module to track registrations. I have set "db_mode" to 1 because I want to store all registration info to the database and I want the database to be up to date (in case I need to restart Kamailio).
>>> Unfortunately, this doesn't work as I expect. When I query the database, it has far fewer entries in the "location" table than are registered to Kamailio (which I find with a "kamctl ul show"). Also, when I restart Kamailio, I lose some of the registrations for my phones.
>>> Am I misunderstanding the behaviour for db_mode=1? Isn't it supposed to keep the database up to date?
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>> Daniel-Constantin Mierla - http://www.asipto.com
>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
More information about the sr-users