• Please post your message in it's related sections only. Accounts may be blocked or limited if you post in wrong category !

We are growing ! We are Looking for Forum Moderators for this site!

More than 3000 Registered Businesses | Top active VOIP forum | Interested ?..Click to Speak

#1
Fusion PBX or ASTPP cluster can distribute calls between nodes to achieve high availability and scalability . Practically, a correctly configured freeswitch can run thousands of concurrent calls on modern high performance server hardware. At times you may need to setup freeswitch cluster to failover or load balancing the calls in a production environment .

Fusion PBX and ASTPP are front end management interfaces for the freeswitch . If you want to run more calls on Fusion PBX or ASTPP , you must consider configuring a freeswitch cluster with multiple nodes .

Load balancing using DNS SRV records is one of the methods to achieve scalability . Refer to the picture below . We can create SRV records for SIP and point to the Freeswitch (ASTPP or Fustion PBX) nodes .

Blank diagram (1).png



Here are the brief steps to configure Fusion PBX or ASTPP Cluster for load balancing calls .

STEP 1: Install ASTPP or Fusion PBX

This is a straight forward procedure. Follow the Fusion PBX or ASTPP installation guide to install freeswitch with webinterface .Point database configuration to the centralised database.
It is always better to use a separate server for hosting database and not Freeswitch call processing nodes . You can use mysql or postgressql as your database.
Make sure you can connect to database from each freeswitch server node .


STEP 2: Configure Shared Free Switch Core Data base and Adjust Freeswitch configuration

By default Freeswitch saves current registered users information in local sqlite database files. We will move this to a shared postgressql instance.

add or uncomment below lines in freeswitch/autoload_configs/switch.conf.xml file.
<param name="core-db-dsn" value="$${dsn}" />
<param name="auto-create-schemas" value="true"/>
<param name="auto-clear-sql" value="true"/>


Now we will define dsn variables in freeswitch/vars.xml


<X-PRE-PROCESS cmd="set" data="dsn_system=pgsql://hostaddr=xx.xx.xx.xx port=5432 dbname=freeswitch user=freeswitch password=password options=" />
<X-PRE-PROCESS cmd="set" data="dsn=pgsql://hostaddr=xx.xx.xx.xx port=5432 dbname=freeswitch user=freeswitch password=password options=" />
<X-PRE-PROCESS cmd="set" data="domain=sip.example.com"/>



Test the postgressql connections from each server . Freeswitch should automatically insert tables information if the given database information is correct.


STEP 3 : Create SRV DNS records

create services records and keep priority and weight information .

_sip._udp.sip.example.com. IN SRV 1 50 5060 fs1.example.com.
_sip._udp.sip.example.com. IN SRV 1 50 5060 fs2.example.com.

Point fs1.example.com and fs2.example.com rercords to your freeswitch IP addresses. and thats all ! you can test registrations and calls using your sip domain .


Please do not post any comments unrelated to this topic . You can contact the author or admin of this forum for any help .
 

Contact us to advertise on this website!