14.12.0 14.11.0 14.10.0 14.9.0 14.8.0 14.7 14.6 14.5 14.4 14.3
14.12.0 14.11.0 14.10.0 14.9.0 14.8.0 14.7 14.6 14.5 14.4 14.3

Deployment Guide

This guide explains how to deploy Expertflow Voice Recording Solution (VRS) on Debian using Docker Compose. It covers prerequisites, how to choose a deployment profile (Cisco or EFCX), the order of install and configuration steps, optional components, post-deployment checks, and upgrades. Detailed commands for each step live in the linked procedure pages; this page is the end-to-end deployment path.

Follow the phases in order for a new install. For an existing system, skip to Upgrades. Supported Cisco and EFCX versions are in the Compatibility Guide-Media Recording.

Prerequisites

Complete these before you install. Full sizing, ports, CUCM recording setup, and NTP details are in Solution Prerequisites.

Item

Description

Host OS

Debian 12 with root access

Runtime

Docker CE and Docker Compose v2 (see Compatibility Guide)

Database

PostgreSQL 14+ or SQL Server 2019–2022 for VRS metadata and Keycloak

Cisco versions (Cisco profile)

UCCE 12.6.2, UCCX 15, Finesse 12.5, CUCM 12.5 / 15 as listed in Compatibility and Prerequisites

EFCX (EFCX profile)

EFCX 5.13 (or the CX release you integrate with), plus FusionPBX / Media Server as required

Network

SIP/RTP and HTTPS ports open as in Solution Prerequisites; NTP synced for Cisco BIB recording

Deployment profiles

Choose one primary profile before you start. Do not mix Cisco and EFCX recording backends on the same VRS instance unless the project explicitly requires it.

Profile

When to use

What you deploy

Cisco (UCCE / UCCX)

Calls on Cisco UCCE or UCCX with CUCM (BIB) and Finesse

VRS Cisco compose profile, FreeSWITCH recorder, CUCM SIP trunk and recording profile; optional Finesse gadget and screen recording

EFCX

Calls on Expertflow CX

VRS EFCX compose profile, Media Server / FusionPBX; CX middleware / link-uploader when publishing recording links into CX

Standalone vs high availability

Mode

Description

Standalone

One application/recorder stack. Use Solution Prerequisites standalone sizing.

HA

Two recorder nodes plus a replay/storage node; sync recordings (for example with rsync). Use HA sizing and the rsync procedure after the core install.

How recording fits together

Cisco path

CUCM uses Built-in Bridge (BIB) recording. On a recorded call, CUCM sends SIP to the VRS recorder and the phone forks RTP to the recorder. VRS stores the media file and session metadata so users can search and play calls in the VRS UI. Finesse is the agent desktop; an optional VRS Finesse gadget can be added. Screen recording is optional and associates desktop capture with the voice session.

SIP and RTP are time-sensitive. Keep CUCM, phones, and VRS on NTP. Fix SIP trunk, security profile, and BIB settings from Solution Prerequisites before deep application troubleshooting.

EFCX path

Voice media is handled through the Media Server / FusionPBX path used with Expertflow CX. VRS runs with the EFCX compose profile. When recording links must appear in CX, deploy the CX Voice Recording middleware and link-uploader components after the VRS stack is up.

Prepare for VRS deployment

  1. Confirm versions — Match OS, database, and contact-center products to the Compatibility Guide.

  2. Size and open ports — Follow Solution Prerequisites for hardware, firewall, and (Cisco) CUCM recording configuration.

  3. Choose profile and mode — Cisco or EFCX; standalone or HA.

  4. Prepare database — Ensure PostgreSQL or SQL Server is reachable with credentials you will put in config.env.

  5. Plan FQDN / HTTPS — Know the URL operators will use for the VRS UI.

Deploy VRS (Cisco profile)

Complete these phases in order. Each row is a procedure page with the detailed steps.

Phase

What you do

Procedure

1. Install application stack

Clone/deploy VRS Docker services with the Cisco compose profile and configure config.env

Installation Guide

2. Identity

Configure Keycloak realm, roles, and department groups for supervisors

Setup Keycloak for VRS

3. Recorder

Install FreeSWITCH recorder and apply recording scripts/config

Recorder installation v 1.10.10
Recorder Configurations

4. CUCM integration

Create the CUCM application user for JTAPI-related services; finish SIP trunk / recording profile from Prerequisites

Create Application user for VRS in CUCM

5. Verify

Place a test call; confirm recording appears and plays in Voice Recordings

Post-deployment checks below

Optional Cisco components

Add only what the project needs, after the core path above is working.

Component

Procedure

Screen recording

Screen Recording for Cisco Configuration and Deployment Guide

Finesse gadget

VRS Finesse Gadget Setup

HA rsync (recorder → replay)

Rsync configuration steps for unidirectional syncing

Pause / resume (ESL)

ESL Configuration for Pause and Resume Recording

Encrypt existing Cisco recordings

Existing CISCO Voice Recording Encryption Configuration Guide

Recording compression (mixer)

Recording Compression — Operator Guide

Archival (SFTP or S3 / MinIO)

Archival Service (dual archival columns are in the skeleton SQL on vrs)

Deploy VRS (EFCX profile)

Phase

What you do

Procedure

1. Prerequisites

Confirm EFCX / Media Server requirements and VRS sizing

Solution Prerequisites

2. Install application stack

Deploy VRS with the EFCX compose profile; for dual archival, run the pasted fusionpbx SQL in the Installation Guide (EFCX-only step) before install-efcx.sh

Installation Guide

3. Identity

Configure Keycloak for VRS

Setup Keycloak for VRS

4. CX recording components (if needed)

Middleware and link-uploader for publishing recording links into CX

CX Voice Recording Components (Middleware and Link Uploader) Deployment Guide

5. Verify

Confirm recording and playback for EFCX calls

Post-deployment checks below

Optional EFCX components

Component

Procedure

Archival for EFCX

Archival Process Configuration for EFCX (includes fusionpbx dual-archival SQL)

Encryption / decryption

Call Recording File Encryption/Decryption Configuration for EFCX

Encrypt existing EFCX recordings

Existing EFCX Voice Recording Encryption Configuration Guide

Pause / resume EFCX

Pause/Resume EFCX Call Recording

Post-deployment checks

  1. Confirm VRS containers are healthy (docker ps / compose status).

  2. Log in to the VRS UI with a Keycloak user that has the expected role.

  3. Place a test call on the chosen profile (Cisco or EFCX).

  4. Confirm the recording appears in Voice Recordings / Media Recordings and that play and download work.

  5. If archival or compression was configured, confirm the next archival run or a new mix uses the expected settings.

Upgrades

For an existing deployment, use the upgrade guide for your version jump instead of a fresh install. Current path for 14.12.0:

Earlier jumps (use only if you are not yet on 14.11.0):

Configurations after deploy

  1. Keycloak users and roles — Setup Keycloak for VRS

  2. Archival — Cisco: Archival Service (skeleton SQL on vrs). EFCX: Archival Process Configuration for EFCX (fusionpbx SQL in Installation Guide / that page)

  3. Recording compression — Recording Compression — Operator Guide

  4. Release scope and known limits — Release Notes and Release Limitations

All child pages under Deployment Guide