BelledonneCommunications / flexisip

Linphone.org mirror for flexisip (git://git.linphone.org/flexisip.git)
http://flexisip.org
GNU Affero General Public License v3.0
144 stars 69 forks source link

can not make call in flexisip cluster, when two clients choose different instances via DNS SRV #40

Open Respectre opened 6 years ago

Respectre commented 6 years ago

I have two flexisip instances in cluster behind NAT, each have local and global ip Also i have 2 records in DNS SRV for my sip domain

transport config:

alias=<sip-domain>
transports=sips:<global ip>:5061;require-peer-certificate=0;maddr=<local ip: 10.0.70.*>

redis config:

db-implementation=redis
redis-server-domain=<redis local ip>
redis-server-port=6379
redis-auth-password=pass777

auth config:

auth-domains=<sip-domain>
db-implementation=soci
soci-connection-string=dbname=flexisip user=flexisip password='pass' hostaddr=<local postgresql ip>

registrar:

reg-domains=*

cluster config

enabled=true
cluster-domain=<sip-domain>
nodes=<list of local flexisip instances nodes 10.0.70.*>

when clients call each over and DNS SRV return same address for them everything work fine

Then i try to simulate ip address split with custom DNS server for one of clients, i receive 503 service unavailable on INVITE

Is it possible at all, to make call between clients, when they connects to different instances in cluster? Maybe i am trying to do something that is not intended to work? In fact i am trying to do failover on two ISP, in current configuration each ISP point to different flexisip instance in cluster, maybe there is another way?

appreciate your help!

mastertheknife commented 3 months ago

I have the same issue. How to get cluster mode to work when each node has a public and a private IP? Clients connect to the public IP using DNS SRV, but traffic between the nodes should flow through the internal network (private IPs)