Assumptions

This setup procedure assumes that you will have several servers or virtual machines available and that they can all communicate with each other over a private LAN. Only the FreeSWITCH servers and Primary DjangoPBX server will need public IP addresses.

It is assumed that you will have access to configure a DNS server and edit the zone files. We will refer to the public IP addresses as 195.xx.xx.0/27 and the private (RFC1918) addresses as 172.20.20.0/23. Where a server has a public IP address it will also have a private LAN address with the last octet being the same. For example: 195.xx.xx.144 will also have 172.20.20.144.

Below shows example zone file entries:

;
; Test DjangoPBX Cluster
;
fsw1                   IN A            195.xx.xx.144
fsw2                   IN A            195.xx.xx.145
dpbx1                  IN A            195.xx.xx.146
dpbx1-r1               IN A            172.20.20.106
amqp1                  IN A            172.20.20.102
sftp1                  IN A            172.20.20.103
pgsql1                 IN A            172.20.20.104
pgsql1-r1              IN A            172.20.20.105
cust1                  IN A            195.xx.xx.144
portal-cust1           IN A            195.xx.xx.146

The installation described here assumes that you will have the following servers or virtual machines available:

1 x DjangoPBX
1 x DjangoPBX replica
1 x PGSQL server
1 x PGSQL replica
1 x AMQP Broker
1 x Filestore
2 x Freeswitch

Typical virtual machine configurations to provides a reasonable evaluation of performance are shown below. This is a very approximate guide and not intended to be used in production. The size and power of the various machines will naturally be an individual choice.

DjangoPBX (dpbx1)
       : 16Gb memory, 12 vCPUs
       : 10Gb Storage.
       : 2 x NIC (1 public IP, one private management LAN)

DjangoPBX replica (dpbx-r1)
       : 16Gb memory, 12 vCPUs
       : 10Gb Storage.
       : 1 x NIC (private management LAN)

AMQP Broker (amqp1)
       : 12Gb memory, 6  vCPUs
       : 1 x NIC (private management LAN)
       : 24Gb Storage.

PostgreSQL (pgsql1)
       : 12Gb memory, 8  vCPUs
       : 1 x NIC (private management LAN)
       : 40Gb Storage.

PostgreSQL replica (pgsql-r1)
       : 12Gb memory, 8  vCPUs
       : 1 x NIC (private management LAN)
       : 40Gb Storage.

Filestore (sftp1)
       : 8Gb  memory, 6  vCPUs
       : 1 x NIC (private management LAN)
       : 10Gb System Storage, 40Gb File storage mounted on /home/sftp

Freeswitch (fsw1 and fsw2)
       : 12Gb memory, 12 vCPUs
       : 2 x NIC (1 public IP, one private management LAN)
       : 10Gb System Storage