On Wed, Feb 03, 2016 at 01:48:50PM +0330, Gholamreza Sabery wrote:
Actually I think something is not clear here. Suppose I want to use two Kamailio servers such that a client which is registered on server A is able to call another client registered on server B. In this case I use DB_MODE 3. Both servers have access to location database but sockets are non-local and cleints are behind symmetric NATs.Now only the server on which the client is registered and sent it's request to is able to respond(because of symmetric NAT). Is it possible to implement this scenario using Path header?
This is still ambigious, server B can't call the client due to nat, but server B can call server A. The trick might be to add a Path header on server A before save the register on server A. Or to use custom queries to find out that the registered socket isn't local so send the invite to the non local adress instead.
I asked similar questions: http://lists.sip-router.org/pipermail/sr-users/2015-April/087867.html
My final solution is using a really loadbalancer with static config, which adds Path and dispatches to individual backends. Difference is that server B doesn't INVITE to server A but to the loadbalancer for a client registered on server A.