Skip to content
Dialer & Setup

ViciDial Outbound Caller ID Setup: Campaign-Level CID Control

Caller ID is not decoration — it is the first signal a prospect evaluates before deciding whether to answer. ViciDial gives you multiple layers where CID can be set, and getting the hierarchy right determines whether agents present the number you intended or an inherited default nobody recognizes.

The ViciDial Caller ID Hierarchy

ViciDial applies caller ID from the most-specific setting that is populated, working outward:

  1. Lead-level CID — set via the phone_number or custom field if your campaign uses dynamic CID assignment (advanced use case)
  2. Campaign-level Outbound CID — the standard per-campaign setting; this is where most operators configure CID
  3. Carrier-level Outbound CID — the trunk default, used only when campaign-level is blank
  4. Asterisk fromuser / callerid in sip.conf — the lowest-level fallback, used when ViciDial passes no CID to Asterisk

For most ViciDial deployments, you want CID set at the campaign level and a valid fallback at the carrier level. Never leave the carrier-level CID as a fake or internal number — some terminating carriers inspect the From header and reject calls with obviously invalid values.


Step 1: Provision the Number First

Before configuring anything in ViciDial, the number you want to present must be provisioned on your outbound network. With UnlimCall, this means the number appears in your account's active inventory for the relevant market.

UnlimCall provides caller ID on demand across 33 live markets. You request a number for a specific country, and it is assigned to your account — not drawn from a shared pool. This distinction matters: shared-pool CIDs are numbers other customers may have used (and potentially burned) before they reached you.


Step 2: Set Campaign-Level CID in ViciDial Admin

  1. Navigate to Admin → Campaigns → select campaign → Campaign Detail.
  2. Scroll to Outbound CID field.
  3. Enter the full E.164 number: +12025550100 for a US number, +447911123456 for a UK number.
  4. Save the campaign. Changes take effect on the next dialing cycle — no Asterisk reload required.

If you are running local-presence dialing — presenting a number in the same area code as the person being called — you need a number provisioned for each region you are targeting. ViciDial supports dynamic CID assignment via the VICIDIAL_caller_id variable in custom dial-plan logic, but for most floors, static per-campaign CID is sufficient and easier to audit.


Step 3: Verify What the Carrier Receives

ViciDial passes the CID to Asterisk via the CALLERID(num) and CALLERID(name) channel variables before the Dial() command executes. You can confirm this is working by examining a live call in the Asterisk console:

`` asterisk -rx "channel show variable <channel-name> CALLERID(num)" ``

Or check a completed CDR in /var/log/asterisk/cdr-csv/Master.csv — the src field shows the caller ID Asterisk passed to the carrier. If it does not match what you configured in the campaign, a dial-plan macro or AGI script is overriding it upstream.

At the carrier level, the CID travels in the SIP From header (user portion) and optionally in a P-Asserted-Identity (PAI) or Remote-Party-ID (RPID) header. UnlimCall accepts standard From header CID for outbound calls. Do not add a P-Asserted-Identity header manually unless you have confirmed your carrier processes it — mismatched headers cause unexpected CID behavior on the receiving end.


Step 4: STIR/SHAKEN for US and Canada Numbers

If your campaign targets the US or Canada and you are presenting a number provisioned on your UnlimCall account, those calls receive STIR/SHAKEN A-attestation automatically. You do not configure this in ViciDial — it happens at the carrier layer.

A-attestation means the originating carrier (UnlimCall) cryptographically asserts:

  • The call originated from a customer who is authorized to use the presented number
  • The number has not been spoofed

Carriers and analytics engines (Hiya, First Orion, TNS) use attestation level when computing spam scores. A-attested calls from verified numbers score better than unattested calls. See how A-level attestation affects outbound answer rates for detailed impact data.

STIR/SHAKEN applies to US and Canada routes only. For international markets, caller ID verification is handled differently per country — UnlimCall provisions local numbers to support local presentation, but no STIR/SHAKEN equivalent exists across all 33 markets.


Step 5: Multiple Campaigns, Multiple CIDs

Large floors often run 10–30 simultaneous campaigns targeting different regions or verticals. ViciDial handles this naturally — each campaign gets its own CID. The operational challenge is inventory management: tracking which numbers are assigned to which campaigns, monitoring for spam flags, and rotating when necessary.

UnlimCall's portal shows each provisioned number, the campaign it is assigned to, and its current status. Numbers are retired and replaced from your account inventory when burned — no support ticket required.

For a framework on how many numbers a campaign needs relative to dial volume and rotation cadence, see how many caller IDs does an outbound team need.


Takeaways

  • Set caller ID at the campaign level in ViciDial — not just the carrier/trunk level.
  • Provision the number before configuring ViciDial; never present an unprovisioned number.
  • CID travels in the SIP From header; verify via Asterisk CDR or live channel inspection.
  • US/CA numbers on UnlimCall receive A-level STIR/SHAKEN attestation without any ViciDial configuration.
  • For multi-campaign floors, track provisioned numbers per campaign in the portal to catch and replace burned CIDs quickly.

Provision Numbers Across 33 Markets

See which countries are live and what the per-seat cost looks like at unlimcall.com/pricing/. If you are planning a local-presence strategy across multiple countries, the network overview maps every active market.