Skip to main content
Skip table of contents

Installation steps

Installation Steps

Internet should be available on the machine where the application is being installed and connections on port 9242 should be allowed in the network firewall to carry out the installation steps.

All the commands start with a # indicating that root user privileges are required to execute these commands. Trailing # is not a part of the command.

Allow ports in the firewall

If there is an active firewall, allow the following ports.

CODE
443/tcp
8088/tcp
5060/tcp
16386-32768/udp

Installation Steps

  1. Follow this guide to install and configure Freeswitch. The recording path should be /usr/share/freeswitch/cucmRecording

  2. Please make sure that Solution Prerequisites are met for the desired deployment type. 

  3. Download the deployment script deployment.sh and place it in the user’s home or any desired directory. This script will:

    1. delete the recording-solution directory if it exists.

    2. clone the required files for deployment

  4. To execute the script, give it the execute permissions and execute it. This command will clone the skeleton project for the recording solution. the recording-solution directory contains all the required files for deployment.

    BASH
    $ chmod 755 deployment.sh
    $ ./deployment.sh
  5. Open recording-solution/docker/config.env and update the environment variables given below.

Name

Description

1

VRS_URL

URL of a local machine. example, https://192.168.1.101

2

LOCAL_MACHINE_IP

Local machine IP since it is a non-HA deployment. example 192.168.1.101

3

KC_HOSTNAME

Keycloak hostname where keycloak is hosted. e.g 192.168.1.101

4

TZ

Time Zone. e.g Asia/Karachi

5

TRUST_STORE_PATH

/app/ssl/truststore.jks. [keep it same]

6

TRUST_STORE_PASSWORD

Password for the trust store. [Expertflow464]

7

CCX_PRIMARY_IP

Primary UCCX IP address. e.g 192.168.1.33

8

CCX_SECONDARY_IP

Secondary UCCX IP e.g 192.168.1.33

9

CCX_ADMIN_USERNAME

CCX Admin username

10

CCX_ADMIN_PASSWORD

CCX Admin password

11

FINESSE_URL

https://uccx12-5p.ucce.ipcc:8445

12

DIRECTORY_PATH_TO_MONITOR

The path for archival process to monitor, it should be the same path where sessions are kept. e.g /usr/share/freeswitch/cucmRecording/sessions/

13

ARCHIVED_MEDIA_FILES_EXTENSION

mp4 [keep it same]

14

FILE_EXTENSION

wav [keep it same]

15

NO_OF_DAYS

No of days before which all the files will be archived. If set 2, then except for last 2 days from the date and time of service started or triggered all the files will be archived. 

16

SFTP_HOST

SFTP host IP for archival e.g 192.168.1.106

17

SFTP_PORT

22

18

SFTP_USERNAME

Username of the SFTP server e.g expertflow

19

SFTP_PASSWORD

SFTP password e.g Expertflow464

20

ARCHIVAL_JOB_INTERVAL

It is a duration that tells the service to trigger again. This value is in hours. For example, if set 24 the service would be triggered after 24 hrs to get the desired job done.

21

STEAM_DELETION_JOB_INTERVAL_HRS

Time in hours before which all the stream is to be deleted. e.g 24

22

RETRY_LIMIT

limit to retry in case the connection fails. e.g 2

23

ARCHIVAL_PROCESS_NODE

active

24

NO_OF_DEL_DAYS

No of days before which all the streams will be deleted. If set 2, then except for last 2 days from the date and time of service started or triggered all the files will be deleted. 

25

KEYCLOAK_CLIENT_ID

Name of the client e.g vrs [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ]

26

KEYCLOAK_CLIENT_SECRET

it is a token or code which we need to add. We can get it from keycloak. [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ]

27

KEYCLOAD_REALM_NAME

Name of the realm e.g vrs [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ]

28

KEYCLOAK_PERMISSION_GROUP

Permission group e.g AGENT_GROUP [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ]

  1. Navigate to the recording solution directory and execute the following commands:

    CODE
    # chmod 755 install.sh
    # ./install.sh

    Verify all the containers are up and healthy 

  2. Verify if the keycloak container is healthy (docker ps), if it is on restarting, kill  (docker kill keycloak) and remove (docker rm keycloak) the keycloak container then run ./install.sh. Wait for keycloak container to become healthy.

  3. Set up keycloak

  4. Once keycloak is set up, update the below environment variables in the recording-solution/docker/config.env file. 


    NameDescription
    1KEYCLOAK_REALM_NAMERealm name created in step 4 of keycloak setup
    2KEYCLOAK_CLIENT_IDKeycloak client id from step 6 of keycloak setup
    3KEYCLOAK_CLIENT_SECRETKeycloak client secret from step 8 of keycloak setup
    4KEYCLOAK_PERMISSION_GROUPKeep it same
  5. To update the self-signed certificates for VRS, get the public authority or domain signed certificate .crt and .key files, name them server.crt and server.key, and replace the files in /recording-solution/config/certificates with these two new files. Names should be exactly the same.

  6.  Run ./install.sh again

  7. Run the following command to ensure all the components are running. 

    CODE
    # docker ps
  8. Go to https://VRS-IP/#/login to access the application.

  9. Configure the SIP trunk to enable CUCM to send SIP events to VRS for call recordings. Two sip trunks should be configured in case of HA.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.