Help / Getting started
Trunk management
Add SIP carriers, allocate dialplan prefixes, and build failover routes.
Every outbound and inbound SIP carrier you use is a trunk in VICIfast. The platform writes two managed files on your box:
/etc/asterisk/vicifast-trunks.conf— every PJSIP endpoint/etc/asterisk/vicifast-trunks-dialplan.conf— every routing pattern
Both are included from your pjsip.conf and extensions.conf with a single #include line each. We never edit your VICIdial-installed configs beyond appending those two lines on first provision. You never edit the managed files by hand — they're rewritten end-to-end on every trunk operation.
Adding a trunk
Dashboard → your server → Manage Trunks.
Pick a partner (Twilio, Bandwidth, Telnyx, Skyetel) or Generic.
Pick the direction: Outbound, Inbound, or Bidirectional.
Fill the trunk name, the carrier host, and credentials if using user/pass auth.
Save. The platform renders both managed files, allocates a 4-digit dialplan prefix on first install, and reloads Asterisk in ~50ms.
Linking a campaign
VICIdial campaigns use a Dial Prefix field to pick which carrier handles outbound calls. The dashboard surfaces the auto-allocated prefix; copy it into the campaign's Dial Prefix in VICIdial admin, or use the dashboard's Link campaigns button to do it via the platform.
Failover routes
A failover route wraps 2–8 outbound trunks in priority order with a per-leg timeout. The route gets its own 4-digit prefix (9500–9999); campaigns bind to that prefix. If the primary trunk fails or times out, the dialplan moves to the next.
TCPA per-trunk
Each trunk has a TCPA mode: Inherit (use the server-wide TcpaConfig), Custom (use this trunk's own BLA API key), or Disabled. See the TCPA compliance article for the lookup contract.
Diagnostics + SIP trace
Every trunk row has a Diagnose button. It runs four parallel SSH probes in a few seconds:
Endpoint status — is the PJSIP endpoint loaded, registered (or IP-auth ready), what codecs, what auth.
SIP OPTIONS ping — sends a SIP OPTIONS to the carrier; surfaces the final response code (200/401/403/408/488/503/603 etc.) with a carrier-specific hint. Twilio 403 deep-links to your Twilio IP ACL page; Telnyx, Bandwidth, Skyetel get their own translated hints.
Carrier IP reachability — TCP/5060 probe to every published carrier IP. Catches stale carrier IP lists + regional outages.
Last 50 calls — pulls the last week of
vicidial_logrows matching this trunk's dial-prefix so you can see real dial activity (or the absence of it).
A verdict card aggregates the four checks into HEALTHY / WARNING / FAILURE with actionable next steps. Both owner and sub-users can run diagnostics — they're read-only.
For deeper debugging, the Live SIP trace tab toggles Asterisk's PJSIP logger for 10/30/60 seconds, captures every SIP frame touching the trunk, and gives you a copy-shareable monospace block. Paste it into a carrier support ticket — it's the exact wire format they need. Both diagnostic runs + SIP traces auto-purge after 7 days.
VICIdial admin → Carriers is empty
That's by design. See the "Where are my trunks in VICIdial admin?" article for why and what to use instead.
Tags: trunks, sip, carriers, vicidial