Introduction
This document illustrates the procedure and steps to deploy Expertflow Generic Connector on any Kubernetes distribution (K3s or RKE2).
Step 1: Clone the Experflow Generic Connector Repository
1. Start with cloning the repository from GitLab.
git clone -b 4.4.12 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cti/gc_k3s_deployment.git
2. Change to the directory.
cd gc_k3s_deployment/cti-voice
Step 2: Create Namespace
Run the following command on the master node. Create the namespace using the command.
kubectl create namespace ef-cti-voice
ActiveMQ
1. If you want to use ActiveMQ then Run the following command for ActiveMQ implementation.
kubectl apply -f StatefulSet/
2. Update Communication_Format from REST to JMS in the configmap file.
3. Update ActiveMQ Url in the confgimap file with your ActiveMQ service name and port number.
<service-name>:Port Number // e.g- ef-cti-amq-svc:61616
ConfigMaps
apply the configmap in ConfigMaps folder using
kubectl apply -f Configmap/
Services
Create service for deployment of generic components
kubectl apply -f Services/
Deployments
apply the Deployment manifests
kubectl apply -f Deployment/
Step 3: Update the FQDN
1. Decide the FQDN to be used in your solution and change the <FQDN> to your actual FQDN as given in the following command:
|
|
Ingress
Run this command for RKE
kubectl apply -f Ingress/nginx
Run this command for Traefik
kubectl apply -f Ingress/traefik
Connector Configuration Parameters (Environment Variables)
|
Parameter |
Default Value |
Description |
|
NUMBER_OF_LICENSES |
1000 |
|
|
CUSTOMER_NAME |
Haseeb |
|
|
KEY |
ASDFGHJKLZXCVBNM234RFGHUIOKJMNBFEWSDFGHNJMNBV |
License key. Must be obtained from EF Team |
|
Finesse_1 |
Primary Finesse URL for Site A |
|
|
Finesse_2 |
Primary Finesse URL for Site B |
|
|
ACCESS_TOKEN_URL |
|
|
|
FINESSE_REQUEST_TIMEOUT |
3000 |
Finesse requested a timeout (in mili-seconds) |
|
FINESSE_HEARTBEAT_SLEEP |
5 |
Delay in ping to finesse servers (seconds) |
|
ByPass_SSL |
ture |
Bypass SSL Certificate if finesse url is https and self signed certificate is used, in case of false Import SSL certificate to JVM if needed |
|
ACTIVEMQ1 |
localhost:61616 |
ActiveMQ Primary URL |
|
ACTIVEMQ1 |
localhost:61616 |
ActiveMQ Secondary URL |
|
ACTIVEMQ_TIMEOUT |
30000 |
ActiveMQ connection timeout (in milliseconds) |
|
GRC_CONSUMER_PRIORITY |
127 |
Connector1 Queue consumer priority (Used for primary, secondary deployment of GC)(0-127) |
|
PRIORITY_BACKUP |
true |
To connect with its primary GC |
|
RANDOMIZE |
false |
for failover url |
|
PREFETCH_SIZE |
20000 |
Prefect Size of the messages |
|
AGENT_STATES_PUBLISHER_DURATION |
5000 |
Time after which, states of all agents would be published on topic (In Milliseconds) |
|
GC_HEARTBEAT_TIMEOUT |
10000 |
GC heartbeat timeout |
|
AGENT_INACTIVITY_DURATION |
30 |
Agent inactivity time (in seconds) |
|
GC_HEARTBEAT_SLEEP |
10000 |
gc heartbeat thread sleep time |
|
AGENT_INACTIVITY_TIME_SWITCH |
false |
Agent inactivity switch |
|
DEFAULT_NOT_READY_REASON |
19 |
default reason code for not ready (Must be defined in finesse) |
|
DEFAULT_LOGOUT_REASON |
70 |
Default reason code for force logout |
|
AGENT_XMPP_SUBS_TIME |
10000 |
Agent XMPP Subscription Time |
|
USE_ENCRYPTED_PASSWORDS |
false |
Use encrypted password |
|
CHANGE_STATE_ON_WRAPUP |
true |
Automatically change the state when wrap-up occurs |
|
MESSAGE_FORMAT |
JSON |
Message Format for communication. Expected formats DEFAULT, JSON, XML |
|
AGENT_LOGS_PATH |
/app/logs/agents/ |
Agent Logs Storage path |
|
AGENT_LOGS_LEVEL |
TRACE |
Agent Logs Level |
|
AGENT_LOGS_MAX_FILES |
10 |
Max No of Files per agent for logs |
|
AGENT_LOGS_FILE_SIZE |
10MB |
Max file size for agent logs |
|
XMPP_PING_INTERVAL |
3 |
Interval in seconds between XMPP server pings |
|
ADMIN_ID |
Administrator |
The username of the administrator account the would be used for phonebook and contact APIs |
|
ADMIN_PASSWORD |
Expertflow464 |
The password of the administrator account would be used for phonebook and contact APIs |
|
SUPERVISOR_INITIATED_NOTRAADYREASONCODE |
19 |
Reason code for supervisor state change to Not_Ready |
|
SUPERVISOR_INITIATED_LOGOUTREASONCODE |
20 |
Reason code for supervisor state change to Log_Out |
|
UCCX_SERVER_IP |
192.168.1.29 |
For queue stats in case of UCCX |
|
UCCX_SERVER_USERNAME |
Administrator |
|
|
UCCX_SERVER_PASSWORD |
Expertflow464 |
|
|
UCCX_DB_USERNAME |
uccxhruser |
|
|
UCCX_DB_PASSWORD |
12345 |
|
|
UCCX_DB_RETRY_ATTEMPTS |
2 |
|
|
UCCX_DB_TIMEOUT_CONNECTION |
1800 |
|
|
COMMUNICATION_FORMAT |
REST | JMS |
|
|
SPRING_PORT |
8112 |
|
|
REDIS_URL |
redis-master.ef-cti.svc |
|
|
REDIS_PORT |
6379 |
|
|
REDIS_PASSWORD |
Expertflow123 |
|
|
GET_SKILL_AND_SUP_FORMAT |
API || DB |
|
|
UCCE_SERVER_IP |
192.168.1.72 |
UCCE Server IP for Skill Group |
|
DOMAIN_ADMINISTRATOR_USER |
|
|
|
DOMAIN_ADMINISTRATOR_PASSWORD |
Expertflow464 |
|
|
SKILL_GROUP_ALL_RESULT |
false |
if it is false, we will return 25 skills |
|
SQL_SERVER |
192.168.1.89 |
For Skill groups and supervisor list |
|
DATABASE |
uc12_awdb |
|
|
DATABASE_TABLE |
Skill_Group |
|
|
DATABASE_USER_NAME |
sa |
|
|
DATABASE_USER_PASSWORD |
Expertflow464 |
|
|
KEY_STORE_TYPE |
PKCS12 |
|
|
KEY_STORE |
D:\\EF_Project\\GC4.4\\Generic Connector\\certs\\store\\clientkeystore.p12 |
|
|
TRUST_STORE |
D:\\EF_Project\\GC4.4\\Generic Connector\\certs\\store\\client.truststore |
|
|
KEY_STORE_PASSWORD |
changeit |
|
|
TRUST_STORE_PASSWORD |
changeit |
|
|
PRIVATE_KEY_STRING |
key_value |
|
|
ISSUER |
ef-chat |
|
|
EXPIRY |
300 |
|
|
PEP_BASE_PATH |
|
|
|
AOP_CALLBACK |
/ef-voice/fnb-cme/submit-gc-event/v1 |
|
|
AXL_URL |
|
|
|
AXL_USER |
administrator |
|
|
AXL_PASSWORD |
Expertflow464 |
|
|
THREAD_POOL_COUNT |
2000 |
|
|
LD_LIBRARY_PATH |
/app |
|
|
TZ |
Asia/Karachi |
|