ViciDial setup guide

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+

Five steps

From sign-up to dialing.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

The five fields

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)
Step 2 detail

Carrier definition.

Paste this into /admin/carrier_view.phpAdd a new carrier. Replace placeholder values (username, secret, host) with what your portal shows.

ViciDial → admin → carrier → new
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).

Production hardening

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:

Asterisk sip.conf — global section
[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
Troubleshooting

Five things that break, and the fixes.

  • Calls fail with 403 Forbidden
    Cause
    Wrong username/secret, or your IP isn't whitelisted (if using IP auth).
    Fix
    Re-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)
    Cause
    Almost always NAT — RTP packets aren't making it back to the calling endpoint.
    Fix
    In 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 loss
    Cause
    Either codec mismatch (ViciDial offering a codec we don't support) or QoS issue on your network.
    Fix
    Force 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 seconds
    Cause
    SIP session-timer mismatch or NAT keepalive expiring.
    Fix
    In 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")
    Cause
    Your dialplan isn't passing CLI correctly, or the CLI pool needs to be configured per campaign.
    Fix
    In 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.
Why pair ViciDial with UnlimCall

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
See full integration matrix
Ready when you are

Pick a country.Pay in two minutes.

  • Magic-link signup
  • Cancel before commit ends
  • Lines live in ~2 min