Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 Block
git

...

 clone -b 4.4.12 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cti/gc_k3s_deployment.git

2. Change to the directory.

Code Block
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 Block
kubectl create namespace ef-cti-voice

ActiveMQ

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

Code Block
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 Block
<service-name>:Port Number // e.g- ef-cti-amq-svc:61616

ConfigMaps

apply  the configmap in ConfigMaps folder using

Code Block
kubectl apply -f Configmap/

Services

Create service for  deployment of generic components

Code Block
kubectl apply -f Services/

Deployments

apply the Deployment manifests 

Code Block
kubectl apply -f Deployment/

Step 43: Update the FQDN

1. Decide the FQDN to be used in your solution and change the the <FQDN> to  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 Block
kubectl apply -f Ingress/nginx

...

Code Block
kubectl apply -f Ingress/traefik

 ActiveMQ

 ActiveMQ should be deployed before all other solution components. To deploy ActiveMQ asStatefulSet run

Code Block
kubectl apply -f cim/StatefulSet/

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

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_URL

https://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_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

administrator@ucce.ipcc


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

http://192.168.50.31:8113


AOP_CALLBACK

/ef-voice/fnb-cme/submit-gc-event/v1


AXL_URL

https://192.168.1.26:8443/axl/


AXL_USER

administrator


AXL_PASSWORD

Expertflow464


THREAD_POOL_COUNT

2000


LD_LIBRARY_PATH

/app


TZ

Asia/Karachi