Prerequisites
Software Requirements
|
Item |
Recommended |
Installation guide |
|
Operating System |
Debian 12 |
- |
|
Docker |
latest version |
|
|
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 |
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
JavaScriptversion: "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
JavaScriptCCM_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.
-