5. Installing Interact
This section provides detailed instructions for on-premises installation of Uniphore Interact on one or more nodes.
Interact Installation Workflow
|
|
Preparing the Interact Server Environment
Note: Before beginning installation, verify that your target server(s) meet all platform application prerequisites.
Create the following folders on each Interact server node:
Local Folder Name | Service/Platform |
---|---|
| Interact Root Folder |
| Job Management Folder |
| RDS Folder |
| JMS Messaging Folder |
| Deployment Folder |
| Snapshot API Folder |
| Snapshot Consumer Folder |
| URPC Folder |
| URPC Common Connector Folder |
| U-Assist Folder |
| U-Self Serve Folder |
Configuring Environment Variables
The following environment variables must be configured on each server node for Interact to run properly.
Note: Refer to your operating system documentation for detailed instructions on how to create or change an environment variable.
Environment Variable | Points to Local Folder | Service/Platform |
---|---|---|
| java | N/A |
|
| Interact Server |
| tomcat | Tomcat |
|
| Job Management |
|
| RDS |
|
| RDS Client |
|
| Messaging |
|
| JBot |
|
| Deployment |
|
| Deployment Consumer |
|
| Snapshot API |
|
| Snapshot Consumer |
|
| Uniphore Remote Procedure Call (RPC) |
|
| Uniphore Remote Procedure Call (RPC) Common Connector |
|
| U-Assist |
|
| U-Self Serve |
Optional Services
If you are installing any optional add-on services (e.g., RPA or BI services), you can choose to add any relevant environment variables also at this time. See complete instructions for all add-on components in the section Optional Add-On Installations.
Copying Installation Files
All files and components necessary for installing and running Uniphore Interact are provided in the distribution package as a .zip file.
The package contains the components for both core services, which are required in order for Interact to run, and optional add-on services, which are installed according to the current customer license.
Core Services (Required)
Unzip the installation package to a temporary, separate folder on your server(s). The following subfolders and their contents are extracted:
bi_home
bot_integrations_home
custom_ip_home
deploymentconsumer_home
deployment_home
interact_home
jars
jms_home
job_mgmt_home
jws_home
rds_home
rpa_home
snapshot/snapshot_api_home
snapshot/snapshot_consumer_home
uassist_home
uss_home
u_common_connector_home
upgrade_scripts
urpc_home
webapps
If they exist, delete any Interact-related
.war
files from thewebapps
sub-folder in yourtomcat
root folder. Then, copy the contents of thewebapps
sub-folder from the installation package to that same sub-folder of yourtomcat
root folder.Copy all content from the
interact_home
folder of the installation package to your<INTERACT_HOME>
folder.Copy all content from the
jars
sub-folder to thelib
sub-folder of your<CATALINA_HOME>
folder. Any existing files should be overwritten.Copy each of the
.war
files listed below from the specified sub-folder of the installation package to thewebapps
sub-folder of yourtomcat
root folder:.war File
Sub-Folder in Installation Package
deployment.war
deployment
deployment-consumer.war
deploymentconsumer
jobMgmt.war
jobManagement
messaging.war
jms
rds.war
rds
snapshot_api.war
snapshot_consumer.war
snapshot
deployment.war
deployment
uassist.war
uassist
u_self_serve.war
uss
u_common_connector.war
u_common_connector
uRPC.war
urpc
Add-On Services (Optional)
If desired, copy the content of each add-on package sub-folder to its appropriate sub-folder on the server. See complete instructions for all add-on components in the section Optional Add-On Installations .
Note: Add-on service components can be installed and configured on Interact at any time.
Configuring the Application Server
Set up the Apache Tomcat Application Server with the following steps:
Complete details are provided in each of the following sections.

