ViciDial SIP trunk setup. In under 30 minutes.
Drop UnlimCall in as a carrier, configure your dial plan, run a test call, cut over the floor. Step-by-step config below — same playbook for ViciDial v2.14 / GoAutoDial / ViciBox / vicidialNOW.
Verified · v2.14 · ViciBox · GoAutoDial · vicidialNOW · Asterisk 18+
From sign-up to dialing.
- 01
Provision a seat in the UnlimCall portal
Sign up at app.unlimcall.com, pick a country, buy at least 1 seat. Your portal shows the SIP host (region-specific edge), username, secret, and CLI pool ID. These are the five fields we paste into ViciDial.
Roughly 2 minutes
- 02
Add the carrier in ViciDial admin
Navigate to /admin/carrier_view.php → "Add new carrier." Use the carrier ID, registration string, and account_entry blocks below. Save.
Roughly 5 minutes
- 03
Configure your dial plan to route through this carrier
In the campaign you want to dial through us, set the Dial Prefix to match the dialplan_entry pattern. ViciDial routes that pattern to the SIP/<EXTEN>@unlimcall_us syntax in the carrier definition.
Roughly 5 minutes
- 04
Test from one agent before the full floor
Log in as a test agent, place 5–10 outbound calls, verify audio quality, CLI presentation on the prospect handset, and STIR/SHAKEN attestation downstream (use a SIP analyzer or call a known caller-id-display number). Adjust codec priority if needed.
Roughly 10 minutes
- 05
Cut over the rest of the floor
Once test calls validate cleanly, switch all production campaigns to dial through unlimcall_us. Keep your legacy carrier configured for 48–72 hours as a fallback (Multi-Carrier feature in ViciDial supports weighted distribution).
Same day
What you paste into ViciDial.
Same fields as any standard SIP carrier on Asterisk-based PBX. Available immediately in your portal once a seat is provisioned.
- Carrier nameunlimcall_us (rename per market)
- SIP hostsip-us-east.unlimcall.com
- Port5060 (UDP/TCP) · 5061 (TLS)
- TransportUDP · TCP · TLS — TLS recommended for production
- Usernameunl_<seat-id> — assigned per seat in your portal
- Secretrotated on demand from the portal · old creds revoked instantly
- Codecsallow=ulaw, alaw, opus · disallow=all (then allow desired in priority order)
- DTMF moderfc2833 (default) · rfc4733 supported
- AuthenticationIP whitelist or username/password — choose at provisioning
- NAT settingsforce_rport=yes · comedia=yes
- Qualifyyes (recommended for monitoring)
Carrier definition.
Paste this into /admin/carrier_view.php → Add a new carrier. Replace placeholder values (username, secret, host) with what your portal shows.
carrier_id = unlimcall_us carrier_name = UnlimCall — US/CA registration_str = register => unl_001:[email protected] account_entry = [unlimcall_us] type=peer host=sip-us-east.unlimcall.com username=unl_001 secret=YOUR_SECRET transport=tcp ; or 'tls' for production port=5060 ; 5061 for TLS insecure=port,invite disallow=all allow=ulaw allow=alaw allow=opus dtmfmode=rfc2833 qualify=yes nat=force_rport,comedia directmedia=no directrtpsetup=no session-timers=originate session-expires=600 session-minse=90 context=trunkinbound fromuser=unl_001 fromdomain=sip-us-east.unlimcall.com dial_plan_entry = exten => _1NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) exten => _1NXXNXXXXXX,n,Dial(SIP/${EXTEN}@unlimcall_us,,tToL(360000:60000)) exten => _1NXXNXXXXXX,n,Hangup()
Replace unl_001 and YOUR_SECRET with the values from your portal. sip-us-east.unlimcall.com is the US East edge — pick the closest POP for your customers (sip-us-east, sip-us-west, sip-eu-west, sip-eu-central).
Switch to TLS + SRTP.
For production, use TLS 1.2+ for SIP signaling and SRTP for media. UnlimCall edge supports both natively. Add to sip.conf:
[general] tlsenable=yes tlsbindaddr=0.0.0.0:5061 tlscertfile=/etc/asterisk/keys/asterisk.pem tlscafile=/etc/ssl/certs/ca-certificates.crt tlscipher=ALL tlsclientmethod=tlsv1_2 ; in the [unlimcall_us] peer block: transport=tls port=5061 encryption=yes ; SRTP — UnlimCall edge negotiates RTP/SAVP automatically
Five things that break, and the fixes.
- Calls fail with 403 ForbiddenCauseWrong username/secret, or your IP isn't whitelisted (if using IP auth).FixRe-paste the secret from the portal (they rotate; cached old values fail). For IP auth, confirm your ViciDial server's public IP is on the allow list.
- One-way audio (you can hear them, they can't hear you)CauseAlmost always NAT — RTP packets aren't making it back to the calling endpoint.FixIn sip.conf: nat=force_rport,comedia · directmedia=no · directrtpsetup=no. If your ViciDial is behind NAT, also set externip and localnet correctly.
- Choppy audio / packet lossCauseEither codec mismatch (ViciDial offering a codec we don't support) or QoS issue on your network.FixForce ulaw first: disallow=all, allow=ulaw. We support ulaw, alaw, opus, g722. We don't support g729 (licensing). Check your network jitter to our edge.
- Calls connect but drop after 30 secondsCauseSIP session-timer mismatch or NAT keepalive expiring.FixIn sip.conf: session-timers=originate · session-expires=600 · session-minse=90. Also enable qualify=yes so ViciDial sends OPTIONS keepalives.
- Wrong caller ID showing (or "Unknown")CauseYour dialplan isn't passing CLI correctly, or the CLI pool needs to be configured per campaign.FixIn the carrier dialplan_entry, use ${VARSET-callerid$} or pass --callerid=${USER-set_caller_id$}. We can also configure auto-rotation from the CLI pool — your seat config in our portal sets the default presentation.
Built for predictive at scale.
- Flat per-seat pricing — no per-minute meter on heavy-dial campaigns
- STIR/SHAKEN attestation A on every US/CA outbound call
- Native local Caller ID in 33 countries under our license
- Soft concurrency cap — predictive at any ratio, no per-account ceiling
- CLI rotation policy — numbers stay clean week over week
- No setup fees · cancel before commit ends · no port-out fees
Pick a country.Pay in two minutes.
- Magic-link signup
- Cancel before commit ends
- Lines live in ~2 min