Installation with Docker-compose

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

To start the firewall (if it isn't started already), execute the following commands:  

# systemctl enable firewalld
# systemctl start firewalld

To allow the ports on firewall, you can execute the following commands. (Run on both machines in case of HA). 

# firewall-cmd --add-port=443/tcp --permanent
# firewall-cmd --add-port=8088/tcp --permanent
# firewall-cmd --add-port=5060/tcp --permanent 
# firewall-cmd --add-port=16386-32768/udp --permanent 
# firewall-cmd --reload

Installation Steps

  1. Follow this guide to install and configure Freeswitch
  2. Please make sure that Solution Prerequisites are met for the desired deployment type. 
  3. 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.
    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 recording solution. the recording-solution directory contains all the required files for deployment.

    $ chmod 755
    $ ./
  5. Execute the following commands inside current directory. 

    # chmod 755
    # ./
  6. Check if keycloak container is healthy, if it is on restarting, kill  (docker rm keycloak) and remove (docker rm keycloak) the keycloak container then run ./ Wait for keycloak container to become healthy.
  7. Set up keycloak
  8. Once keyclaok is set up, update below environment variables in recording-solution/docker/config.env file. 


    Update the IP in this variable's value. It should be VRS machine IP.



    UCCX Finesse URL with port


    KEYCLOAK_REALM_NAMERealm name created in step 4 of keycloak setup
    KEYCLOAK_CLIENT_IDKeycloak client id from step 6 of keycloak setup
    KEYCLOAK_CLIENT_SECRETKeycloak client secret from step 8 of keycloak setup
    KEYCLOAK_URLkeep default
    KEYCLOAK_PERMISSION_GROUPKeycloak Group from step 12 of keycloak setup


    Primary/Publisher UCCX IP


    Secondary/Subscriber UCCX IP


    UCCX admin username


    UCCX admin password


    The SSL truststore path, the truststore on this path must have the Finesse SSL certificate imported.

    Do not change this, instead place the created/updated truststore inside recording-solution/ssl folder.


    The password for the truststore that has the Finesse certificate imported.
  9. 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 same.
  10.  Run ./ again
  11. Run the following command to ensure that all the components are up and running. 

    # docker ps
  12. Go to https://VRS-IP/#/login to access the application.
  13. Configure SIP trunk to enable CUCM to send SIP events to VRS for call recordings