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);
} 


    1. 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 ;
     route(RELAY);
  }
} 


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. 

[ https://github.com/kamailio/kamailio/files/8730489/topos-issue.zip ] 




This behavior breaks the BYE procedure. 




Any advice ? 




Chris 

Attachment: topos-issue.pcap
Description: Binary data

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * [email protected]
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

Reply via email to