Versions Compared

Key

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

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

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

  5. Open recording-solution/docker/config.env and update the following environment variable


    NameDescription
    1VRS_URL 

    https://192.168.1.101  [IP of a local machine]

    2LOCAL_MACHINE_IP

    192.168.1.101  [local machine IP since it is a non-HA deployment]

    3KC_HOSTNAMEKeycloak hostname e.g 192.168.1.101 
    4TZAsia/Karachi
    5TRUST_STORE_PATH

    /app/ssl/truststore.jks

    keep it same

    6TRUST_STORE_PASSWORDExpertflow464
    7CCX_PRIMARY_IPPrimary UCCX IP e.g 192.168.1.33
    8CCX_SECONDARY_IPSecondary UCCX IP e.g 192.168.1.33
    9CCX_ADMIN_USERNAMECCX Admin username
    10CCX_ADMIN_PASSWORDCCX Admin password
    11FINESSE_URLhttps://uccx12-5p.ucce.ipcc:8445
    12DIRECTORY_PATH_TO_MONITORThe path for archival process to monitor, it should be the same path where sessions are kept, mostly /home/efadmin/cucmRecording/sessions/ OR /usr/share/freeswitch/cucmRecording/sessions/
    13ARCHIVED_MEDIA_FILES_EXTENSIONmp4 #keep it same
    14FILE_EXTENSIONwav #keep it same
    15NO_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. 

    16SFTP_HOSTSFTP host IP for archival e.g 192.168.1.106
    17SFTP_PORT22
    18SFTP_USERNAMEUser name of the sftp server e.g expertflow
    19SFTP_PASSWORDSFTP password e.g Expertflow464
    20ARCHIVAL_JOB_INTERVALIt 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

    24
    22RETRY_LIMIT2
    23ARCHIVAL_PROCESS_NODEactive
    24NO_OF_DEL_DAYSNo 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. 
    25KEYCLOAK_CLIENT_IDName of the client e.g vrs
    26KEYCLOAK_CLIENT_SECRETit is a token or code which we need to add. We can get it from keycloak.
    27KEYCLOAK_REALM_NAMEName of the realm e.g vrs
    28KEYCLOAK_PERMISSION_GROUPPermission group e.g AGENT_GROUP
  6. Navigate to the recording solution directory and execute the following commands:

    Code Block
    # chmod 755 install.sh
    # ./install.sh

    Verify all the containers are up and healthy 

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

  8. Set up keycloak

  9. Once keycloak is set up, update below environment variables in 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

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

  11.  Run ./install.sh again

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

    Code Block
    # docker ps

  13. Go to https://VRS-IP/#/login to access the application.

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

Enviroment Variables

Name

Description

1

2