VRS Upgrade Guide
Stop and remove all the VRS containers and images running in the docker.
Navigate to the recording-solution/docker directory
Open docker-compose-efcx.yml file.
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.6Open <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 |
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) |
| 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.
Once the containers get up the VRS Application should be accessible on https://vrs.expertflow.com:444/#/login
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.CODEnano /etc/freeswitch/autoload_configs/xml_cdr.conf.xmlOnce the file is open then uncomment the line, and save it. then restart the Freeswtich.
systemctl restart freeswitchGo to the path where VRS is deployed. eg /recording-solution/config/nginx/conf.d/)
Run the below command:CODEnano /config/nginx/conf.d/https.conf
Once the file is open, paste the following content and close it.
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;
}
Navigate application directory and run
./install-efcxand check you container usingdocker pscommand.