Skip to main content
Skip table of contents

Upgrade Guide from 14.3 to 14.4 CISCO

If there is an active firewall, allow the following ports.

CODE
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
  1. Install sqlserver.

  2. 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.

  3. Migrate all data from mysql to sqlserver.

  4. Stop and remove all the VRS containers and images running in the docker.

  5. Update your record.lua. Download this file record.lua.

  6. Navigate to the script directory "/usr/local/freeswitch/scripts/" or "/usr/share/freeswitch/scripts/" and paste this file.

  7. Navigate to the recording-solution/docker directory

  8. Open docker-compose-cisco.yml file.

  9. In this file, comment out the keycloak, mysql, and activemq containers.

  10. Also remove the environment variables from all containers in the same file.

  11. Add consul container give below in case you deploying for HA

CODE
#  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
  1. In the environment of consul add the CONSUL_BIND_INTERFACE of your VM. This can be found in using ifconfig or ip address command

  2. 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

  3. Mount the following paths to the backend-apis container.

CODE
 ...  
   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/
  1. Remove mysql dependency in the containers in docker-compose-cisco.yml

CODE
#Remove following dependency in docker-compose-cisco.yml

mysql:
condition: service_healthy
  1. Save the changes and exit

  2. 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

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.