for me, it seems you don't handle subscribe as other requests and it changes IP which came at the Contact header. Then this address is used for  for the rest of the requests in this dialog.

Yes that's correct. For the SUBSCRIBE I sl_send_reply and exit without relaying the message. Everything else gets relayed. If I relay the SUBSCRIBE like other messages, the subsequent BYE is sent to the correct IP and everything works as expected.

Thanks

 

чт, 5 авг. 2021 г. в 14:27, Marrold <kamailio@marrold.co.uk>:
Hi Henning,

I realised as soon as I sent the message I'd forgotten that important detail. It's 5.5.1 on Debian 10 from the repos.

Thanks!

On Thu, Aug 5, 2021 at 8:53 AM Henning Westerholt <hw@skalatan.de> wrote:

Hello,

 

Others might be able to comment in more detail, but quick question: which version of Kamailio you are using?

For 5.5.x branch some extensions were added to the topos module for SUBSCRIBEs:

 

+                This module is designed to work for presence (SUBSCRIBE-based) dialogs too.

+               The REGISTER and PUBLISH requests are skipped from processing

 

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 Marrold
Sent: Wednesday, August 4, 2021 10:15 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: [SR-Users] Issues with TOPOS when not relaying an in-dialog request

 

Hi,

I am currently using TOPOS to make Kamailio behave more like a B2BUA from the clients perspective. It's working well, however I have discovered a scenario where it fails.

To aid with some interoperability I am sending (sl_send_reply) 200 OK to an in-dialog SUBSCRIBE request during a call. Once this has happened, the subsequent BYE from the B leg goes to the incorrect (Private) IP. If I disable this SUBSCRIBE, or relay it to the B leg, the BYE goes to the expected IP address.

 

Does anyone know where I am going wrong? I have tried not calling record_route() for these messages but the result is the same.

 

I've attached the ladder diagram of the call below. Note the subscribe is not relayed in this scenario.

 

Thanks!

 

 

 

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