[sr-dev] [kamailio/kamailio] TOPOS + RE-INVITE problem - Contact IP not updated (Issue #3118)

chris-issy notifications at github.com
Thu May 19 17:03:59 CEST 2022

It seems that TOPOS is not working properly on RE-INVITE and stop masking IP and contact on some RE-INVITE.

When a RE-INVITE is send with Kamailio IP as Request-URI TOPOS is not operating.

Note : we are using the HTABLE trick to rewrite $ru and match the call but we would need to have TOPOS re-evaluating the dialog once done.

We use a standard configuration with 2 modifications. 

1) in route[DISPATCH] to set the HTABLE
if(is_method("INVITE")) {
 $sht(ct=>$ci::$ft) = $sel(contact.uri);

2) in route[WITHINDLG] to find the call if R-URI = myself 
if(has_totag() && uri==myself) {
 if($sht(ct=>$ci::$ft) != $null && $T_reply_code > 400) $shtex(ct=>$ci::$ft) = 10 ; 
  if($sht(ct=>$ci::$tt) != $null) {
     $ru = $sht(ct=>$ci::$tt);
     if (is_method("BYE")) $shtex(ct=>$ci::$tt) = 10 ;

As you can see in the PCAP the RE-INVITE goes directly to calling stating with the Contact not updated and the 200 OK is also sent to called party with wrong Contact info too.

This behavior breaks the BYE procedure.

Any advice ?

Reply to this email directly or view it on GitHub:
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/3118 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20220519/5479efe7/attachment-0001.htm>

More information about the sr-dev mailing list