Set up voicemail
Faxart can take voicemail as a second inbound channel. A voicemail is just an inbound item whose text comes from speech instead of OCR, so once transcribed it flows through the same rules, review queue, auto-mode, and audit trail as a fax. This guide turns it on.

What you get
Section titled “What you get”- On-prem transcription (no audio leaves the building)
- The same plain-English routing rules apply to voicemail transcripts
- A unified inbox and review queue, with each item tagged fax or voicemail
- Optional voicemail-to-MEDITECH filing, human-confirmed like a fax
Prerequisites
Section titled “Prerequisites”- The on-prem transcription gateway configured (
GPU_API_KEY,GPU_TRANSCRIBE_MODEL) - A voice path on your trunk that can deliver a call to FreeSWITCH
- Enable the voice leg. Set
FAXART_VOICEMAIL_ENABLED=1. This is off by default, so the fax-only dialplan is unchanged until you flip it. The generated dialplan then grows a fax-detect-then-record leg: a call is answered, watched for fax tone, and if it is a voice call the caller is recorded. - Rebuild the classification worker. The
faxart-worker-classifyimage runs the voicemail task, so rebuild it (the same caveat as the SMTP image):COMPOSE_PROFILES=dev docker compose up -d --build faxart-worker-classify. - Tune the tone detection. The one piece that needs tuning against your trunk is the CNG-vs-voice detection (telling a fax tone from a speaker). Tune it against the loopback harness before go-live.
- Send a test voicemail to a provisioned number and confirm it appears in the inbox with a transcript and classification.
How an inbound voicemail flows
Section titled “How an inbound voicemail flows”flowchart LR
A[Inbound call] --> B{Fax tone?}
B -- yes --> F[Treat as fax]
B -- no --> R[Record message]
R --> S{Silence /<br/>too short?}
S -- yes --> J[Junk bucket<br/>no transcription]
S -- no --> T[Transcribe on-prem]
T --> C[Classify transcript]
C --> Q[Rules → route or review]
Junk and dead-air
Section titled “Junk and dead-air”Empty or hung-up recordings are caught by a silence gate at intake (a quick loudness + minimum-duration check) and bucketed as reviewable junk without spending a transcription call. Reporting a voicemail as junk blocks that caller’s number for faxes too, because the block list keys on the caller number across both channels.
- Auto-mode works on voicemail: a rule’s eligibility is scored over a union of its fax and voicemail decisions, so voicemail history alone can graduate a rule.
- Filing a voicemail to a chart is never automated; a person confirms the patient. See Voicemail as an inbound channel.