All required Interact services are configured and customized to the local environment using the properties files listed below.
Note: After updating properties in any of the following configuration files, you need to restart its Interact server instance in order for changes to take effect.
File Name | Description/Notes |
---|---|
<INTERACT_HOME> \conf folder: | |
| A configuration file for the Hazelcast distributed cache. For more information, click here. |
| A configuration file for Hazelcast that controls how the applications connect to the distributed cache layer. For information about enabling a distributed cache in a clustered environment, click here. |
| Contains general settings for the Interact Server. For more information, click here. |
| Contains settings for external UDP-based log handling tools (e.g., Logstash). |
| Contains scheduling settings for various server jobs. For more information, click here. |
| Contains MongoDB connection settings. For a description of the properties, click here. |
| Contains Interact reporting engine settings when the engine is connected to a MongoDB secondary node. For a description of the properties, click here. |
| Contains settings for use with natural language processing (NLP) activities. |
| Contains client-side settings for raw data service (RDS) activities. For a description of the properties, click here. |
| Contains settings for the Interact Server’s reporting engine. For more information, click here. |
| Contains settings for use with Interact's URL shortener service. For more information, click here. |
| Contains settings for the Interact Server’s Twilio integration engine. |
| Contains settings for the voice proxy tool. |
| A configuration file for the Hazelcast distributed cache that contains voice-proxy information. For information about enabling a distributed cache in a clustered environment, click here. |
| Contain all settings for the Interact Job Management service. For more information, click here. |
| Contains settings for raw data service (RDS) activities. For more information, click here. |
| Contains settings for Interact Resource Deployment service activities. For more information, click here. |
| Contains settings for Messaging service activities. For more information, click here. |
| Contains settings for Interact Snapshot service activities. For more information, click here. |
| Contains settings for Uniphore Common Connector activities. For more information, click here. |
| Contains settings for U-Self Serve service activities. For more information, click here. |
| Contains settings for U-Assist service activities. For more information, click here. |
| Contains settings for uRPC service activities. For more information, click here. |
Note: For details on properties files used for configuring optional, add-on Interact services, click here.

Add the
<INTERACT_HOME>
environment variable to each Tomcat instance for loading on startup:For Windows:
In the tomcat root folder, open the file /bin/setenv.bat and add:
Set INTERACT_HOME=[path name here]
For Linux:
In the tomcat root folder, open the file /bin/setenv.sh and add:
export INTERACT_HOME=[path name here]
Change the maximum heap size to an appropriate value, based on your needs. We recommend:
Maximum heap size (Xmx setting) to 2 GB
XX:MaxPermSize according to your needs (e.g., 512 MB)
Ensure that all required services have been copied to each Tomcat instance, as detailed here.
Allocate memory to the perm gen memory by passing the required options to the Java process. We recommend that the minimum memory allocation be 512 MB.
When using OpenJDK 11, pass the following option settings to the Java process:
set JAVA_OPTS="--add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED"

The settings that specify the connections between Interact and the MongoDB database are maintained in the following files:
mongo.properties - contains the database connection settings used by Interact applications
mongo-report.properties - contains the database connection settings used by the Interact Reports component
In a clustered environment, verify that the properties set on each cluster node are identical.
Note: After updating any of the following properties, you need to restart the Interact Server in order for changes to take effect.
Property Name | Description/Notes |
---|---|
| The host running MongoDB. In a replica set, this property should point to each of the nodes in the set. To set multiple replica-set nodes, separate the addresses with commas. For example:
|
| The name of the Uniphore Interact database. This property should always be set to:
|
| The MongoDB username and password. These properties are optional. |
| Sets the authentication method used by the database. The following values are supported by the current MongoDB version:
|
| Relevant for replica sets only. When set to true, the application will perform read operations from the secondary node (when possible). The recommended settings for each properties file are:
|

Interact Server endpoints and other general server settings are defined in the jis-app.properties
file found in the <INTERACT_HOME>
\conf folder.
Initially, all the settings in the file are commented using the # symbol. Using a text editor, open the file, uncomment all required properties, and ensure that the server IP and port values point to the required settings.
Properties that may need to be uncommented and configured are detailed in the following table.
Note: Anytime a change is made to an endpoint or setting in this file, you will need to restart the server(s) in order for the change to take affect.
Property | Description/Notes | Example |
---|---|---|
| The protocol used for accessing the server. |
|
| The host name or IP used to access the server. This property should be set to the machine name or IP running the server. |
|
| The port used to access the server. This property should be set to the listening port of the server running Uniphore Interact. |
|
| The full URL used by the administration module to connect to the Interact Server. When left empty, the admin module uses the host and port defined in the server.endpoint.host and server.endpoint.port. properties. In a clustered configuration, it is recommended to point the admin module to use localhost to access the local Interact Server, rather than going through the load balancer. |
|
| The full URL used by the administration module to connect to the Interact reporting application. When left empty, the admin module uses the host and port defined in the server.endpoint.host and server.endpoint.port. properties. In a clustered configuration, it is recommended to point the admin module to use localhost to access the local Interact Server, rather than going through the load balancer. |
|
| The username used for accessing the server. This property is necessary for proper performance of the Usage Dashboard and other internal jobs. |
|
| The full URL path to the Uniphore Interact reporting application. |
|
| The full URL path to the Uniphore Interact Admin Console. This property is used to access the Admin Console from the Web Designer. |
|
| The full URL path used by the Admin Console to communicate with the Interact Server (necessary when operations such as sharing links and previewing Flows are required). |
|
| The full URL path used by the Web Designer to communicate with the Interact Server (necessary when operations such as internal authentication and Flow simulation are required). |
|
| Indicates whether version 7.2 licenses are supported. The default setting is true. | |
| The period of time for which account updates are cached by a server. The default setting is zero minutes. | |
| The period of time for which user updates are cached by a server. The default setting is zero minutes. | |
| The period of time for which updates to account settings are cached by a server. The default setting is zero minutes. | |
| The period of time for which application key updates are cached by a server. The default setting is zero minutes. | |
| Indicates whether a thread pool is used when updating the users database with last login times. The default setting is true. | |
| Indicates whether CTI capabilities should be available for the account. The default setting is false. |

