The new API integration option requires the following to work:
- Docker installation
- 3CX enterprise license
- API key details from the 3CX
dtxrecordingsto process the files.
The Docker installation uses the following docker compose file
compose-dtx3cx.yml
services:
dtx3cx:
# This is the version of the software that will be used when the container starts up.
image: dtx3cx:1.0.0.6
container_name: dtx3cx-container
command: ["node", "index.js", "${PABX_PATH:-/datatex/pabx/globalchoice}"]
# Use the beloow command SD=Start Date and ED=End Date to download a historic set of data and requires version 1.0.0.6 or newer.
# command: ["node", "index.js", "${PABX_PATH:-/datatex/pabx/globalchoice}", "${SD:-2026-02-27}","${ED:-2026-03-02}"]
volumes:
- ./pabx:/datatex/pabx
- ./work:/datatex/work
environment:
- TZ=Africa/Johannesburg
- NODE_TLS_REJECT_UNAUTHORIZED=0
If you do use the SD and ED, make sure that you switch back to the old command afterwards, or it will never download other dates again.
The script to run the download process from the CRON:
#!/bin/bash
cd /opt/datatex/docker/dtx3cx
docker compose -f compose-dtx3cx.yml up 2>> $0-lastrun.log 1>> $0-lastrun.log
CRON entry:
*/5 * * * * /usr/bin/run-one /opt/datatex/docker/dtx3cx/docker-3cx-download.sh
* * * * * /usr/bin/run-one /opt/datatex/docker/dtx3cx/docker-dtxrecordings.sh