Recording Middle-ware Deployment Guide
Prerequisites
Software Requirements
Item | Recommended | Installation guide |
Operating System | Debian 12 | - |
Docker | v24 or higher | |
EF CX | Latest version | |
Media Server/Eleveo | Latest version | Media Server Installation Media Server Configuration |
Port Utilization Requirements
The following ports must be open on the server for the program to function.
Type | Application | Description | Port |
TCP | Postgres | Database access port | 5432 |
TCP | Recording Middle-ware | Access port | 9115 |
The ports can be opened as follows:
SSH into the Debian server.
Use command:
CODEssh username@server-ip
Enter the ssh password and press Enter.
Use command:
CODEsu
Enter the root user's password
Run the following command and replace PORT with each of the required ports listed above:
CODEsudo iptables -A INPUT -p tcp -m tcp --dport PORT-j ACCEPT
Example:
CODEsudo iptables -A INPUT -p tcp -m tcp --dport 8021 -j ACCEPT
Save this port configuration with command:
CODEsudo iptables-save
Container Deployment
The voice connector is deployed as a docker image.
Create a folder recording-middleware with the command:
CODEmkdir recording-middleware
Enter the folder with the command:
CODEcd recording-middleware
Create a file docker-compose.yml.
CODEvi docker-compose.yml
Enter editing mode with the 'I' or 'Insert' keys.
Copy the contents below and paste them into the file docker-compose.yml :
CODEversion: "3" services: recording-middleware: image: gitimages.expertflow.com/voice-recording-solution/recording-middleware:1.0 ports: - 9115:8080 env_file: - env.txt volumes: - /var/lib/freeswitch/recordings/:/var/lib/freeswitch/recordings/ restart: always
Save and exit by :
Press the Esc key.
Enter the phrase :wq to save and exit.
Create a file env.txt
CODEvi env.txt
Enter editing mode with the 'I' or 'Insert' keys.
Copy the contents below and paste them into the file env.txt :
CODELOG_LEVEL=DEBUG RECORDING_BACKEND=ELEVEO ELEVEO_ADMIN=admin ELEVEO_PASSWORD=password ELEVEO_URL=http://192.168.1.10 DB_IP=192.168.1.10 DB_PORT=5432 DB_NAME=fusionpbx DB_USERNAME=fusionpbx DB_PASS=password
RECORDING_BACKEND: The mechanism for recording files. Currently only supports ELEVEO or EFSWITCH.
EFSWITCH corresponds to the CX Media Server.
LOG_LEVEL: The amount of detail in the logs. Default is INFO, and for more detailed logs the value should be DEBUG.
The following are only to be set when setting ELEVEO for RECORDING_BACKEND (leave at default values otherwise:
ELEVEO_ADMIN: The administrator username for Eleveo.
ELEVEO_PASSWORD: The administrator password for Eleveo.
ELEVEO_URL: The IP address of the Eleveo deployment.
The following are only to be set when setting EFSWITCH for RECORDING_BACKEND (leave at default values otherwise:
DB_NAME: Media Server database name. Keep at default fusionpbx.
DB_URL: Media Server server IP address.
DB_PORT: Media Server database port. Keep at default 5432
DB_USERNAME: Media Server database name. Default is fusionpbx unless changed manually in Media Server.
DB_PASS: Media Server database password.
Run the command:
CODEdocker login gitimages.expertflow.com
Enter your username and password as prompted (make sure that you were granted access to the repository).
Within the folder run the command:
CODEdocker compose up -d
Confirm that the docker container is running by using the command:
CODEdocker ps
Confirm that the container is running correctly by opening the logs with command:
CODEdocker logs -f containerID