VICIdial SIP carrier setup with ZuteSIP numbers and DIDs

Short answer: To use ZuteSIP with VICIdial, add a carrier under Admin > Carriers with a registration string for sip.zutesipdialer.com, an account entry holding your SIP username, password, ulaw/alaw and RFC 2833 DTMF, and a dialplan entry that logs and dials out. Then add your number as an inbound DID. VICIdial does the dialing; ZuteSIP supplies the number and trunk.

VICIdial is an open-source contact center suite that runs its own predictive, auto and manual dialing on top of Asterisk. ZuteSIP does not dial for you; it provides real numbers with SIP credentials that VICIdial uses as a carrier and as inbound DIDs.

Who does what

  • VICIdial: campaigns, lists, predictive/auto/manual dialing modes, agent screens, recording and reporting, all as features of your own VICIdial server.
  • ZuteSIP: the phone numbers (mobile, local or toll-free in 181 countries) and a SIP account per number that VICIdial registers to.
  • Each number includes unlimited incoming calls and 1,000 outgoing minutes per month.

What you need

  • A ZuteSIP number plus the SIP username and password shown on its page in the dashboard.
  • A working VICIdial server and an admin user allowed to modify carriers.
  • Firewall access from VICIdial to sip.zutesipdialer.com on 5060 (UDP/TCP) and to your RTP range.

Carrier settings

SettingValue
SIP server / registrar / domainsip.zutesipdialer.com
Transport and portUDP or TCP 5060; TLS 5061
Username<SIP_USERNAME> (from the number's page in the dashboard)
Password<SIP_PASSWORD> (from the same page)
AuthenticationDigest (username + password), registration based
CodecsG.711 µ-law (PCMU) and G.711 A-law (PCMA)
DTMFRFC 2833 (RTP events) or SIP INFO
Inbound DID<YOUR_NUMBER> in E.164 format

Carrier entries (copy and replace the placeholders)

Most VICIdial installs still use chan_sip-style carrier entries, shown below; if your build uses PJSIP, use the section layout from our Asterisk page instead. ${EXTEN:1} is the dialed number with the leading 9 removed.

The example assumes campaigns dial 9 followed by the full international number. Change the pattern to match your dial prefix.

Carrier ID: ZUTESIP
Protocol: SIP
Server IP: <YOUR_VICIDIAL_SERVER_IP>

Registration String:
register => <SIP_USERNAME>:<SIP_PASSWORD>@sip.zutesipdialer.com:5060

Account Entry:
[zutesip]
type=friend
host=sip.zutesipdialer.com
port=5060
username=<SIP_USERNAME>
secret=<SIP_PASSWORD>
fromuser=<SIP_USERNAME>
fromdomain=sip.zutesipdialer.com
context=trunkinbound
insecure=port,invite
nat=force_rport,comedia
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw

Dialplan Entry:
exten => _9X.,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _9X.,n,Dial(SIP/zutesip/${EXTEN:1},,tTo)
exten => _9X.,n,Hangup()

Step-by-step: add the carrier

  1. Log in to the VICIdial admin interface and open Admin > Carriers.
  2. Add a new carrier with ID ZUTESIP and a clear name.
  3. Paste the registration string, account entry and dialplan entry above, replacing every placeholder with the values from your ZuteSIP dashboard.
  4. Set Protocol to SIP, choose your server IP and set the carrier to active.
  5. Submit and wait for VICIdial to rebuild the Asterisk configuration (it does this on a short cycle), or reload from the Asterisk CLI.
  6. In the Asterisk CLI, run sip show registry and confirm the registration is Registered.
  7. Place a manual test call from an agent session before starting any campaign.

Inbound DID routing in VICIdial

Open Inbound > Add a New DID and enter your ZuteSIP number as the DID extension, in the exact format the Asterisk CLI shows for incoming calls. Set the route to an in-group, agent, extension or call menu.

Calls arrive in the trunkinbound context named in the account entry, where VICIdial hands them to its DID routing.

Outbound caller ID

Set the campaign CallerID to your ZuteSIP number. Match it to the number whose credentials the carrier registers with. If you want several caller IDs, add several ZuteSIP numbers as separate carriers, each with its own credentials and its own 1,000 minutes per month.

Troubleshooting

  • 401/403 on registration: wrong username or password in the registration string or account entry. Both must match the dashboard exactly.
  • Calls connect but agents hear nothing, or one-way audio: set externip/localnet in your SIP settings, keep nat=force_rport,comedia and forward the RTP range.
  • Congestion or 488 on every call: codec mismatch. Keep ulaw and alaw allowed.
  • Call menus ignore keypresses: keep dtmfmode=rfc2833; use info only if required.
  • Inbound calls hit the invalid DID route: the DID in VICIdial does not match the arriving format.

Frequently asked questions

Does ZuteSIP provide predictive dialing?

No. Predictive, auto and power dialing are done by VICIdial; ZuteSIP supplies the numbers and the SIP trunk VICIdial dials through.

Can I use a ZuteSIP number as a VICIdial DID?

Yes. Register the number as a carrier and add it under Inbound DIDs, and calls to it route like any other DID.

How many outgoing minutes does each number include?

Each number includes 1,000 outgoing minutes per month, plus unlimited incoming calls.

Can I use several caller IDs?

Set each carrier's caller ID to the number its credentials belong to. For several caller IDs, add several numbers, each with its own SIP username and password.

Does call recording come from ZuteSIP?

No. Call recording is not part of ZuteSIP; VICIdial records on your own server if you enable it, subject to local law.

What calling activity is allowed?

Follow the acceptable use policy and the telemarketing rules of the countries you call. ZuteSIP numbers do not support emergency calls.

Related pages

Get a number in these countries

Sources