Skip to main content
Skip table of contents

VRS Upgrade Guide

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

  2. Navigate to the recording-solution/docker directory

  3. Open docker-compose-efcx.yml file.

  4. Update all the tags. Add 14.6 in the image of all VRS containers such as front-end, backend-apis for example:
    image: gitlab.expertflow.com:9242/voice-recording-solution/apis:14.6

  5. Open <your instalation folder name>/docker/config.env and tally all the following env variables. Remove the following variables.

Name

Description

1

LOCAL_MACHINE_IP

Local server IP, we don't need that

2

KEYCLOAK_REALM_NAME

Realm name from EFCX keycloak. Add “expertflow

3

KEYCLOAK_CLIENT_ID

KeyCloak client id from EFCX keycloak. Add “cim”

4

KEYCLOAK_CLIENT_SECRET

Copy it from Realm>Clients>cim>Credentials

5

KEYCLOAK_URL

FQDN of EFCX e.g. https://efcx-fqdn.expertflow.com

  1. The Following variables will be added/updated in the config.env file. Open the config.env file.

Name

Description

1

VRS_URL

Update the value to http

2

LOCAL_MACHINE_URL

FQDN that is mapped to Media Server IP on 444 port. e.g. vrs.expertflow.com:444 (only uses for on prem single tenant deployment)

3

ROOT_DOMAIN

Root Domain of the VRS ngnix, eg vrs.expertflow.com (value will be Realm Name for on prem deployment)

4

TENANT_URL

CX Tenant url to fetch tenats eg (https://tenant4.expertflow.com/cx-tenant/tenant)
We can add any of the FQDN that is mapped in EFCX in place of TENANT_URL

5

CX_ROOT_DOMAIN

Root domain of the CX Solution eg (expertflow.com) (value will be “NIL“ for On prem deployment)

6

9. The root domain vrs.expertflow.com should be mapped to the IP address of the VRS server. Ask IT to configure this simply map a FQDN to the Media Server IP on 444 port to access VRS.

  1. Once the containers get up the VRS Application should be accessible on https://vrs.expertflow.com:444/#/login

  2. For EFCX Deployment. the line <param name="url" value="http://127.0.0.1/app/xml_cdr/xml_cdr_import.php"/> in the xml_cdr.conf.xml file should be uncommented. run the following command to open the xml_cdr.conf.xml and uncomment the above line.

    CODE
        nano /etc/freeswitch/autoload_configs/xml_cdr.conf.xml

    Once the file is open then uncomment the line, and save it. then restart the Freeswtich. systemctl restart freeswitch

  3. Go to the path where VRS is deployed. eg /recording-solution/config/nginx/conf.d/)
    Run the below command:

    CODE
    nano /config/nginx/conf.d/https.conf

Once the file is open, paste the following content and close it.

CODE
upstream frontend {
    server front-end:8080;
}

upstream vrs {
    server vrs-apis:8080;
}

server {
    listen 443 ssl;
    server_name vrs.expertflow.com;

    ssl_certificate           /etc/nginx/certificates/server.crt; 
    ssl_certificate_key       /etc/nginx/certificates/server.key;
    ssl_session_cache         builtin:1000  shared:SSL:10m;
    ssl_protocols             TLSv1.1 TLSv1.2;
    ssl_ciphers               HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/https.access.log;

    # Set common proxy headers globally
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;

    location = / {
        proxy_pass http://frontend;
        add_header X-XSS-Protection "1; mode=block" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Referrer-Policy "no-referrer-when-downgrade" always;
        add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'; media-src * blob:;" always;
    }

    location ^~ /auth {
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
        add_header Content-Security-Policy "default-src 'self'; frame-ancestors 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src *;";
        add_header X-Content-Type-Options nosniff;
        proxy_pass http://frontend;
    }

    location ~ ^/assets/(.*) {
        proxy_pass http://frontend/assets/$1;
    }

    location ~ ^/content/(.*) {
        proxy_pass http://frontend/content/$1;
    }

    location ~* \.(xml|js|jpg|png|css|html|otf|eot|svg|ttf|woff|woff2)$ {
        proxy_pass http://frontend;
    }

    location ^~ /frontend {
        proxy_pass http://frontend$request_uri;
    }

    location ^~ /api {
        proxy_pass http://frontend$request_uri;
    }

    location ^~ /vrs {
        proxy_pass http://vrs$request_uri;
    }
}

# HTTP redirect to HTTPS
server {
    listen 80;
    server_name vrs.expertflow.com;

    return 301 https://$host$request_uri;
}
  1. Navigate application directory and run ./install-efcx 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.