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
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 |
---|---|
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
Â
Â