...
The following are the solution setup prerequisites.
Software requirements
Minimum requirement | |
---|---|
OS | CentOS 7 |
MySQL
MSSQLServer | 2014 |
---|---|
Docker CE | 18+ |
Docker compose | 1.21 |
Hardware requirements
Minimum requirement | |
---|---|
CPU | 4 cores |
RAM | 4 GB |
Disk | 300 GB |
NICs | 1 NIC per VM |
Installation Steps
- Install Docker and Docker Compose on the host operating system.
- Download the deployment script deployment.sh and place it in the user home or any desired directory. This script will:
- delete the recording-solution directory if it exists.
To execute the script, give it the execute permissions and execute it.
Code Block language bash $ chmod 755 deployment.sh $ ./deployment.sh
change to newly created directory with name recording-solution. This directory contains all the required files.
- Run SQL script in MySQL SqlServer to create database and tables. (recording-solution/db_schema_sqlserver.sql).
Update the following environment variables in environment_variables.env file in the files inside recording-solution/environment-variables folder.
Open docker-compose file inside recording-solution folder and environment variable named KAFKA_ADVERTISED_HOST_NAME of service named kafka. This variable will hold local machine IP where VRS is going to deploy.
url, (general-environment.env Name
Description
DB_URL
VRS database connection
mysqlURL
jdbc:
225jtds:sqlserver://192.168.1.
330692:
)1433/vrs
DB_USER
VRS database user
VRS database passwordDB_PASSWORD
(com.mysql.jdbc.Driver);user=sa;password=Expertflow464
DB_DRIVER
JDBC driver
DB_DIALECT
org.hibernate.dialect.MySQL5Dialect
UCCE AWDB database connection URL.UCCE_AWDB_URL
jdbc:jtds:sqlserver://IP:PORT/ucce_awdb_name;user=sa;password=db-passwordKAFKA_TOPICS Kafka topics, set it to "vrs"net.sourceforge.jtds.jdbcx.JtdsDataSource
CC_TYPE Cisco Contact center type (UCCX or UCCE) TZ Timezone (Asia/Karachi) ENCRYPTION_ENABLED To enable/disable recorded file encryption
true = enabled
false = disabled
AMQ_PRIMARY Primary ActiveMQ URL, tcp://192.168.1.242:61616
AMQ_SECONDARY Secondary ActiveMQ URL, Keep it same as primary if ActiveMQ not available in HA AMQ_TIMEOUT 3000, keep it same AMQ_RANDOMIZE false, keep it same AMQ_PRIORITY_BACKUP true, keep it same LOCAL_MACHINE_IP VRS machine IP KAFKA_URL
Change the IP part of this variable, IP will be VRS machine IP
NumberCUCM IP Cisco Call Manager IP TIME_CUSHION The number of seconds to add to the start and end time of call when calling API from CIM. There are few seconds difference between CIM interaction's start and end time and recording solution start and end time since CIM fetch interactions from Finesse while recording solution gets time from CUCM ZOMBIE_TIMER Time is minutes to clear dangling calls. set it to 1 CALL_TIMEOUT Time in milliseconds to clear call after BYE invite is received, set it to 20000 THREAD_TIME Interval in milliseconds between two jobs that clears dangling records, set it to 15000 ENCRYPTION_ENABLED To enable/disable recorded file encryption
true = enabled
false = disabled
WAV_CONVERSION It's value should always be 0
recordingsENCODED_FILE_EXTENSION Extension to use with encryption file. It should be set to "enc" DIRECTORY_PATH_TO_MONITOR This and following 9 variables are used for the archival process. This variable will hold the
Archivalpath of the recording ARCHIVED_MEDIA_FILES_EXTENSION
NumberThe archival process will archive recordings with this extension, set it to "wav" NO_OF_DAYS
host nameThe number of days to keep recordings in the primary server. Recordings older than this value days will be archived SFTP_HOST SFTP
Sharedhostname or IP SFTP_PORT SFTP port SFTP_USERNAME SFTP username SFTP_PASSWORD SFTP password ARCHIVAL_JOB_INTERVAL Archival process will run every this values seconds and archive any pending archival recordings RETRY_LIMIT Number of retries on pending archival recording folders ARCHIVE_PATH
passwordThe shared path on the archival server where archival process archive recordings ARCHIVE_PATH_USER Archive path's machine user ARCHIVE_PATH_PASS Archive path's machine password UCCE_DB_URL UCCE awdb database connection URL, used for UCCE deployment only.
jdbc:jtds:sqlserver://192.168.1.87:1433/ucce_awdb;user=sa;password=Expertflow464
Used for UCCX deployment only... UCCX_URL UCCX URL, used for fetching agent details, https://192.168.1.101
UCCX_USERNAME UCCX user, should have privileges to fetch agents UCCX_PASSWORD UCCX user password ui-environment.env DB_IP VRS database machine IP DB_USER DB_PASSWORD DB_NAME VRS_URL LOCAL_URL Execute following commands to allow specific port required for voice recording.
Code Block $ firewall-cmd --zone=public --permanent --add-port=5060/tcp firewall-cmd --zone=public $--permanent --add-port=16384-18768/udp firewall-cmd --zone=public --permanent --add-port=1638616613-32768/udp $16617/tcp firewall-cmd --zone=public --permanent --add-port=8080-8081/tcp firewall-cmd --zone=public --permanent --add-port=90928161-8162/tcp $ firewall-cmd --reload
Having environment configurations done, navigate to to the
recording-solution
directory and execute the following commands:Code Block language bash $ chmod 755 docker_deployment_scriptinstall.sh $ ./docker_deployment_scriptinstall.sh
Run the following command to ensure that all the components are up and running:
Code Block language bash $ docker ps -a