3CX Transcription Engine Server Installation Guide

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

[email protected]:~$

…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

  1. Navigate to Admin Console > Departments.
  2. Select the relevant Department.
  3. Open the Options menu.
  4. Under Transcription Options, choose what to transcribe.

For Users

Transcription Settings for Users in 3CX

  1. Navigate to Admin Console > Users.
  2. Select the relevant User.
  3. Open the Options menu.
  4. Under Transcription Options, choose what to transcribe for this user.

For Call Handling

Transcription Settings for Call Handling in 3CX

  1. Navigate to Admin Console > Call Handling.
  2. Select the relevant Queue or Ring Group.
  3. Open the Options menu.
  4. 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

Last Updated

This document was last updated 23 April 2026

https://www.3cx.com/docs/transcription-engine-server/