It is wrong if your remote party ignores record-route. If it does not support work with RR/Route headers it at least should interrupt transaction on the first reply that contains RR. 

However There are a couple of ways to make kamailio work as SBC: 
- topos module
- Rewrite contact header manually ( by removing old and inserting new one)
 
NAT helper functions will not help you as they are check source address of the message and fix contact based on this part. So it will not Rewrite Contact address on SBC address. It will Rewrite contact if it does not match with the source address of the message. 

On Wed, 29 Jan 2020, 09:52 egemen ulus, <ulus_egemen@hotmail.com> wrote:
Hi everyone,

I have asterisk farm and kamailio which located front of asterisks farm as a proxy.

When someone send a invite from outside to my kamailio (without record route), i forward it to my Asterisk farm. Then My one of Asterisk reply it as 200 ok. Then my kamailio forward this 200 ok to remote side with record route. But in my 200 ok message, contact header contains my Asterisk IP address. That is why remote side tries to send ACK to Asterisk.

How to rewrite my contact header as my kamailio (SBC) address ? 

Actually I tried fixed nated contact and advertise ip but I couldn't make it worked. I am really new on that. Kamailio cfg file is attached.

Please help! 

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