Voice Connector Deployment Guide
Prerequisites
Software Requirements
Item | Recommended | Installation guide |
Operating System | Debian 12 | - |
Docker | v24 or higher | |
Media Server | Latest version | |
EF CX | Latest version | |
Dialer and database(For outbound only) | 4.5 |
Port Utilization Requirements
The following ports must be open on the server for the voice connector to function.
Type | Application | Description | Port |
TCP | Media Server | ESL port | 8021 |
TCP | Media Server | 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:
CODEsudo 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 :
CODEversion: "3.8" services: voice-connector: image: gitimages.expertflow.com/freeswitch/ecx_generic_connector:TAG container_name: unified-voice-connector ports: - 8115:8080 env_file: - ./env.txt restart: always
Replace the 'TAG' keyword with the required image tag obtained from the releases page here.
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 :
CODECX_FQDN=https://cim.expertflow.com ESL_PORT=8021 ESL_PASSWORD=ClueCon DIALER_API=http://192.168.1.10:6666 LOG_LEVEL=INFO
CX_FQDN: The address of EF CX. https://FQDN
ESL_PORT: The port of Media Server ESL (Default 8021, Same as in Media Server settings here)
ESL_PASSWORD: Media Server ESL password (Default ClueCon, Same as in Media Server 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.
Leave at default value if not using the progressive outbound feature.
LOG_LEVEL: The amount of detail in the logs. Default is INFO, and for more detailed logs the value should be DEBUG.
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