[OpenSIPS-Users] interaction between fix_nated_contact(), topology_hiding() and serial forking

Răzvan Crainea razvan at opensips.org
Thu Oct 29 09:44:43 EST 2020


Hi, Jeff!

So you're claiming that the updated contact is lost even if you call 
fix_nated_contact() before topology_hiding(), but only for the second 
branch? Are you calling t_newtran() anywhere in your script?

Best regards,

Răzvan Crainea
OpenSIPS Core Developer
http://www.opensips-solutions.com

On 10/28/20 8:30 PM, Jeff Pyle wrote:
> Liviu,
> 
> It looks like the fixed/update contact is lost only when 
> topology_hiding() is involved.  Would you prefer a separate issue, or 
> shall I append the issue you referenced before?
> 
> 
> - Jeff
> 
> 
> On Wed, Oct 28, 2020 at 2:15 PM Jeff Pyle <jeff at ugnd.org 
> <mailto:jeff at ugnd.org>> wrote:
> 
>     Hey Liviu,
> 
>     fix_nated_contact() before topology_hiding().  Got it.  As far as
>     losing the fixed contact during a serial fork, I'll do more testing
>     to localize exactly which combination of circumstances causes this
>     to surface and open a bug report.
> 
> 
>     - Jeff
> 
> 
>     On Wed, Oct 28, 2020 at 1:28 PM Liviu Chircu <liviu at opensips.org
>     <mailto:liviu at opensips.org>> wrote:
> 
>         Hi!
> 
>         On 28.10.2020 18:49, Jeff Pyle wrote:
>>         First, I lose the updated Contact from fix_nated_contact()
>>         after a serial fork.  Is this expected?
>         I would assume the `fix_nated_contact()` lump changes get backed
>         up into shared memory, then made available during the
>         failure_route. Anything else and IMHO it looks like a bug. 
>         Opinions welcome.
>>
>>         Second, I've determined that if the Contact URI is not wrapped
>>         in <>, that's when I get the "second attempt to change URI
>>         Contact" error when running fix_nated_contact() in the
>>         branch_route[]. This feels like a bug.
> 
>         This one is a known, documented issue.  Long story short: you
>         should always call fix_nated_contact() _before_
>         topology_hiding().  See this truth table for more info [1].
> 
>         [1]: https://github.com/OpenSIPS/opensips/issues/2172
> 
>         -- 
>         Liviu Chircu
>         www.twitter.com/liviuchircu  <http://www.twitter.com/liviuchircu>  |www.opensips-solutions.com  <http://www.opensips-solutions.com>
> 
>         _______________________________________________
>         Users mailing list
>         Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>         http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 



More information about the Users mailing list