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

Pintu Lohar pintulohargcetts at gmail.com
Tue Jul 30 04:54:33 CEST 2019


On Mon, Jul 29, 2019 at 7:16 PM Pintu Lohar <pintulohargcetts at 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 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/20190730/20670647/attachment.html>


More information about the sr-users mailing list