Ok, for the moment I've made a workaround via attaching IP/Port to a
Contact before saving. And removing this param on outgoing invite.
Sort of add_contact_alias()
Le 04/10/2024 à 12:45, Ihor Olkhovskyi a écrit :
So, at the end it's not a "dead TCP" issue, but "avoiding
duplication", when you have multiple contacts on a same AOR, but some
of them are dead already.
Sort of the answer for me would be an additional parameter in tsilo
and/or a mechanism, that also taking into account if sent out branch
had been replied or no.
Le 04/10/2024 à 12:20, Ihor Olkhovskyi a écrit :
>
> Looking at the code I see, that there is a check
>
>
https://github.com/kamailio/kamailio/blob/66fe6eb71e58a02222d1a2fb00f9a0cdb…
>
> Yes, it's true, that call is sent to a same AOR, but "received"
> parameter is different (cause phone is making "new" register from a
> different port, meanwhile the old port is dead already)
>
> Le 04/10/2024 à 10:28, Henning Westerholt a écrit :
>>
>> Sure, it’s a workaround. It probably could be fixed in the
>> ts_append(..) function, or in one of the functions that its uses
>> (like from tm).
>>
>> Cheers,
>>
>> Henning
>>
>> *From:*Ihor Olkhovskyi <igorolhovskiy(a)gmail.com>
>> *Sent:* Freitag, 4. Oktober 2024 10:26
>> *To:* Henning Westerholt <hw(a)gilawa.com>om>; Kamailio (SER) - Users
>> Mailing List <sr-users(a)lists.kamailio.org>
>> *Subject:* Re: [SR-Users] t_append_branches() and "dead" tcp
connections
>>
>> Henning ,
>>
>> Yes, I did. But as I've said, in a really small number of cases it
>> does not help. As a drawback, too frequent TCP keepalives making
>> Android not close the app and it does not help either.
>>
>> At the end, it's a workaround, not a "proper solution", I think.
>>
>> Le 04/10/2024 à 10:14, Henning Westerholt a écrit :
>>
>> Hello,
>>
>> already tried to use short TCP keepalive intervals on a network
>> level? This way the dead connections should be detected and removed.
>>
>> Cheers,
>>
>> Henning
>>
>> *From:*Ihor Olkhovskyi <igorolhovskiy(a)gmail.com>
>> <mailto:igorolhovskiy@gmail.com>
>> *Sent:* Freitag, 4. Oktober 2024 10:09
>> *To:* Henning Westerholt <hw(a)gilawa.com>
<mailto:hw@gilawa.com>;
>> Kamailio (SER) - Users Mailing List
>> <sr-users(a)lists.kamailio.org>
<mailto:sr-users@lists.kamailio.org>
>> *Subject:* Re: [SR-Users] t_append_branches() and "dead" tcp
>> connections
>>
>> Henning,
>>
>> That's what I did for the moment, but sometimes, especially with
>> Android endpoints, I'm getting a situation where there is a
>> "dead" TCP connection, cause some devices not really taking care
>> about closing them properly. And on TCP timeout expiry time the
>> device is literally unreachable.
>>
>> Le 04/10/2024 à 09:52, Henning Westerholt a écrit :
>>
>> Hello Ihor,
>>
>> what just about setting handle_lost_tcp to 1 to remove dead
>> TCP connection and to prevent this error?
>>
>> Cheers,
>>
>> Henning
>>
>> *From:*Ihor Olkhovskyi via sr-users
>> <sr-users(a)lists.kamailio.org>
>> <mailto:sr-users@lists.kamailio.org>
>> *Sent:* Donnerstag, 3. Oktober 2024 21:04
>> *To:* Kamailio (SER) - Users Mailing List
>> <sr-users(a)lists.kamailio.org>
>> <mailto:sr-users@lists.kamailio.org>
>> *Cc:* Ihor Olkhovskyi <igorolhovskiy(a)gmail.com>
>> <mailto:igorolhovskiy@gmail.com>
>> *Subject:* [SR-Users] t_append_branches() and "dead" tcp
>> connections
>>
>> Hello,
>>
>> Recently encountered an issue with tsilo (that is using
>> t_append_branches), but not sure found a root cause.
>>
>> So, I have a call, but aparently there are some "dead" TCP
>> connections in a "location" table
>>
>> modparam("usrloc", "handle_lost_tcp", 0)
>>
>> On call initialtion, INVITE's are sent to "last seen"
>> location, but aparently there is no answer and I assume it's
>> in a state "trying to establish TCP connection"
>>
>> Obviously, there is no "100 Trying" answer on any outgoing
>> INVITE.
>>
>> Than, a REGISTER comes from a contact, that is supposed to
>> be called.
>>
>> Usual
>>
>> ts_append("location", "$tu");
>>
>> is called, but in the logs I see
>>
>> [REGISTER] tm [t_append_branches.c:208]:
>> t_append_branches(): failure to add branches (-1)
>>
>> If there is an active TCP connection, branches are added as
>> expected. I'm getting this only in a case of trying to
>> establish a call to a "dead" TCP connection.
>>
>> What am I missing here or it sounds like a bug?
>>
>> --
>>
>> Best regards,
>>
>> Ihor (Igor)
>>