Can you give another try with latest master? I pushed a patch to use a static record, getting the one for all contacts in db seemed redundant there.
Cheers,
Daniel
On Mon, Jul 29, 2019 at 7:16 PM Pintu Lohar <pintulohargcetts@gmail.com> wrote:
[Removed Attachment here due to size limit and resent]
Took the master branch , Have noticed same problem , but noticed "failed to get a record" andnot executing uldb_delete_attrs_ruid() , however location recored is removed not the location_attr record.
Tried to check the log:
5(54869) INFO: usrloc [udomain.c:996]: udomain_contact_expired_cb(): calling contact expired records - cycle [1]
5(54869) ERROR: usrloc [udomain.c:1017]: udomain_contact_expired_cb(): failed to get a record
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:989]: udomain_contact_expired_cb(): no rows to be contact expired
5(54869) INFO: usrloc [udomain.c:996]: udomain_contact_expired_cb(): calling contact expired records - cycle [1] .
5(54869) ERROR: usrloc [udomain.c:1017]: udomain_contact_expired_cb(): failed to get a record
Am I missing something?Thanks.Pintu
On Mon, Jul 29, 2019 at 6:08 PM Pintu Lohar <pintulohargcetts@gmail.com> wrote:
Wow so fast. I will try the master branch and share it with you the result soon.
Thanks indeed.
Thanks & RegardsPintu
On Mon, Jul 29, 2019, 5:59 PM Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,
I pushed some changes to the master branch trying to get to a solution without introducing a new column to store expires value for attrs records, but for the next version might be better to just add that column and delete using it.
Try the master branch and see if it works.
You can also run a rtimer with a delete on condition for last modified value, as you already said previously.
Cheers,
Daniel
On 29.07.19 10:16, Pintu Lohar wrote:
Hi Daniel,
It's about the contract expired and deleted from "location" but not deleted from location_attr table when expired contact is found. My settings are below
1. modparam("usrloc", "timer_interval", 120)
2. modparam("tm|usrloc", "xavp_contact", "ulattrs")
3. Usrloc is set to DB_ONLY Mode.
4. //// route block when the extra location attr before saving .
# Handle SIP registrations
route[REGISTRAR] {
if (!is_method("REGISTER")) return;
if(isflagset(FLT_NATS)) {
setbflag(FLB_NATB);
#!ifdef WITH_NATSIPPING
# do SIP NAT pinging
setbflag(FLB_NATSIPPING);
#!endif
}
$xavp(ulattrs=>did)=$hdr(P-Asserted-Identity); # this adds to location_attr table..
if (!save("location")) {
sl_reply_error();
}
Like if Client Registered , and went offline/crashed,(expiry i.e 3600, proto=TLS) then contact is expired after 1 hour then it's removed from location table but the attribute set which is added for location_attr(for same ruid) is not deleted from db.
Thanks & Regards
Pintu
-----------
On Mon, Jul 29, 2019 at 4:32 PM Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,
is the contact expired and not updated, or is about attributes set for a REGISTER request that should be deleted with the next REGISTER updating the expires for same contact?
Cheers,
Daniel
On 29.07.19 08:44, Pintu Lohar wrote:
Hi All,
Regarding modparam("tm|usrloc", "xavp_contact", "ulattrs")
#ref : https://www.kamailio.org/docs/modules/devel/modules/usrloc.html#usrloc.p.xavp_contact .
There is some requirement where we need to save some extra location attributes to location_attrs tables
$xavp(ulattrs=>deviceIdentify)= "Some str values" and calling save(“location”) , It works well and saved location attribute table but But when contact expired callback is received, udomain_contact_expired_db() does not it delete the extra location attribute from database but deleting the record from location table only ?If not, is there any recommended approach to delete the extra location attributes from the database? or am I missing something to set?
Alternate I was thinking could be running timer from Kamailio config and check last_modified time and delete those(based on our UAC expiry setting), is it the right approach.
Kamailio Version: 5.2.0.
Thanks for your valuable suggestion in advance.
RegardsPintu Lohar
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda-- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda
-- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda