[SR-Users] Same Via Tag for INVITE and ACK on S/L loadbalancer

Henning Westerholt hw at skalatan.de
Mon Feb 10 20:02:55 CET 2020


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


More information about the sr-users mailing list