Versions Compared

Key

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

...

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

  2. Download the deployment script

    View file
    namedeployment.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

  3. 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
  4. Follow step 5 to 8 for deployment with Cisco UCCX or UCCE in non-HA (non- High Availability) mode.

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

  6. Follow this guide to create an application user on CUCM for jtapi-connector.

  7. Open recording-solution/docker/config.env and update the environment variables given below.

...

  1. 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 the same.

  2.  Run ./install-efcx.sh for EFCX Or run ./install-cisco.sh for Cisco UCCX and UCCE.

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

    Code Block
    # docker ps
  4. In case of Cisco go to https : //VRS-IP/#/login to access the application, whereas for EFCX go to https://VRS-IP:444/#/login.

  5. 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. (Not for EFCX)

For HA (High Availability)

Ask the IT team to provide and configure NFS server for recording storage

  1. Open recoding-solution/docker/docker-compose-cisco

  2. Uncomment the Consul Container and save the changes

  3. Open recoding-solution/docker/config.env

  4. Add url for the consul

Code Block
PEER_ADDRESS= <IP of second VRS>
HA_MODE=true
  1. Change the recording path should be /mnt/nfs/vrs-recording/cucmRecording

  2. In the config.env

Code Block
DIRECTORY_PATH_TO_MONITOR= /mnt/nfs/vrs-recordings/cucmRecording/streams/
  1. Change the following in the docker-compose-cisco

  • Archival Container

Code Block
volumes:
      - /mnt/nfs/vrs-recordings/cucmRecording/streams/:/mnt/nfs/vrs-recordings/cucmRecording/streams/
      - /mnt/nfs/vrs-recordings/cucmRecording/sessions/:/mnt/nfs/vrs-recordings/cucmRecording/sessions/
  • Apis/Backend Contianer

Code Block
volumes:
      - /mnt/nfs/vrs-recordings/cucmRecording/sessions/:/mnt/nfs/vrs-recordings/cucmRecording/sessions/
  • Mixer Container

Code Block
volumes:
      - /mnt/nfs/vrs-recordings/cucmRecording/streams/:/mnt/nfs/vrs-recordings/cucmRecording/streams/
      - /mnt/nfs/vrs-recordings/cucmRecording/sessions/:/mnt/nfs/vrs-recordings/cucmRecording/sessions/
  1. Open the freeswitch script record.lua located in the /usr/share/freeswitch/scripts and make the following changes

Code Block
recording_dir = '/mnt/nfs/vrs-recordings/cucmRecording/streams/'
mixedRecordingDir = "/mnt/nfs/vrs-recordings/cucmRecording/sessions/"
  1. Give required permission

Since our VRS interacts with local storage, it reads and writes files on the local storage. Pemission to read and write is thus necessary for the VRS to work.

Assign full permission to the mounted directory for all group, users and others to read, write and execute the mounted directory. It can be done with umask.

  1. Do the same for the other VRS

*Nginx service is running on port 443 in case of UCCX or UCCE, and for EFCX it is running on port 444.

...