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)
>