
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
- Log into ViciDial Admin → Carriers → Add New Carrier.
- Set Protocol to SIP.
- Enter the SIP host provided in your UnlimCall dashboard (format:
sip.unlimcall.comor your assigned regional hostname). - 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.
- Set Outbound CallerID to a placeholder — you will override this per-campaign (see Step 4).
- 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
1for 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 Detail → Outbound 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:
- Place a test call from the ViciDial console:
asterisk -rx "channel originate SIP/yourtrunk/+12025550100 extension s@default" - Confirm the call routes, audio is clean (G.711, no transcoding artifacts), and the correct caller ID appears on the destination.
- Check Asterisk logs at
/var/log/asterisk/fullfor any 403/407 auth errors or codec negotiation failures. - 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.