On Wednesday 02 May 2007 08:33, Klaus Darilion wrote:
Hi Alex!
Without having done this: You can configure the SIP proxies as load balancers too which distribute the load over all the proxy/registrars (including itself).
I thought of that, but then every REGISTER needs to be forwarded to another proxy to get the path info right. This result in a great amount of traffic between the proxies and extra processing power. I want the REGISTER request to be handled on the first host it arrives on. Then only some INVITE's need to create inter-proxy traffic.
Another solution requires a new feature, which should be easily implemented: Openser already stores the socket on which the request was received. Then, during lookup, this socket will be forced with an implicit force_send_socket().
I already found the received socket in the location table, but couldn't find any function which actually used it. The path field is used, but that can't be filled without an extra hop adding the path info (or is there?). So maybe I can use a database trigger to put the received socket info into the path field (but then the path should be ignored when it is the localhost).
If either
- the forced send socket is accessIble via a pseudo variable
- during lookup() the socket info is exported as AVP
the request can be forwarded to the proxy which has the NAT binding.
So this is impossible with the current OpenSER? So everyone with multiple registrars/proxies and NAT must use loadbalancers in front of them?