...
Please make sure that Solution Prerequisites are met for the desired deployment type.
Download the deployment script
and place it in the user’s home or any desired directory. This script will:View file name deployment.sh delete the recording-solution directory if it exists.
clone the required files for deployment
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 language bash $ chmod 755 deployment.sh $ ./deployment.sh
Follow the Section 2 for the deployment of HA VRS at the end of this document.
Follow step 5 to 8 for deployment with Cisco UCCX or UCCE in non-HA (non- High Availability) mode.
Follow
to install and configure Freeswitch. The recording path should bethis guide /usr/share/freeswitch/cucmRecording
Follow this guide to create an application user on CUCM for jtapi-connector.
Open recording-solution/docker/config.env and update the environment variables given below.
...
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.
Run ./install-efcx.sh for EFCX Or run ./install-cisco.sh for Cisco UCCX and UCCE.
Run the following command to ensure all the components are running.
Code Block # docker ps
In case of Cisco go to https : //VRS-IP/#/login to access the application, whereas for EFCX go to https://VRS-IP:444/#/login.
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)
Section 2
For HA (High Availability)
Ask the IT team to provide and configure NFS server for recording storage
Follow this guide to create an application user on CUCM for jtapi-connector.
Open
recoding-solution/docker/docker-compose-cisco
Uncomment the Consul Container and save the changes
Open
recoding-solution/docker/config.env
Add url for the consul
...
Change the recording path in the following steps which should be
/mnt/nfs/vrs-recording/cucmRecording
or and other variables as per your configuration.In the config.env
Code Block |
---|
DIRECTORY_PATH_TO_MONITOR= /mnt/nfs/vrs-recordings/cucmRecording/streams/
CUCM_APPLICATION_USER_NAME=rafay
CUCM_APPLICATION_USER_PASSWORD=Expertflow464 |
Change the following in the docker-compose-cisco
Archival Container add the volumes a
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/
environment:
- DB_URL=jdbc:mysql://mysql:3306/vrs?user=root&password=Expertflow464
- DB_DRIVER=com.mysql.jdbc.Driver |
In Apis/Backend Container add the following volumevolumes and database configuration
Code Block |
---|
volumes: - /mnt/nfs/vrs-recordings/cucmRecording/sessions/:/mnt/nfs/vrs-recordings/cucmRecording/sessions/ environment: - DB_DRIVER=com.mysql.cj.jdbc.Driver - DB_ENGINE=mysql - KEYCLOAK_URL=http://keycloak:8080/ - DB_HOST=192.168.1.106 - DB_NAME=vrs - DB_USER=root - DB_PASSWORD=Expertflow464 |
In Mixer Container add the following volumes and database configuration
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/
environment:
- DB_HOST=192.168.1.106
- DB_NAME=vrs
- DB_USER=root
- DB_PASSWORD=Expertflow464 |
In Jtapi Container add the database configuration
Code Block - DB_HOST=192.168.1.106 - DB_NAME=vrs - DB_USER=root - DB_PASSWORD=Expertflow464 - DB_DRIVER=com.mysql.jdbc.Driver
Open the freeswitch script record.lua located in the
/usr/share/freeswitch/scripts
and make the following changes
...
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.
Open the config.env
run the install script. ./install-cisco.sh
Do the same for the other VRS
...