Deploying Genesys Interaction Recording in a Multi-Tenant Environment
Contents
Installation Considerations
This section describes the deployment steps required to configure GIR in a Multi-Tenant Configuration Server.
Once the deployment steps are completed, each tenant will include the following items:
Multi-tenant Components
The following is a list of the components that can be deployed as multi-tenant components:
[+] Show multi-tenant components.
Deploying Multi-Tenancy
This section provides the tasks required to install and configure the Genesys components and features for Genesys Interaction Recording (GIR).
To successfully deploy GIR in a multi-tenancy environment, you must perform the following procedures in the order presented:
- Genesys Administrator Extension
- Interaction Recording Web Services (or Web Services and Applications if you're using version 8.5.210.02 or earlier)
In a multi-tenanted deployment, each tenant must deploy a separate instance of Interaction Recording Web Services (Web Services). Consider and perform the following instructions while performing the steps in the Interaction Recording Web Services (Web Services and Applications) pages:
- WebDAV [+] Show steps.
- In a multi-tenancy environment, GIR should deploy a separate instance of Interaction Recording Web Services (Web Services), to store and manage the recording files. Each tenant should deploy a separate WebDAV Server instance. For details, follow the instructions in the Deploy the WebDAV Storage Server section.
- Cassandra [+] Show steps.
- Cassandra is a shared service across multiple tenants, with each tenant owning a separate Cassandra keyspace. For details, follow the instructions in the Deploy the Cassandra Database section.
- Elasticsearch [+] Show steps.
- In a multi-tenancy environment, the recommended deployment approach for Elasticsearch is a standalone Elasticsearch cluster shared across multiple tenants, with each tenant owning separate indexes. The minimum number of Elasticsearch nodes that should be deployed in a High Availability (HA) environment is 3. To deploy Elasticsearch properly for a multi-tenant environment, refer to either the Elasticsearch section on the Configuring Features page or to the Prerequisites section in the Web Services and Applications Deployment Guide (if you're using GIR version 8.5.210.02 or earlier).
- Interaction Recording Web Services [+] Show steps.
- If you are deploying Interaction Recording Web Services (Web Services) for a multi-tenancy deployment, you must:
- Create a separate keyspace:
Each tenant should have a separate keyspace for Interaction Recording Web Services (Web Services) on Cassandra.
Follow the steps in either Initializing Cassandra or in the Initializing Cassandra section in the Web Services and Applications Deployment Guide (if you're using GIR version 8.5.210.02 or earlier) with the following exceptions:
When deploying ks-schema file, replace the keyspace name from sipfs to a tenant-specific name such as sipfs1 as follows:create keyspace sipfs1 with placement_strategy = 'SimpleStrategy' and strategy_options = {replication_factor : 1} and durable_writes = true;After the keyspace is created, update the schema file cf-schema.txt by changing the first line from sipfs to the tenant-specific keyspace name sipfs1 as follows:
use sipfs1; create column family accounts with column_type = 'Standard' and comparator = 'UTF8Type' and default_validation_class = 'BytesType' and key_validation_class = 'UTF8Type' and read_repair_chance = 0.1 and dclocal_read_repair_chance = 0.0 and gc_grace = 864000 and min_compaction_threshold = 4 and max_compaction_threshold = 32 and replicate_on_write = true and compaction_strategy = 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' and caching = 'KEYS_ONLY' and compression_options = {'sstable_compression' : 'org.apache.cassandra.io.compress.SnappyCompressor'}; - Create a separate Interaction Recording Web Services (Web Services) instance for each tenant (Note: Each instance can be a cluster of 2 or more High Availability nodes):
- Create the following two application objects per tenant in the Genesys configuration environment:
- A Genesys Generic Server application named IRWS Cluster application (or WS Cluster application for Web Services).
- A Genesys Generic Client named 'IRWS Node application (or WS Node for Web Services).
- Create the IRWS Cluster application object by following the instructions in the Creating the IRWS Cluster Application| section.
Create the WS_Cluster application object by following the instructions in the Creating the WS Cluster Application section.
For a multi-tenancy deployment, change the instructions in this section as follows:- Change the name to IRWS_Cluster_<tenant> (WS_Cluster_<tenant>), where <tenant> is the tenant name.
- In the Tenants tab, click Add, select the tenant object that you want to configure for Interaction Recording Web Services (Web Services) and click OK.
- For Interaction Recording Web Services, make the connection to the IRWS_Cluster_<Tenant> application and name the application IRWS_Node_<Tenant>, where <tenant> is the tenant name.
For Web Services, make the connection to the WS_Cluster_<Tenant> application and name the application WS_Node_<Tenant>, where <tenant> is the tenant name. - For each Interaction Recording Web Services (Web Services) tenant instance, the Jetter genconfig/application.yaml must have the following parameters:
- keyspace: <Cassandra keyspace assigned to this tenant as per “Create separate keyspace”>
- nodes: <the shared Cassandra nodes>
- For each Interaction Recording Web Services (Web Services) tenant instance, the Jetty genconfig/application.yaml must have the following parameters (if you are using Web Services and Application version 8.5.201.09 or earlier modify the server-settings.yaml and not application.yaml):
- externalApiUrlV2: http://<tenant-specific Interaction Recording Web Services (Web Services) load balancer URL>/api/v2
- internalApiUrlV2: http://<tenant-specific Interaction Recording Web Services (Web Services) load balancer URL>/internal-api
- undocumentedExternalApiUrl: http://<tenant-specific Interaction Recording Web Services (Web Services) load balancer URL>/internal-api
- applicationName: <the WS_Node_<Tenant> name assigned for this tenant>
- crClusterName: <Elastic Search cluster name as per cluster.name>
- crossOriginSettings/allowedOrigins: <tenant-specific Interaction Recording Web Services (Web Services) Servers>,<tenant-specific SpeechMiner Web Servers>
- Configure Voice Recordings: Follow the same instructions as the single tenant instructions. Whenever Interaction Recording Web Services server (Web Services server) is specified replace it with the tenant-specific Interaction Recording Web Services server (Web Services server) instance.
When reference is made to the storage credentials, use the tenant-specific WebDAV Server credentials as configured in the WebDAV Server section above. - Configure Screen Recordings: Follow the same instructions as the single tenant instructions. Whenever Interaction Recording Web Services server (Web Services server) is specified replace it with the tenant-specific Interaction Recording Web Services server (Web Services server) instance.
When reference is made to the storage credentials, use the tenant-specific WebDAV Server credentials as configured in the WebDAV Server section above.
- Create the following two application objects per tenant in the Genesys configuration environment:
- SIP Server
In a multi-tenant deployment, each tenant must deploy a separate SIP Server tenant instance, each with its own tenant-specific switch object.
The GIR deployment instructions for SIP Server are the same as those for a single tenant. - Genesys Voice Platform (GVP)
GVP is a shared resource for all tenants. Follow the instructions in this link to deploy the Resource Manager and Media Control Platform that are shared for all tenants.
When creating the tenant-specific IVR profile, change the steps as follows: [+] Show steps. - Interaction Concentrator (ICON)
When following the instructions in this page, use a tenant-specific instance of ICON and ICON DB. - Recording Processor Script
Follow the instructions in this page except for the following.
- Deploy separate instances of the Recording Processor for each tenant.
- Replace the following configuration parameters with tenant-specific instances of GWS and ICON DB: [+] Show parameters.
- Recording Crypto Server (RCS)
When deploying RCS use a tenant-specific instance of RCS.
Follow the instructions in this page, except for the following: [+] Show steps. - Recording Plug-in for GAX
Execute the Solution Deploy SPD file for each tenant, in order to create the appropriate tenant Access Groups, Roles, and Permissions. For additional information, refer to the Example Solution SPD File page. - Deploying Encryption
Follow the instructions in this page and perform the following: [+] Show steps. - Screen Recording Service
Follow the instructions in this page.
When using the command line to install the SR Service, change the /server parameter in the setup to point to the Interaction Recording Web Services (Web Services) tenant instance. For example: setup.exe /server="http://<web services host>:80". - Screen Recording Service - Advanced Configuration
Follow the instructions in this page for each tenant and replace the Interaction Recording Web Services (or Web Services if you're using version 8.5.210.02 or earlier) hot instance with an Interaction Recording Web Services (Web Services) tenant instance. - Recording Muxer
Follow the instructions in this page to deploy tenant-specific instances of Muxer.
Replace the following parameters with tenant-specific values: [+] Show parameters. - Interaction Recording Options Reference
- Speech and Text Analytics (SpeechMiner)
When following the instructions in this page create a separate SpeechMiner instance for each tenant.
To do this, you must configure the following items for each tenant: [+] Show items. - Workspace Desktop Edition
- User Access
Follow the instructions in this page and consider the following: [+] Show notes. - Security (TLS)
- Media Lifecycle Management
- Recording Storage Folder Hierarchy
Follow the instructions in this page using a tenant WebDAV server instance. - Feature Configuration
Follow the instructions in this page.
Note: Audio Tones are applicable on a per-tenant basis. - Load Balancing
Follow the instructions in this page and for each tenant create a separate /etc/httpd/conf.d/loadbalancer_tenantN.conf file.
In addition, provide each tenant with a separate balancer rule, ProxyPass and the following URI conventions: [+] Show conventions.
Follow the instructions in this page.
Follow the instructions in this page.
Follow the instructions in this page.
Follow the instructions in this page and verify that the Interaction-Receiver settings group points to a tenant-specific Interaction Receiver. In the SpeechMiner section, use tenant Interaction Recording Web Services (or Web Services if you're using version 8.5.210.02 or earlier) and tenant Interaction Receiver instances.
