Yes, topology_hiding(). I am actually doing exactly what you have described 
wanting to do. I am using set_advertised_address() in request route and then in 
onreply_route to change the address in each direction. When topology_hiding() 
is being used, the module is already going to replace the IP addresses in all 
the headers in onreply_route and it will allow set_advertised_address() to 
change the address that it will use to do that.

The relevant portion of my config looks something like below. I am using AVPs 
for the addresses which are populated from data elsewhere in the script. I am 
checking the source address ($si) of the initial request to determine which 
direction the request is going and set up the AVPs accordingly.

route
{
.
.
.
  topology_hiding("U");
  uac_replace_from("sip:$fU@$avp(inbound_ip)");

  t_on_branch("route_branch");
  t_on_reply("route_reply");

  set_advertised_address("$avp(inbound_ip)");
  set_advertised_port("$avp(inbound_port)");

  route(relay);
}

branch_route[route_branch]
{
  uac_replace_to("", "$ru");
}

onreply_route[route_reply]
{
# Have to load the transaction to get the AVPs but
# t_check_trans() can't be used in reply route.
  t_check_status(".*");

  set_advertised_address("$avp(outbound_ip)");
  set_advertised_port("$avp(outbound_port)");
}

Ben Newlin

From: [email protected] 
[mailto:[email protected]] On Behalf Of Terrance Devor
Sent: Tuesday, March 31, 2015 8:58 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] set_advertised_address suspected bug 1.9

Hello Ben!

I really appreciate this. I am assuming you are talking about 
topology_hiding()? Furthermore,
what is the best place to have the command and signal internal devices with 
internal ips and
external devices with external ips. We are trying to have the change applied 
branch and reply
signalling (ie, INVITE, Session Progress, ACK and 200OKs). Finally do you use 
an if
statement of some sort (ie if($si==.......)) to determine if the next signal 
would be internal vs
external?


Thanks in Advance,

Terrance.
​
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to