3CX Transcription Stopped Working

Univ. of North Florida

Premier Customer
Basic Certified
Joined
Nov 6, 2020
Messages
38
Reaction score
7
We are experiencing an issue where voicemail transcription has randomly stopped working on our 3CX Version 20 (Build 20.0.7.1080) instance. We are running on an Enterprise Annual license.


The Symptom:

Voicemails are delivered via email with the audio attachment, but the transcription text is completely missing.


Troubleshooting completed:

License Refresh: Confirmed Enterprise status and performed a manual license refresh from the Dashboard.

Email Templates: Reset the "New Voicemail" template to system defaults to ensure the %%START_IF_TRANSCRIBE_ENABLED%% tags are correct.

Configuration: * Transcription is enabled under Integrations > Transcription.

Department and User-level "Transcription" options are verified as ON.

Language is set to English (United States) (tested with "Auto Detect" as well).

Connectivity: The PBX has full outbound access on Port 443.



Comparative Test: I configured an OpenAI (Whisper) integration as a test, and transcription worked immediately. However, when switching back to 3CX Transcription Service (Cloud), it fails again.

It appears there is a specific failure in the handshake between our PBX and the 3CX Cloud Transcription engine. I have not seen any specific Event Log errors (like 16384).



Could someone from the 3CX team check if there are any known issues with the WMR service?
 
CW, They did say voicemail not recordings.
 
  • Like
Reactions: Evolute IT
Hello @Univ. of North Florida ,

The announcement posted by ConceptsWeb above is relevant.

Voicemails now also "require" the ENT/AI or ENT+ licences, which are Update 8 and onwards. For an Update 7 system it boils down to needing to upgrade to U8 and/or use some other transcription service while that upgrade is planned.
 
We are experiencing the same problem; we have an Enterprise Annual license which according to 3CX's new naming scheme is equivalent to the AI edition and ENT+ no longer exists.

