Versions Compared

Key

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

Solution Prerequisites

The following are the solution setup prerequisites.

Software requirements


Minimum requirement

OS

CentOS 7

MySQL

5.5+

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

  1. Install Docker and Docker Compose on the host operating system.
  2. Download the deployment script deployment.sh and place it in the user home or any desired directory. This script will:
    1. delete the recording-solution directory if it exists.
  3. To execute the script, give it the execute permissions and execute it. 

    Code Block
    languagebash
    $ chmod 755 deployment.sh
    $ ./deployment.sh


  4. change to newly created directory with name recording-solution. This directory contains all the required files.

  5. Run SQL script in MySQL to create database and tables.  (recording-solution/db_schema.sql).
  6. Update following environment variables  in environment_variables.env file inside recording-solution folder.

    Name

    Description

    DB_URL

    VRS database connection url, (jdbc:mysql://192.168.1.225:3306/vrs)

    DB_USER

    VRS database user

    DB_PASSWORD

    VRS database password

    DB_DRIVER

    JDBC driver (com.mysql.jdbc.Driver)

    DB_DIALECT

    org.hibernate.dialect.MySQL5Dialect

    UCCE_AWDB_URL

    UCCE AWDB database connection URL.
    jdbc:jtds:sqlserver://IP:PORT/ucce_awdb_name;user=sa;password=db-password

    LOCAL_MACHINE_IP

    VRS machine IP

    KAFKA_URL

    Change the IP part of this variable, IP will be VRS machine IP

    KAFKA_TOPICSKafka topics, set it to "vrs"
    TIME_CUSHIONNumber of seconds to add to 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_TIMERTime is minutes to clear dangling calls. set it to 1
    CALL_TIMEOUTTime in milliseconds to clear call after BYE invite is received,set it to 20000
    THREAD_TIMEInterval 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_CONVERSIONIt's value should always be 0
    ENCODED_FILE_EXTENSIONExtension to use with encryption file. It should be set to "enc"
    DIRECTORY_PATH_TO_MONITORThis and following 9 variables are used for archival process. This variable will hold the recordings path
    ARCHIVED_MEDIA_FILES_EXTENSIONArchival process will archive recordings with this extension, set it to "wav"
    NO_OF_DAYSNumber of days to keep recordings in primary server. Recordings older than this value days will be archived
    SFTP_HOSTSFTP host name or IP
    SFTP_PORTSFTP port
    SFTP_USERNAMESFTP username
    SFTP_PASSWORDSFTP password
    ARCHIVAL_JOB_INTERVALArchival process will run every this values seconds and archive any pending archival recordings
    RETRY_LIMITNumber of retries on pending archival recording folders
    ARCHIVE_PATHShared path on archival server where archival process archive recordings
    ARCHIVE_PATH_USERArchive path's machine user
    ARCHIVE_PATH_PASSArchive path's machine password


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

  8. 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=16386-32768/udp
    
    $ firewall-cmd --zone=public --permanent --add-port=9092/tcp
    
    $ firewall-cmd --reload


  9. Having environment configurations done,  navigate to to the recording-solution directory and execute following commands: 

    Code Block
    languagebash
    $  chmod 755 docker_deployment_script.sh
    $ ./docker_deployment_script.sh


  10. Run the following command to ensure that all the components are up and running: 

    Code Block
    languagebash
    $ docker ps -a


    Image Added

Troubleshooting