...
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 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)
For HA (High Availability)
Ask the IT team to provide and configure NFS server for recording storage
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
Code Block |
---|
PEER_ADDRESS= <IP of second VRS>
HA_MODE=true |
Change the recording path should be
/mnt/nfs/vrs-recording/cucmRecording
In the config.env
Code Block |
---|
DIRECTORY_PATH_TO_MONITOR= /mnt/nfs/vrs-recordings/cucmRecording/streams/ |
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/ |
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/" |
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.
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.
...