Skip to main content
Skip table of contents

Voice Connector deployment guide

Prerequisites

Software Requirements

Item

Recommended

Installation guide

Operating System

Debian 12

                                                           -

Docker

v24 or higher

https://docs.docker.com/engine/install/debian/

EFSwitch

Latest version

Installation

Configuration

EF CX

Latest version

Deployment

Dialer and database(For outbound only)

4.5

Deployment

Port Utilization Requirements

The following ports must be open on the server for the voice connector to function.

Type

Application

Description

Port

TCP

FreeSwitch 

ESL port

8021

TCP

FreeSwitch 

Websocket port

7443

TCP

Voice Connector

Access port

any/ (set in docker-compose.yml)

TCP

Postgres

Database access port

5432

TCP

Dialer

Access port

any/ (configured in dialer)

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 voice-connector with the command:

    • CODE
      mkdir voice-connector
  • Enter the folder with the command:

    • CODE
      cd voice-connector
  • 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.8"
    services:
      voice-connector:
        image: gitimages.expertflow.com/freeswitch/ecx_generic_connector:4.5
        container_name: unified-voice-connector
        ports:
          - 8115:8080
        env_file:
          - ./env.txt
        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
    CX_FQDN=https://cim.expertflow.com
    ESL_PORT=8021
    ESL_PASSWORD=ClueCon
    DIALER_API=http://192.168.1.10:6666
    MIDDLEWARE_API=http://192.168.1.10:7115/recording-middleware
    LOG_LEVEL=INFO
    DB_NAME=username
    DB_URL=192.168.1.16
    DB_PORT=5432
    DB_USERNAME=fusionpbx
    DB_PASS=password
    DB_CONN_TIMEOUT=3000
    • CX_FQDN: The address of EF CX. https://FQDN

    • ESL_PORT: The port of Freeswitch ESL (Default 8021, Same as in Efswitch settings here)

    • ESL_PASSWORD: Freeswitch ESL password (Default ClueCon, Same as in Efswitch settings here)

    • DIALER_API: API link of the dialer in format: http://IP:PORT (Fill in IP and PORT of dialer)

      • Where IP is the IP address of the current server.

      • And PORT is the external port of the dialer container.

    • MIDDLEWARE_API: The API link of the recording middle-ware that will provide recording files. Format: http://IP:PORT/recording-middleware

      • Where IP is the IP address of the current server.

      • And PORT is the external port of the dialer container.

    • LOG_LEVEL: The amount of detail in the logs. Default is INFO, and for more detailed logs the value should be DEBUG.

    • DB_NAME: Database name (Fill in based on created database)

    • DB_URL: Database server IP address (Fill in based on created database)

    • DB_PORT: Database port (default 5432)

    • DB_USERNAME: Database username (Fill in based on created database)

    • DB_PASS: Database password (Fill in based on created database)

    • DB_CONN_TIMEOUT: Timeout for connecting to the database (Default 3000)

  • 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.