OK, thanks for testing and feedback. I will backport if it is the case before the next release from branch 5.2.

Cheers,
Daniel

On 31.07.19 05:34, Pintu Lohar wrote:
I tested it works well. 
Thanks Daniel .

Regards 
Pintu..

On Wed, Jul 31, 2019, 12:09 AM Daniel-Constantin Mierla <miconda@gmail.com> wrote:

Just in case you pulled git master branch before this message, do it again, because the push of the commit to github failed before and I noticed a bit later than sending the previous email.

Cheers,
Daniel

On 30.07.19 17:00, Daniel-Constantin Mierla wrote:

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 30.07.19 04:54, Pintu Lohar wrote:

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" and 
not 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 & Regards 
Pintu 

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 

1modparam("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.

Regards 

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