VoiceOI

Connect your dialer

VICIdial connection troubleshooting: calls not reaching your bots

Connection problems between VICIdial® and your VoiceOI bots usually trace back to one of four places: an address missing from an allow-list, a paused account, a script ID the bot server does not have, or a VICIdial setting that stops VICIdial from dialing. This page lists 19 symptoms by the message or SIP code you see, with the cause, the check and the fix, and it marks the steps only the VoiceOI team can do. For START, STOP, lines and extensions, see remote agent troubleshooting. Start with the five-minute checks.

Applies to:VICIdial® accounts

Last checked against the product: . Found a mistake? Tell us.

How do I diagnose a connection problem in five minutes?

Work from the outside in: the account, the connection on Integrations, then one test call. Each check tells you which entry to read next. The symptom finder on the documentation home also lists every entry on this page by what you see.

  1. Check that the account is active

    You

    Log in at the log-in page. The message “Organization is frozen”, or “Account access restricted” on a dashboard that was already open, means the account is paused, and when the balance caused it the bot servers refuse every call: see the paused-account entry. If you can log in, read Remaining Balance in the sidebar too.

  2. Check the VICIdial connection

    You

    Open Integrations. The VICIdial card must say Live. Switched off means VoiceOI does not use the connection.

    Open the connection and press Test connection. A pass starts with “Connection successful”. For any other message, use the table in What does each Test connection message mean?.

  3. Ask what changed

    You

    A new VICIdial server or public address, a firewall change, a changed API password, an edited script or a balance that ran out are common reasons for a sudden failure. See the server-change entry.

  4. Check that VICIdial is dialing

    You

    In VICIdial, check that the campaign is Active and has leads to dial. If nothing dials, go to the nothing-dials entry.

  5. Place one test call and look for it in Call Logs

    You

    Dial a lead whose phone you control. Open Call Logs (the page is titled Interaction Logs) and search for the number.

    Bot Said lines (pre-recorded script) or AI Opening, AI Voice or AI Bot lines (AI agent) mean the bot got the call and spoke. The connection works, and the problem is audio, a transfer or a status: see audio, transfer and disposition troubleshooting. No entry means the call never reached the bot. A call refused with 403, 404, 480 or 503 is never logged there.

  6. Read what your dialer reports for that call

    You

    Your VICIdial admin can read the SIP response to the bot trunk in the dialer’s Asterisk log: a 403, 404, 480, 503 or no response at all. The section on the SIP refusal codes turns each response into an entry and says what to do if the log does not show it.

  7. Push the latest settings to the bots

    Both

    If you changed a script, an Immediate Hangups rule or a connection, press Force bot sync on Integrations and read the result. See the old-script entry.

  8. Send the details to support

    Both

    If the checks do not explain it, send what What should I send support? lists.

Which two connections have to work for calls to flow?

A VoiceOI call on VICIdial depends on two separate connections. A fault in one does not show in the other. That is why Test connection can pass while calls are refused.

The two connections
ConnectionWhat it carriesWhat each side allows
Calls: your dialer to a bot serverThe call and its audio: SIP over UDP and TCP, G.711 u-law.The bot server accepts calls only from addresses on your allow-list. You allow the bot server addresses through your firewall.
VICIdial web server: the VoiceOI servers to your VICIdial APITest connection, START and STOP (master server), lead lookups and status and note write-back (bot servers).You allow the master server and the bot server addresses to reach your Server URL. The API user needs the permissions the team confirms.

The bot route is the dialplan entry and SIP peer on your dialer that send the call to the bot server. The VoiceOI team adds it with your VICIdial admin: see What is the dialplan hook?. The master server is the VoiceOI server behind the dashboard. The bot servers take the calls.

Test connection checks only the second connection, and only from the master server, with one lookup. It places no call, and the bot servers are not part of that test.

VoiceOI calls the list of addresses it accepts calls from the IP whitelist; this page calls it the allow-list. Only the VoiceOI team can change it, so send the team the public address of every VICIdial server that places calls. See Which addresses must be allowed, and where? and A VICIdial cluster: add every server.

What does each Test connection message mean?

Open the VICIdial connection on Integrations and press Test connection. VoiceOI sends one harmless lookup to your VICIdial web server and waits about 5 seconds for an answer. These are the messages you can get.

