Hello Henning,

Yes, I tried to figure out where the problem occurs, but I did not see it.

Our topos-settings at the moment:

modparam("topos", "db_url", DBURL)
modparam("topos", "contact_mode", 0)
modparam("topos", "dialog_expire", 10800)
modparam("topos", "branch_expire", 300)
modparam("topos", "rr_update", 1)

A-Side sends INVITE, we receive 100 and 183.
Then A-Side sends PRACK and we get OK back. Everything ok until now:

B-side sends an UPDATE:

2023/05/01 08:17:45.068664 <InterconnectPartner>:5060 -> <ourPSTNProxyIP>:5060
UPDATE sip:btpsh-644a237d-1798b-3@<ourPSTNProxyIP> SIP/2.0
Via: SIP/2.0/UDP <InterconnectPartner>:5060;branch=z9hG4bKlfgdpmnermnypoptmiyoloido;Role=3;Hpt=8f48_16
Call-ID: <theCall-ID>@<EnddeviceIP>
From: <sip:<Callee-Number>@<ourPSTNProxyFQDN>>;tag=xjhxhx4q-CC-1002-OFC-94
To: <sip:<Caller-Number>@<ourPSTNProxyFQDN>;user=phone>;tag=B094B0A03DB661CB
CSeq: 1 UPDATE
Contact: <sip:<InterconnectPartner>:5060;transport=udp;Hpt=8f48_16;CxtId=3;TRC=ffffffff-ffffffff>
Max-Forwards: 67
Content-Length: 157
Content-Type: application/sdp

v=0
o=- 1128555229 1128555231 IN IP4 <InterconnectPartnerRTP>
s=SBC call
c=IN IP4 <InterconnectPartnerRTP>
t=0 0
m=audio 42990 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=ptime:20


And our PSTN Proxy sends it directly to the Enddevice instead to the Registrar Proxy:

2023/05/01 08:17:45.077351 <ourPSTNProxyIP>:5060 -> <EnddeviceIP>:5060
UPDATE sip:<Caller-Number>@<EnddeviceIP>;uniq=B0EB9A84A278626DA07219E2AE01C SIP/2.0
Via: SIP/2.0/UDP <ourPSTNProxyIP>;branch=z9hG4bKcfe.613fa0d159ffec2c6d5d7ac4829b2536.0
Call-ID: <theCall-ID>@<EnddeviceIP>
From: <sip:<Callee-Number>@<ourPSTNProxyFQDN>>;tag=xjhxhx4q-CC-1002-OFC-94
To: <sip:<Caller-Number>@<ourPSTNProxyFQDN>>;tag=B094B0A03DB661CB
CSeq: 1 UPDATE
Max-Forwards: 66
Content-Length: 166
Content-Type: application/sdp
Contact: <sip:atpsh-644a237d-1798b-3@<ourPSTNProxyIP>>

v=0
o=- 1128555229 1128555231 IN IP4 <ourPSTNProxyIP>
s=SBC call
c=IN IP4 <ourPSTNProxyIP>
t=0 0
m=audio 22518 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=ptime:20
a=rtpbc:yes


Regards
Stefan


Am 28.04.23 um 17:42 schrieb Henning Westerholt:

Hello,

 

did you already tried to look e.g. with sngrep on why the UPDATE is not routed correctly? Just to sort out eventual other issues that are not caused from the module/code.

 

Cheers,

 

Henning

 

From: Stefan <sr.maillists@gmail.com>
Sent: Donnerstag, 27. April 2023 09:03
To: sr-users@lists.kamailio.org
Subject: [SR-Users] Re: TOPOS (5.1.[23]) breaks PRACK

 

Hi List

I updated to 5.6.4, same behavior.
We have a setup like this: UAC -> kamailio registrar -> kamailio pstn gw (with topos) -> PSTN.

The UPDATE goes not back from the PSTN to the UAC.
The PSTN GW tries to send it directly to the UAC instead of following the route back to the registrar.

How did you solve this?

Regards
Stefan

Am 26.04.23 um 14:30 schrieb Stefan:

Hi together

As I understand this should be also fixed in kamailio 5.5.6?
We use also topos but it still breaks UPDATE.

Regards
Stefan

Am 10.05.22 um 20:43 schrieb Henning Westerholt:

Hello,

 

Yes, its aparently missing in the output. I checked in my local checkout, its there.

 

But the version rc0 was set later as the commits in question, so they should be included.

 

If the error is still there, re-open the ticket 3090 and add more information there.

 

Cheers,

 

Henning

 

 

 

From: George Diamantopoulos <georgediam@gmail.com>
Sent: Tuesday, May 10, 2022 8:06 PM
To: Henning Westerholt <hw@gilawa.com>
Cc: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] TOPOS (5.1.[23]) breaks PRACK

 

Hello Henning,

 

Thanks for the reply. Here's the output, but I don't see anything relevant to git commits:

 

version: kamailio 5.6.0-rc0 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 10.2.1

 

BR,

George

 

On Tue, 10 May 2022 at 18:55, Henning Westerholt <hw@gilawa.com> wrote:

Hello,

 

it seems to be included, at least in the git branch.

 

~/repositories/5.6$ git log | egrep "c309122|ceb688b" -A 5

