[OpenSIPS-Users] NAT Pings in v2.4 with Edge Proxy
john.quick at smartvox.co.uk
Tue Apr 3 12:08:51 EDT 2018
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
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.
More information about the Users