Upgrade Guide from 14.3 to 14.4 CISCO
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_INTERFACE
of your VM. This can be found in usingifconfig
orip address
commandUpdate 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