If there is an active firewall, allow the following ports.
8021/tcp
1433 /tcp
# Additional port to open in case of High Avaliability (HA)
8500
8300
8301 /tcp/udp
8302 /tcp/udp
8303 /tcp/udp
8600 /tcp/udp
-
Install sqlserver.
-
Create a database in SQL Server for VRS with the name vrs and run the SQL script (sqlserver.sql) located in
recording-solution/data/scripts. This script will generate the required database tables. -
Migrate all data from mysql to sqlserver.
-
Stop and remove all the VRS containers and images running in the docker.
-
Update your record.lua. Download this file record.lua.
-
Navigate to the script directory "/usr/local/freeswitch/scripts/" or "/usr/share/freeswitch/scripts/" and paste this file.
-
Navigate to the recording-solution/docker directory
-
Open docker-compose-cisco.yml file.
-
In this file, comment out the keycloak, mysql, and activemq containers.
-
Also remove the environment variables from all containers in the same file.
-
Add consul container give below in case you deploying for HA
# consul:
# image: hashicorp/consul
# container_name: consul1
# network_mode: host
# env_file:
# - ${PWD}/docker/config.env
# ports:
# - "8500:8500"
# - "8300:8300"
# - "8301:8301"
# - "8302:8302"
# - "8303:8303"
# - "8600:8600/udp"
# environment:
# - CONSUL_BIND_INTERFACE=ens192
# command: "agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -advertise=${LOCAL_MACHINE_IP} -bootstrap-expect=2 -retry-join=${PEER_ADDRESS}"
# restart: always
-
In the environment of consul add the
CONSUL_BIND_INTERFACEof your VM. This can be found in usingifconfigorip addresscommand -
Update all the tags. Add 14.4 in the image of all containers such as jtapi-connector, front-end, mixer, backend-apis for example:
image: gitlab.expertflow.com:9242/voice-recording-solution/jtapi-connector:14.4 -
Mount the following paths to the backend-apis container.
...
volumes:
...
- /app/files/wav/decryptionCache/:/app/files/wav/decryptionCache/
- /screen_recording:/screen_recording
- ${PWD}/logs/APIs/:/var/log/EF/VRS/REST/
- ${PWD}/ssl/:/app/ssl/
-
Remove mysql dependency in the containers in docker-compose-cisco.yml
#Remove following dependency in docker-compose-cisco.yml
mysql:
condition: service_healthy
-
Save the changes and exit
-
Open config.env and tally all the following env variables. If any of env is missing add it your config.env.
|
Name |
Description |
|
|---|---|---|
|
1 |
PEER_ADDRESS |
Add the IP or FQDN of Second Recorder VM (For HA) |
|
2 |
JTAPI_HA_MODE |
Set it true for HA and false for Non HA |
|
3 |
SCREEN_RECORDING |
If Screen recording is enabled set it true otherwise false |
|
4 |
CONSUL_URL |
(Only for CISCO HA) Add the ip address with port 8500 of you local machine http://192.168.1.101:8500 |
We need EFCX instance for the keycloak environment variables.
|
|
Names |
Description |
|---|---|---|
|
1 |
KEYCLOAK_REALM_NAME |
Add new Realm name from EFCX keycloak. |
|
2 |
KEYCLOAK_CLIENT_ID |
Add new KeyCloak client id from EFCX keycloak |
|
3 |
KEYCLOAK_CLIENT_SECRET |
Add the new client secret from EFCX keycloak |
|
4 |
KEYCLOAK_PERMISSION_GROUP |
AGENT_GROUP |
|
5 |
KEYCLOAK_URL |
Add new FQDN of CX or URL of Keycloak |
|
6 |
EFCX_FQDN |
Add new FQDN of CX. It is used in case of Cisco HA and EFCX Profiles. For Non-HA Cisco, container based KC used |
Add Following environment variables for pause and resume recording.
Follow this guide to configure ESL and add the following environment variables
|
|
Names |
Description |
|---|---|---|
|
1 |
ESL_HOST |
IP address of the Recorder Machine |
|
2 |
ESL_PORT |
Port of the Record where ESL commonly used 8021 |
|
3 |
ESL_PASSWORD |
Password of ESL |
|
4 |
REC_PATH_STREAMS |
Path where streams are saved e.g /var/vrs/recordings/cucmRecording/streams |
Update the new Database (SQL Server) environment variables in config.env.
|
|
Name |
Description |
|---|---|---|
|
1 |
DB_DRIVER |
Driver on which database is running i.e postgres, mysql or sqlserver drive |
|
2 |
DB_ENGINE |
Engine on which database is running i.e postgres, mysql or sqlserver |
|
3 |
DB_HOST |
Name or ip of the host on which database is active |
|
4 |
DB_NAME |
Name of the database. In case of EFCX it can be fetch from config.conf on this path /etc/fusionpbx/ |
|
5 |
DB_USER |
Username for database. In case of EFCX it can be fetch from config.conf on this path /etc/fusionpbx/ |
|
6 |
DB_PASSWORD |
Password for the database. In case of EFCX it can be fetch from config.conf on this path /etc/fusionpbx/) |
|
8 |
DB_PORT |
Port of the Database |
Save the changes and exit
run ./install-cisco and check you container using docker ps command