(4.0 - 4.1) Installation guide
Installing the Interactive Voice Gateway (IVG) consists of three activities:
- Creating the install_ivg.cfg configuration file using the IVG setup wizard
- Installing the IVG dependencies
- Installing IVG on a Linux VM using the install_ivg.cfg configuration file
Before you begin
- Verify IVG prerequisites
- Download the ivginstaller file from the VHT®download center, and locate the IVG Setup Wizard application.
Building the configuration file
The IVG setup wizard is used to build the configuration file required for IVG installation. Each screen of the setup wizard collects installation details for IVG and its components, and compiles the user input into a single configuration file. This configuration file is then used to install IVG on each VM in the deployment.
The IVG setup wizard is run using Windows, and the configuration file is then copied to each Linux VM to be installed with IVG.
Welcome screen
The Welcome screen signifies the beginning of the IVG configuration for use with VHT Callback® software.
Click Next to continue and proceed to the configuration file screen.
Configuration file
The Configuration file screen allows the user to:
- Create a new configuration file for IVG installation
OR
- Load and edit an existing configuration file for IVG installation. Use this option to iterate the IVG installation prior to running the IVG installer.
Creating a new configuration file
Creating a new configuration file allows the user to create a new configuration file for installing IVG. This option walks you through the process of building a new configuration file to use with IVG installation.
To create a new configuration file:
- Select the Create a new configuration file for IVG installation radio button.
- Click Next to proceed to server pool definition.
Loading an existing configuration file
Loading an existing configuration file allows the user to load and edit an existing IVG configuration file for installation. As you step through the installation process, the values of the existing configuration file are populated on each screen. These values can be modified or preserved.
To load an existing configuration file:
- Select the load existing configuration file to edit radio button.
- Enter the path where the IVG configuration file is located.
OR
- Browse for the configuration file if the location is not automatically populated.
- Click Next to proceed to server pool definition.
Server pool definition
The server pool definition screen allows the user to identify the operating system, telephony environment, and VM information.
- Select an operating system from the OS dropdown menu. Available options are:
- CentOS Version 6.10 or higher*
- CentOS Version 7.7 or higher*
- CentOS Version 7.8 or higher*
- RHEL Version 6.10 or higher*
- RHEL Version 7.7 or higher*
- RHEL Version 7.8 or higher*
*NOTES
- Minor versions in the 7.x branch, higher than 7.7 or 7.8, are supported for installation.If you attempt to install on a higher minor version, dependency conflicts may occur. In this case, the installer will first attempt to install necessary dependency versions from the Yum repository and will present an error message if that fails.
- An OS upgrade to CentOS/RHEL 7.9 can only be performed if IVG is already installed on CentOS/RHEL 7.8. Upgrading from version 7.7 or lower to version 7.9 is not supported.
- If you experience any issues after an automatic OS update within the 7.x branches, please contact the VHT Support team for assistance.
- Select an environment in the Environment dropdown menu. Available options are:
- Avaya
- Cisco UCCE
- Genesys
- Enter the VM's fully qualified domain name (FQDN) in the FQDN field.
- Enter the server IP address in the IP Address field.
- Click Add to add the VM to the server list. Each VM is added in the format FQDN-IP Address-Short name.
- If creating a configuration for a multi IVG deployment, repeat Steps 3-5 for each VM in the solution.
TIP
To remove a VM from the list:
- Click the VM name to highlight the name in the list.
- Click the Remove button.
- Click Next to proceed to application distribution.
Application distribution
The application distribution screen determines what components to install on each VM of the IVG deployment.
In a multiple IVG deployment, each VM identified on the Server pool definition screen is listed in the Server dropdown list. The Components to install dropdown contains each possible component combination available, based on the supported deployment models. After selecting a VM and distributing the components, the Components to install dropdown dynamically updates to include the remaining components available to install.
TIP
When installing on a single IVG server, the setup wizard automatically distributes all components to the VM identified during Server pool definition in a single IVG deployment. The IVG installer skips Application distribution screen, and proceeds with PostgreSQL application configuration.
To distribute the components for a multiple IVG deployment:
- Select a VM from the Server dropdown list.
- Select the components to install on the VM from the Components to install dropdown.
- Click Add to the list to add the server and its components to the list.
- Repeat Steps 1-3 for each remaining server.
- Click Next to proceed to PostgreSQL application distribution.
PostgreSQL application configuration
The PostgreSQL application configuration screen captures the details to install the PostgreSQL database, and also the voice platform database configuration.
Populate each field on the screen using the following table for descriptions and default values:
Section | Field | Description | Default value |
---|---|---|---|
PostgreSQL database | Install path | Path where PostgreSQL is installed. A folder named 9 is installed in this path, and contains PostgreSQL 9.5. | /export/home/postgres-vht |
Port number | Port number used for the PostgreSQL server. VHT best practices recommend using the default port number of 5432. | 5432 | |
Linux user |
The OS user to be used for the PostgreSQL database. The Linux user field has the following constraints;
The Linux user cannot be root. | postgres-ivg | |
Linux password |
The password for the Linux user. All passwords are encrypted in the configuration file. | NA | |
Linux group |
The name of the Linux group to be created. the Linux user is added to this group. The Linux group field has the following constraints:
| postgres-ivg | |
PostgreSQL super user password |
The password for the PostgreSQL super user. The PostgreSQL super user is created with the user name postgres when the database is installed. This user has database super user permissions, and can be used for administrative purposes. All passwords are encrypted in the configuration file. | NA | |
Voice platform database | DB user |
The user to be used for the voice platform database. The DB user field has the following constraints:
The database user cannot be root. | holly-ivg |
DB password |
The password for the database user. All passwords are encrypted in the configuration file. | NA | |
DB name |
The voice platform database name used by the voice platform application. The DB name field has the following constraints:
| holly_ivg | |
Tablespace | The tablespace created in the voice platform database | holly_ivg |
Click Next to proceed to voice platform configuration.
Voice platform configuration
The voice platform configuration screen captures the installation details for the voice platform application. Additionally, a Sentinel email address to receive voice platform notifications, and SMTP server credentials can be configured on this screen.
Populate each field in the section using the following table for descriptions and default values:
Field | Description | Default value |
---|---|---|
Install path |
Path where the voice platform is installed. The following files are also installed to this location:
| /export/home/holly |
Linux group | Operating system group name created during IVG installation. The Linux user is added to this group. | holly-ivg |
Linux user |
Operating system user name to log into the voice platform management system. The Linux user cannot be root. | holly-ivg |
Password |
Password used to log into the voice platform management system. All passwords are encrypted in the configuration file. | NA |
Sentinel email address
The Sentinel email address is used to send voice platform notifications to the worker services. The configured email address receives emails only if a worker service is down.
To configure the Sentinel email, enter a valid email address. The user associated with the email address should be the VHT Linux administrator.
SMTP server credentials
The Simple Mail transfer Protocol (SMTP) credentials can also be configured. The SMTP server credentials are enabled when the Configure SMTP server credentials box is checked.
Populate each field in the section using the following table for descriptions:
Field | Description |
---|---|
SMTP user | SMTP user that connects to the SMTP server. |
SMTP password |
Password of the SMTP user. All passwords are encrypted in the configuration file. |
SMTP server | The SMTP server used for sending email from the IVG server. Enter the SMTP server's FQDN OR IP address. |
Click Next to proceed to voice platform parameters.
Voice platform parameters Avaya
The voice platform parameters screen captures the environment-specific parameters for the IVG installation.
Avaya
Enter the Server Pool Name and click Next.
Cisco
The voice platform parameters screen captures the environment-specific parameters for the IVG installation.
Populate each field in the section using the following table for descriptions and default values:
Field | Description | Default value |
---|---|---|
Trunk group ID |
Peripheral number for the Network Trunk Group in Cisco UCCE. Used in combination with Number of Trunks to create the trunkgroups value in the configuration file. | 102 |
Number of Trunks |
Maximum number of trunks Used in combination with the Trunk group ID to create the trunkgroups value in the configuration file. | 30 |
ICM CTI Listen Port | ICM CTI listen port to be opened. | 5000 |
Genesys
The voice platform parameters screen captures the environment-specific parameters for the IVG installation.
Enter the Server Pool Name and click Next.
Click Next to proceed to voice platform application provisioning.
Voice platform application provisioning
The voice platform application provisioning screen captures the applications for your deployment, as well as the application's provisioning details.
The Inbound and Outbound applications are enabled by default and cannot be disabled. Provision additional applications for your solution by enabling the checkbox next to the application.
Populate each field using the following table for descriptions and default values:
NOTE
If provisioning for Agent Priority, Outreach, or Second Chance Callback, verify your system is licensed for the necessary feature and voice licenses. Contact your VHT Sales representative to verify licensing terms.
Field | Description | Default value |
---|---|---|
Tenant | Callback site name. | VHT |
Inbound DNIS |
The DNIS range available for the inbound application. Enter multiple DNIS ranges in a comma separated list. | inbound |
Prompt Recorder DNIS |
The DNIS range available for the Prompt Recorder application. Enter multiple DNIS ranges in a comma separated list. | prec |
Second Chance DNIS |
The DNIS range available for the Second Chance callback application. Enter multiple DNIS ranges in a comma separated list. | secondchance |
Inbound Failure Destination | Location where calls are transferred to when VIS fails to execute, and inbound call treatment is not delivered. | NA |
The DNIS values for the following outbound applications should be configured in the OCC section of the Peripheral site.config file:
- Outbound
- Outreach
- Agent Priority
Click Next to proceed to voice platform TLS/SSL configuration.
CTI event consumer application configuration
The CTI event consumer application configuration screen allows you to identify the servers for RabbitMQ exchange connectivity.
Enable the CTI event consumer application configuration checkbox allows to enter the Core server details.
Populate each field using the following table for descriptions and default values:
Field | Description | Default value |
---|---|---|
Server Name Type |
Select the server name type from the list:
| FQDN |
Core Server 1 | Enter the first Core server name. Enter in the format designated in Server Name Type. | NA |
Core Server 2 | Enter the second Core server name. Enter in the format designated in Server Name Type. | NA |
Install Path | Installation location of the consumer application consumer.cfg file. | /export/home/VirtualHold/CTIEventConsumer |
The information from the CTI event consumer application screen is entered in the cti_event_consumer section of the install_ivg.cfg file. The RabbitMQ credentials are also added, and can be modified prior to installing IVG.
Field | Description | Default value |
---|---|---|
rabbitmq_username | RabbitMQ username. | user |
rabbitmq_password |
RabbitMQ password. All passwords are encrypted in the configuration file. | password |
rabbitmq_connection_retry_period | Interval period in milliseconds the CTI Connector attempts to reconnect to RabbitMQ if a connection is lost. | 2000 |
Voice platform SSL/TLS configuration
The voice platform SSL/TLS configuration screen allows you to enable SSL/TLS for inbound and outbound calls.
The Enable SSL/TLS checkbox allows you to enter the parameters required to enable SSL/TLS on your voice platform.
Populate each field using the following table for descriptions and default values:
The port numbers provided must be unique port number that are not assigned anywhere else in the voice platform.
See the ports used by the IVG voice platform in the IVG port list.
Field | Description | Default value |
---|---|---|
SIP Listen Port | Primary SIP port used for incoming SIP requests over UDP or TCP. | 5060 |
SIP Listen Port2 | Secondary SIP port used for incoming SIP requests of UDP or TCP. | 5070 |
TLS Listen Port | Primary TLS port used for incoming SIPS requests over TLS. | 5061 |
TLS Listen Port2 | Secondary TLS port used for incoming SIPS requests over TLS. | 5071 |
SRTP Support |
When enabled:
| Enabled |
SSL Verify | When enabled, the SSL peer is verified. | Enabled |
SSL Cipher |
List of SSL ciphers for openssl. Determine the supported ciphers for the voice platform by running the following Linux command:
More information about the ciphers listed through the command can be found at https://www.openssl.org/docs/apps/ciphers.html | HIGH:MD5:AES256-SHA256 |
SSL Options |
List of SSL options to exclude. Options include:
| no_sslv2,no_sslv3,no_tlsv1,no_tlsv1_1 |
Click Next to proceed to Tomcat application configuration.
VIS configuration
The VIS configuration screen captures the details required for VIS setup.
Populate each field in the section using the following table for descriptions and default values:
Field | Description | Default value |
---|---|---|
Install path | Path where Tomcat is installed. | /export/home/tomcat |
Heap size (in MBs) | VHT best practices recommend not decreasing this value. | 2048 |
Linux user | Operating system user used to install Tomcat. The user is created during IVG installation as a no login user | tomcat-ivg |
Linux group | Operating system group name created during IVG installation. The Linux user is added to this group. | tomcat-ivg |
toolkit.properties Path | Path of the toolkit.properties file. | /etc/VirtualHold |
Platform Toolkit Server | IP address of the Platform Toolkit server. | NA |
Click Next to proceed to NFS configuration for name file sharing.
NFS configuration for name file sharing
The NFS configuration is an optional configuration screen to configure a Network File System (NFS). An NFS configures a Linux machine as a network drive to share name files at a common location across other Linux machines in a Network File System (NFS).
When the NFS setup checkbox is enabled, the NFS setup fields become active.
Populate each field in the section using the following table for descriptions:
Field | Description |
---|---|
Local NFS server |
Radio button to use a local NFS server. When selected, a dropdown list of all servers added during server pool definition displays. Selecting a server from this list identifies the server as the server sharing its name files. To select a local NFS server:
|
Remote NFS server |
Radio button to use a remote NFS server. When selected, identify a remote server to use as the server sharing its name files. To enter a remote NFS server:
|
NFS directory | The directory path on the NFS server which is shared across the Linux machines. |
The NFS client list is populated based on whether the Local NFS server or Remote NFS server radio button is selected.
- Local NFS server - remaining IVG servers added during server pool definition display.
- Remote NFS server - all IVG servers added during server pool definition display.
Click Next to proceed to the IVG configuration summary.
IVG configuration summary
The IVG configuration summary screen displays a detailed summary of the IVG components to be installed. The location at which to export the configuration file is also designated on this screen.
To review and export the configuration file:
- Review the installation summary and verify the components have been correctly configured.
- Default - lists the OS, environment, and application distribution
- Postgres - lists the PostgreSQL application configuration details.
- VoicePlatform - lists the voice platform configuration details
- VoicePlatform-Params - lists the voice platform parameters configuration details
- Tomcat - lists the Tomcat application configuration details
- NFS - lists the NFS configuration details (if configured).
- Designate the location where the configuration will be exported.
- Click Browse.
- Navigate to the location where the configuration file should be exported.
- Click Export to export the configuration file.
- When the configuration file has been successfully exported, click Next to proceed to the finish screen.
Finish screen
The finish screen marks the successful completion of the IVG setup wizard. Click Finish to close the wizard and proceed to Installing IVG.
Using Lightweight Directory Access Protocol (LDAP)
If you wish to use LDAP user accounts and groups to run the IVG installer, additional configuration must be done prior to installing.
install_ivg.cfg
- Edit the install_ivg.cfg file created by the IVG setup wizard.
- Under the [Default] section, change the "ldap" property from the default value of "no" to "yes":
ldap=yes
- Save the file.
SELinux policies
- Determine whether SELinux policies are enabled and set to enforcing mode for the LDAP client.
- If SELinux policies are set to enforcing mode, perform one of the following steps:
- Set SELinux policies to allow the creation of user home directories other than /home/<user>, or...
- Change the SELinux policy to permissive mode
Installing IVG dependencies
The IVG dependency install file installs all the OS requirements and dependencies required for IVG. The dependency installer performs the following steps:
- Runs prerequisite check to verify VM prerequisites are satisfied
- Installs OS requirements (/tmp mounting, umask settings, firewall configuration and host file configuration)
- Installs OS dependencies.
- Creates the ivg-installer-info.cfg which is the input file for IVG installer.
Use the following instructions to install the IVG dependencies:
- Copy the ivg-dependencies-installer file to the first VM in your IVG deployment.
- Enter the following command to change the permissions:
chmod a+x
ivg-dependencies-installer-
xxxx
- Enter the following command to execute the installer:
./
ivg-dependencies-installer-
xxxx
install
- Repeat Steps 1-3 on each VM in the IVG deployment.
The dependencies installation creates the ivg-installer-info.cfg file, which is used during IVG installation.
Executing the IVG installer
Install Interactive Voice Gateway (IVG) on designated Linux VMs using the configuration file created by the IVG setup wizard. Use the single IVG configuration file to install IVG on each VM in the IVG deployment.
- Copy the ivginstaller file to the VM where the first instance of IVG will be installed.
- Copy the install_ivg.cfg file created by the IVG setup wizard to the VM where the first instance of IVG will be installed.
NOTE
The IVG installer is backward compatible with install_ivg.cfg files created for IVG version 3.5 and higher.
The target directory name where the files are copied must not contain spaces.
- Navigate to the directory where the ivginstallerwas saved and open the installer.
- Enter the following command to change the permissions:
chmod a+x ivginstaller- xxxx
- Enter the following command to execute the installer:
./ ivginstaller- xxxx install | tee install_ mmddyy .txt
Where mmddyy is the date of the installation. This saves a dated installation log of the IVG installation process.
- Repeat Steps 1-5 on each VM in the IVG deployment.
The installer may take 10-15 minutes to complete, which is marked by a IVG server restart.
NOTE
For details of the steps taken by the IVG installer, see Installer Process.
Verifying IVG installation
After the IVG installer process has finished, verify the installation by completing the following:
- Navigate to http://server_address:2020 and verify the management system interface displays.
- If the homepage does not display, open the install_mmddyy.txt and verify no errors or exceptions are present.
- Repeat Steps 1-2 for each VM in the IVG deployment.