We’ve officially retired the old FusionPBX email queue system and migrated all voicemail and system notifications into Laravel Horizon queues — the same high-performance background job framework that powers all core processes in FS PBX.
Here’s how it worked:
All new FS PBX installations already use this queue system by default.
If you upgraded from an older version or from FusionPBX, follow these steps:
The new engine runs asynchronously and supports multiple AI providers with better accuracy and error handling.
Supported providers:
Transcription jobs now run through Horizon as well, providing detailed logs, metrics, and automatic retries.
This change removes one of the last remaining FusionPBX-era systems and brings FS PBX’s backend architecture fully into Laravel’s ecosystem — faster, cleaner, and far more reliable.
Why We Moved Away from the FusionPBX Email Queue
FusionPBX used a “pseudo-queue” system for voicemail notifications. While it was designed to be non-blocking, it wasn’t a true queue in the modern sense.Here’s how it worked:
- Every voicemail message inserted email data into a database table.
- A separate “email queue” process constantly ran in the background, polling that table.
- When it detected new entries, it ran a PHP script to send each message.
Constant background process: The email queue service had to run continuously, even when idle.- No built-in retry logic: If a send failed, the message was simply lost or had to be manually retried.
- No visibility or metrics: There was no real dashboard, job tracking, or error recovery.
- Database dependency: If the email table locked or failed, notifications would stop entirely.
How to Enable the Modern Queue Strategy
All new FS PBX installations already use this queue system by default.If you upgraded from an older version or from FusionPBX, follow these steps:
- Go to Advanced → Default Settings
- Search for
voicemail_queue_strategy - Make sure its Value is set to
modern - If not, edit the setting, save, and navigate to Status → SIP Status and click on Flush Cache
Tip: Ensure your Horizon worker is active.
You can check it from the dashboard under System → Horizon, or start it manually:
Code:php artisan horizon
Transcription Engine Completely Rewritten
Alongside the queue overhaul, all voicemail transcription code has been rewritten and optimized.The new engine runs asynchronously and supports multiple AI providers with better accuracy and error handling.
Supported providers:
| Provider | Description |
|---|---|
| OpenAI Whisper | Default engine – fast and accurate |
| Azure Speech-to-Text | Enterprise-grade with regional availability |
| Google Cloud Speech | Excellent for multi-language detection |
| IBM Watson | Reliable and flexible for complex integrations |
Summary
This update makes FS PBX more reliable, scalable, and maintainable than ever:
Legacy FusionPBX “email queue” replaced with Laravel Horizon- True asynchronous processing with retry support
- Fully rewritten transcription backend with multiple AI providers
Modern queue strategy enabled via voicemail_queue_strategy = modern
This change removes one of the last remaining FusionPBX-era systems and brings FS PBX’s backend architecture fully into Laravel’s ecosystem — faster, cleaner, and far more reliable.