Add instances

Link copied to clipboard

Interaction specifics
Link copied to clipboard

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
Link copied to clipboard

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.
  • Elasticsearch with the with_indices option set to logs – together with LogServer this instance is responsible 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

Link copied to clipboard

Perform the following steps (using the checklist above to maintain order):

  1. 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.
  2. 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.
  3. Repeat steps 1–2 to add two more Cassandra instances on two other servers.
  4. From the Configuration Tree, choose DB > MySQL > MasterDB.
  5. 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.Add DB instance
  6. Specify all required options.
  7. Click Save, and then click the Verify button.
  8. 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).
  9. 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.
  10. Clone the applied configuration. To do this, click the Clone button on the Toolbar.
  11. 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.
  12. Repeat steps 7–8 to finish the process of adding the ReplicaDB instance.
  13. From the Configuration Tree, choose BillingEngine. Add the BillingEngine instance as described in steps 5 and 6.Add a cluster
  14. 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.
  15. Click the Instance create button. Select the server this instance will run on and its service IP. Click Save to save the instance.Add an admin instance
  16. 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.
  17. Choose the newly created sip cluster and specify its virtual IP address in the vipaddr field of the DispatchingNode group.
  18. 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  add icon.
  19. 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.
  20. 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 a dispatching node instance
  21. Add another DispatchingNode instance by repeating step 17.
  22. 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. Add a processing node instance
  23. 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.
  24. 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 an elasticsearch instance
  25. Add the LogServer and VoiceMailDB instances just as you did for the previous ones.
  26. 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.
  27. Make sure you apply the configuration after all the required instances are added and their options set.