Revision as of 13:29, July 10, 2023 by Xavier (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Provisioning

Perform the following items before deploying EX Engage Connector:

  1. Download EXCS, EXAS, and EXCP packages from the FTP, extract the containers, and deploy those containers to your local container registry
  2. Move EXOP bootstrap package downloaded from the FTP (e.g. exop-100.0.100.XX.tgz) to the Bootstrap VM.
  3. Go to the installation directory where the bootstrap script is copied and extract the package.
  4. 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
  5. Make sure the file is executable: chmod +x bootstrap.py
  6. 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


Provisioning EX Engage Connector Agent State Sync

EXAS requires an OAuth client with grant type Client Credentials created in the EX Org to connect to GC. The EX Integration role should be assigned the OAuth client.

To provision the Engage Contact Center for Agent Status Synchronization, the hybrid_integration transaction object has to be configured.

EXAS reads configuration information from the hybrid_integration transaction object. This transaction is created and managed in the Engage Configuration DB. EXCS stores the content of this transaction in Redis from where EXAS reads it when needed.

The Location option should be configured as:

  • 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 for each tenant. Each transaction should point at a dedicated EX Org. EX Orgs cannot be shared by multiple Engage tenants.

The Annex folder that contains the EXAS configuration should be configured as:

  • Folder : agent_state_sync
Key Parameter Description
client_id Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client ID OAuth client ID
client_secret Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client Secret OAuth client secret
agent_polling_interval time (in seconds) to poll agent list from Redis for possible new or deleted agents to monitor This interval is also used to refresh Agent State Sync's cached hybrid_integration.

The following environment variables control the EXAS connectivity. They can be configured in the EXEC bootstrap script:

Variable Mandatory Description
EX Org
ORG_ID Yes EX Org ID taken from the following path in the GC UI Admin view:
Organization Settings / Organization Details / Advanced / Organization ID
Engage Tenant
TENANT_ID Yes Unique ID to identify the Engage tenant. DBID of the Tenant configuration object in the Engage Configuration DB can be used.
TENANT_NAME No Human-friendly name to identify the tenant used in all log messages and Prometheus metrics. Defaults to the same value as TENANT_ID if none is provided.
Redis
REDIS_HOST Yes Hostname/IP-address of Redis in a format redis://elasticache
For the SSL connection it should be set to rediss://elasticache
REDIS_PORT Yes Redis port (default is 6379)
REDIS_PASSWORD No Redis password. This environment variable is ignored if CONFIG_FOLDERS variable is defined.
CONFIG_FOLDERS No Path to a file called 'REDIS-CACHEKEY', which contains Redis password.
Engage Stat Server
STAT_SERVER_PRIMARY_HOST Yes Host name or IP-address of the primary stat server
STAT_SERVER_PRIMARY_PORT Yes Port of the primary stat server
STAT_SERVER_BACKUP_HOST Yes Host name or IP-address of the backup stat server
STAT_SERVER_BACKUP_PORT Yes Port of the backup stat server
Logging
LOG_PATH No File system path for logs. If not provided, logs will be directed to stdout
LOG_FILE_NAME No File name for logs. If LOG_PATH is specified, this environment variable further describes the file name.
Example: 'exas-<TENANT_ID>.%Y%m%d_%H%M%S_%L.log'
LOG_LEVEL No Log level
Other
HTTPS_PROXY No HTTPS Proxy server to use for outbound connections to the internet
SERVICES_INTERNAL_PORT No EXAS listening port
Default: 3630

Provisioning EX Engage Connector Conversation Provider

EXCP requires an OAuth client with grant type Client Credentials created in the EX Org to connect to GC. The EX Integration role should be assigned the OAuth client.

To provision the Engage Connector Conversation Provider, the hybrid_integration transaction object has to be configured.

The Annex folder that contains the EXCP configuration should be configured as:

  • Folder : agent_state_sync
Key Parameter Description
client_id Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client ID OAuth client ID
client_secret Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client Secret OAuth client secret

The following environment variables control the EXCP connectivity. They can be configured in the EXEC bootstrap script:

Variable Mandatory Description
EX Org
ORG_ID Yes EX Org ID taken from the following path in the GC UI Admin view:
Organization Settings / Organization Details / Advanced / Organization ID
Engage Tenant
TENANT_ID Yes Unique ID to identify the Engage tenant. DBID of the Tenant configuration object in the Engage Configuration DB can be used.
Redis
REDIS_HOST Yes Hostname/IP-address of Redis in a format redis://elasticache
For the SSL connection it should be set to rediss://elasticache
REDIS_PORT Yes Redis port (default is 6379)
REDIS_AUTH_PASSWORD No Redis password. Open?: How to provide it avoiding configuring it in clear text?
EXCS access
INTERNAL_ELB_FQDN Yes EXCS FQDN or IP-address
INTERNAL_ELB_CS_PORT Yes EXCS listening port
Engage SIP Server
VOICE_SERVER_CALL Yes A list of SIP Server host:port for receiving Call Monitoring Events. EXCP should connect to the default port.
Format: primary1:port/backup1:port
VOICE_SERVER_AGENT Yes A list of SIP Server host:port for for receiving Extension DN Events. EXCP should connect to the default port.
Format: primary1:port/backup1:port
VOICE_SERVER_VQ Yes A list of SIP Server host:port for for receiving VQ DN events. EXCP should connect to the default port.
Format: primary1:port/backup1:port
DN_REGISTER_DELAY_MS No The delay in milliseconds to be applied while registering DNs. DNs will be registered up to the configured chunk size and then a delay will be applied. Default is 1000 milliseconds
DN_REGISTER_CHUNK_SIZE No The number of DNs to register before delaying as per the delay set from DN_REGISTER_DELAY_MS. Default is 100
VQ_REGISTER_DELAY_MS No The delay in milliseconds to be applied while registering VQs. VQs will be registered up to the configured chunk size and then a delay will be applied. Default is 1000 milliseconds
VQ_REGISTER_CHUNK_SIZE No The number of VQs to register before delaying as per the delay set from VQ_REGISTER_DELAY_MS. Default is 100
DN_REGISTER_INTERVAL No How often to check if there are new DNs to register. Time in milliseconds. Default is 60000 milliseconds
VQ_REGISTER_INTERVAL No How often to check if there are new Vqs to register. Time in milliseconds. Default is 60000 milliseconds
Logging
LOG_PATH No File system path for logs. If not provided, logs will be directed to stdout
LOG_FILE_NAME No File name for logs. If LOG_PATH is specified, this environment variable further describes the file name.
Example: 'excp-.%Y%m%d_%H%M%S_%L_${TENANT_ID}_${HOSTNAME}.log'
LOGGING_LEVEL No Defines the EXCP log level.
Values: trace, debug, info, warn, error, fatal
Default value - debug
Other
HTTPS_PROXY No HTTPS Proxy server to use for outbound connections to the internet
SERVICES_INTERNAL_PORT No EXCP listening port
Default: 3630

Provisioning EX Engage Connector Config Sync

The general folder that contains the EXCS configuration should be configured as:

Key Parameter Description
organization_sname Organization Setting / Organization Details / Short Name Short name of the EX Org
organization_id Organization Setting / Organization Details / Advanced / Organization ID EX Org Organization ID
base_service_url https://api.mypurecloud.com.au Base service URL used for the REST API calls to the EX Org.

The config_sync folder that contains the EXCS configuration should be configured as:


Key Parameter Description
client_id Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client ID OAuth client ID
client_secret : Integrations / OAuth / <OAUTH_CLIENT_NAME> / Client Details / Client Secret OAuth client secret
skill_level_min_value https://api.mypurecloud.com.au Minimal value of an Engage Person's Skill level expected to be configured in Engage. If an Engage Person's Skill level is less than skill_level_min_value, then the value of the skill_level_min_value is used to translate Engage Person's Skill level into a GC User Proficiency level.
skill_level_max_value Maximum value of an Engage Person's Skill level expected to be configured in Engage. If an Engage Person's Skill level is greater than skill_level_max_value, then the value of the skill_level_max_value is used to translate Engage Person's Skill level into a GC User Proficiency level.
nonagent_role_names A semicolon-delimited list of names of the Genesys Cloud roles to assign to a Genesys Engage Person which is not an agent.
agent_role_names A semicolon-delimited list of names of the Genesys Cloud roles to assign to a Genesys Engage Person which is an agent.
supervisor_role_names A semicolon-delimited list names of the Genesys Cloud roles to assign to a Genesys Engage Person which is a supervisor.
username_domain_name This is an option parameter which should be configured if User Names of the Engage Persons are not in a form of a valid email address. This parameter holds a valid domain value, which can be used after @ in the email address. For example, exevolution.com.
Environment Variable JSON parameter Mandatory Description
Redis
REDIS_HOST Yes Hostname/IP-address of Redis
REDIS_PORT Yes Redis port (default is 6379)
Engage Configuration DB
DB_HOST Yes Engage configuration database host
DB_PORT Yes Engage configuration database port
DB_TYPE Yes RDBMS type
Values: postgresql
DB_DATABASE Yes Database name
DB_USER Yes Database user
DB_PASSWORD Yes Database password
DB_SSL Yes Set this value to "true" to use SSL for database connection.
Values: true/false (default)
Note from the original description: This only works the certificate used by the database server to be signed by one of the CA trusted by the system where Config Sync runs.
DB_POLL_INTERVAL No How often (in seconds) does Config Sync polls the cfg_hdb_object table in the database to look for changes since the previous update finished processing; optional (default=5)
TENANT_ID Yes Unique ID to identify the tenant connected to by the Config Sync instance. DBID of the Tenant configuration in the Engage Configuration DBID can be used. This parameter is not required for the EXCS container running in read-only mode.
TENANT_NAME No Human-friendly name to identify the tenant used in all log messages and Prometheus metrics. Defaults to the same value as TENANT_ID if none is provided.
Engage Configuration Object Selection
SYNC_CUSTOMER_OBJECTS_ONLY No 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)
SYNC_CUSTOMER_FOLDER_NAME No When SYNC_CUSTOMER_OBJECTS_ONLY is set to "true", use the folder name configured here instead of the value of TENANT_NAME.
Logging
LOG_PATH No Path to the log file directory. Enables EXCS to write logs on disk. Customer is responsible for implementing a log retention policy.
LOG_FILE_NAME No Prefix of the EXCS log file name. Enables EXCS to write logs on disk. Customer is responsible for implementing a log retention policy.
LOGGING_LEVEL No Defines the EXCS log level.
Values: trace, debug, info, warn, error, fatal
Other
HTTPS_PROXY No HTTPS Proxy server address using for outbound connections to GC. If set, then REST API requests to GC will be forwarding through the proxy instead of delivering them directly.
This page was last edited on July 10, 2023, at 13:29.
Comments or questions about this documentation? Contact us for support!