VICIfast
All guides

How to rest a flagged caller ID in VICIdial

How VICIdial picks a caller ID, how to tell a number is burning, and how to rest it in AC-CID and CID Groups without deleting it, then bring it back.

VICIfastLast updated

A flagged number does not need deleting. It needs to stop dialing for a while, and then to come back carefully. In VICIdial that means setting its row to inactive in every place it lives, watching the other numbers carry the load, and testing it with a few calls before it gets full volume.

This page is the procedure, plus the VICIdial mechanics you need to do it without leaving the number active in some forgotten place. If you want the pick-up rate tracked for you, the DID Reputation Center reads it from your own call logs.

How does VICIdial choose the caller ID on an outbound call?

It takes the number from one of four places: the campaign's own Campaign CallerID, an AC-CID row matched on the called number's area code, a CID Group the campaign points at, or a CID Group set on the list. Which one wins depends on how the campaign and list are configured.

The pieces, in plain terms:

  • Campaign CallerID. One number, used for every call when nothing else applies.
  • AC-CID. Per-campaign rows that map an area code to a caller ID, so a call to a 305 number can go out on a 305 number. Each row has an active flag. Bulk loading is covered in adding AC-CID rows from a CSV, and the background is in area-code caller ID (AC-CID).
  • CID Groups. Named pools of numbers under Admin > CID Groups. A group has a type: AREACODE matches the called number's area code, STATE matches its state, NONE picks from the pool without matching. See what CID Groups do and the CID Groups walkthrough.
  • List CID Group override. A list can carry its own CID Group, which takes the place of the campaign's for leads on that list. See the list-level override.
  • Second CID Group (cid_group_id_two). A second group on the campaign, used when the first finds no area-code match. See CID Group failover.

Precedence has changed between VICIdial builds. Do not trust a diagram, including ours. Place a few test calls and read what went out in the Caller ID Log.

How can you tell a number is burning?

Compare its pick-up rate with your other numbers on the same campaign, over the same hours, against the same lists. A number that falls well below its siblings, or below its own past, is the signal. Voicemail and carrier errors do not count as pick-ups.

A raw answer percentage is misleading. Lists differ, hours differ, and an answering machine looks like an answer in VICIdial's status codes. Only a comparison inside one campaign tells you much.

Three things to check:

  1. Pick-up rate by number. Pull call logs for the last few days and group by caller ID. One number at half the campaign average is a candidate.
  2. Split by the called person's network. A number can do fine on landlines and badly on one mobile carrier. A single blended rate hides that. The called network is only approximate, since ported numbers blur the exchange.
  3. SIP result codes on the trunk. A 603 decline on an outbound call can mean analytics-based blocking. SIP 603+ vs Spam Likely covers how that differs from a label.

The Caller ID Log report shows which caller ID each call actually used, so you can confirm a number is carrying the volume you think it is. Background on why numbers get labelled is in why calls get flagged Scam Likely.

Matt Florell, VICIdial's author, said at Astricon in 2021 that labels are based on the caller ID number, and that "a minimum of 5 minutes and 200 phone calls can get you flagged". Treat the figure as a data point, not a threshold. Carriers do not publish theirs.

How do you rest a number in VICIdial?

Set its row to inactive everywhere it appears, leave the row in place, and record the date. Inactive rows stay in the table, so bringing the number back is one change per place instead of a rebuild.

Rest a number in VICIdial

  1. Find every place the number lives. Check each campaign's AC-CID table, every CID Group (Admin > CID Groups), the Campaign CallerID field, and any list with a CID Group override. A number is often in two groups at once.
  2. Set the AC-CID row to inactive. In the campaign's AC-CID screen, change the row's active value to N for that number. Do not delete the row.
  3. Set the number inactive in each CID Group. Open the group, find the number, set active to N, save. Do this in the AREACODE group and in any NONE fallback group holding the same number.
  4. Change the Campaign CallerID if the number is there. This field has no active flag. Put another number in it, and note the old value.
  5. Check list overrides. If a list points at a group that still holds the number active, the rest has not happened.
  6. Wait for the next dial cycle, then verify. Open the Caller ID Log and confirm the number no longer appears on new calls.
  7. Write down the date and the reason. A note in your own records is enough. You will need the date to know when to bring it back.

If a campaign has a single group and the area code has only that one number, resting it means those calls fall through to the failover group or to the Campaign CallerID. Check what that is first. A flagged number replaced by your office line is worse.

Where can a caller ID be set, and where do you switch it off?

There are five places, and only some have an active flag. The table shows where each lives and how to stop it being used without deleting it.

Where it is setWhat it controlsHow to switch it off
Campaign CallerIDOne number for the whole campaignReplace the value; there is no active flag
AC-CID row (campaign)Number per area codeSet the row's active to N
CID Group entry (AREACODE)Number per area code, from a poolSet the entry's active to N
CID Group entry (STATE or NONE)Number per state, or any from the poolSet the entry's active to N
List CID Group overrideA different group for that list's leadsPoint the list at another group, or clear the override

