[SR-Users] Deleting extra location attribute(location_attrs table) when contact is expired

Pintu Lohar pintulohargcetts at gmail.com
Mon Jul 29 12:16:20 CEST 2019


Hi Daniel ,
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


[image: Screen Shot 2019-07-29 at 7.12.38 PM.png]

Am I missing something?

Regards
Pintu

On Mon, Jul 29, 2019 at 6:08 PM Pintu Lohar <pintulohargcetts at 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 at 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 at 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
>>> <https://kamailio.org/docs/db-tables/kamailio-db-4.3.x.html#gen-db-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 Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>> --
>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>
>>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190729/af2198d3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2019-07-29 at 7.12.38 PM.png
Type: image/png
Size: 194404 bytes
Desc: not available
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190729/af2198d3/attachment.png>


More information about the sr-users mailing list