Skip to main content
Skip table of contents

Kubernetes GC Connector Deployment Guide

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.

CODE
git clone https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cti/gc_k3s_deployment.git


2. Change to the directory.

CODE
cd gc_k3s_deployment/cti-voice

Step 2: Create Namespace

 Run the following command on the master node. Create the namespace using the command.

CODE
kubectl create namespace ef-cti-voice

ActiveMQ

1. If you want to use ActiveMQ then Run the following command for ActiveMQ implementation.

CODE
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.



CODE
<service-name>:Port Number // e.g- ef-cti-amq-svc:61616


ConfigMaps

apply  the configmap in ConfigMaps folder using

CODE
kubectl apply -f Configmap/

Services

Create service for  deployment of generic components

CODE
kubectl apply -f Services/

Deployments

apply the Deployment manifests 

CODE
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:

sed -i 's/devops[0-9]*.ef.com/<FQDN>/g' Ingress/nginx/* Ingress/traefik/*

Ingress

Run this command for RKE

CODE
kubectl apply -f Ingress/nginx

Run this command for Traefik

CODE
kubectl apply -f Ingress/traefik

Connector Configuration Parameters (Environment Variables)

Parameter

Default Value

Description

NUMBER_OF_LICENSES1000
CUSTOMER_NAMEHaseeb

KEY

ASDFGHJKLZXCVBNM234RFGHUIOKJMNBFEWSDFGHNJMNBV

License key. Must be obtained from EF Team

Finesse_1

https://Finesse-X-DN/finesse/api/

Primary Finesse URL for Site A 

Finesse_2

https://Finesse-X-DN/finesse/api/

Primary Finesse URL for Site B 

ACCESS_TOKEN_URLhttps://192.168.1.104:1126/getaccesstoken

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_PRIORITY127Connector1 Queue consumer priority (Used for primary, secondary deployment of GC)(0-127)
PRIORITY_BACKUPtrueTo connect with its primary GC
RANDOMIZEfalsefor failover url
PREFETCH_SIZE20000Prefect Size of the messages
AGENT_STATES_PUBLISHER_DURATION5000Time after which, states of all agents would be published on topic (In Milliseconds)
GC_HEARTBEAT_TIMEOUT10000GC heartbeat timeout

AGENT_INACTIVITY_DURATION

30

Agent inactivity time (in seconds)

GC_HEARTBEAT_SLEEP10000gc heartbeat thread sleep time
AGENT_INACTIVITY_TIME_SWITCHfalseAgent 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_TIME10000Agent XMPP Subscription Time
USE_ENCRYPTED_PASSWORDSfalseUse encrypted password
CHANGE_STATE_ON_WRAPUPtrueAutomatically change the state when wrap-up occurs

LOGLEVEL

TRACE

Log Level 

GC_HEARTBEAT_TIMEOUT

10000 

GC heartbeat timeout

USE_ENCRYPTED_PASSWORDS

true

Use password encryption (3Des). (Must be same as in client.)

CHANGE_STATE_ON_WRAPUP

true

Caller’s state change automatically on wrap-up

MESSAGE_FORMATJSONMessage 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_INTERVAL3Interval in seconds between XMPP server pings
ADMIN_IDAdministratorThe username of the administrator account the would be used for phonebook and contact APIs
ADMIN_PASSWORDExpertflow464The password of the administrator account would be used for phonebook and contact APIs
SUPERVISOR_INITIATED_NOTRAADYREASONCODE19Reason code for supervisor state change to Not_Ready

SUPERVISOR_INITIATED_LOGOUTREASONCODE

20Reason code for supervisor state change to Log_Out
UCCX_SERVER_IP192.168.1.29For queue stats in case of UCCX
UCCX_SERVER_USERNAMEAdministrator
UCCX_SERVER_PASSWORDExpertflow464
UCCX_DB_USERNAMEuccxhruser
UCCX_DB_PASSWORD12345
UCCX_DB_RETRY_ATTEMPTS2
UCCX_DB_TIMEOUT_CONNECTION1800
COMMUNICATION_FORMATREST | JMS
SPRING_PORT8112
REDIS_URLredis-master.ef-cti.svc
REDIS_PORT6379
REDIS_PASSWORDExpertflow123
SQL_SERVER192.168.1.89For Skill groups and supervisor list
DATABASEuc12_awdb
DATABASE_TABLESkill_Group
DATABASE_USER_NAMEsa
DATABASE_USER_PASSWORDExpertflow464
KEY_STORE_TYPEPKCS12
KEY_STORED:\\EF_Project\\GC4.4\\Generic Connector\\certs\\store\\clientkeystore.p12
TRUST_STORED:\\EF_Project\\GC4.4\\Generic Connector\\certs\\store\\client.truststore
KEY_STORE_PASSWORDchangeit
TRUST_STORE_PASSWORDchangeit
PRIVATE_KEY_STRINGkey_value
ISSUERef-chat
EXPIRY300
PEP_BASE_PATHhttp://192.168.50.31:8113
AOP_CALLBACK/ef-voice/fnb-cme/submit-gc-event/v1
AXL_URLhttps://192.168.1.26:8443/axl/
AXL_USERadministrator
AXL_PASSWORDExpertflow464
LD_LIBRARY_PATH/app
TZAsia/Karachi
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.