Raw data service (RDS) settings are maintained in the following files:
rds.properties
Property Name | Description/Notes |
---|---|
| Set to the endpoint of your Interact server. For example:
|
| Add or uncomment this setting:
|
| Add or uncomment this setting:
|
| Add or uncomment this setting:
|
rds_client.properties
Property Name | Description/Notes |
---|---|
| Set to your RDS server address. For example:
|

Job Management settings are maintained in the following files:
job.mgmt.client.properties
Property Name | Description/Notes |
---|---|
| Set this to the Job Management server path. For example:
|
job.mgmt.mongo.properties
Property Name | Description/Notes |
---|---|
| The IP address(es) or hostname(s) and port(s) of the host(s) running MongoDB. For example:
|
| The name of the Job Management database for Mongo. This property should be set to:
|
| The MongoDB username. |
| The MongoDB password. |
| Sets the authentication method used by the database. The following values are supported by MongoDB:
|
| Set this to the Job Management port assigned for MongoDB. For example:
|
job.mgmt.properties
Property Name | Description/Notes |
---|---|
| If the application runs independently of springboot, or if the application is deployed on Tomcat, set this value to false. |
| Set this to the location of the Quartz Job Management file. For example:
|

Messaging Service (JMS) settings are maintained in the following file:
messaging.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Interact server. For example:
|
| Add or uncomment this setting:
|
| Add or uncomment this setting:
|

Job scheduling settings are maintained in the mgmt-app.properties
file. The schedule for each job is configured as a Cron expression.
To change the default schedule for a job, uncomment the relevant line and then change the Cron expression as required. Examples and other resources are provided in the mgmt-app.properties
file.
Available job properties are:
Job Name | Description/Notes |
---|---|
| Identifies new users who have not created a password within seven days of their account creation, and sends them a reminder email. |
| Identifies new users who have not created a password within 14 days of their account creation, and deletes these users from the system. |
| Identifies new users who have not created a password within 11 days of their account creation, and sends a notification to the Primary Contact email of the relevant account. |
| Identifies unfinished Flows in the database, and marks them as abandoned. |
| Aggregates the data in the Navigation database collection. This collection is used when displaying the Interact Usage Dashboard and when generating custom reports. For more information about the Navigation collection, see the section Navigation in the Uniphore Interact Reporting document. |
| Aggregates the data in the FunnelReportsInstances database collection. This collection is used when generating Funnel reports. |

