Once you have installed the software on the servers, you have a blank system that can be configured in various ways to meet your business requirements. The Configuration server allows you to specify a role or even a set of roles to be assigned to each server. This chapter will demonstrate how to set up the initial configuration of the system.
Checklist
Perform the system setup by following the instructions in this checklist, using them to check off the operations you complete. Please be sure to perform all of the operations (all of the boxes should be checked); otherwise the system will not work as desired.
Operation | Done |
---|---|
Add servers | |
Create configuration | |
* Add main instances | |
Add three Cassandra instances | |
Add MasterDB instance | |
Apply the configuration | |
Add StandByDB instance (optional) | |
Apply the configuration | |
Add ReplicaDB instance | |
Apply the configuration | |
Add BillingEngine instance | |
Add web cluster instance | |
** Add a SIP cluster and define its virtual IP address | |
*** Add two DispatchingNode instances | |
Add two ProcessingNode instances | |
Add VoiceMailDB instance | |
Add Elasticsearch instance | |
Add LogServer instance | |
Add additional instances (optional) | |
Add RTDB instance | |
Add RT instance | |
Add CallRecording instance | |
Create Auxiliaries such as SMSTrigger, STUN Server and/or XDRImport | |
Apply the configuration | |
Create new billing environments as needed |
* Adding the main instances should be performed in the foregoing order.
** Virtual IP address can only be an address that is not assigned to any instance or server as the service IP.
*** DispatchingNode instances must each be added on their own physical servers.
Add servers
Adding servers is the first step of your initial system configuration (depending on your specific type of installation, the number of servers can vary).
- Go to the Servers tab.
- Click the Add button on the toolbar, and fill in the fields in the Server details dialog box:
When adding a server to the installation on this page an IP is specified. This IP is automatically considered internal so it and its NIC become read-only in Network configuration UI.
- Click Save.
Add IP addresses
Once you have added servers, you can add public IP addresses that will be assigned to the particular instances in the later steps of the PortaSwitch configuration.
- On the Servers tab, choose the server for which you wish to add a public IP address, and click Change server configuration.
- Go to the Network tab, click Add, and choose IP address.
- In the IP address dialog box, specify the following information:
- Interface – you can select only public interface here
- IP address
- Netmask
- Click Save.
In case you want to run several service instances on one physical server, you need to first associate the additional IP addresses with the public network interface of the server (this process is called "IP aliasing"). To do this, repeat steps 1–4, and specify the required IP alias in step 3.
Create a configuration
After you have added all the required servers, go to the Configurations tab. Here you can create a configuration to fit your needs.
To create one, press the Create button and then specify its name and description and choose which software version it applies to.
You will see a Configuration Tree, Environments, Groups panels, and the panel where all the information about a given service is shown.
Add instances
Interaction specifics
When adding instances, keep in mind the following idiosyncrasies of their interaction:
- If there are two or more instances that depend on the Apache web server (at the moment these are: Web, SMSTrigger, RT), they must be configured with different IP addresses (‘service IP’) or ports. Otherwise, the Configuration server will display warnings during the configuration check and the configuration will not be applied.
- In order to keep the system working efficiently, do not, under any circumstances, put the following instances on the same server:
- MasterDB and ReplicaDB
- BillingEngine and LogServer
Instances necessary for a secondary site
Note that for a secondary site to provide all the necessary services in standalone mode, the following minimum set of instances must be configured on it:
- BillingEngine – this instance calculates applicable charges according to product, tariff, and other billing parameters.
- PortaSIP Cluster instances: one Dispatching Node and one Processing Node – each of these instances is necessary for voice termination, transmission of instant messages, and Media Server functionality. These instances are not required if you do not provide any of these services (for example, if you exclusively provide Internet access).
- OracleDB or StandByDB (depending on what type of database you use, Oracle or MySQL) – StandByDB is an actual replica of the MasterDB, and as such, provides all the information about existing accounts, products, service configuration, etc. when the MasterDB is unavailable. Note that new xDRs are stored in a special database with deltas. You do not need to add those instances independently. When the primary site becomes available again, information from the database with deltas is synchronized into the MasterDB.For Oracle the procedure is similar, but in this case a database administrator manually defines which OracleDB instance will be for the "master" database, which one for "standby" and which one for the "database with deltas."
- Web Cluster – while the web interface is not available in standalone mode, this instance also runs Apache services that are responsible for the callback feature and several other IVRs, and also XML/JSON API access. Configure this instance if you require such functionality in standalone mode.
- LogServer – this instance is responsible for storing BE logs and together with Elasticsearch, for storing SIP logs.
Note that Media Server functionality and XML/JSON API access are limited in standalone mode. For more information, please refer to the PortaSIP Media Applications Guide, PortaSIP XML/JSON API Reference Guide and PortaBilling XML/JSON API Reference.
Auxiliary functionality, such as Call Recording, xDR Mediation or Request Tracker system access is unavailable in standalone mode.
How to add all necessary instances
Perform the following steps (using the checklist above to maintain order):
-
- From the Configuration Tree, choose DB > Cassandra.
Three Cassandra instances must be added in all. These instances can be created on servers that do not have databases (e.g., Configurator, Admin, PortaSIP, etc.). We suggest that you place these instances on servers that have large amounts of RAM and choose internal IP addresses for each of the three Cassandra instances.
- Click the Instance create button. In the Instance details dialog box, choose which server this instance will run on and its service IP, then click Save.
- Repeat steps 1–2 to add two more Cassandra instances on two other servers.
- From the Configuration Tree, choose DB > MySQL > MasterDB.
- Click the Instance create button. In the Instance details dialog box, choose which server this instance will run on and its service IP, then click Save.
- Specify all required options.
- Click Save, and then click the Verify button.
- Verify the new configuration and click the Check/Apply button to see whether the configuration is valid (e.g., all the required options have values assigned to them).
- Next, click the Apply button. As soon as the configuration is applied, you will see this action displayed at the bottom of the Task page.
- Clone the applied configuration. To do this, click the Clone button on the Toolbar.
- From the Configuration Tree, choose DB > MySQL > ReplicaDB, and click the Instance create button. Fill in the fields in the Instance details dialog box and click Save.
- Repeat steps 7–8 to finish the process of adding the ReplicaDB instance.
- From the Configuration Tree, choose BillingEngine. Add the BillingEngine instance as described in steps 5 and 6.
- From the Configuration Tree, choose ClusterSuite > Web Cluster and then click the Create cluster button. In the Cluster details dialog box, select which site the web cluster will be configured for. Click Save.
- Click the Instance create button. Select the server this instance will run on and its service IP. Click Save to save the instance.
- From the Configuration Tree choose ClusterSuite > PortaSIP Cluster and then click the Create cluster button. In the Cluster details dialog box, select the site and the environment the PortaSIP cluster will be configured for. Click Save.
- Choose the newly created sip cluster and specify its virtual IP address in the vipaddr field of the DispatchingNode group.
- Specify the cluster domain name in the sip_domains field of the DispatchingNode group. The domain name must resolve on the virtual IP address. To add another domain name, click the icon.
- Specify the domain names for callback and voicemail services in the callback_domain and email_domain fields of the Media Server group. We recommend that callback and email domain names resolve on the virtual IP address.
- Click the Instance create button. Select the DispatchingNode instance type, then select which server this instance will run on and its service IP. Click Save to save the instance.
- Add another DispatchingNode instance by repeating step 17.
- Choose the desired sip cluster and click the Instance create button. Select the ProcessingNode instance type, then select which server this instance will run on and its service IP. Click Save to save the instance.
- Repeat steps 19 to add the desired number of ProcessingNode instances.
It is possible to add both a DispatchingNode and a ProcessingNode instance on the same physical server.
- From the Configuration Tree, choose DB > Cassandra.
- From the Configuration Tree choose DB > Elasticsearch and then click the Instance create button. In the Instance details dialog box, choose which server this instance will run on and its service IP, then click Save. Configure the heap_size for the Elasticsearch instance depending on the available RAM. The recommended heap size value is in the range of 25% to 50% of RAM.
- Add the LogServer and VoiceMailDB instances just as you did for the previous ones.
- Add other instances by repeating steps 5–6.
While adding additional instances to the configuration make sure that you have specified additional IP addresses on the server’s Network tab.
- Make sure you apply the configuration after all the required instances are added and their options set.