[OpenSIPS-Devel] [ opensips-Bugs-3531846 ] NATHELPER in multiple opensips setup

SourceForge.net noreply at sourceforge.net
Wed Jul 11 18:45:54 CEST 2012


Bugs item #3531846, was opened at 2012-06-04 02:05
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=3531846&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: 1.8.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nick Altmann (nikbyte)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: NATHELPER in multiple opensips setup

Initial Comment:
I have multiple balanced opensips setup. USRLOC module working in dbonly mode (db_mode=3),
Each node looks at the same location table in the database.
Client registered on one of nodes and this node's NATHELPER module should ping this client in case of NAT.
Because there are many nodes, every node looks at location table and starts ping this client.
Instead of one ping, client receives as many pings, as active nodes at this moment of time.

In such cases NATHELPER should filter clients and ping only clients registered on this node.


----------------------------------------------------------------------

>Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2012-07-11 09:45

Message:
As, said, I see your point, but this is not a BUG but rather an enhancement
of USRLOC in DB_ONLY - returning in db_all_contacts() only contacts that
have a local socket.

Please move this as a feature request.

Bogdan

----------------------------------------------------------------------

Comment By: Nick Altmann (nikbyte)
Date: 2012-07-11 04:21

Message:
The common idea is we have dummy load balancer to set of opensips proxies.
Opensips proxies do all work, also processing NAT. Thereby dummy LB cannot
ping, it doesn't know about NAT.

Also, in my setup usrloc should have access to contact from all opensips
nodes, but nathelper should see only own contacts. It's specific
configuration of opensips, but it may be interesting for large setups.


----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2012-07-09 04:08

Message:
In such a setup, shouldn't be wiser to do the pinging from the border
element, like the LB ?

Bottom line, what you report is not actually a BUG, but rather a feature
request, as you are looking for a particular behaviour of usrloc in DB_ONLY
mode - to add a filter in usrloc to report back to nathelper only contacts
which have a local socket. 

----------------------------------------------------------------------

Comment By: Nick Altmann (nikbyte)
Date: 2012-07-06 23:55

Message:
Yes, I use PATH.

----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2012-07-06 23:53

Message:
And you use PATH mechanism for REGISTERs going through front LB ? or how do
you enforce that all calls routed via usrloc are going first via LB and
later to right phone ?

----------------------------------------------------------------------

Comment By: Nick Altmann (nikbyte)
Date: 2012-07-06 10:57

Message:
My scheme is like this:
USER - BALANCER(SBC) - opensips-servers.
User interacts with server throughout balancer and no matter which opensips
server process call. User sees only balancer ip address. And his NAT opened
for balancer ip address. But all of work doing opensips servers: nat
pinging, nat processing, registering, rtp proxying.


----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2012-07-06 10:48

Message:
My point is: if user X registers with server A, what is the purpose of
server B (sharing the registration with A) considering that B cannot reach
user X back (nat is open only towards server A).

----------------------------------------------------------------------

Comment By: Nick Altmann (nikbyte)
Date: 2012-07-06 10:32

Message:
In my setup I have a few load balanced opensips. Registration can go to one
opensips, but call can go to another. I've pointed them to one shared db
and everything works good, but every opensips pings client. It would be
perfect if every opensips can process call of every client, but only one
opensips (that accepted latest register) pings client.

----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2012-07-06 10:05

Message:
Hi Nick,

This is a typical example of misusage on the DB_ONLY mode - if DB is shared
and the only place to store data, the servers have no idea on "local"
versus "remote" registration.

On the other hand, things are a bit twisted - if you agree that a node has
to ping its local contacts (in order to keep NAT opened), then what is the
meaning of sharing the registration info (if only one node can actually use
it) ??

Regards,
Bogdan

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=3531846&group_id=232389



More information about the Devel mailing list