Thanks for the reply, Daniel. We're using db_mode: 3 modparam("usrloc", "db_mode", 3)
Please let me know if you need more information. Best regards, *MRIDUL* | SOFTWARE ENGINEER Plivo, Inc. 340 Pine St, San Francisco - 94104, USA Web: www.plivo.com | Twitter: @plivo Signup for Zentrunk - Plivo's SIP Trunking service <http://zentrunk.plivo.com/?utm=emailsig> On Mon, Feb 20, 2017 at 2:47 PM, Mridul B <mri...@plivo.com> wrote: > Hi, > > We've noticed a case where the *location_attrs* table isn't updated when > there's an unexpected shutdown of a SIP device (here there'll be no > REGISTER message sent with expires=0). > > We're using Kamailio v4.3.x > > When the SIP device shuts down ungracefully. The location table is updated > using DELETE query > This is done by the timer which deletes the expired contacts, by default > the timer_interval is set as 60. > > Here, the logs of auto-removal of expired contacts entries by the timer > > >> Feb 17 17:16:13 localhost kamailio[23273]: DEBUG: db_postgres >> [km_dbase.c:272]: db_postgres_submit_query(): sending query ok: >> 0x7f34969433c8 (1) - [delete from location where expires<'2017-02-17 >> 17:16:14' AND expires<>'1970-01-01 00:00:00'] >> > > > Feb 17 17:16:14 localhost kamailio[23272]: DEBUG: db_postgres >> [km_dbase.c:272]: db_postgres_submit_query(): sending query ok: >> 0x7f34969433c8 (1) - [delete from location where expires<'2017-02-17 >> 17:16:15' AND expires<>'1970-01-01 00:00:00'] > > > > > The delete operation is only on location table, shouldn't we have the same > implementation on the location_attrs table based upon ruid or username? > > We're getting duplicate entries in the location_attrs table of the same > sip user after it registers. > > But when the SIP device un-registers, the entries in the location as well > as in the location_attrs table is deleted > > Feb 17 18:14:32 localhost kamailio[23249]: DEBUG: usrloc >> [ucontact.c:1725]: uldb_delete_attrs(): trying to delete location attributes >> Feb 17 18:14:32 localhost kamailio[23249]: DEBUG: db_postgres >> [km_dbase.c:272]: db_postgres_submit_query(): sending query ok: >> 0x7f3496941888 (1) - [delete from location_attrs where username='mridul' >> AND ruid='uloc-58a72243-5ace-2'] >> > > > Feb 17 18:14:32 localhost kamailio[23249]: DEBUG: db_postgres >> [km_dbase.c:272]: db_postgres_submit_query(): sending query ok: >> 0x7f3496941888 (1) - [delete from location where username='mridul' AND >> contact='sip:mridul@127.0.0.1:37881;rinstance=b841a8c916e47dfa'] > > > > I think the usrloc module should have the implementation of deleting the > entries of expired sip users based on its ruid/username in the > location_attrs table also. > > Thanks for the help. > > Best regards, > MRIDUL > >
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users