Contents
Deployment
Preparing Engage Configuration for the EX integration
This procedure selects Engage configuration objects, which should be mapped to the EX Org. No information about the EX Org is required to execute this step. It's recommended to complete it before running EXCS for the first time. Otherwise, EXCS would map all eligible configuration objects to the EX Org, which may temporarily impact solution performance by mapping large volume of data and incur some unexpected GC charges.
- Review Folder Filtering rules and the rules of selecting individual configuration objects above.
- Review Folder Filtering rules and how they are applied to the configuration objects of different types.
- Select a folder name to be used for the Engage configuration object selection. Name EX_EVOLUTION is used in this section as an example.
- Skills:
- Create a folder EX_EVOLUTION at the root level of the Skills configuration unit and move the Skills to be mapped there
- Persons:
- Create a folder EX_EVOLUTION at the root level of the Persons configuration unit and move the Skills to be mapped there
- Queues:
- Select a SIP Server, which processes contact center voice calls and is panned to be used as a source for the interaction event injection to the EX Org, and identify a Switch this SIP Server uses.
- Create a folder EX_EVOLUTION at the root level of the DNs configuration unit under the selected Switch and move the queue DNs to be mapped to the EX Org into this folder. The following DN types should be considered:
- ACD Queue
- Routing Queue
- Virtual Queue - select only routing VQs used by the URS for target selection, do not map reporting VQs
- Routing Point
- Agent Groups
- Identify agent groups (AG) and virtual agent groups (VAG) used for routing or reporting by the Persons selected to be mapped to the EX Org
- Link selected AGs and VAGs to their corresponding queue DNs by applying the following configuration to the properties of these groups:
- Annex / hybrid / WFM_queue_number = <ROUTING_VQ_DN_NAME>
- Supervisors
- Engage Supervisors should be marked as shown below to get a Supervisor role assigned in the EX Org:
- Person has 'Is Agent' checked
- Person has Annex/htcc/roles list containing a 'Supervisor' as one of its elements
- If customers use WWE/GWS, then their supervisors should already be configured like this. In other cases this configuration should be added.
- Engage Supervisors should be marked as shown below to get a Supervisor role assigned in the EX Org:
- Review all objects of all types moved to the EX_EVOLUTION folders for the case-sensitivity conflicts. Resolve those conflicts if found.
Configuring hybrid_integration transaction in CME
EX Org parameters required for the hybrid_integration transaction configuration
The following configuration parameters should be fetched from EX Org to provision the hybrid_integration transaction in the Engage CME. Configuration Alias is used to refer to the value of the EX Org parameter.
| Configuration Alias | EX Org Parameter Path | Parameter Description |
|---|---|---|
| CFG_ALIAS_EX_ORG_SHORT_NAME | Organization Setting / Organization Details / Short Name | Short name of the EX Org |
| CFG_ALIAS_EX_ORG_ID | Organization Setting / Organization Details / Advanced / Organization ID | EX Org Organization ID |
| CFG_ALIAS_EX_ORG_OAUTH_CLIENT_ID | Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client ID | OAuth client ID |
| CFG_ALIAS_EX_ORG_OAUTH_CLIENT_SECRET | Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client Secret | OAuth client secret |
Transaction Object
Transaction object hybrid_integration contains EXEC configuration. It should be configured as:
- Path to the transaction object:
- for the single-tenant Engage deployment the transaction object should be created in the Transactions configuration unit in the Resources structure
- for the multi-tenant Engage deployment there must be a separate transaction object under each of the tenant. Each transaction should point at a dedicated EX Org. EX Orgs cannot be shared by multiple Engage tenants.
- Name: hybrid_integration
- Type: List
Transaction Annex Folders
| Folder | Parameter Name | Value | Description |
|---|---|---|---|
| general | organization_sname | CFG_ALIAS_EX_ORG_SHORT_NAME | Short name of the EX Org |
| general | organization_id | CFG_ALIAS_EX_ORG_ID | EX Org Organization ID |
| general | base_service_url | <GENESYS_CLOUD_API_URL> | Base service URL used for the REST API calls to the EX Org |
| config_sync | client_id | CFG_ALIAS_EX_ORG_OAUTH_CLIENT_ID | OAuth client ID |
| config_sync | client_secret | CFG_ALIAS_EX_ORG_OAUTH_CLIENT_SECRET | OAuth client secret |
| agent_state_sync | client_id | CFG_ALIAS_EX_ORG_OAUTH_CLIENT_ID | OAuth client ID |
| agent_state_sync | client_secret | CFG_ALIAS_EX_ORG_OAUTH_CLIENT_SECRET | OAuth client secret |
| conversation_provider | client_id | CFG_ALIAS_EX_ORG_OAUTH_CLIENT_ID | OAuth client ID |
| conversation_provider | client_secret | CFG_ALIAS_EX_ORG_OAUTH_CLIENT_SECRET | OAuth client secret |
Installing EXEC Bootstrap Script
You should always deploy EX Engage Connector using the bootstrap script.
Perform the following items before deploying EX Engage Connector:
- Move EXOP bootstrap package downloaded from the FTP (e.g. exop-100.0.100.XX.tgz) to the Bootstrap VM.
- Go to the installation directory where the bootstrap script is copied and extract the package.
- Under the installation directory, verify if the following files are available:
- .env
- bootstrap.py
- Docker Compose files for EXCS, EXCP, and EXAS
- alerts.yml
- prometheus.yml
- Make sure the file is executable: chmod +x bootstrap.py
- Run ./bootstrap.py --help and verify if the following screen is displayed:
Welcome to EXEC deployment bootstrap script. Following actions are supported init - Initialize EXEC environment start - Start EXEC services stop - Stop EXEC services restart - Restart EXEC services update - upgrade/downgrade EXEC services rollback - rollback EXEC service
Configuring .env file
The .env file contains the description of the EXEC docker environment. Configure all mandatory parameters to describe the environment where EXEC components are planned to be deployed. Bootstrap script converts data from this file into the docker compose yml configuration files.
You can specify parameters for the deployment by overriding the default values in the .env file. See the Parameters table for a full list of overridable values.
Common Parameters
| Parameter Name | Description |
|---|---|
| EXEC_DOCKER_REPOSITORY * | Jfrog Artifactory Edge repository for pulling EXEC images. |
| EXEC_INFRA_DOCKER_REPOSITORY | Docker repo for Redis, grafana, and Prometheus containers, if empty - docker hub will be used. |
| EXEC_HOST_LOGS_VOLUME_PATH * | Host path which is mounted inside the container to store logs. |
| EXEC_ORG_ID * | EX Org ID is taken from the following path in the GC UI Admin view: Organization Settings / Organization Details / Advanced / Organization ID |
| EXEC_TENANT_ID * | Unique ID to identify the Engage tenant. DBID of the Tenant configuration object in the Engage Configuration DB can be used. |
| EXEC_REDIS_HOST * | IP Address of the Redis proxy in case of enterprise Redis and IP Address of Redis server in case of Lab environment |
| EXEC_REDIS_PORT * | Port of Redis server |
| EXEC_REDIS_SECURE | If the Redis server is password protected via the requirepass option. |
| EXEC_REDIS_PASSWORD | Do not configure the password in the .env file, provide it as input when you run the bootstrap script |
| A * indicates mandatory fields. | |
EXCS Parameters
| Parameter Name | Description |
|---|---|
| EXCS_VM_HOST * | IP Address of VM machine where CS will be deployed |
| EXCS_PORT * | Config Sync Service port |
| EXCS_TAG * | Config Sync Service Image Version |
| EXCS_CONFIG_DB_HOST * | IP Address of Config Database. |
| EXCS_CONFIG_DB_PORT * | Port Number of Config Database |
| EXCS_CONFIG_DB_USER * | Config Database Username |
| EXCS_CONFIG_DB_PASSWORD * | Do not configure the password in the .env file, provide it as input when you run the bootstrap script |
| EXCS_CONFIG_DB_NAME * | Config Database name |
| EXCS_CONFIG_DB_TYPE * | Config Database Type |
| EXCS_SYNC_CUSTOMER_OBJECTS_ONLY | When set to "true", EXCS only synchronizes objects under customer folder hierarchy to Genesys Cloud. Unless SYNC_CUSTOMER_FOLDER_NAME is specified, treat TENANT_NAME as the top-level customer folder. See Folder Filtering section for more information. Default is "false", i.e. all objects of the supported types are synchronized. Values: true/false (default) |
| EXCS_SYNC_CUSTOMER_FOLDER_NAME | When SYNC_CUSTOMER_OBJECTS_ONLY is set to "true", use the folder name configured here instead of the value of TENANT_NAME. |
| EXCS_LOG_PATH | File system path for logs. If not provided, logs will be directed to stdout |
| EXCS_LOG_FILENAME * | File name for logs. If LOG_FILENAME is specified, this environment variable further describes the file name. Example: 'excs-<TENANT_ID>.%Y%m%d_%H%M%S_%L.log' |
| EXCS_LOG_LEVEL | Defines the EXCS log level. Values: trace, debug, info, warn, error, fatal |
| A * indicates mandatory fields. | |
EXAS Parameters
| Parameter Name | Description |
|---|---|
| EXAS_HOST * | IP Address of VM machine where AS will be deployed |
| EXAS_PORT * | Agent Sync Service port |
| EXAS_TAG * | Agent Sync Service Image Version. |
| EXAS_STAT_SERVER_PRIMARY_HOST * | Primary Stat Server's host IP/FQDN |
| EXAS_STAT_SERVER_PRIMARY_PORT * | Primary Stat Server's port number. |
| EXAS_STAT_SERVER_BACKUP_HOST * | Backup Stat Server's host IP/FQDN |
| EXAS_STAT_SERVER_BACKUP_PORT * | Backup Stat Server's port number. |
| EXAS_LOG_PATH | File system path for logs. If not provided, logs will be directed to stdout |
| EXAS_LOG_FILENAME * | File name for logs. If LOG_FILENAME is specified, this environment variable further describes the file name. Example: 'exas-<TENANT_ID>.%Y%m%d_%H%M%S_%L.log' |
| EXAS_LOG_LEVEL | Defines the EXAS log level. Values: trace, debug, info, warn, error, fatal |
| A * indicates mandatory fields. | |
EXCP Parameters
| Parameter Name | Description |
|---|---|
| EXCP_1_VM_HOST_PAIR * | VM Host IPAddress list where Conversation Provider service will be running |
| EXCP_1_PORT * | Conversation Provider Service port |
| EXCP_1_TAG * | Conversation Provider Container version |
| EXCP_1_VOICE_SERVER_VQ * | A list of SIP Server host:port for receiving Virtual Queue Events. EXCP should connect to the default port. Format: primary1:port/backup1:port |
| EXCP_1_VOICE_SERVER_AGENT * | A list of SIP Server host:port for receiving Extension DN Events . EXCP should connect to the default port. Format: primary1:port/backup1:port |
| EXCP_1_VOICE_SERVER_CALL * | A list of SIP Server host:port for receiving Call Monitoring Events. EXCP should connect to the default port. Format: primary1:port/backup1:port |
| EXCP_1_LOG_PATH | File system path for logs. If not provided, logs will be directed to stdout |
| EXCP_1_LOG_FILE_NAME * | File name for logs. If EXCP_1_LOG_FILE_NAME is specified, this environment variable further describes the file name. Example: 'excp-.%Y%m%d_%H%M%S_%L_${TENANT_ID}_${HOSTNAME}.log' |
| EXCP_1_LOG_LEVEL | Defines the EXCP log level. Values: trace, debug, info, warn, error, fatal |
| A * indicates mandatory fields. | |
Deploying EXEC
To set up the EX Engage Connector services, run the init command: ./bootstrap.py --init
The init script performs the following actions:
- Prompt for following passwords:
- DB password - The password for the Config database.
- Redis Password - The password for the redis server (if the redis-secure parameter is set to true).
- Create a /tmp/.env file containing the provisioning information along with password information.
- Extract the VM address for each service and copy the docker-compose file of the respective service to their respective VMs.
- Copy the /tmp/.env file to the list of VMs on which the connector services need to be installed and delete the /tmp/.env file.
The docker-compose files and .env files are stored under the exec directory in the home path of the Genesys user.
Starting EXEC Services
After initializing the environment, the EXEC services can be started. If EXEC services are to be started for the first time, it is recommended to start only EXCS service first (
./bootstrap.py --start --service=excs
) and wait until all selected configuration objects are properly synced.
The following commands can be used for specific actions:
- ./bootstrap.py --start - starts all the EXEC services in their respective VMs configured.
- ./bootstrap.py --start --service=exas - starts the EXAS service in its respective VM
- ./bootstrap.py --start --service=excp --pair 1 - starts the EXCP service in both the VMs belonging to excp pair 1
- ./bootstrap.py --start --service=excp --pair 1 --host 1 - starts the EXCP service in the VM host 1 belonging to excp pair 1
Similarly, all services or a specific service or a specific instance of a service can be stopped using the ./bootstrap.py --stop command. The ./bootstrap.py --restart command can be used to restart all services or a specific service or a specific instance of a service.
