Local transcription
The PBX transcribes voicemail through the OpenAI-compatible transcription API
(POST …/audio/transcriptions). The service can be online (OpenAI, Mistral…) or installed on
your premises: messages then never leave your network. The PBX does not ship an engine; any
server that exposes this API works.
Example: Speaches (faster-whisper)
Speaches serves Whisper models through faster-whisper behind this API. On a separate VM, with Docker:
# CPU only (replace latest-cpu with latest-cuda and add --gpus=all with an NVIDIA card)
docker run --detach --restart unless-stopped --name speaches \
--publish 8000:8000 \
--volume hf-hub-cache:/home/ubuntu/.cache/huggingface/hub \
ghcr.io/speaches-ai/speaches:latest-cpu
# Download a multilingual model (French and English)
curl -X POST http://localhost:8000/v1/models/Systran/faster-whisper-small
Then, in the portal, Settings page, Voicemail transcription section:
| Field | Value |
|---|---|
| Address | http://VM-ADDRESS:8000/v1 |
| Model | Systran/faster-whisper-small |
| Language | empty: each message in its customer’s language |
| Key | empty, unless you protect the service |
Try checks that the service responds.
- Model:
smallruns on a 4-core CPU for a few hundred messages a day;mediumorlarge-v3transcribe better, preferably with a graphics card. Do not use the.enmodels, English only. - Network: the service has no authentication by default; open it to the PBX only (firewall), or put it behind a proxy that requires a key.
- Outage: a transcription may take up to 7 minutes. On failure, the PBX retries after 1 minute then after 5 minutes, then sends the message’s email without the text.
These commands come from the Speaches documentation, to follow for recent versions.