Skip to main content
Skip table of contents

Recording Middle-ware Deployment Guide

Prerequisites

Software Requirements

Item

Recommended

Installation guide

Operating System

Debian 12

                                                           -

Docker

v24 or higher

EF CX

Latest version

Deployment

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:

      CODE
      ssh username@server-ip
    • Enter the ssh password and press Enter.

  • Use command:

    CODE
    su
  • Enter the root user's password

  • Run the following command and replace PORT with each of the required ports listed above:

    CODE
    sudo iptables -A INPUT -p tcp -m tcp --dport PORT-j ACCEPT
  • Example:  

    CODE
    sudo iptables -A INPUT -p tcp -m tcp --dport 8021 -j ACCEPT
  • Save this port configuration with command:

    CODE
    sudo iptables-save

Container Deployment

The voice connector is deployed as a docker image.

  • Create a folder recording-middleware with the command:

    CODE
    mkdir recording-middleware
  • Enter the folder with the command:

    CODE
    cd recording-middleware
  • Create a file docker-compose.yml.

    CODE
    vi 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

    CODE
    version: "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

    CODE
    vi env.txt 
  • Enter editing mode with the 'I' or 'Insert' keys.

  • Copy the contents below and paste them into the file env.txt

    CODE
    LOG_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:

    CODE
    docker 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:

    CODE
    docker compose up -d
  • Confirm that the docker container is running by using the command:

    CODE
    docker ps
  • Confirm that the container is running correctly by opening the logs with command:

    CODE
    docker logs -f containerID
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.