All docs

How to record calls in VICIdial

Per-campaign recording config, beep + announcement for two-party states, retention setup.

VICIdial records via Asterisk's MixMonitor. Recordings land at /var/spool/asterisk/monitorDONE as WAV files.

Enable recording per campaign

Admin → Campaigns → [your campaign] → Detail View:

  • Allow Closer Recordings = Y
  • Recording Override = ALLFORCE (record everything) or ALLFORCE_VM (include voicemails)
  • Recording Filename = template, e.g. {lead_id}_{campaign_id}_{phone_number}_{epoch}

Save. Recording starts on the next call.

Two-party-consent state config

For calls into CA, FL, IL, MD, MA, MT, NH, PA, WA — disclose at call start.

Two ways:

Approach 1: Beep + announcement via dial-plan

Add to your campaign's dial-plan extension:

exten => _9XXXXXXXXXX,n,Playback(beep)
exten => _9XXXXXXXXXX,n,Playback(call-may-be-recorded)

Upload call-may-be-recorded.gsm (your disclosure recording) to /var/lib/asterisk/sounds/en/.

Approach 2: Per-state campaign segmentation

Easier: split your list into per-state lists, run separate campaigns with state-appropriate recording config.

Retention

Recordings stay on disk forever unless you prune. Storage planning:

~250KB / minute mono recording
100 agents × 4 hrs/day × 250 days = 360GB / year

Add the Volume — 500GB addon, or run nightly archival to S3-compatible storage.

Compliance per industry

| Industry | Min retention | | --------------------------- | ------------- | | Collections (FDCPA + state) | 2-7 years | | Insurance | 7+ years | | Healthcare (HIPAA) | 6+ years | | Financial advisory (FINRA) | 5-7 years |

Set your retention policy + delete on schedule.

Listen to a recording

Admin → Reports → User Stats → click any agent → recordings list. Or pull directly from disk:

ls /var/spool/asterisk/monitorDONE | head -20

Related