[OpenSIPS-Users] NAT Pings in v2.4 with Edge Proxy

Liviu Chircu liviu at opensips.org
Tue Apr 3 13:59:11 EDT 2018


Hi John,

Just out of curiosity, are you using "full-sharing" or 
"full-sharing-cachedb" clustering?

Both of these modes have the pinging covered. The integration is 
transparent to nathelper, as it's built right into the cluster-aware 
usrloc. Expanding on this, the ping workload is spread among cluster 
nodes based on a 31-bit hash of the AORs modulo 
<current_number_of_cluster_nodes>.

I did quite a few tests with the pings (including exactly your setup, 
making use of add_path_received()), but as I recall, they were using the 
Contact URI as Request-URI, while using the Path as outbound proxy. I 
will start doing more tests tomorrow, as soon as I'm done with the 
current work on some documentation quality improvements, and come back 
with my findings.

If you run into any more issues, please let me know. Oh, and 
QM_MALLOC+DBG_MALLOC-enabled backtraces are more than welcome as well :)

Cheers,

Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com

On 03.04.2018 19:08, John Quick wrote:
> I'm testing v2.4 beta in a setup with an edge proxy/load balancer in front
> of multi-node clustered Registrar proxies.
>
> NAT'd UA   ----   Customer Router  -----  Internet  -----   Edge Proxy/LB
> -----  Registrar 1/2/...   -----   FreeSwitch Media Servers
>
> The Edge Proxy/Load Balancer is designed to be as lightweight as possible.
> It therefore does not store any data about UA's or registrations.
> Instead, it adds a Path header to all REGISTER requests before passing to
> one of the Registrar nodes. This strategy is described in articles published
> by the OpenSIPS developers and in some opensips.org blogs.
>
> The Path header is stored in the location table on the Registrar and tells
> the Registrar two things:
> 1. All requests sent to the registered UA must go via the Edge Proxy
> 2. The "received" parameter in the Path is used to describe the NAT'd nature
> of the UA - the address of the customer router, which port on the router
> etc.
>
> Mostly this works as it should but things don't look right when I enable NAT
> Pings on the Registrar.
> The OPTIONS Ping sent from the Registrar includes a Route header which
> contains a value taken straight from the Path header (good), but the R-URI
> of the OPTIONS ping is set to the IP address of the Edge Proxy and not to
> the Contact address of the UA. Is this correct? It means the UA will receive
> an OPTIONS ping with a foreign R-URI. I suspect some UA's will not respond
> to this. Or is the R-URI on OPTIONS not relevant?
>
> Also, I cannot see any parameters to control distribution of NAT Ping
> operations throughout my group of clustered Registrar servers. There is no
> mention of Clusterer integration in the documentation for the nathelper
> module. Is the distribution of this task entirely transparent and automatic?
> Am I even using the wrong module to do NAT pings here?
>
> There are other issues, but I'll keep to one subject in one thread.
>
> John Quick
> Smartvox Limited
> Web: www.smartvox.co.uk
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list