Deployment server and performance settings are maintained in the
U-Assist Service settings are maintained in the following files:
jis-app.properties
deployment.properties
deployment-consumer.properties
jis-app.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of the Deployment server. For example:
|
deployment.properties
Properties that may need to be uncommented and configured are detailed in the following table.
Property Name | Description/Notes |
---|---|
| Set to the endpoint of your Interact server. For example:
|
| Set to the endpoint used by the Snapshot service. For example:
|
| Configures the default period of time (in seconds) to be allowed for importing or exporting a file containing deployment resources. For example:
sets the time period for 1 hour (i.e., 60 seconds * 60 minutes). |
| Configures the maximum period of time (in seconds) to be allowed for importing or exporting a file containing deployment resources. For example:
sets the time period for 2 weeks (i.e., 60 seconds * 60 minutes * 24 hours * 14 days). |
| Configures a local server processing time limit for completing execution of a REST request. For example:
|
| Configures the initial period of time (in milliseconds) to wait before performing a cleanup of cached deployment resources. For example:
|
| Configures the regular period of time (in milliseconds) to wait before performing a cleanup of cached deployment resources. For example:
|
| Configures the period of time (in minutes) to store a file containing deployment resources. For example:
|
| Configures the period of time (in minutes) to prevent any other activity on an environment which is currently receiving an import file. For example:
|
| Configures the period of time (in minutes) that a saved snapshot will be stored in cache. For example:
|
| Configures the period of time (in minutes) that an export or import request will be stored in cache. For example:
|
| Configures the period of time (in seconds) to wait for the deployment consumer to pull a request from the queue. For example:
|
deployment.consumer.properties
Properties that may need to be uncommented and configured are detailed in the following table.
Property Name | Description/Notes |
---|---|
| The GridFs tables prefix used by MongoConnectionManager. This must be set to:
|
| Set to the endpoint of your Interact server. For example:
|
| Set to the endpoint used by the Snapshot service. For example:
|
| Configures the default period of time (in seconds) to be allowed for importing or exporting a file containing deployment resources. For example:
sets the time period for 1 hour (i.e., 60 seconds * 60 minutes). |
| Configures the maximum period of time (in seconds) to be allowed for importing or exporting a file containing deployment resources. For example:
sets the time period for 2 weeks (i.e., 60 seconds * 60 minutes * 24 hours * 14 days). |
| Configures a local server processing time limit for completing execution of a REST request. For example:
|
| Configures the initial period of time (in milliseconds) to wait before performing a cleanup of cached deployment resources. For example:
|
| Configures the regular period of time (in milliseconds) to wait before performing a cleanup of cached deployment resources. For example:
|
| Configures the period of time (in minutes) to store a file containing deployment resources. For example:
|
| Configures the period of time (in minutes) to prevent any other activity on an environment which is currently receiving an import file. For example:
|

Snapshot Service settings are maintained in the following files:
jis-app.properties
deployment.properties
snapshotApi.properties
jis-app.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Snapshot API server. For example:
|
deployment.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Snapshot API server. For example:
|
| Controls the period of time (in minutes) to wait before removing cached deployment data when creating a snapshot. For example:
|
snapshotApi.properties
Property Name | Description/Notes |
---|---|
| Add or uncomment this setting:
|
| Set this to the endpoint of your Interact server. For example:
|
| Configures the period of time (in seconds) to wait for the snapshot consumer to pull a request from the queue. For example:
|
| Configures the period of time (in minutes) to prevent any other activity on an environment which is currently receiving a snapshot file. For example:
|

U-Assist Service settings are maintained in the following files:
jis-app.properties
uassist.properties
jis-app.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your U-Assist server. For example:
|
uassist.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Interact server. For example:
|
| Add or uncomment this setting:
|

U-Self Serve Service settings are maintained in the following files:
jis-app.properties
u_self_serve.properties
jis-app.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your U-Self Serve server. For example:
|
u_self_serve.properties
Property Name | Description/Notes |
---|---|
| Add or uncomment this setting:
|
| Set this to the endpoint of your Interact server. For example:
|
| Configures the sampling time (in milliseconds) to determine if there is a request waiting. For example:
|
| Configures the settings required for Auth0 customer identity access. For example:
|

U-Self Serve Service settings are maintained in the following files:
jis-app.properties
u_self_serve.properties
jis-app.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your U-Self Serve server. For example:
|
u_self_serve.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Interact server. For example:
|
| Add or uncomment this setting:
|
| Configures the sampling time (in milliseconds) to determine if there is a request waiting. For example:
|

uRPC Service settings are maintained in the following file:
urpc.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Interact server. For example:
|
| Add or uncomment this setting:
|
| Add or uncomment this setting:
|

U-Common Connector Service settings are maintained in the following files:
jis-app.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your U-Common Connector server. For example:
|
u_common_connector.properties
Property Name | Description/Notes |
---|---|
| Set this to the endpoint of your Interact server. For example:
|
| Add or uncomment this setting:
|
| Add or uncomment this setting:
|
| Add or uncomment this setting:
|

