Versions Compared

Key

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

...

The following are the solution setup prerequisites.

Software requirements


Minimum requirement

OS

CentOS 7

MySQL

5.5+

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

  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 SqlServer to create database and tables.  (recording-solution/db_schema_sqlserver.sql).
  6. Update the following environment variables  in environment_variables.env file in the files inside recording-solution/environment-variables folder.

    general-environment.env

    Name

    Description

    DB_URL

    VRS database connection

    url, (

    URL

    jdbc:
    mysql
    jtds:sqlserver://192.168.1.
    225
    92:
    3306
    1433/vrs
    )

    DB_USER

    VRS database user

    DB_PASSWORD

    VRS database password
    ;user=sa;password=Expertflow464

    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-passwordKAFKA_TOPICSKafka topics, set it to "vrs"

    net.sourceforge.jtds.jdbcx.JtdsDataSource


    CC_TYPECisco Contact center type (UCCX or UCCE)
    TZTimezone (Asia/Karachi)
    ENCRYPTION_ENABLED

    To enable/disable recorded file encryption

    true = enabled

    false = disabled

    AMQ_PRIMARYPrimary ActiveMQ URL, 
    tcp://192.168.1.242:61616
    AMQ_SECONDARYSecondary ActiveMQ URL, Keep it same as primary if ActiveMQ not available in HA
    AMQ_TIMEOUT3000, keep it same
    AMQ_RANDOMIZEfalse, keep it same
    AMQ_PRIORITY_BACKUPtrue, keep it same
    LOCAL_MACHINE_IPVRS machine IP

    KAFKA_URL

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

    CUCM IPCisco Call Manager IP
    TIME_CUSHION
    Number
    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_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 the archival process. This variable will hold the
    recordings
    path of the recording
    ARCHIVED_MEDIA_FILES_EXTENSION
    Archival
    The archival process will archive recordings with this extension, set it to "wav"
    NO_OF_DAYS
    Number
    The number of days to keep recordings in the primary server. Recordings older than this value days will be archived
    SFTP_HOSTSFTP
    host name
    hostname 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_PATH
    Shared
    The shared path on the archival server where archival process archive recordings
    ARCHIVE_PATH_USERArchive path's machine user
    ARCHIVE_PATH_PASSArchive path's machine
    password
    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.
    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_URLUCCX URL, used for fetching agent details, 
    https://192.168.1.101
    UCCX_USERNAMEUCCX user,  should have privileges to fetch agents
    UCCX_PASSWORDUCCX user password
    ui-environment.env
    DB_IPVRS database machine IP
    DB_USER
    DB_PASSWORD
    DB_NAME
    VRS_URL
    LOCAL_URL


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


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

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


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

    Code Block
    languagebash
    $ docker ps -a


    Image RemovedImage Added

Troubleshooting