Document toolboxDocument toolbox

Archival Process for EFCX

Overview:

The Voice Recording Solution (VRS) includes an archival process designed to manage and maintain the storage of call recordings. The process archives recordings based on a configurable retention period and transfers them to an SFTP server for secure long-term storage. This ensures optimal use of storage resources and helps in compliance with data retention policies.

  • Archival Process Workflow

  1. Retention Period Configuration:

The environment variable NO_OF_DAYS specifies the retention period in days.

Recordings older than the specified number of days are marked for archival.

  • Archiving Recordings:

The recordings are moved from the primary storage directory (VRSArchivedFiles) to the configured SFTP server.

The archival service runs periodically to ensure all eligible recordings are archived.

  • Database Updates:

After archiving, the database table (v_xml_cdr) is updated and the is_archived column is set to 1.

Automatic Service Activation:

If the archival service is added in the VRS deployment docker compose file, it automatically performs its tasks as per the schedule or configuration.

Environment Variables

The archival process relies on several environment variables for configuration. These variables are defined in the Docker Compose file and loaded from the specified environment file.

General Variables

Variable Description Example Value

 

ENV

Name

ENV

Name

NO_OF_DAYS

Number of days to retain recordings before archiving them. 30

DEPLOYMENT_PROFILE

Deployment profile to distinguish between environments e.g, EFCX

Database Configuration

Variable Description Example Value

 

 

 

 

DB_DRIVER

JDBC driver class for database connectivity (org.postgresql.Driver)

DB_ENGINE

Database engine used by the application. postgres

DB_HOST

Hostname or IP address of the database server. 192.168.1.17

DB_NAME

Name of the database storing call records. fusionpbx

DB_USER

Database user with read/write permissions. fusionpbx

DB_PASSWORD

Password for the database user. KHT0ExtJSHnbTPyK0DzTKn3n4TE

DB_TABLE

Table name where call records are stored. v_xml_cdr

 

 

  • Archival Service Configuration in Docker Compose

Below is the Docker Compose configuration snippet for the archival process:

archival-process: container_name: archival-process image: gitlab.expertflow.com:9242/voice-recording-solution/archival-process:TAG volumes: - /var/lib/freeswitch/recordings:/var/lib/freeswitch/recordings env_file: - ${PWD}/docker/config.env environment: - DB_DRIVER=org.postgresql.Driver - DB_ENGINE=postgres - DB_HOST=192.168.1.00 - DB_NAME=fusionpbxx - DB_USER=fusionpbxx - DB_PASSWORD=KHT0ExtJSHnbTPyK0DzTKn3n4Te - DB_TABLE=v_xml_cdr - DEPLOYMENT_PROFILE=EFCX

 

Â