We only use Voicemail recording and have found that Transcription has stopped working. We are on Version 20.0 Update 8 (Build 1121.
On the firewall we can see 3CX communicating to https://wmr.3cx.net/ but after 10min I just receive the voicemail with audio and no transcription.
Are there any logs we can view to try to trace transcription flow to server and check there are no errors showing?
 
  • Like
Reactions: nikolascx
Are there any logs we can view to try to trace transcription flow to server and check there are no errors showing?
Found the logs myself in /var/lib/3cxpbx/Instance1/Data/Logs. When reviewing 3CXGatewayService.log I can see the communication flow and it seems the 3CX service times out with no reply back. Is the 3cx transcription service working correctly at the moment?

Code:
2026/04/30 10:35:04.094|0078|Info| [WebMeetingBridge.RecordingsTranscodeService] API POST Request attempt [email protected] 1/3
2026/04/30 10:35:04.094|0078|Info| [System.Net.Http.HttpClient.ApiRequestSender.LogicalHandler] Start processing HTTP request POST https://wmr.3cx.net/manager/requestaiconversion
2026/04/30 10:35:04.094|0078|Info| [System.Net.Http.HttpClient.ApiRequestSender.ClientHandler] Sending HTTP request POST https://wmr.3cx.net/manager/requestaiconversion
2026/04/30 10:35:04.126|0030|Info| [Npgsql.Command] Prepared command explicitly
2026/04/30 10:35:04.129|0030|Info| [Npgsql.Command] Command execution completed (duration=3ms): select id_recording, forced, archived, recording_url, is_from, dn_type, dn, caller_number, display_name, queue_dn, end_time, transcription_started_at from recordings inner join recording_participant on (id_recording=fkid_recordings) where not transcribed and (forced or not archived)
2026/04/30 10:35:04.550|0078|Info| [System.Net.Http.HttpClient.ApiRequestSender.ClientHandler] Received HTTP response headers after 455.2508ms - 200
2026/04/30 10:35:04.550|0078|Info| [System.Net.Http.HttpClient.ApiRequestSender.LogicalHandler] End processing HTTP request after 455.3207ms - 200
2026/04/30 10:35:04.553|0078|Info| [WebMeetingBridge.RecordingsTranscodeService] API POST Request [email protected] OK
2026/04/30 10:35:04.553|0078|Info| [WebMeetingBridge.RecordingsTranscodeService] Signed URL Upload attempt [email protected] 1/3
2026/04/30 10:35:04.554|0078|Info| [System.Net.Http.HttpClient.GoogleSignedUrlUploader.LogicalHandler] Start processing HTTP request PUT https://storage.googleapis.com/transcriber-as/wav/e/c/3/redacted/4/redacted/redacted.wav?*
2026/04/30 10:35:04.554|0078|Info| [System.Net.Http.HttpClient.GoogleSignedUrlUploader.ClientHandler] Sending HTTP request PUT https://storage.googleapis.com/transcriber-as/wav/e/c/3/redacted/4/redacted/redacted.wav?*
2026/04/30 10:35:05.319|0078|Info| [System.Net.Http.HttpClient.GoogleSignedUrlUploader.ClientHandler] Received HTTP response headers after 765.4671ms - 200
2026/04/30 10:35:05.319|0078|Info| [System.Net.Http.HttpClient.GoogleSignedUrlUploader.LogicalHandler] End processing HTTP request after 765.5498ms - 200
2026/04/30 10:35:05.319|0078|Info| [WebMeetingBridge.ClusterManager.GoogleSignedUrlUploader] GoogleSignedUrlUploader returned OK
2026/04/30 10:35:05.319|0078|Info| [WebMeetingBridge.RecordingsTranscodeService] API PATCH Request attempt [email protected] 1/3
2026/04/30 10:35:05.319|0078|Info| [System.Net.Http.HttpClient.ApiRequestSender.LogicalHandler] Start processing HTTP request PATCH https://wmr.3cx.net/manager/requestaiconversion
2026/04/30 10:35:05.319|0078|Info| [System.Net.Http.HttpClient.ApiRequestSender.ClientHandler] Sending HTTP request PATCH https://wmr.3cx.net/manager/requestaiconversion
2026/04/30 10:35:06.076|0077|Info| [System.Net.Http.HttpClient.ApiRequestSender.ClientHandler] Received HTTP response headers after 756.9304ms - 200
2026/04/30 10:35:06.076|0077|Info| [System.Net.Http.HttpClient.ApiRequestSender.LogicalHandler] End processing HTTP request after 756.991ms - 200
2026/04/30 10:35:06.076|0077|Info| [WebMeetingBridge.RecordingsTranscodeService] API PATCH Request [email protected] OK
2026/04/30 10:41:15.298|0059|Info| [Npgsql.Command] Prepared command explicitly
2026/04/30 10:41:15.301|0059|Info| [Npgsql.Command] Command execution completed (duration=2ms): select id_recording, forced, archived, recording_url, is_from, dn_type, dn, caller_number, display_name, queue_dn, end_time, transcription_started_at from recordings inner join recording_participant on (id_recording=fkid_recordings) where not transcribed and (forced or not archived)
2026/04/30 10:45:06.081|0030|Warn| [WebMeetingBridge.RecordingsTranscodeService] Timeout for audio file V6881
 
  • Like
Reactions: nikolascx
@jameshs

Your firewall settings must allow incoming (TCP) transcription traffic from source IP Address 34.40.92.110 to port 443 (or whatever alternative port you may be using for HTTPS).

Can you check this please?
 
Last edited:
@jameshs

Your firewall settings must allow incoming (TCP) transcription traffic from source IP Address 34.40.92.110 to port 443 (or whatever alternative port you may be using for HTTPS).

Can you check this please?
Thanks Kevin, that was exactly the problem. We block connections from outside our country and I had added exceptions for known 3CX services, but I didn't realise they had updated the Whitelisting addresses.

By any chance do you know if 3CX has a DNS name for this IP? We generally prefer to add whitelists using FQDNs in case they change in the future.
 
Yes the IPS are changing because we use spot VMs in our own service. This is why we have started to recommend Grok. As its a more scale able service then what we have built.

That said we are going to change and make fixed IPs that you can whitelist. Its not a licensing matter.... Apologies for the confusion
 

Forum statistics

Threads
111,973
Messages
590,079
Members
164,898
Latest member
grahamaskew