[SR-Users] usrloc - ka_mode timeout

Ilie Soltanici iliusha.md at gmail.com
Wed Sep 23 10:51:40 CEST 2020


Hello,

It's sitting in the memory until the expiration time it's arriving. See
below the ul dump output:

Every 2.0s: /usr/local/sbin/kamcmd ul.dump


                              Wed Sep 23 09:43:44 2020

{
        Domains: {
                Domain: {
                        Domain: location
                        Size: 1024
                        AoRs: {
                                Info: {
                                        AoR: 101
                                        HashID: -1698832128
                                        Contacts: {
                                                Contact: {
                                                        Address:
sip:101 at 192.168.0.18:49195;ob
                                                        Expires: 3548
                                                        Q: 1.000000
                                                        Call-ID:
03514e7aff5a4c3785b471923ef9a4c5
                                                        CSeq: 49773
                                                        User-Agent:
MicroSIP/3.20.0
                                                        Received: sip:
8.8.8.123:10037
                                                        Path: [not set]
                                                        State: CS_SYNC
                                                        Flags: 0
                                                        CFlags: 12288
                                                        Socket: udp:
1.1.1.10:5060
                                                        Methods: 8159
                                                        Ruid:
uloc-b-5f6a75ac-7ed8-1
                                                        Instance: [not set]
                                                        Reg-Id: 0
                                                        Server-Id: 11
                                                        Tcpconn-Id: -1
                                                        Keepalive: 1
                                                        Last-Keepalive:
1600850587
                                                        KA-Roundtrip: 20790
                                                        Last-Modified:
1600850572
                                                }
                                        }
                                }
                        }
                        Stats: {
                                Records: 1
                                Max-Slots: 1
                        }
                }
        }
}

So, for the above extension (101) it will be removed from the memory only
after 3548 sec, even if I killed manually that connection and the softphone
it's not replying anymore to the keepalive options. By using the
keepalive_timeout function from the nathelper module - it's working fine.

Regards,
Ilie.

On Wed, 23 Sep 2020 at 08:05, Daniel-Constantin Mierla <miconda at gmail.com>
wrote:

> 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 at 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 at 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 at 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 at 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
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
> Funding: https://www.paypal.me/dcmierla
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200923/16dca628/attachment.htm>


More information about the sr-users mailing list