The same number often appears in several rows. Resting means walking all of them, which is why a flagged number sometimes keeps dialing after you thought it was off.

How long should you rest a number?

There is no published rule. Florell reported in 2021 that a label took 2 to 21 days to clear after a number stopped being used, which is a wide range from one observer. Pick a fixed period, write it down, and adjust on your own data.

Our default in Full Controls is 7 days the first time and 14 the second. That is a policy we chose, not a carrier's. If a number comes back and burns again within a week, it is telling you something about how it was used, not just about how long it rested.

Resting only helps if the cause was volume or pattern. If a number is labelled because of complaints about the calls themselves, the rest changes little. Read Spam Likely vs Scam Likely before assuming a rest will fix it, and see How to get Spam Likely removed for the options beyond waiting.

How do you bring a rested number back?

Test it before it carries volume. Set it active again, send a small number of calls through it, and compare its pick-up rate with your other numbers. If it matches, raise its share in steps. If it does not, rest it again.

A workable routine:

  1. Set the AC-CID row and CID Group entries back to active in one sitting.
  2. Let it take a small share of one campaign for a day or two. How small depends on your pool; with 40 numbers in an area code, one number's normal share is already small.
  3. Compare its pick-up rate against its siblings at the same hours.
  4. If the rate is level, leave it in. If not, rest it for the longer period.

Full Controls does the same thing: small test calls first, and a number that fails two rounds is kept out and flagged for release after a set number of days.

How do you warm up a new number?

Start it at a fraction of a normal number's volume and raise it over days. A number with no call history that suddenly dials at full volume looks like what carriers screen for. Hiya reported in January 2025 that 18% of reported US spam calls came from numbers with minimal call history.

That does not make new numbers bad. It means day one should not be your heaviest day. Add the number to its CID Group, but let it share a pool with many established numbers so its share is small by default. Pick up the pace only when its pick-up rate holds.

Is a stable pool better than churning numbers?

Yes, for a legitimate caller, and regulators are heading the same way. A pool you own and rest, warm and replace only when a number does not recover is easier to defend than a habit of switching to a new number whenever one is flagged.

In March 2026 the FCC proposed rules on number cycling, meaning numbers used on a rotating basis as few as one or two times. It acknowledged there may be legitimate uses. It is a proposal, not a rule, and our summary of the number cycling proposal covers what it says. Talk to your counsel about what applies to your calling.

Rotation inside VICIdial, for example CID Group auto-rotation, spreads volume across a pool you hold. That is different from buying numbers to throw away. The first is a pool. The second is the pattern the FCC is asking about.

How many calls per DID per day is too many?

No carrier or regulator has published a number. Vendors quote 50 to 100 calls per number per day as a rule of thumb, but those are their rules of thumb, not thresholds. The right limit is the one where your own pick-up rate stays level.

Measure it. Raise a number's daily calls in steps and watch its pick-up rate against its siblings at the same hours. The first day it separates from them, you have found your limit for that campaign, list and time of day. It will not be the same for a different list.

Spreading calls across more numbers lowers each number's count but costs money per number per month. That trade is yours to price; what VICIdial really costs has the arithmetic for numbers.

What formatting and callback rules apply to caller IDs?

Use one number format everywhere, and make sure every number you dial from can take a callback. Mixed formats cause duplicate rows and missed matches. A number that rings nowhere defeats the purpose of showing it.

Format. Pick E.164 (+13055550123) or ten digits (3055550123) and use it in AC-CID rows, CID Groups, the Campaign CallerID and your carrier's number list. If a number is 305-555-0123 in one table and 3055550123 in another, you will rest one and keep dialing the other. Check what your carrier expects and how your caller ID reaches the carrier.

Callbacks. 47 CFR 64.1601(e) requires telemarketers to transmit a caller ID that lets the called party make a do-not-call request during business hours. Point every DID at an inbound route that answers. The FTC Caller ID Transmission Rule covers the related FTC side. Talk to your counsel about your own obligations.

How do you set up a CID Group set that can be rested cleanly?

Use two groups holding the same numbers: an AREACODE group as the campaign's CID Group, and a NONE group as cid_group_id_two. A call with no area-code match falls to the NONE group instead of a default number. Rest a number in both together.

The pattern:

  • MAN_CID_AC, type AREACODE, set as the campaign's CID Group. It matches the called number's area code to a number in the pool.
  • MAN_CID_RAND, type NONE, set as cid_group_id_two. It holds the same numbers and picks from the pool when no area code matches.
  • The Campaign CallerID stays set, but as the last fallback it should rarely be used.

Rest a number by setting it inactive in both groups. If you set it inactive in one only, the failover group will keep using it for calls with no area-code match, and you will wonder why a number you rested still shows in the Caller ID Log.

Full Controls manages this set per campaign. It rests and restores a number in both groups together, keeps at least one local number per area code, and logs each change in VICIdial's admin log as user VICIfast, with Undo in the Activity view. You can run it in a trial mode that only shows what it would do. It does not read carrier labels or file redress requests; it acts on pick-up rates from your own logs.

Sources