MessageWhat it meansRead
“Connection successful”The web server answered and VICIdial’s reply held no login or API error. It does not show that the user may change leads or remote agents, and it says nothing about calls or the bot servers.Pass, but nothing is written
“Connection successful” followed by “(Note: API User lacks ‘check_phone_number’ permission, but creds are valid)”VICIdial would not run this check for the user, so the user’s API permissions are limited. Ask your VICIdial admin to review them with the VoiceOI team, which confirms the exact permissions during onboarding.Pass, but nothing is written
“Invalid API credentials. Check API User and Password.”, “Invalid credentials. Check API User and Password.” or “Invalid API credentials. No response from server.”VICIdial refused the user or password, your web server answered HTTP 401 or 403 (a web server rule that does not allow the master server address can cause a 403), or the address answered with an empty page.Credentials and permissions
“API authentication failed. Check the API user, its permissions and the server URL.”VICIdial answered with an error that is not a plain login failure.Credentials and permissions
“Connection timeout. Verify server is online and URL is correct.”Nothing answered within about 5 seconds.Timeout or failed connection
“Connection failed”A network error with no more detail, for example a refused connection.Timeout or failed connection
“Server not found. Check the server URL (e.g., http://your-ip)” or “API endpoint not found. Check URL or verify Vicidial installation.”The host name does not resolve, or the server answered 404: the address is reachable, but VICIdial’s API is not where VoiceOI looked.Wrong address
“The server answered with a redirect. Enter the final URL of the VICIdial server.” or “The server returned HTTP” followed by a numberThe address forwards somewhere else, or the web server answered with that error code. The redirect message appears only if stricter address checks are switched on for your account. Ask the VoiceOI team if you are not sure.Wrong address
“The server’s TLS certificate could not be verified” or “This address points to a private or internal network and is not allowed”The certificate is expired, self-signed or for another name, or the address is on a private range that VoiceOI’s servers cannot reach. These messages appear only if stricter address checks are switched on for your account. Ask the VoiceOI team if you are not sure.Wrong address
“Fill in the server URL, API user and API password first.”A field is empty. Nothing was sent.Fill in the three fields and test again.
A red hint under Server URL: “The URL must start with http:// or https://”The Server URL has no scheme. Add http:// or https://. If you test it anyway, VoiceOI tries https://, and a server that only answers on http:// fails with “Connection timeout” or “Connection failed”.Add the scheme and test again.

What do the SIP refusal codes and CONGESTION mean?

When the bot server turns a call away, it answers your dialer with a SIP code and records the reason in its own logs, which support can usually read if you report the problem soon after. A call that the bot server’s firewall drops leaves no reason. Many dialers report a refusal as CONGESTION on the bot trunk, whatever the SIP code. Depending on the Asterisk version and SIP module you may see another failed-call result instead, such as CHANUNAVAIL or BUSY. The SIP response is the reliable signal. If your dialer’s Asterisk log does not show it, your VICIdial admin can switch on SIP debugging for the bot server address for one test call, read the response, then switch debugging off.

What your dialer showsWhat it meansWho fixes itRead
403 Forbidden - IP Not WhitelistedThe call came from an address that is not on your allow-list.The VoiceOI team adds the address. You send it.SIP 403
403 Forbidden - No IP Whitelist ConfiguredYour account has no allow-list on the bot server: it was never set, the account is paused for balance, or the bot server is not set up for your account.The VoiceOI team. For a paused account the balance comes first.Paused account and SIP 403
403 Forbidden with no more textThe address is not on the list and the call carried no VICIdial call code, so the bot server treated it as internet noise.Both: you send the address, the team checks the bot route.SIP 403
404 Not FoundThe call carried no script ID, lead, bot slot or campaign at all.The VoiceOI team checks the bot route on your dialer.SIP 404
480 Temporarily UnavailableThe script ID in the dial string is not on that bot server.You press Force bot sync. The team corrects the route if the ID is wrong.SIP 480
503 Service UnavailableThe bot server’s audio engine was not connected, usually for a few seconds after a restart or an update.It clears by itself. If not, the VoiceOI team.SIP 503 and 500
500 Server Internal ErrorSomething failed while the bot server set up the call.The VoiceOI team.SIP 503 and 500
No response, then a timeoutThe call never reached the bot server, or the bot server’s firewall dropped it before it answered, for example because the address is not on the allow-list.Both.Rings, no answer
The call is answered and ends at onceThe bot server could not start a script.Both.Dropped at once

Why does Test connection fail, or pass without results?

Test connection says “Invalid API credentials” or “API authentication failed”

Likely cause

VICIdial did not accept the API user, or your web server answered HTTP 401 or 403. A 403 does not always mean a wrong password: a web server or firewall rule that blocks the master server address gives the same answer. The table in What does each Test connection message mean? explains each message.

“API authentication failed” means VICIdial answered with an error that is not a plain login failure. The usual reason is an API user without API access.

How to check

Open the VICIdial connection on Integrations and read API user and API password. Use the show-password icon to look for a typo or a trailing space.

Ask your VICIdial admin to confirm that the API user exists, that the password matches, and that it has the settings in Connect VICIdial: API Access and Agent API Access set to 1, and Modify Leads set to 1 (not 5, which is read-only). The VoiceOI team confirms the exact permissions during onboarding.

Ask your admin whether a web server or firewall rule limits who may use the API, and whether the master server address the team gave you is allowed.

How to fix it

Correct the user or the password in the connection on Integrations, press Save, then press Test connection again. If your login cannot edit the connection, ask the VoiceOI team how to hand over the new password safely. Do not send it in an ordinary message.

Have your VICIdial admin fix the permissions, or allow the master server address on the web server.

If the Server URL is wrong, see the wrong-address entry.

Still stuck

The exact message, the Server URL as saved and the API user name. Never the password.

Test connection says “Connection timeout” or “Connection failed”

Likely cause

“Connection timeout. Verify server is online and URL is correct.” means nothing answered within about 5 seconds. A common reason is a firewall on your side that drops traffic from the master server, because its address is not allowed on your VICIdial web server. Other reasons are a wrong address or port in the Server URL, and a VICIdial web server that is down or too busy to answer.

“Connection failed” is the general message for any other network error that has no detail. Examples are a server that refuses the connection because nothing listens on that port, and a firewall that rejects the traffic instead of dropping it.

How to check

Read the Server URL on Integrations. It must start with http:// or https:// and use the address and port your VICIdial web pages open on, for example http://192.0.2.10.

Open the Server URL in a browser from a network that your VICIdial web server accepts, such as your office. This only shows that the address and port are right, not that VoiceOI’s master server is allowed in.

Ask your VICIdial admin whether the web server’s access log or the firewall log shows requests from the master server address when you press Test connection, and whether the firewall or the web server allows that address.

How to fix it

Allow the master server address and the bot server addresses the VoiceOI team gave you to reach your VICIdial web server. If you do not have the addresses, contact the team. If your server uses the firewall that comes with ViciBox, add the addresses to its white list (in VICIdial, Admin then IP Lists, usually the list ViciWhite) and check that the firewall has loaded them.

Correct the Server URL if it is wrong, press Save, and test again.

If the web server is down or overloaded, fix that first. A pass starts with “Connection successful”.

Still stuck

The message, the Server URL, whether it opens in a browser from a network your server accepts, and any recent firewall change.

Test connection says “Server not found”, “API endpoint not found”, a redirect or an HTTP error

Likely cause

“Server not found” means the host name does not resolve. Look for a typo.

“API endpoint not found” means the server answered 404. The address is reachable, but VICIdial’s API is not where VoiceOI looked. VoiceOI adds the API file name to the address you enter, so enter the address of the VICIdial server, for example http://192.0.2.10, not a page inside it.

A redirect message means the address forwards somewhere else, for example from http to https. “The server returned HTTP” and a number means your web server answered with that error. A certificate message means the certificate is expired, self-signed or issued for another name. A private-address message means the address is on a private range that VoiceOI’s servers cannot reach. The redirect, certificate and private-address messages appear only if stricter address checks are switched on for your account.

How to check

Open the Server URL in a browser. You should reach your VICIdial web page. Compare it with the address in the browser bar when you open your VICIdial admin.

For a certificate message, open the address with https:// in a browser and read the warning it shows.

How to fix it

Enter the address of the server only: the scheme, the host and the port if the web server uses one. Press Save, then Test connection.

For a redirect, enter the address it forwards to.

For a certificate message, install a valid certificate on the VICIdial web server. For a private address message, use the public address of the server. If it has none, ask the VoiceOI team what to use.

Still stuck

The exact message, the Server URL and what it shows in a browser from a network your server accepts.

Test connection passes, but statuses and notes never reach VICIdial

Likely cause

A pass means the web server answered and VICIdial’s reply held no login or API error. The master server runs the test. During calls it is the bot servers that talk to your VICIdial, and they have their own addresses. So a pass says nothing about them.

When the test passes and writes still fail, the bot server addresses may not be allowed on your VICIdial web server (only the master server is). The API user may have Modify Leads set to 5, which is read-only and makes status updates fail. It may be limited in other ways: a pass followed by “(Note: API User lacks ‘check_phone_number’ permission, but creds are valid)” means VICIdial would not run that check for it. Or the VICIdial card on Integrations says Switched off, and the bots do not use the connection at all.

A separate reason is a status that is not in your campaign’s status list: VICIdial does not set it, and the lead keeps its old status.

How to check

Open Integrations and read the VICIdial card. It must say Live.

Pick a finished call in Call Logs and compare its outcome, such as NI, with the lead’s status in VICIdial. An outcome in Call Logs with the old status still on the lead means the update did not arrive, or VICIdial did not set the status.

Ask your VICIdial admin whether the web server’s access log shows requests from the bot server addresses, not only the master server address, and what permissions the API user has.

How to fix it

Allow every bot server address the team gave you, as well as the master server address, on your VICIdial web server. If your server uses the firewall that comes with ViciBox, add them to its white list (Admin then IP Lists) and check that the firewall has loaded them.

Ask your VICIdial admin to set Modify Leads to 1 (not 5) and to give the API user the other settings and permissions in Connect VICIdial and the ones the team confirmed.

If the card says Switched off, use the switch on the VICIdial card on Integrations to switch the connection on. Without it the bots do not use the connection.

If only some statuses are missing, check the campaign’s status list. See the status codes VoiceOI writes.

Still stuck

The lead ID, the campaign, the outcome shown in Call Logs and the lead’s status in VICIdial.

The bot says “Valued Customer” instead of the lead’s name

Likely cause

This applies when your script uses the lead’s name. The script reads the lead’s name and other details from your VICIdial while the call runs. When that lookup fails, the lead name falls back to “Valued Customer”.

The usual reason is that the API user cannot see the lead: VICIdial answers that no matches were found, although the lead exists. Other reasons: the bot server addresses are not allowed on your VICIdial web server, your web server answers too slowly, or the lead has no name stored. After many lookups fail in a row, the bot server stops asking for a while and then tries again, so calls get the fallback during that pause even after you fix the cause.

How to check

Open the lead in VICIdial and check that a name is stored.

Ask your VICIdial admin which leads the API user is allowed to see, and whether the web server’s access log shows requests from the bot server addresses.

How to fix it

Ask your VICIdial admin to give the API user access to your leads and to allow every bot server address on the web server, as in the pass-but-nothing-written entry.

Place a test call after the change. The bot server tries the lookup again after its pause, which can take a while. Ask the team to confirm that lookups work again.

Still stuck

The lead ID, the campaign, the time of a call that used the fallback and the API user name.

Why are calls refused, unanswered or dropped?

Calls are refused with SIP 403 Forbidden (IP not allowed, or “IP Not Whitelisted”)

Likely cause

The bot server accepts calls only from the addresses on your account’s allow-list. When a call arrives from another address, it answers 403 Forbidden - IP Not Whitelisted.

On many bot servers a call from an address that is not on the list gets no answer at all, because the bot server’s firewall drops it before the bot sees it. Your dialer then shows a timeout instead of a 403: also read the no-answer entry.

The bot server compares the address it sees the call arrive from, which can differ from the one you expect: a dialer behind NAT shows its public address, a cluster places calls from several servers, and a call routed through another server arrives from that server.

A plain 403 Forbidden with no more text means the address is not on the list and the call carried no VICIdial call code, so the bot server treats it as internet noise. It happens when the call does not come through the bot route the team set up on your dialer.

403 Forbidden - No IP Whitelist Configured means the account has no allow-list on the bot server: see the paused-account entry. A 403 on a transfer is a different problem: see audio, transfer and disposition troubleshooting.

How to check

Ask your VICIdial admin for the SIP response to the bot trunk (see the SIP refusal codes) and for the address the call left from. Compare it with the list you sent the team.

Ask support to check the bot server for the time of the failed call. For a recent call the team can usually see the address the bot server saw and the reason it gave.

How to fix it

Send the team the public address of every VICIdial server that places calls to the bots, including servers you plan to add. See A VICIdial cluster: add every server.

Allow a few minutes after the team confirms. To make the bot servers pick up the new address sooner, press Force bot sync on Integrations, then place a test call.

For a plain 403 Forbidden, ask the team to check the bot route on your dialer. Do not edit it yourself.

Still stuck

The SIP response text, the address your dialer’s log shows, the campaign and the remote agent’s External Extension.

Every call is refused, and log-in says “Organization is frozen” or the dashboard says “Account access restricted”

Likely cause

VoiceOI bills from a prepaid balance. When it runs out, the Dashboard first shows a note that starts “Your balance has run out. Calls stop on” followed by a date. If no credit is added, VoiceOI pauses the account and clears its allow-list. With no allow-list the bot server refuses every call with 403 Forbidden - No IP Whitelist Configured. Log-in is then refused with “Organization is frozen”, and a dashboard that was already open fails with “Couldn’t load your dashboard. Account access restricted. Please contact support.” The same happens when the VoiceOI team pauses an account for another reason: ask the team why.

How to check

Log in again at the log-in page. “Organization is frozen” means the account is paused. You see it only when your email and password are right. If you can log in, the Dashboard note and Remaining Balance in the sidebar show the warnings that come before a pause.

How to fix it

Contact the team by the contact page, WhatsApp or email: see How do you reach VoiceOI support?. The dashboard has no top-up page, so the team applies your payment to the balance: see How do you add balance or pay an invoice?.

When the balance is above zero again, the account is restored and the allow-list returns exactly as it was before the pause. You do not need to send the addresses again. Allow a few minutes, then place a test call.

Still stuck

The time you first saw the message, with your time zone, and the text of the note you saw before it, if any.

Calls are refused with SIP 480 Temporarily Unavailable (unknown script ID)

Likely cause

Your dialer dials the bot with a script ID. If the bot server has no script or campaign with that ID, it refuses the call with 480 Temporarily Unavailable. It does this on purpose: running a different script would put the wrong words in front of your lead.

The usual reasons are an ID that was mistyped, an ID of a script that was deleted and rebuilt (a rebuilt script has a new ID), and a script created or changed a moment ago that has not reached the bot servers yet (changes reach the bots on their next sync, which can take longer than a minute).

How to check

In Scripts, open the row menu of the script and choose Copy Script ID. Compare it with the ID in the Dial line of the bot route on your dialer. See Always dial the script ID.

Press Force bot sync on Integrations. Wait for a result that says every bot is fully in sync, such as “Your bot is fully in sync” or “All 3 bots are fully in sync”, then place another call. A result such as “2 of 3 bots fully in sync” means a bot did not confirm.

How to fix it

If the script is new or changed, press Force bot sync and test again.

If the IDs differ, ask the VoiceOI team to correct the bot route on your dialer with you. Do not guess an ID.

Ask the VoiceOI team to confirm that the script is linked to a campaign. The team does the campaign setup.

Still stuck

The script name and the script ID in your bot route.

Calls are refused with SIP 404 Not Found

Likely cause

The call carried no script ID, lead, bot slot or campaign. The usual reason is a bot route that does not add the lead and campaign headers or does not name the script.

How to check

Ask your VICIdial admin to read the Dial line of the bot route and compare it with Copy Script ID in Scripts. See Always dial the script ID. A 404 leaves no entry in Call Logs.

How to fix it

Do not edit the route yourself. Ask the VoiceOI team to check it with you.

Still stuck

The SIP response, the campaign and the remote agent’s External Extension.

Calls are refused with SIP 503 Service Unavailable or 500 Server Internal Error

Likely cause

503 Service Unavailable means the bot server’s audio engine was not connected when the call arrived. This happens for a few seconds after a restart or an update of the bot server, and it clears by itself.

500 Server Internal Error means something failed while the bot server set up the call. The bot server records the error.

How to check

Write down the time of the first and the last refused call. A short burst that ends by itself fits a restart or an update: ask the team whether one ran then, and place a test call a minute later.

How to fix it

A refused call is a call the person already answered, so that person hears no bot. A short burst that stops by itself needs no change to your VoiceOI setup. VoiceOI does not know how your VICIdial logs those leads, so look at them in VICIdial’s own reports and in your own abandoned-call tracking. What happens to the lead and the redial is decided by VICIdial and your campaign settings, not by VoiceOI.

If a 503 continues for more than a few minutes, or a 500 repeats, contact the team. Both need attention on the bot server.

Still stuck

The time of the first and the last refused call, the SIP response text and the campaign.

My dialer shows CONGESTION or CHANUNAVAIL on the bot trunk and no call reaches the bot

Likely cause

Many dialers report a refusal from the bot server as CONGESTION on the bot trunk, whatever the SIP code. Depending on the Asterisk version and SIP module you may see another failed-call result instead, such as CHANUNAVAIL or BUSY. The reason is in the SIP response and in the bot server’s own records.

The table in What do the SIP refusal codes mean? lists the possible reasons, from an address that is not on the allow-list (403) to a setup error (500).

CONGESTION on your carrier trunk is a different case. That is the leg to the person you call, and a carrier problem or a limit on your side causes it. This entry is about the leg to the bot.

How to check

Ask your VICIdial admin to find the dial to the bot trunk in the dialer’s Asterisk log and read the SIP response next to it. Use the table linked above to find the entry for that code.

If the log shows no response at all, see the no-answer entry.

Ask support to check the bot server for the time of the call.

How to fix it

Follow the entry for the code you found: SIP 403, paused account, SIP 404, SIP 480 or SIP 503 and 500.

Still stuck

The time of a call that showed CONGESTION, the SIP response if you can read it, the campaign and the remote agent’s External Extension.

The call rings but the bot never answers, then it times out

Likely cause

The call left your dialer, but no answer came back from the bot server. There are four usual reasons.

Your dialer’s address is not on the allow-list and the bot server’s firewall drops the call, so you see a timeout instead of a 403.

The bot route on your dialer points to the wrong address or port. The bot server’s SIP port can change when the team reinstalls or moves a bot server, and the peer on your dialer must then change to match.

A firewall on your side, or on the way, blocks UDP or TCP to the bot server addresses the team gave you. SIP uses both.

The bot server is stopped or restarting.

How to check

Ask your VICIdial admin whether the dialer’s Asterisk log shows the call going to the bot trunk with no response, and whether Asterisk reports the bot peer as reachable.

Ask the team to confirm the bot server address and SIP port in your bot route, and whether the bot server was recently reinstalled, moved or updated.

How to fix it

Make sure the address your dialer calls from is on the allow-list. See SIP 403.

Allow UDP and TCP between your dialer and the bot server addresses the team gave you. The team confirms the ports during onboarding. If your dialer uses the ViciBox firewall, add the bot server addresses to its white list too. If the team gives you a new address or port, it updates the peer on your dialer with you, and you allow the new address on your firewall.

Still stuck

The campaign, the remote agent’s External Extension, and what the dialer’s log showed.

The bot answers, then the call ends at once

Likely cause

The bot server accepted the call but could not start a script, so it hung up. That happens when the script behind the call has no steps, or when the call names a campaign that has no script with steps. Dial the script ID so the call runs the script you chose: see Always dial the script ID.

A rule on Immediate Hangups can also end a call right after the first thing the person says. See Bots hang up on real people.

If the person hears nothing and then the call ends, the cause may be audio. See audio, transfer and disposition troubleshooting.

How to check

Open the call in Call Logs. A call the bot answered and then dropped has an entry with no Bot Said, AI Opening, AI Voice or AI Bot lines. If there is no entry at all, the bot server refused the call: use the SIP refusal codes.

Open the script in Scripts and check that it has steps.

Press Show System Nodes on the call to read the technical flow. If a rule ended the call, the ending event names it.

How to fix it

Finish and save the script, press Force bot sync, and place a test call. If the script is complete, ask the team to check that the campaign has it linked.

If a rule ended the call, follow the remote agent entry linked above.

Still stuck

The lead ID, the campaign, the script name, and what Call Logs shows for the call.

The first calls work, then later calls fail

Likely cause

Every call fails from a certain time: the balance ran out and the account was paused. See the paused-account entry.

Only calls from one VICIdial server fail: that server is not on the allow-list. See the cluster entry.

Failures come in a short burst and stop: the bot server restarted or was updated. See SIP 503.

Failures appear when many calls run at once: answered calls find no free bot. See the abandoned-calls entry.

Failures start after you edited or rebuilt a script: the dial string names an ID the bot server does not have. See SIP 480.

Failures start after a change on your dialer: see the server-change entry.

How to check

Write down the time of the first failed call, then three failed and three good calls, with the campaign and the dialer server for each. Compare the two lists.

How to fix it

Follow the entry that matches. If none does, send both lists to support.

Still stuck

Both lists, with the SIP response for each failed call.

Some calls work and some are refused (VICIdial cluster)

Likely cause

A VICIdial cluster can place calls from every one of its Asterisk servers. The bot server checks the address of the server that placed each call. If only some of your servers are on the allow-list, calls from the others are refused or get no answer, and you see a mix of working and failing calls.

The usual trigger is a server added to the cluster, or load balancing that starts to send calls through a server that never carried bot calls before.

How to check

In your VICIdial admin, list the servers that place calls. Ask the team to read back the addresses on your allow-list, and compare the two lists.

In the Asterisk log of each server, look at the response to the bot trunk. A refusal or no response on one server and a success on another confirms the cause.

How to fix it

Send the team the public address of every server that places calls, including those you plan to add. Tell the team which server runs your VICIdial web pages, so it can match the calls to your connection on Integrations.

Allow a few minutes after the team confirms. To make the bot servers pick up the new addresses sooner, press Force bot sync on Integrations, then test a call from each server.

Still stuck

The addresses of all your Asterisk servers, and which server placed a refused call.

Why does nothing dial, and why are answered calls dropped?

Integrations shows VICIdial as Live, but nothing dials

Likely cause

Live on the card means only that the connection is saved and switched on. VoiceOI does not start calls on VICIdial: VICIdial dials your leads and hands each answered call to a bot remote agent, so nothing dials when VICIdial has no reason to dial or no bot line is free.

In VICIdial, check that the campaign is Active; that its lists are active and hold leads the campaign’s dial statuses allow; that the hopper has leads; that Local Call Time allows dialing now; that the dial method and dial level are set; and that the bots’ remote agent entries are Active, belong to that campaign and have lines. These are VICIdial settings.

On the VoiceOI side, the bots’ entries must have been started with START, and the account must not be paused.

How to check

Open the live agent view in VICIdial’s admin for the campaign and look for the bot lines. If they are missing or not ready, VICIdial has nothing to hand calls to. See START problems.

If VICIdial is dialing and answered calls are connecting but never reach a bot, use the SIP refusal codes.

How to fix it

Correct the VICIdial settings above. Your VICIdial admin owns them.

If the bot lines are missing, ask the VoiceOI team to check the remote agent entries.

Still stuck

The campaign ID, what the live agent view in VICIdial’s admin shows for the bot lines, and the time you expected calls.

The bot plays an old script after I changed it

Likely cause

Saved changes reach the bot servers on their next sync, which can take longer than a minute. A bot server that was offline, restarting or running an older bot version can miss a change.

The call runs the script whose ID is in the bot route on your dialer. If you built a copy or a new script, the route still points at the old one until the team changes it.

How to check

Press Force bot sync on Integrations and read the result. A result that says every bot is fully in sync, such as “Your bot is fully in sync” or “All 3 bots are fully in sync”, means every bot that reports back has your current scripts. A line such as “problem with scripts”, “no report yet (offline, or restarting)”, “No bot answered” or “Sync not delivered” means a bot did not confirm. A bot that “runs an older bot version, which syncs but does not report back” cannot confirm: ask the team.

In Scripts, choose Copy Script ID on the script you edited and compare it with the ID in your bot route. See Always dial the script ID.

How to fix it

If a bot did not report, wait a few minutes and press Force bot sync again. If it still does not report, or the message says the bot runs an older version, the bot server needs the VoiceOI team.

If the IDs differ, ask the team to point the bot route at the script you want.

Still stuck

The exact result text from Force bot sync, the script name, and the time of a call that played the old version.

VICIdial shows many answered calls dropped or abandoned

Likely cause

In VICIdial, an answered call that finds no free agent is dropped, also called abandoned. With bots, each bot line takes one call at a time, and a line that is busy, stuck or not Active is not free. If VICIdial dials faster than there are free bot lines, answered calls find no bot.

Other reasons: only some bots are Active, some lines are stuck on a call, or a burst of refused calls (a bot server restart, a paused account) left answered people with no bot.

The dial level, the drop settings and any limit on abandoned calls are VICIdial settings. VoiceOI does not set, measure or limit your abandoned-call rate.

How to check

During the busy period, compare the campaign’s dial level with the number of Active bot lines in the live agent view in VICIdial’s admin.

Compare the times of the drops with refused calls. See the SIP refusal codes.

How to fix it

Ask your VICIdial admin to lower the dial level until the lines keep up.

To take more calls at once, ask the VoiceOI team about more bots. Each bot is one line.

For stuck lines, see stuck INCALL lines.

Still stuck

The campaign, the dial level, the number of Active bot lines, and the times of a burst of drops.

Calls stopped after we changed or moved our VICIdial server

Likely cause

Three things link your dialer to the bots, and a change on your side can break each one. The address your dialer calls from must be on the allow-list. The bot route and the SIP peer on your dialer must match the bot server address and SIP port. And the Server URL, the API user and the allowed addresses must still match your VICIdial web server.

So a new dialer server or a new public address is refused with a 403 or gets no answer. A new web address or a changed API password makes Test connection fail, and on some accounts an invalid certificate does too. A change to the bot route or the SIP peer can make calls fail before they reach the bot server, so they leave no entry in Call Logs.

How to check

Ask your VICIdial admin what changed and when: server, address, firewall, certificate or API user.

Press Test connection on Integrations. A failure points at the web address, the API user or the allowed addresses. See What does each Test connection message mean?.

Place a test call and read the response in the SIP refusal codes. No entry in Call Logs and no SIP response from the bot server point at the route, the peer or a firewall.

How to fix it

Tell the VoiceOI team about the change as early as you can, ideally before it. The team updates the allow-list and the connection, and checks the bot route and the SIP peer on your dialer with you.

Do not rebuild the bot route or the peer from memory. The team writes them for your install.

Still stuck

What changed and when, the new public addresses and web address, and the first call that failed.

What should I send support?

Send these details with your message so the VoiceOI team can find the call quickly. Use Contact to reach the team. Each “Still stuck” line above lists only what is specific to that problem, so send these details as well.

  • The time of the failed call, or of the Test connection press, with the time zone.
  • The exact message or SIP response, for example 403 Forbidden - IP Not Whitelisted.
  • The lead ID, the phone number and the VICIdial campaign ID, from VICIdial or from Call Logs.
  • The remote agent’s User ID and External Extension, as shown on the Remote Agents row.
  • The public address of the VICIdial server that placed the call (every server, for a cluster).
  • Whether the call appears in Call Logs, and whether it has Bot Said lines (or AI Opening, AI Voice or AI Bot lines for an AI agent).
  • What changed recently: a VICIdial server change, a new address, a firewall change, a script edit or a changed API password.
  • A screenshot of the VICIdial card on Integrations showing Live or Switched off, and the result of Force bot sync if you pressed it.

Common questions

Why does Test connection pass but my calls are refused?

Test connection checks only the link from the VoiceOI master server to your VICIdial web server, with one lookup. It places no call and does not use the bot servers. Calls travel on a separate path, from your dialer to a bot server over SIP. They can be refused or left unanswered for an address that is not allowed, a script ID the bot server does not have, a paused account or a bot server restart.

What does CONGESTION on the bot trunk mean?

Many dialers report a refusal from the bot server as CONGESTION on the bot trunk, whatever the SIP code. Depending on the Asterisk version and SIP module you may see another failed-call result instead, such as CHANUNAVAIL or BUSY. The SIP response is the reliable signal: 403 means the address is not on the allow-list or the account has no allow-list, 404 means the call carried nothing that identifies it, 480 means the script ID is unknown, 503 means the bot server was restarting, and 500 means the call setup failed. CONGESTION on your carrier trunk is a different problem, on the leg to the person you call.

What does SIP 403 Forbidden - IP Not Whitelisted mean?

The bot server accepts calls only from the addresses on your account’s allow-list, which VoiceOI calls the IP whitelist. The call came from an address that is not on it. On many bot servers such a call gets no answer at all instead of a 403. Send the VoiceOI team the public address of every VICIdial server that places calls.

What does SIP 480 mean for a VoiceOI call?

The script ID in your dial string is not on the bot server, so the bot server refuses the call instead of running a different script. The usual causes are a mistyped ID, a script that was deleted and rebuilt, or a new script that has not reached the bots yet. Press Force bot sync on Integrations, compare the ID with Copy Script ID in Scripts, and place the call again.

Why were all my calls refused when my balance ran out?

When a prepaid balance runs out and no credit is added, VoiceOI pauses the account and clears its allow-list, so the bot servers refuse every call. When the VoiceOI team applies a credit that brings the balance above zero, the account is restored and the allow-list returns as it was.

Do I need to allow-list every server in my VICIdial cluster?

Yes. A VICIdial cluster can place calls from every one of its Asterisk servers, and the bot server checks the address of the server that placed each call. A server that is not on the allow-list has its calls refused with SIP 403 or gets no answer, even while the other servers work. Send the VoiceOI team the address of every server that places calls, and tell the team before you add a new one.

Why does a refused call not appear in Call Logs?

The bot server refuses the call before it accepts it, so for a refusal with 403, 404, 480 or 503 no call record is created. If a test call has no entry in Call Logs, it never reached the bot, and the SIP response on your dialer shows why.

Related

VoiceOI provides tools. The customer is the caller and is responsible for consent, do-not-call lists, calling hours, caller ID, recording and monitoring consent, and disclosures. This page is not legal advice.

VICIdial is a registered trademark of the Vicidial Group. VoiceOI is an independent product and is not affiliated with or endorsed by the Vicidial Group. Asterisk, Twilio and other product names are trademarks of their respective owners.

Questions about your setup? Talk to the VoiceOI team.