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.
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.
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.
Also, I use PATH module for registration.
Log in to post a comment.