Get Started
Back to Blog
Computer monitor showing code above a keyboard

VICIdial DNC List Setup: Internal & Campaign DNC Guide

By Carrier Fence · October 28, 2026 · 8 min read

VICIdial is the most widely used open-source dialer in outbound call centers, from small teams to large offshore operations. It has solid Do Not Call features built in, but they only protect you if they're switched on and fed the right data. This guide explains how VICIdial's DNC lists work, how to set them up for each campaign, and how to combine them with proper list scrubbing so nothing slips through.

The menu names below follow standard VICIdial admin screens; labels can differ slightly between versions, so check against your own installation.

2 listsSystem-wide internal DNC and campaign-specific DNC
HopperWhere VICIdial skips DNC numbers before dialing
31 daysMaximum age of federal DNC data before you call

How VICIdial handles Do Not Call

VICIdial keeps two kinds of DNC list:

ListScopeTypical use
Internal DNC listEvery campaign that has it enabledPeople who told your company never to call again, plus scrubbed registry numbers if you load them
Campaign DNC listOne campaign (or a group sharing a list)Opt-outs that apply only to one client or product

Numbers on these lists are checked when leads are loaded into the hopper — the short queue of leads VICIdial is about to dial. With DNC checking enabled on the campaign, a lead whose number is on the relevant list is skipped instead of dialed.

Step 1: Turn on DNC checking for each campaign

In the campaign's detail screen, find the DNC settings:

Enable both for any outbound sales campaign. It costs nothing in performance and protects against the most common mistake: an opt-out recorded on one campaign being dialed on another.

Step 2: Add numbers to the DNC lists

You can add numbers in three ways.

Manually, one or a few at a time

Under Admin → Lists, use the Add-Delete DNC Number page. Paste the numbers, choose whether they go to the internal list or a specific campaign's list, and submit. This is handy for a complaint that comes in by email or for a handful of numbers from a client.

From agent dispositions

When a consumer asks not to be called, the agent should disposition the call with the DNC status. Depending on your system and campaign settings, that adds the number to the DNC list automatically so it won't be dialed again. Test it: disposition a test call as DNC and confirm the number appears on the list.

In bulk

For large files — a client's full opt-out history, for example — admins usually load numbers in bulk rather than pasting thousands into the web form. Use the bulk import method your VICIdial version supports, and test with a small file first.

Step 3: Scrub leads before you load them

This is the step many centers skip. Don't rely on VICIdial alone for registry compliance. Scrub every lead file against the federal registry, state lists and litigator data before it's loaded, and only load the callable numbers. Two reasons:

  1. Registry data changes constantly. Loading the full registry into VICIdial and keeping it current is heavy work, and stale data is non-compliant data.
  2. You need evidence. When a complaint arrives, a dated scrub report proves the number was checked. A hopper skip leaves no comparable record.
  1. Receive the lead fileFrom the client or lead vendor, with consent details
  2. Scrub outside the dialerFederal DNC, state lists, the client's internal list and litigators
  3. Load only callable numbersInto a new VICIdial list, named with the scrub date
  4. Keep VICIdial DNC checks onCatches opt-outs collected during the campaign
  5. Re-scrub within 31 daysBefore dialing the same list again

Carrier Fence takes the CSV or Excel file you'd load into VICIdial and returns it with DNC, honeypot and litigator flags, plus each number's line type, time zone and next legal calling time — columns you can use to split the file before loading. See how to read a scrub report.

Step 4: Enforce calling hours with Call Times

VICIdial's Call Times let you define when a campaign may dial. A call time definition sets the hours for each day, and state call time rules let you apply stricter windows for specific states. Attach the call time to the campaign under its Local Call Time setting.

Set up at least:

VICIdial works out each lead's time zone from its phone number or postal code when leads are loaded, so make sure the GMT offset is populated correctly. Our free calling-time checker is useful for spot-checking individual numbers against your configuration.

Step 5: Watch your abandonment rate

Predictive dialing in VICIdial can drop calls when no agent is free. Under the Telemarketing Sales Rule, abandoned calls must stay at or below 3% of calls answered by a person, measured over each 30-day period of a campaign, and each abandoned call must play a short recorded message identifying the seller. Set the campaign's drop-rate target conservatively and configure a safe-harbor message. Details are in our guide to the call abandonment rate rule.

Common VICIdial DNC mistakes

A worked example: a new campaign in VICIdial

A center sets up a new insurance campaign for a US client:

  1. Clone with care. They clone an existing campaign, then immediately check that Use Internal DNC List and Use Campaign DNC List are both set to Y — cloned settings are a common source of mistakes.
  2. Load the client's opt-outs. The client's do-not-call history is loaded to the internal DNC list in bulk.
  3. Scrub the leads outside VICIdial. The lead file is scrubbed against federal and state DNC lists and litigators. Only callable numbers are loaded, into a list named with the scrub date.
  4. Set call times. The campaign's Local Call Time uses a definition inside 8 a.m.–9 p.m., with state rules for Florida, Oklahoma, Maryland and Texas.
  5. Configure the drop rate. A conservative target with a safe-harbor message identifying the client.
  6. Test. A supervisor places a test call, dispositions it as DNC and confirms the number now appears on the DNC list and is skipped by the hopper.
  7. Schedule re-scrubs. A calendar reminder to re-scrub the working list before day 31.

Common VICIdial myths

MythReality
"VICIdial handles DNC automatically."It only checks numbers you load into its DNC lists.
"The hopper check is enough evidence."Keep dated scrub reports; hopper skips don't document compliance.
"Call Times are optional."Without them, leads in later time zones get called too early or too late.
"A DNC status is the same everywhere."Custom statuses may not add numbers to the DNC list — test them.

Key terms

Frequently asked questions

Does VICIdial check the National Do Not Call Registry?

Not by itself. VICIdial checks leads against the DNC numbers you load into it. To comply with the registry you need to scrub lead files against current registry data, or load and maintain registry numbers yourself, and refresh at least every 31 days.

What's the difference between the internal DNC list and a campaign DNC list?

The internal list applies to every campaign that has internal DNC checking enabled. A campaign DNC list applies only to that campaign. Company-wide opt-outs belong on the internal list.

How do I add a number to the DNC list in VICIdial?

Use the Add-Delete DNC Number page under the Lists section of the admin, or have agents disposition the call as DNC. For large files, use a bulk import method supported by your version.

When does VICIdial check the DNC list?

When leads are loaded into the hopper for dialing. If the campaign's DNC options are enabled, leads with numbers on the DNC list are skipped.

Can VICIdial block calls outside legal hours?

Yes. Call Times and state call time rules restrict when each lead can be dialed, based on its time zone. Make sure lead time zones are set correctly when the list is loaded.

This article is general information, not legal advice. VICIdial menus vary by version; confirm settings in your own installation.