3CX Transcription Engine Server Installation Guide
- Introduction
- About Examples in This Document
- Machine Host Requirements
- Hardware Specifications
- BIOS Settings
- Operating System
- Firewall Configuration
- Configure Your System
- Run Installation Command
- Transcription Installation Wizard
- Using Custom SSL Certificates
- Creating Certs with Certbot
- Automatic Certificate Renewal
- 3CX Provided FQDN Policy
- Verify Connectivity with Transcription Server
- Transcription Server Updates
- Scheduled
- On-Demand
- Configure Transcription
- For Departments
- For Users
- For Call Handling
- Accessing Transcription Reports
- Viewing Transcriptions in 3CX Apps
- See also
Introduction
This guide explains how to install and configure the 3CX Transcription Engine Server for on-premise or cloud use..
The 3CX Transcription Engine adds AI-powered transcription, speaker detection, and transcript analysis to your 3CX Phone System. It can be deployed on-premise or in the cloud and integrates directly with the Admin Console.
Note: Available for Enterprise/AI edition or above, with 16SC or higher.
About Examples in This Document
This document uses example.com as the 3CX FQDN, and wmr.3cx-example.com as the Transcription machine's FQDN; you will need to substitute for your own FQDNs.
Machine Host Requirements
Hardware Specifications
- GPU: Minimum Recommended (Fast): Nvidia 24GB RTX GPU
- CPU: Minimum: 4vCPU, Recommended: 6vCPU
- RAM: Minimum: 24GB
- Storage: Minimum: 20GB Free Disk Space
- On-premise or Cloud
BIOS Settings
- Secure Boot: Disabled
- CSM: Disabled
- Resize BAR Support: Disabled (might require a double reboot)
- IOMMU: Enabled
Operating System
- OS: Debian 12 (Fully Updated)
Firewall Configuration
Open the following TCP ports for inbound traffic to the machine:
- TCP 61443 – allow only from PBX IP
- TCP 80 – for Let’s Encrypt SSL certificate creation/renewal; typically this is not necessary if you are using custom SSL certificates
Configure Your System
- Login to your transcription machine via SSH and elevate to root
- Update your system:
apt-get update
apt-get upgrade
- Install required pre-requisites:
apt -y install curl apt-transport-https gnupg gpg wget iptables-persistent build-essential dkms
- To ensure all system updates take effect (particularly kernel image upgrades), reboot the system now:
reboot
- check if NVIDIA drivers are already up and running:
nvidia-smi
- If you get a command not found response, then you need to install NVIDIA drivers:
apt -y install linux-headers-$(uname -r)
wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i cuda-keyring_1.1-1_all.deb
apt update
apt -y install nvidia-open
apt -y install nvidia-driver-cuda nvidia-kernel-open-dkms
reboot
- After the reboot, confirm things are running successfully:
nvidia-smi
- …which will show you the machine's current status:
user@wmr-3cx-example-com:~$ nvidia-smi
Mon Jan 26 09:04:40 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.48.01 Driver Version: 590.48.01 CUDA Version: 13.1 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA L4 On | 00000000:00:03.0 Off | 0 |
| N/A 40C P8 12W / 72W | 0MiB / 23034MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
user@wmr-3cx-example-com:~$
Run Installation Command
- From your 3CX Admin Console, navigate to "Admin → Integrations → Transcription"
- Set the Transcription Provider to 3CX Transcription Engine (Installed Locally)
- click the Proceed button
- The Transcription page will now display the installation command to run on your transcriber machine; click the Copy button to copy the command to the clipboard
- Login to your transcription machine via SSH and elevate to root
- Run the installation command, similar to the following example:
source <(curl -s https://example.com/webmeeting/onboardai/99887766-aabb-1122-ccdd-abcdef123456)
Transcription Installation Wizard
You will be asked to choose from whether to use Custom SSL Certificates or certificates generated with Let's Encrypt.
Using Custom SSL Certificates
- Place your certificate files in PEM format into /opt/3cxwm/cert:
- server.crt must contain your public key (and possibly your certificate chain)
- server.key must contain your private key
- Ensure proper permissions are set on your certificate files:
sudo chown www-data:www-data /opt/3cxwm/cert/server.*
sudo chmod 600 /opt/3cxwm/cert/server.*
Creating Certs with Certbot
To create your own certificates with Let's Encrypt Certbot:
- Login to your transcription machine via SSH and elevate to root
- execute the following commands:
sudo apt-get install certbot
sudo certbot certonly --standalone --preferred-challenges http -d wmr.3cx-example.com
cp /etc/letsencrypt/live/wmr.3cx-example.com/fullchain.pem /opt/3cxwm/cert/server.crt
cp /etc/letsencrypt/live/wmr.3cx-example.com/privkey.pem /opt/3cxwm/cert/server.key
Automatic Certificate Renewal
To automate certificate renewal with Let's Encrypt Certbot:
- Login to your transcription machine via SSH and elevate to root
- Run nano /root/certupdate.sh to create the script, and set the contents as follows:
#!/bin/bash
cp /etc/letsencrypt/live/wmr.3cx-example.com/fullchain.pem /opt/3cxwm/cert/server.crt
cp /etc/letsencrypt/live/wmr.3cx-example.com/privkey.pem /opt/3cxwm/cert/server.key
chown www-data:www-data /opt/3cxwm/cert/server.*
chmod 600 /opt/3cxwm/cert/server.*
- Make the script executable:
chmod +x /root/certupdate.sh
- Edit the crontab:
crontab -e
- Add the following to the crontab:
0 3 * * * /root/certupdate.sh
3CX Provided FQDN Policy
If you're using a 3CX-provided FQDN (e.g. during install via Option 1), keep in mind that:
- The FQDN will be deleted if the Transcription Engine is removed from the PBX UI
- If your PBX does not contact wmr.3cx.net within 30 days, the FQDN will be deleted automatically.
Verify Connectivity with Transcription Server
To verify connectivity from PBX to Transcription Server, you can execute the following command on the PBX:
[email protected]:~$ curl -w "\n" https://wmr.3cx-example.com:61443/webmeeting
OK
…which should show OK for a successful response.
You can also navigate to "Admin → Integrations → Transcription" in the 3CX Admin Console to check your Transcription Engine Status.
Transcription Server Updates
Scheduled
The Transcription Server checks and automatically updates to the latest release. The auto-update task runs every Sunday at 1:00 AM (Server time).
On-Demand
If you wish to update to the latest version prior to the scheduled update window:
- login to your transcription machine via SSH and elevate to root
- execute the following commands:
sudo apt update
sudo apt -y upgrade
Configure Transcription
For Departments
- Navigate to Admin Console > Departments.
- Select the relevant Department.
- Open the Options menu.
- Under Transcription Options, choose what to transcribe.
For Users
- Navigate to Admin Console > Users.
- Select the relevant User.
- Open the Options menu.
- Under Transcription Options, choose what to transcribe for this user.
For Call Handling
- Navigate to Admin Console > Call Handling.
- Select the relevant Queue or Ring Group.
- Open the Options menu.
- Under Transcription Options, choose what to transcribe for this Queue or Ring Group.
Accessing Transcription Reports
All transcribed information can be viewed from Admin Console > Recordings or from Admin Console > Reports. If email notifications are enabled in a user's settings, the user will also receive a transcript via email for each recorded call.
Viewing Transcriptions in 3CX Apps
Transcription snippets for Voicemail & Recordings are also available directly within the 3CX Apps:
- Windows Softphone: Voicemails and recordings display transcription snippets in the call list. Click the transcription icon to view the full text.
- iOS App: With transcription enabled, snippets for voicemails and recordings appear directly in your call list. Tap the transcription icon to see the full text.
- Android App: Voicemails and recordings include short transcription previews in the call list. Tap the transcription icon to open the complete transcription.
See also
- Configuring OpenAI / Whisper for Transcription
- Voicemail & Recording Transcription using Google Cloud.
- Google Cloud Storage & Speech API V2 Transcription for Recordings/Voicemail
Last Updated
This document was last updated 23 April 2026