[SR-Users] Same Via Tag for INVITE and ACK on S/L loadbalancer
Yuriy Gorlichenko
ovoshlook at gmail.com
Tue Feb 11 15:11:53 CET 2020
Stateless proxy always makes sence in high loaded distributed system. Even
in 2025 :-)
On Tue, 11 Feb 2020, 14:52 Sebastian Damm, <damm at sipgate.de> wrote:
> Hi all,
>
> thanks for the discussion and reminding everyone that it is already
> fixed. Henning, I guess we owe you a beer or two at Kamailioworld. :)
>
> Daniel, to answer your question regarding "why stateless": Our setup
> includes anycast, so multiple machines share the same IP address. And
> depending on the datacenter location of our gateways or the uplink to
> the carrier, even requests and answers can be routed through different
> instances running with the same IP address. So yes, even in 2020 there
> can be use cases for a stateless loadbalancer.
>
> We were running 5.2.2, and after I upgraded to 5.2.6, our error reply
> counter dropped significantly. Wow.
>
> Regards,
> Sebastian
>
> On Mon, Feb 10, 2020 at 8:02 PM Henning Westerholt <hw at skalatan.de> wrote:
> >
> > Hello Serge,
> >
> > there was a regression introduced by b64a25874e3 in 5.2 because of a
> wrong refactoring. This were not noticed for some time because only a few
> people (still) use stateless load balancers. I noticed it as well in middle
> of last year during a customer project. It was fixed in 82635674517 end of
> July 2019, you find in the related discussion also some test results that I
> posted before doing the backport. So, if this is your problem, after 5.2.4
> is should work again.
> >
> > Cheers,
> >
> > Henning
> >
> > --
> > Henning Westerholt – https://skalatan.de/blog/
> > Kamailio services – https://gilawa.com
> >
> > -----Original Message-----
> > From: sr-users <sr-users-bounces at lists.kamailio.org> On Behalf Of Serge
> S.Yuriev
> > Sent: Monday, February 10, 2020 4:46 PM
> > To: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org>
> > Subject: Re: [SR-Users] Same Via Tag for INVITE and ACK on S/L
> loadbalancer
> >
> > Hello,
> >
> > This stateless call flow is smooth in 5.1 branch, at least 5.1.7 but in
> 5.2.1 already broken IIRC.
> > Some time ago I wrote about this very same issue
> >
> > 10.02.2020, 18:39, "Daniel-Constantin Mierla" <miconda at gmail.com>:
> > > In such case, because the proxy is doing stateless forwarding, there
> > > is no transaction. I guess the solution right now is to use tm for
> > > relaying
> > > - is any concern of doing that?
> > >
> > > If someone wants to look at generating same via branch, I am fine with
> > > it, eventually controlled by a parameter if the code change is
> > > significant, to be able to switch to current mode if unexpected side
> > > effects pop up.
> > >
> > > One more note in this case: I expect it would be required to generate
> > > different tag for 200ok ACK, so it is matched as different transaction
> > > by next hop, not sure if there is any easy way to discover the type of
> > > ACK in a stateless proxy.
> > >
> > > I am not sure I remember correctly, but in some discussions I think it
> > > was suggested to just reuse the branch value of incoming top Via when
> > > doing stateless forwarding.
> > >
> > > Cheers,
> > > Daniel
> > >
> > > On 10.02.20 16:26, Sebastian Damm wrote:
> > >> We use 5.2 on the affected systems.
> > >>
> > >> On Mon, Feb 10, 2020 at 4:15 PM Serge S. Yuriev <me at nevian.org>
> wrote:
> > >>> Hi
> > >>>
> > >>> I believe you are using 5.2 or 5.3 series? This tend to work
> > >>> properly on 5.1 series
> > >>>
> > >>> 10.02.2020, 18:10, "Sebastian Damm" <damm at sipgate.de>:
> > >>>> Hi,
> > >>>>
> > >>>> actually, our only problem is handling negative replies. The ACK
> > >>>> belongs to the same transaction and therefore has to carry the
> > >>>> same
> > >>>> Via branch ID.
> > >>>>
> > >>>> Sebastian
> > >>>>
> > >>>> On Mon, Feb 10, 2020 at 3:50 PM Yuriy Gorlichenko <
> ovoshlook at gmail.com> wrote:
> > >>>>> ACK for successull response is a new transaction. It has to be
> different. May be it is better to point provider to this?
> > >>>>>
> > >>>>> On Mon, 10 Feb 2020, 14:26 Sebastian Damm, <damm at sipgate.de>
> wrote:
> > >>>>>> Hi,
> > >>>>>>
> > >>>>>> I stumbled upon an interop problem with a carrier. We have the
> > >>>>>> following scenario:
> > >>>>>>
> > >>>>>> Gateway --> Loadbalancer --> Carrier
> > >>>>>>
> > >>>>>> The loadbalancer generates a Via header for each request. But
> > >>>>>> since it
> > >>>>>> is stateless, the Via tag is generated for each request. As a
> > >>>>>> consequence, the Via tag in the ACK differs from the one in the
> > >>>>>> INVITE. And one carrier doesn't handle those ACKs if the Via
> > >>>>>> tag
> > >>>>>> differs.
> > >>>>>>
> > >>>>>> Is there a way to force the creation of a "deterministic" Via
> > >>>>>> branch
> > >>>>>> tag? For example, building it from a hash over call-id and
> > >>>>>> from-tag or
> > >>>>>> something like that?
> >
> > --
> > wbr,
> > Serge
> >
> >
> > _______________________________________________
> > Kamailio (SER) - Users Mailing List
> > sr-users at lists.kamailio.org
> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
> --
> Sebastian Damm
> Voice Engineer
> __________________________________________
> sipgate GmbH
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200211/9204e9a9/attachment.html>
More information about the sr-users
mailing list