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