Using two Opensips Proxy in Redundant mode

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Using two Opensips Proxy in Redundant mode

jay1017
Hi,
I am trying to setup two opensips proxies with identical configuration so that the endpoints can REGISTER on either of the proxy. Wat is the best way to handle REGISTER in such scenarios. I read a lot of posts but all explaining about a proxy P1 which relays to multiple Registrars with Path headers in it. I just need to have two proxies and both having USRLOC with DB Mode 1 preferably. Since there are NATed clients in the picture, the calls can to the endpoints only from the proxy where they registered to as keep-alives are being called from that IP. Also the database that these proxies are looking at is in circular-replication. I had a few approaches:
1) If REGISTER arrives on P1, P1 should ideally authorize and save into location and  replicate this information to P2 using t_replicate. On P2, I do not authorize REGISTER coming from P1 and just do save("location"). But on P2, the socket shows P2_Public_IP only. Theoretically the socket information should not change right !!
2) While doing lookup("location") is it possible to fetch the socket information and send the INVITE to P1 appropriately, so that P1 can relay that call ahead to the NATed endpoint?

I have seen a few examples of handling NATed clients in the NAT_Traversal module, but all are cases where there is one Proxy responsible of accepting calls and relaying call to endpoints while there can be multiple proxies handling the requests for load balancing.

My requirement was that the endpoints can either Register on P1 or P2, when the call arrives in for any endpoint on P1; P1 checks if the endpoint had sent REGISTER to P1 (Basically identifying the socket); if yes relay the call; Or else if the endpoint is registered with P2 then relay the call to P2 and let P2 relay it to the endpoint. Same is applicable if the call arrives on P2 for any endpoint.

Any help regarding this setup is appreciated!!

Thanks in advance.

--- Jayesh

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Using two Opensips Proxy in Redundant mode

Ali Pey
Hi Jayesh,

Are you looking for an active/active solution or active/standby? Why do you need an active/active solution? You can use virtual IP to implement a active/standby solution and both servers would share the same database.

Regards,
Ali Pey

On Mon, Jun 11, 2012 at 12:33 PM, Jayesh Nambiar <[hidden email]> wrote:
Hi,
I am trying to setup two opensips proxies with identical configuration so that the endpoints can REGISTER on either of the proxy. Wat is the best way to handle REGISTER in such scenarios. I read a lot of posts but all explaining about a proxy P1 which relays to multiple Registrars with Path headers in it. I just need to have two proxies and both having USRLOC with DB Mode 1 preferably. Since there are NATed clients in the picture, the calls can to the endpoints only from the proxy where they registered to as keep-alives are being called from that IP. Also the database that these proxies are looking at is in circular-replication. I had a few approaches:
1) If REGISTER arrives on P1, P1 should ideally authorize and save into location and  replicate this information to P2 using t_replicate. On P2, I do not authorize REGISTER coming from P1 and just do save("location"). But on P2, the socket shows P2_Public_IP only. Theoretically the socket information should not change right !!
2) While doing lookup("location") is it possible to fetch the socket information and send the INVITE to P1 appropriately, so that P1 can relay that call ahead to the NATed endpoint?

I have seen a few examples of handling NATed clients in the NAT_Traversal module, but all are cases where there is one Proxy responsible of accepting calls and relaying call to endpoints while there can be multiple proxies handling the requests for load balancing.

My requirement was that the endpoints can either Register on P1 or P2, when the call arrives in for any endpoint on P1; P1 checks if the endpoint had sent REGISTER to P1 (Basically identifying the socket); if yes relay the call; Or else if the endpoint is registered with P2 then relay the call to P2 and let P2 relay it to the endpoint. Same is applicable if the call arrives on P2 for any endpoint.

Any help regarding this setup is appreciated!!

Thanks in advance.

--- Jayesh

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



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