Skip to main content
Skip table of contents

Voice Connector deployment guide

Prerequisites

Software Requirements

Item

Recommended

Installation guide

Operating System

Debian 12

                                                           -

Docker

latest version

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

EFSwitch

Latest version

Installation: https://expertflow-docs.atlassian.net/l/cp/x3QT2arH

Configuration: https://expertflow-docs.atlassian.net/l/cp/KPHw7amt

EF CX

CX 4.4

https://expertflow-docs.atlassian.net/l/cp/hHy74HdV

Port Utilization Requirements

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

Type

Application

Description

Port

TCP

EFSwitch

ESL port

8021

TCP

EFSwitch

Websocket port

7443

TCP

Voice Connector

Access port

any/ (set in docker-compose.yml)

The ports can be opened as follows:

  • SSH into the Debian server.

    • Use command ssh username@server-ip

    • Enter the ssh password and press Enter.

    • Use command su.

    • Enter the root user's password

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

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

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

  • Save this port configuration with command: sudo iptables-save.

Container Deployment

The voice connector is deployed as a docker image.

  • Create a folder voice-connector with the command 'mkdir voice-connector'.

  • Enter the folder with the command 'cd voice-connector'.

  • Create a file docker-compose.yml.

    • 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

    docker-compose.yml

    JS
    version: "3.8"
    services:
      voice-connector:
        image: gitimages.expertflow.com/freeswitch/ecx_generic_connector:TAG
        container_name: unified-voice-connector
        ports:
          - 8115:8115
        env_file:
          - ./env.txt
        restart: always
    • Replace the 'TAG' keyword with the required image tag for CX 4.4 obtained from the releases page here.

  • Save and exit by :

    • Press the 'Esc' key.

    • Enter the phrase ':wq' (without quotes) to save and exit.

  • Create a file docker-variables.env 

    • vi docker-variables.env 

  • Enter editing mode with the 'I' or 'Insert' keys.

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

    env.txt

    JS
    CCM_API= https://efcx4.expertflow.com/ccm/message/receive
    SPRING_PORT= 8115
    ESL_PORT= 8021
    ESL_PASSWORD= ClueCon
    DIALER_API= placeholder
    DB_CONN_TIMEOUT=3000
    DB_PASS=Password
    DB_URL=jdbc:postgresql://IP:5432/DB-NAME
    DB_USERNAME=efswitch
    DB_DIALECT=org.hibernate.dialect.PostgreSQLDialect
    DB_DRIVER=org.postgresql.Driver
    • CCM_API= The address of EF CX in format: https://FQDN/ccm/message/receive

    • SPRING_PORT= The internal port of the voice connector. Do not change from 8115.

    • ESL_PORT= The port of EFSwitch ESL (Default 8021, Same as in Efswitch settings here).

    • ESL_PASSWORD= EFSwitch ESL password (Default ClueCon, Same as in Efswitch settings here).

    • Note: The rest of values must not be changed from their default. Progressive outbound is not released before CX version 4.5.

  • Within the folder run the command docker compose up -d.

  • Confirm that the docker container is running by using the command docker ps.

  • Confirm that the container is running correctly by opening the logs with command 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.