VICIfast
Operations

Why recordings go missing and how to fix it

Missing recordings in VICIdial usually trace to MixMonitor not being triggered, files purged from disk, wrong recording stage, or a full filesystem. Here is how to diagnose each cause.

VICIfast Support
··3 min read
Why recordings go missing and how to fix it

When a Call recording is listed in VICIdial's Admin Recordings search but the file is gone, or when a call simply has no recording entry at all, the fix depends on which layer broke. There are five common causes, and each leaves a different fingerprint.

Cause 1: MixMonitor was never triggered

VICIdial uses MixMonitor (an Asterisk application) to write recordings. If the Campaign recording mode is set to ONDEMAND (the default) and the agent never pressed the Record button, no recording file exists and no row appears in vicidial_recordings. This is working as designed, not a bug. If you need every call recorded without agent action, change Campaign Recording to ALLCALLS or ALLFORCE.

**Gotcha:** The legacy MONITOR option (Asterisk Monitor) was the old recording method. If a campaign or dialplan still references MONITOR rather than MIXMON, you may get inconsistent recordings or none at all depending on your Asterisk version. Confirm your Campaign Rec extension is 8309 or 8310 and that MixMonitor is what fires — not the older Monitor application.

Cause 2: Disk full, file never written

When /var/spool/asterisk/monitor/ is at 100%, MixMonitor opens the file handle, immediately gets a write error, and produces a zero-byte file or no file at all. The vicidial_recordings row may or may not be created depending on timing. Run df -h on the recording server. If the monitor partition is full, that is your answer — offload or delete old files, then confirm new recordings write before declaring the issue fixed.

Cause 3: Recording stage mismatch

VICIdial can trigger recording at different stages of a call — when the call enters the queue, when the Agent answers, or when routing hands off. If Routing Initiated Recording is enabled but the campaign recording mode is not ALLCALLS or ALLFORCE, recording may never start on agent-answered calls. Conversely, if the recording starts at the routing stage but the call drops before reaching an agent, you get a recording of silence or dial tone. Check that Routing Initiated Recording and Campaign Recording mode are consistent with each other.

Cause 4: Files purged by retention cron

If a Recording retention script deletes files older than your hot-tier window, those files disappear from disk but their rows remain in vicidial_recordings. Clicking play in Admin shows a broken link. This is expected behavior when files have moved to cold archive — the fix is to retrieve the file from the archive, not to re-record the call. Document your archive location so support staff know where to look.

Cause 5: Recording delay skipped the call

The Recording delay setting holds off MixMonitor for N seconds after a call connects. If the call disconnects before the delay expires, no recording is created. This is intentional — it keeps the file count down for short or answering-machine contacts. If you are missing recordings for calls that lasted longer than you expected, check whether the recording delay is set higher than your minimum call threshold.

flowchart TD
  A[Recording missing] --> B{Row in vicidial_recordings?}
  B -->|No row| C{Campaign mode}
  C -->|ONDEMAND| D[Agent did not press Record]
  C -->|ALLCALLS or ALLFORCE| E[MixMonitor not triggered - check dialplan]
  B -->|Row exists, no file| F{Disk full?}
  F -->|Yes| G[Free space then retest]
  F -->|No| H{Retention purge?}
  H -->|Yes| I[Retrieve from cold archive]
  H -->|No| J[Check recording delay vs call duration]

Quick diagnostic checklist

  • Check df -h on the recording server — monitor partition must not be at 100%
  • Confirm Campaign Recording is ALLCALLS or ALLFORCE if you need all calls recorded
  • Verify Campaign Rec extension is 8309 or 8310, not a custom extension that targets MONITOR
  • Check Recording Delay value — if set above 0, short calls will have no recording
  • Search vicidial_recordings table directly with the uniqueid of the affected call to see if the row exists

For a broader look at how VICIdial recording works end to end, read VICIdial call recording explained. If your recordings exist but play back silent, see fix VICIdial silent recordings. Want a managed VICIdial setup where recording issues are caught before they hit production? See VICIfast pricing.

About VICIfast LLC

VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.

Citing this article

VICIfast Engineering. “Why recordings go missing and how to fix it”. VICIfast LLC, June 24, 2026. Retrieved from https://vicifast.com/blog/fix-vicidial-missing-recordings

Have questions?

Related posts

You might be interested in

VICIfast newsletter

Liked this? Get the next one in your inbox.

We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.

Comments

Comments are reviewed before they appear. We never publish your email.

No comments yet — be the first.