Skip to content
Dialer & Setup

Connecting ViciDial to a Flat-Rate SIP Trunk: Step-by-Step

ViciDial is a capable predictive dialer — but every dollar in per-minute carrier cost chips away at margin before an agent ever says hello. Here is how to connect ViciDial to a flat-rate outbound network and lock your telecom line item at a known number for good.

Why Flat-Rate Matters for ViciDial Operators

Per-minute billing punishes exactly what ViciDial is designed to do: dial fast and dial often. A 50-agent predictive floor running at a 3:1 dial ratio generates thousands of connected minutes daily. At $0.008–$0.015 per minute (typical retail SIP), that is $1,200–$2,250 per day before a single deal closes.

UnlimCall's flat-rate network bills by the seat, not the minute. At $99 per seat per month for US/Canada routes (floor price; daily billing available at monthly ÷ 20), 50 seats costs $4,950 per month — regardless of how many minutes your predictive algorithm burns through. The math flips: more dials become *free*, not expensive.

Visit the UnlimCall pricing page to model your floor.


Step 1: Add a SIP Carrier in ViciDial Admin

  1. Log into ViciDial Admin → CarriersAdd New Carrier.
  2. Set Protocol to SIP.
  3. Enter the SIP host provided in your UnlimCall dashboard (format: sip.unlimcall.com or your assigned regional hostname).
  4. Set Account and Password if your trunk uses registration-based auth. For IP-based auth (recommended for static server deployments), leave these blank and whitelist your server's egress IP in the portal instead.
  5. Set Outbound CallerID to a placeholder — you will override this per-campaign (see Step 4).
  6. Leave Active set to Y.

Step 2: Configure Asterisk Trunk Settings

ViciDial runs on Asterisk. Open /etc/asterisk/sip.conf or the equivalent pjsip.conf section your build uses and add a trunk definition:

  • type: peer (sip.conf) or endpoint/aor/auth (pjsip.conf)
  • host: your UnlimCall SIP host
  • insecure: port,invite (for IP-auth trunks)
  • dtmfmode: rfc2833
  • disallow: all
  • allow: ulaw,alaw,opus (G.711 µ-law and A-law are mandatory; OPUS if your deployment supports it)
  • fromuser: your account identifier from the portal
  • fromdomain: your UnlimCall SIP domain

Reload Asterisk: asterisk -rx "sip reload" or asterisk -rx "pjsip reload".


Step 3: Create a Dial Plan Entry

In ViciDial Admin → Dial Plan, add a rule that routes outbound calls through your new carrier:

  • Dial Prefix: leave blank for all-calls, or enter 1 for North American 11-digit dialing
  • Carrier: select the carrier you created in Step 1
  • Active: Y

If you operate across multiple countries, create one dial-plan entry per country code and assign the appropriate carrier or carrier group. UnlimCall routes are live across 33 markets from a single trunk — you do not need separate carrier accounts per country.


Step 4: Set Outbound Caller ID per Campaign

ViciDial lets you set caller ID at the campaign level, which is the right layer for most operations.

In Campaign DetailOutbound CID, enter the full E.164 number you want presented (e.g., +12025550100). This number must be provisioned on your UnlimCall account for the target market.

UnlimCall delivers caller ID on demand from your provisioned number inventory — there is no shared pool, no rotation roulette, no mystery number appearing on your recipients' phones. Every CID presented is one you explicitly provisioned.

For STIR/SHAKEN signing (US and Canada only), calls placed with verified numbers receive A-attestation automatically when UnlimCall is the originating carrier. See how STIR/SHAKEN attestation works for the technical details.


Step 5: Test Before Going Live

Before enabling the carrier for production campaigns:

  1. Place a test call from the ViciDial console: asterisk -rx "channel originate SIP/yourtrunk/+12025550100 extension s@default"
  2. Confirm the call routes, audio is clean (G.711, no transcoding artifacts), and the correct caller ID appears on the destination.
  3. Check Asterisk logs at /var/log/asterisk/full for any 403/407 auth errors or codec negotiation failures.
  4. Run a short 5-agent live test campaign before cutting over full production traffic.

Step 6: Migrate Existing Campaigns

Once testing passes, update each campaign's carrier assignment to your new flat-rate trunk. Do this during off-peak hours. ViciDial does not require a restart for carrier reassignment — changes take effect on the next dialing cycle.

If you have multiple ViciDial servers in a cluster, repeat Steps 1–5 on each Asterisk node. The UnlimCall trunk handles concurrent sessions from multiple origination IPs — just register all server IPs in your portal account.


Takeaways

  • ViciDial + flat-rate SIP changes per-minute cost to a fixed seat fee — predictive dialing becomes cheaper, not more expensive, the harder you push it.
  • IP-auth is simpler than registration for server-deployed Asterisk; whitelist your egress IP in the portal.
  • G.711 (ulaw/alaw) is the safe baseline codec; add OPUS only if your Asterisk build and codec licenses support it.
  • Set caller ID at the campaign level, not the trunk level, for maximum flexibility.
  • US/CA calls with verified numbers receive A-level STIR/SHAKEN attestation automatically.

Ready to Fix Your Telecom Cost?

Run the numbers for your seat count at unlimcall.com/pricing/ and see how flat-rate changes your cost model. If you are migrating an active ViciDial floor, review the ViciDial integration guide for deployment-specific notes.