.Installation with Docker Compose Single Site v13.1

.Installation with Docker Compose Single Site v13.1

Solution Prerequisites

The following are the solution setup prerequisites.

Software requirements

 

Minimum requirement

 

Minimum requirement

OS

CentOS 7

MSSQLServer

2016

Docker CE

18+

Docker compose

1.21

Git

1.8+

Hardware requirements

 

Minimum requirement

 

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

    $ 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 SqlServer to create database and tables.  (recording-solution/db_schema_sqlserver.sql).

  6. Create an Application User in CUCM with Standard CTI Enabled Permission group. Add all devices that are supposed to be recording enabled to this user controlled devices list. This user will be used add JTAPI Observer to observe the call END events.

  7. Update the following environment variables in the files inside recording-solution/environment-variables folder.

    general-environment.env

    Name

    Description

    DB_URL

    VRS database connection URL

    jdbc:jtds:sqlserver://192.168.1.92:1433/vrs;user=sa;password=Expertflow464

    DB_DRIVER

    JDBC driver

    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, (VRS machine IP)

    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

    CUCM IP

    Cisco Call Manager IP

    CUCM_APPLICATION_USER_NAME

    CUCM Application user's username created in step 6.

    CUCM_APPLICATION_USER_PASSWORD

    CUCM Application user's password created in step 6.

    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 

    MAX_RING_TIME

    Maximum Call ring time on agent desktop, default is 30 seconds

    CALL_TIMEOUT

    Socket timeout for recording rtp packets, set it to 10

    THREAD_TIME

    Interval in seconds between two jobs that clears completed calls, set it 10

    ENCODED_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 path of the recording

    ARCHIVED_MEDIA_FILES_EXTENSION

    The archival process will archive recordings with this extension, set it to "wav"

    NO_OF_DAYS

    The number of days to keep recordings in the primary server. Recordings older than this value days will be archived

    SFTP_HOST

    SFTP hostname 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

    The 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

    VRS database user

    DB_PASSWORD

    Database password

    DB_NAME

    Database name

  8. Execute following commands to allow specific port required for voice recording. 

    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=16613-16617/tcp
    firewall-cmd --zone=public --permanent --add-port=8080-8081/tcp
    firewall-cmd --zone=public --permanent --add-port=8161-8162/tcp
     
    firewall-cmd --reload

  9. To change the default self-signed SSL certificates used with the application, replace server.crt and server.key files inside recording-solution/certificates folder.

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

     chmod 755 install.sh
    $ ./install.sh

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

    docker ps -a
  12. Create a SIP trunk in Cisco Call Manager with recorder being VRS machine. Follow this steps to configure sip trunk. Seek help from Call Manager administrator if you don't know what this is.

Troubleshooting

  1. If calls are not recorded, check the following things

    1. Verify SIP events are logged in in core-recorder service when call is connected. If events are not logged then it means SIP trunk is not configured properly or recording is not enabled on device.

    2. If SIP events are logged but still no recordings, search for No RTP payload received error in recorder logs, if there are such error then check if Recording Media Source  is set to Phone Preferred  in phone settings on CUCM.

    3. Make sure Built-in Bridge is enabled on phones.

    4. Check for any errors in Mixer services logs, calls may be recorded but not properly mixed.

    5. if core-recorder and Mixer services logs are okay still not recordings on UI, check apis logs for any error