Interact uses Hazelcast to provide a distributed cache mechanism for sharing information across multiple nodes. Distributed cache settings are maintained in the following files:
hazelcast.xml
server.xml
context.xml
Note: For complete information about using Hazelcast, go to http://www.hazelcast.org
Ports Usage
Hazelcast is used by two core Interact services modules (interact.war
and reports.war
), therefore a running Hazelcast node is required for both.
To support this, during startup two separate instances of Hazelcast are started on each server. Each Hazelcast node attempts to use the port defined in the port section specified in the configuration file (e.g., 5701
). If the port is already reserved by the other running node, it will be auto-incremented (e.g., 5702
), for use by the second node.
To ensure a successful startup, the specified ports must be free and must be able to communicate with the cluster servers. (Alternatively, it is possible to configure a multicast address for cross-member communication.)
hazelcast.xml
Verify that the
hazelcast.xml
file exists (in<INTERACT_HOME>
\conf folder on all cluster nodes.Specify all cluster members in the file:
Insert the following parameter under the network node:
<port auto-increment="true">5701</port>
Set the value for the tcp-ip parameter and configure the cluster members:
<tcp-ip enabled="true"> <interface><member1 host></interface> <interface><member2 host></interface> <interface>>member3 host></interface>> ... </tcp-ip><
Turn off symmetric encryption by adding the following parameter under the network node:
<symmetric-encryption enabled="false">
server.xml
Verify that the
server.xml
file exists in<CATALINA_HOME>
\conf folder.Open the file and verify that the following rows appear in the listeners section:
<!-- Starts Hazelcast node based on $JACADA_INTERACT/conf/hazelcast.xml --> <Listener className="com.jacada.is.hazelcast_bootstrap.StartupHandler" />
For more information about server.xml , go to http://tomcat.apache.org.
context.xml
To prevent server startup exceptions that may appear when loading a persistent session, open this file in the <CATALINA_HOME>
\conf folder and add/uncomment the following line:
<Manager pathname="" />
After saving the file, empty the \work folder and restart the Tomcat server.

The settings that specify Interact logging activities are maintained in the following files:
jis-app.properties
logback.xml
In the
jis-app.properties
file found in the<INTERACT_HOME>
\conf folder on each active cluster node, verify that the following properties are set to their default value ( false):database.logging=false logstash.logging=false
On each participating cluster server, open the file WEB-INF/classes/
logback.xml
and set the log value to the desired level. Note: You must set the log level for each relevant service, on each active cluster node.Restart each active cluster node.
By default, server logs are written to the <INTERACT_HOME>
/logs folder. The main module log file is as_rest.log.
For complete information about logback , see http://logback.qos.ch/.

Interact provides an internal URL shortening service, which you can use to shorten URLs as required (for example, when sending access links to Flow users).
The settings that specify Interact URL shortening are maintained in the following files, found in the <INTERACT_HOME>
\conf folder:
jis-app.properties
short-url.properties
In the
jis-app.properties
file, change or add the following properties:Property
Description/Notes
urlShortener.server.endpoint
Specifies the local environment endpoint to the URL shortener.
urlShortener.defaultService
Specifies the name of the URL Shortener service that will be used.
For example:
urlShortener.server.endpoint=http://localhost:8080/UrlShortener urlShortener.defaultService=urlShortener
In the
short-url.properties
file, specify the following:Property
Description/Notes
urlPrefix
Specifies the path to the URL shortener.
tokenLength
Specifies the number of characters for the random string that is appended to the base URL.
For example:
urlPrefix=http://localhost:8080/UrlShortener/ tokenLength=10
Note: In order for the URL Shortener to function, the Account Admin must activate the relevent URL Shortener checkbox on the General Settings page of the Admin Console.

Interact generates reports that enable monitoring of Flow execution. Reports provide aggregated information to help reveal usage patterns for selected Flows during a specified timeframe. Reports are also used to provide data runtime required by other Interact components.
Note: For complete information about data collection and report creation, see the X-Platform Reporting section.
The reporting aggregation schedule and other parameters are configurable.
Interact Reporting settings are maintained in the following files, found in the <INTERACT_HOME>
\conf folder:
jis-app.properties
report-app.properties
In the
jis-app.properties
file, change or add the following properties:Property
Description/Notes
reports.server.url
Specifies the server URL that will be used by the reporting application. For example:
reports.server.url=https://<host>:<port>/reports
where: <host> and <port> specify the location of the Reporting application
server.admin.reportsEndpoint
Specifies the local environment endpoint for the reporting application. For example:
reports.server.url=https://<host>:<port>/reports
where: <host> and <port> specify the location of the Reporting application
In the
report-app.properties
file, change or add the following properties, as needed:Property
Description/Notes
Default Value
job.run.interval
Scheduled duration for performing aggregation in milliseconds.
1800000
horizontal.mode.enabled
Turns on the Hazelcast distributed cache.
true
horizontal.mode.litemember
Settings for the Hazelcast manager.
false
horizontal.mode.nativeclient
false
horizontal.mode.run.local.node
true
database.logging
Saves log messages to a separate database.
false
logstash.logging
Sends log messages to the UDP port.
false
logstash.udp.host
IP address of the UDP listener.
—
logstash.udp.port
Port of the UDP listener.
—
Restart the server.