commit c309122864eaa2bfa58253290bed49084ccc9302

Author: Daniel-Constantin Mierla miconda@gmail.com

Date:   Thu Apr 21 14:28:26 2022 +0200

 

    topos: restore attributes based on direction for early dialog requests

 

--

commit ceb688b3d364bb7b8d9f52b7238d560cb4e30b3d

Author: Daniel-Constantin Mierla miconda@gmail.com

Date:   Thu Apr 21 09:00:09 2022 +0200

 

    topos: use direction for loading invite record for other early dialog requests

 

It would be good to double-check with the output of “kamailio -v”, please paste it here.

 

Cheers,

 

Henning

 

From: George Diamantopoulos <georgediam@gmail.com>
Sent: Tuesday, May 10, 2022 4:43 PM
To: Henning Westerholt <hw@gilawa.com>
Cc: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] TOPOS (5.1.[23]) breaks PRACK

 

Hello again,

 

I've just tested 5.6.0~rc0+bpo11.20220506004754.1 from 56-nightly, but loose_route() still returns false for early-dialog UPDATE... Does this build include c309122 and ceb688b referenced in https://github.com/kamailio/kamailio/issues/3090?

 

Cheers,

George

 

On Thu, 7 Apr 2022 at 10:21, George Diamantopoulos <georgediam@gmail.com> wrote:

Hello all,

 

Thanks for the feedback, Henning. There seems to have already been a ticket about this but it's closed now: https://github.com/kamailio/kamailio/issues/2659

 

I'm a little confused here. It seems early-dialog UPDATE should be handled similarly to PRACK, so I guess maybe a patch like https://github.com/kamailio/kamailio/commit/37830f53b1f21fba5beef5d8e22913c431dcd708 would be needed.

 

However, Daniel has commented in this issue about the need to do record_route() in config. To quote him: "The module requires record routing, so if the UPDATE requires to re-enforce Record-Route, then you have to do it. [...] I was aware that only NOTIFY requires to re-enforce Record-Route, but can be also a matter of UA implementation to want it for other requests."

 

However, RR reinforcement for NOTIFY only happens (in the kamailio sample configuration file) in route[WITHINDLG] only if loose_route() check is successful. In my case, UPDATEs fail this test, so control goes directly to "sl_send_reply("404","Not here");", same as the author of the aforementioned ticket. Unless Daniel meant one needs to reinforce RR for PRACKs in order for subsequent UPDATEs to work?

 

Any thoughts?

 

BR,

George

 

On Wed, 6 Apr 2022 at 22:48, Henning Westerholt <hw@gilawa.com> wrote:

Hello,

 

Thanks for the update. Opening a github issue about it is probably a good idea.

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: sr-users <sr-users-bounces@lists.kamailio.org> On Behalf Of George Diamantopoulos
Sent: Wednesday, April 6, 2022 7:29 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] TOPOS (5.1.[23]) breaks PRACK

 

This seems to be a topos issue regardless of backend, I tried with mariadb as storage and UPDATE routing fails in the same way as it does with redis. I'll probably open an issue on Github about this (early dialog UPDATE broken by topos). PRACK seems to work fine in my case. Direction of UPDATE vs PRACK however is different, not sure if that's important in any way.

 

BR,

George

 

On Wed, 6 Apr 2022 at 06:31, George Diamantopoulos <georgediam@gmail.com> wrote:

Hello again,

 

I have confirmed the problem doesn't manifest without loading the topos module. I'll see if I can also try a different topos backend this week to confirm if this is a topos_redis issue or topos in general.

 

BR,

George

 

On Tue, 22 Mar 2022 at 17:11, George Diamantopoulos <georgediam@gmail.com> wrote:

Hello Henning,

 

This is on kamailio 5.5.4.

 

I'll try with a different backend and without topos and post the result here as soon as I find the time, just curious if anyone has stumbled on this with topos_redis before. Thanks!

 

BR,

George

 

On Tue, 22 Mar 2022 at 15:51, Henning Westerholt <hw@gilawa.com> wrote:

Hello,

 

please give a recent 5.5.x Kamailio a try. There was a fix regarding early-dialog UPDATE handling in topos committed one year ago.

 

Cheers,

 

Henning

 

--

Henning Westerholt – https://skalatan.de/blog/

Kamailio services – https://gilawa.com

 

From: sr-users <sr-users-bounces@lists.kamailio.org> On Behalf Of George Diamantopoulos
Sent: Monday, March 21, 2022 11:53 PM
To: d.tryba@pocos.nl; Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] TOPOS (5.1.[23]) breaks PRACK

 

Hello all,

 

Any chance this could be affecting early-dialog UPDATE methods as well? I haven't tried with a different backend (mysql) yet, but loose_route returns false...

 

BR,

George

 

On Fri, 25 May 2018 at 18:00, Daniel Tryba <d.tryba@pocos.nl> wrote:

On Wed, May 23, 2018 at 10:51:37PM +0200, Daniel-Constantin Mierla wrote:
> I got a bit of time to look at this issue, can you try with the patch
> from the next commit?
>
> ?? -
> https://github.com/kamailio/kamailio/commit/2a3ca5942291d29de05b14338a36cecbec11f129
>

This off by 1 fix solved the PRACK issue with redis backend.


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users



__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
  * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users