Hello,

have you watched for how long it stays in memory? The usrloc keepalive should leverage the same mechanism that was used by the keepalive done by nathelper module, it should not delete the record immediately, but after ka_timeout elapsed from the last received keepalive, then expires is set to current timestamp + 10 seconds, so the next timer cleanup should remove with.

Can you get the kamctl up dump for the phone you tested with? The keepalive related attributes (last keepalive timestamp, last rtt) should be in the json output/

Cheers,
Daniel

On 23.09.20 00:13, Ilie Soltanici wrote:
Hello,

Tried with the latest 5.4 branch, but ka_timeout still not working for me, the record it's still available in ul.dump even if that extension is not replying anymore to the Options sent by the module.

See below used configuration:
modparam("usrloc", "nat_bflag", FLB_NATB)
modparam("usrloc", "use_domain", FLS_MULTIDOMAIN)
modparam("usrloc", "timer_interval", 30)
modparam("usrloc", "db_mode", 1)
modparam("usrloc", "db_load", 1)
modparam("usrloc", "db_insert_update", 1)
modparam("usrloc", "matching_mode", 3)
modparam("usrloc", "fetch_rows", 4000)
modparam("usrloc", "timer_procs", 4)
modparam("usrloc", "handle_lost_tcp", 1)
modparam("usrloc", "close_expired_tcp", 1)
modparam("usrloc", "db_timer_clean", 1)
modparam("usrloc", "server_id_filter", 1)
modparam("usrloc", "ka_mode", 1)
modparam("usrloc", "ka_method", "OPTIONS")
modparam("usrloc", "ka_from", "sip:options@devserver.net")
modparam("usrloc", "ka_domain", "devserver.net")
modparam("usrloc", "ka_filter", 0)
modparam("usrloc", "ka_timeout", 60)
modparam("tm|usrloc", "xavp_contact", "ulattrs")

version: kamailio 5.4.1 (x86_64/linux) 609685

Regards,
Ilie

On Tue, 22 Sep 2020 at 18:58, Ilie Soltanici <iliusha.md@gmail.com> wrote:
Thank you Daniel for the latest update, I will try to test the latest 5.4 branch on the Dev environment and will come back here for any issues encountered.

Regards,
Ilie.

On Tue 22 Sep 2020 at 18:44, Daniel-Constantin Mierla <miconda@gmail.com> wrote:










Hello,



the usrloc keepalive are done on its timer interval:



  -

https://www.kamailio.org/docs/modules/stable/modules/usrloc.html#usrloc.p.timer_interval



For the keepalive timeout I was misled by presence of the global

variable in the usrloc, but was actually not exported by this

module. I did it afterwards, just pushed to branch 5.4 as well.



While is not recommended to run both at the same time, imo

nothing really bad can happen, you may see more keepalives for

natted udp contacts (not for tls, tcp, ...).



As for an unorthodox and untested idea :-) : if you do not want

to run from latest 5.4 branch yet, you can eventually set

natping_interval to a very large value, like 20 years in seconds,

so you are pretty sure you will do an upgrade before nathelper

timer fires,



Cheers,


Daniel




On 22.09.20 19:17, Ilie Soltanici

wrote:










Hello,







Is there any way to add those functions from the nathelper

module to the usrloc module?







keepalive_timeout


natping_interval







I'm looking to use ka_mode feature from the usrloc module

in order to have roundtrip time computed for each extension

but because those functions are missing in the usrloc module

and per documentation this functionality conflicts in some way

with nathelper module it's not recommended to have both

modules enabled.  Or maybe there is another way to have them

"interconnected"?









Thank you.











_______________________________________________

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
Funding: https://www.paypal.me/dcmierla