VoiceOI

Connect your dialer

VICIdial audio, transfer and disposition problems

Most VoiceOI bot problems on VICIdial® fall into three groups: the audio path between your dialer and the bot server, the hand-off to your closers, and the write-back of statuses and notes through VICIdial’s API. Use the table in the first section to find your symptom. Each of the 21 entries gives the cause, the check, the fix and what to send support.

Applies to:VICIdial® accounts

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

How do I find out where a call went wrong?

A missing User Spoke line in Call Logs, or a person who says “hello?” again and again, points at audio. A Transferring line followed by a call that ends points at the hand-off. A right outcome in VoiceOI with a wrong status on the lead in VICIdial points at the write-back.

  1. Find the call in Call Logs

    You

    Open Call Logs (titled Interaction Logs), search for the number and expand the row. Bot Said lines are what the bot played, User Spoke lines are what it heard, and Transferring marks a hand-off attempt. Only Admin and SubManager logins see this page. A call the bot server refused has no row: see connection troubleshooting.

  2. Try the script in the Simulator

    You

    If the script works in the Simulator but not on a call, look at the phone path and at how speech recognition hears phone audio. The Simulator tests the conversation only.

  3. Read the lead and the dialer’s SIP log

    You

    Search for the lead by its ID and note its status, its Comments and the status in VICIdial’s call log. Ask your VICIdial admin for the dialer’s SIP log of the call: it shows the replies your dialer gave the bot server, including the answer to a transfer request.

  4. Send the details to support

    Both

    If the checks do not explain it, send what support needs.

Find your symptom

What you seeRead
No audio, or audio in one direction onlyNo audio either way, one-way audio
The audio breaks up, or works from some servers onlyChoppy audio, some servers only
Silence before the bot first speaksDead air at pickup
The bot says “connecting you now” and the call endsTold “connecting you now”
SIP REFER 403, 404, 481 or 603 in your dialer’s log403, 404, 481, 603
The transfer step sends nothing, nobody answers, or the wrong closer gets the callNo hand-off, nobody answers, wrong closer
The closer hears nothing, or hears a second callCloser hears nothing, twice or three-way
The closer sees no notes, or only part of themNo notes, cut-off notes
No status reaches VICIdial, or some codes never appearNothing is written, codes missing
VICIdial’s call log says XFER on calls that were not transferredCall log stays XFER
A transferred call has the wrong statusWrong status after a transfer
Dialer Dispositions and VICIdial show different countsCounts disagree

Why is there no audio, one-way audio or choppy audio?

Your dialer and the bot server exchange the call audio as G.711 u-law over UDP. The VoiceOI team confirms the audio ports and firewall rules with you during onboarding, and changes the SIP peer or the bot route with your VICIdial administrator. The settings are in SIP settings.

Neither the person nor the bot hears anything

Likely cause

The call connects, so the signaling works, but the audio does not reach the other side. Common reasons are a firewall that blocks UDP between your dialer and the bot server addresses the team gave you, a SIP peer that is not set to G.711 u-law only, and missing NAT settings on the peer. On the VoiceOI side, the bot server may be unable to pass the person’s voice to speech recognition: only the team can check that.

How to check

In Call Logs, Bot Said lines with no User Spoke lines, and a call that ends as DAIR, fit this entry.

Compare with a call a person on the same campaign takes over the same carrier. If the person hears the caller, the carrier leg works. Ask your admin whether the firewall changed recently.

How to fix it

Your administrator allows UDP in both directions between the dialer and the bot server addresses. Ask the team to check the bot server, and the peer on your dialer with your administrator. Do not edit the peer yourself.

Still stuck

The time of a call with no audio (with time zone), the campaign, the Asterisk server, and whether a person on the same campaign hears audio.

The person hears the bot but the bot never hears them, or the other way round

Likely cause

Bot Said lines with no User Spoke lines mean the bot hears nothing: the script reprompts into silence, and the call usually ends as DAIR, or as AM in a pre-recorded script. Either the person’s voice does not reach your Asterisk (a carrier-leg fault), or it does not reach the bot server.

User Spoke lines where the person says “hello” more than once, with the person reporting silence, mean the bot’s voice does not reach the person. A common reason is NAT or a firewall blocking the bot’s audio on its way back to your dialer.

How to check

Compare a call a person takes on the same campaign. Silence there too means the carrier leg, which you fix with your carrier.

Ask your admin which Asterisk server placed the call, and whether its bot peer has the NAT settings in SIP settings.

How to fix it

Ask the team to check the peer on that server with your administrator, and the bot server. For many DAIR calls, see Many calls end as DAIR.

Still stuck

The times of two calls (with time zone), who heard whom, the Asterisk server, and the Bot Said and User Spoke lines.

The audio is choppy, robotic or breaks up

Likely cause

Common causes are packet loss or jitter between your dialer and the bot server, which breaks audio in either direction, and a busy dialer: if your carrier leg uses another codec than G.711 u-law, your Asterisk may have to convert the audio, which adds load.

A synthetic voice that is not broken is a voice choice: see Voices, audio and the Simulator.

How to check

Play the same line in the Simulator. If it sounds clean there and breaks up on calls, the voice is not the cause: look at the network path and the servers.

Note whether it happens on every call or at busy times, and on every Asterisk server or one.

How to fix it

Your administrator checks the dialer’s load and the network path, and keeps the bot peer on G.711 u-law only. The team checks the bot server’s load for the same minutes.

Still stuck

The times of three affected calls (with time zone), whether the Simulator sounds clean, and the dialer’s load then.

Audio works from some of my VICIdial servers and not from others

Likely cause

Common causes are a server with different NAT settings, a different firewall or a bot peer that differs from the others: the calls connect when every server is on the allow-list, but that server carries no audio. Refused calls are a different case: see Some calls work and some are refused.

How to check

Ask your admin which server placed each good call and each bad call, and to compare the bot peer and route on a good server with those on a bad one.

How to fix it

The team matches the peer and the route on every server that places bot calls, with your administrator. Your administrator checks that each server’s firewall allows UDP to the bot server addresses.

Still stuck

The addresses of all your Asterisk servers, which ones carried good and bad calls, and the time of each (with time zone).

Why does a transfer to a closer fail?

A transfer hands the live call to your closers. Only two transfer methods are supported on the VICIdial path: ViciDial Native API Transfer (Instant Release) and SIP Blind Transfer (REFER). The Transfer Mode list shows other modes too, some with ViciDial in their names. The setup is in How do transfers to closers work on VICIdial? and Transfers and closers.

The bot says “connecting you now”, then the call ends and no closer gets it

Likely cause

The dialer refused the hand-off, or VICIdial could not carry it out, depending on the transfer method of the step.

With SIP Blind Transfer (REFER), your dialer answers with a SIP code such as 403, 404, 481 or 603. It can be the reply to the REFER or, from a dialer that accepts the request first, a status message after it.

With ViciDial Native API Transfer (Instant Release), VoiceOI asks VICIdial’s agent API to move the call, and there is no SIP code. It fails when the API user lacks Agent API Access, the bot’s remote agent entry is not Active, the bot route does not pass the call code header, the destination is not a full number that dials through your dialer’s default context (the team confirms the form during onboarding), or, with two VICIdial servers, the request goes to a guessed one. If VoiceOI cannot work out the bot line or the lead, it sends a REFER instead.

Or the Transfer Call step has no destination. Then nothing is sent and the call ends at that step: see The transfer step does nothing.

How to check

Read the transfer method on the Transfer Call step (in the AI Voice Agent editor, Transfer method on the Handoff tab). Ask your admin whether the dialer’s SIP log shows a REFER at that time and every answer to it (SIP debugging may need to be on, limited to the bot peer and switched off again after one repeat test call). Only that log shows a failure reported after a first “accepted”.

For a REFER, ask your admin to check three things: the bot peer allows transfers and names a context for them (see SIP settings), the destination exists in that context on the server that placed the call, and the call was still up when the REFER went out (compare the time with calls in Call Logs where the person hung up).

How to fix it

For a REFER, fix what the log names, then place a test call.

For the Native API method, your administrator confirms Agent API Access is 1 on the API user (see What does the VICIdial API user need?) and that the destination dials through the dialer’s default context, you check that the bot is Active (START did nothing), and the team checks that the route passes the call code header.

Still stuck

The time of the call (with time zone), the lead ID, the campaign, the transfer method of the step, the destination, and the SIP code, if any.

A SIP REFER transfer is refused with 403

Likely cause

Your dialer’s SIP log shows a 403 for the transfer. In SIP, a 403 means the dialer understood the request and refused it. The reason text next to the code may say more.

How to check

Ask your admin for the REFER and the dialer’s answer in the SIP log, and for the bot peer as it is now. Compare it with the example in SIP settings: a peer that was rewritten or restored from an older copy can lose its transfer lines.

How to fix it

If the peer lost its transfer lines, the team restores them with your administrator, who reloads the SIP configuration. Then place a test call that qualifies and check that it reaches the in-group.

Still stuck

The time of a failed transfer (with time zone), the answer in your dialer’s SIP log, the campaign, the destination in the step and the Asterisk server that placed the call.

A SIP REFER transfer is refused with 404

Likely cause

Your dialer’s SIP log shows a 404 for the transfer. In SIP, a 404 means the destination was not found. It is your dialer’s answer to a transfer request, not the 404 the bot server sends when a call arrives with no script, lead or campaign: see connection troubleshooting.

How to check

Read the destination in the Transfer Call step (Destination Phone Number) and look for a typo. The REFER goes back to the address the call came from, so ask your admin whether that extension exists in the transfer context of the bot peer on the server that placed the call. In a cluster it must exist on every server that places bot calls.

How to fix it

You correct a mistyped destination in the step, save, and press Force bot sync on Integrations.

If the extension is missing on a server, your administrator adds it with the team.

Still stuck

The destination in the step, the context it should use, the server that placed the call and the time (with time zone).

A SIP REFER transfer is refused with 481

Likely cause

Your dialer’s SIP log shows a 481 for the transfer. In SIP, a 481 means the call the request refers to does not exist (any more). The reason text next to the code may say more.

How to check

Get the times of the 481s and compare them with calls in Call Logs where the person hung up just before the hand-off.

How to fix it

If 481 appears when the person stayed on the line, send the times to the team, which checks the call with your administrator.

Still stuck

Three call times with a 481 (with time zone), the lead IDs, the campaign and whether the person stayed on the line.

A SIP REFER transfer is refused with 603

Likely cause

Your dialer’s SIP log shows a 603 for the transfer. In SIP, a 603 means the dialer declined the request. The reason text next to the code may say more.

How to check

Ask your admin to read the reason next to the REFER in the dialer’s SIP log, and to check the peer and the destination as in the 403 and 404 entries.

How to fix it

Fix what the log names. If it does not explain the 603, send the log lines to the team, which checks the peer with your administrator.

Still stuck

The same details as for a 403.

The transfer step does nothing: no hand-off is sent, and the call ends

Likely cause

A Transfer Call step with no destination sends no hand-off. The script ends at that step, so VoiceOI hangs up on the caller. The call is not coded XFER: the lead normally shows HANGUP unless the step sets another Vicidial Disposition. The field is Destination Phone Number for SIP Blind Transfer (REFER), Dialplan Extension or Target Number for ViciDial Native API Transfer (Instant Release), and Transfer target in the AI Voice Agent editor. Direct IP to IP and ViciDial AXFER (Native) hide the field, and neither is supported on the VICIdial path.

How to check

In Call Logs, look for a Transferring line that names the destination. Without it, no hand-off was sent.

Open the step and read Transfer Mode and the destination.

How to fix it

You set the mode to ViciDial Native API Transfer (Instant Release) or SIP Blind Transfer (REFER) (in the AI Voice Agent editor, “ViciDial Native API (instant release)” or “SIP blind transfer (REFER)”) and enter the destination the team gave you. Save and test.

Still stuck

The script name, the transfer mode and destination as saved, and the time of a call with no Transferring line (with time zone).

The transfer arrives and nobody answers, or the caller waits in silence

Likely cause

The call reached your dialer’s in-group, but VICIdial had no closer to give it to. The reasons are no closer signed in and ready in that in-group, an in-group that is not allowed for the campaign your closers are logged into or that they are not set to take calls from, and all closers busy. VICIdial, not VoiceOI, chooses the closer.

How to check

In the live agent view in VICIdial’s admin, look at the in-group: are closers signed in, ready, and in that in-group? Ask your admin whether the in-group is allowed for the campaign your closers are logged into.

How to fix it

You sign your closers in before the campaign starts.

Allowing the in-group was part of the team’s onboarding. Ask the team to confirm it, and ask your administrator whether your closers take calls from that in-group.

Still stuck

The time of a call that nobody answered (with time zone), the in-group, the campaign, and how many closers were signed in and ready.

The call goes to the wrong in-group or the wrong closer

Likely cause

The destination in the step decides the in-group, because your dialplan routes that extension or number to one in-group. A script with several transfer steps can reach a different step than you expect. Routing steps such as the Matrix Router may not run on bots that take calls through VICIdial: see The call ends when it reaches the ZIP Resolver or the Matrix Router. Which closer inside the in-group takes the call is VICIdial’s decision, not VoiceOI’s.

How to check

In Call Logs, read the Transferring line. It names the destination used. Compare it with your dialplan.

How to fix it

You correct the destination in the step. Your administrator changes how the in-group picks a closer.

Still stuck

The destination the Transferring line shows, the in-group the call reached, the one you expected, and the time (with time zone).

The closer hears a second call, or the caller is connected twice

Likely cause

With SIP Blind Transfer (REFER), VoiceOI can also send a follow-up transfer request to VICIdial for the same call. Only the team can see which requests were sent for a call.

How to check

Note the time of the call and the transfer method of the step.

How to fix it

Send the details below to the team, which can change how that transfer is sent.

Still stuck

The time of the call (with time zone), the lead ID, the campaign, the transfer method and destination in the step, and what the closer heard.

The closer answers but hears nothing, or the caller and closer cannot hear each other

Likely cause

After the hand-off the bot is no longer on the call, and the audio travels through your VICIdial and your carrier, which VoiceOI cannot affect. Common reasons are the closer’s phone or softphone, and NAT or a firewall on the carrier leg.

How to check

Does it happen on other calls into the same in-group, such as calls your own agents transfer? Does it affect one closer or all?

How to fix it

Your administrator fixes the closer’s phone or the carrier leg in VICIdial. If other calls into the in-group have audio, ask the team to confirm when the hand-off was sent and to what destination.

Still stuck

The time of the call (with time zone), the lead ID, the closer’s user and the in-group, and whether other calls into the in-group have audio.

Why does the closer see no notes, or only some?

The closer sees no notes on the lead

Likely cause

Before a transfer, VoiceOI writes the notes into the lead’s Comments through VICIdial’s API. If the write fails, the closer sees the earlier value. It fails when the API user cannot change leads or the bot server addresses are not allowed on your web server: see Test connection passes, but statuses and notes never reach VICIdial. With two VICIdial servers, VoiceOI refuses the write when it cannot tell which one the call belongs to: see I have two VICIdial servers.

Other reasons: the step has no notes set (Notes for the closer is empty), the AI agent left the note out (a blank Comments instruction does not switch notes off), the call has no lead ID (see No status reaches VICIdial), or the closer’s screen does not show Comments. For closers on a separate VICIdial, Also send the notes to a closer dialer must be on: see Notes for the closer.

How to check

Open the lead in VICIdial and read Comments. Notes there mean VoiceOI wrote them, and the problem is what the closer’s screen shows. Empty or old text means the write failed. Then look at Notes for the closer on the Transfer Call step.

How to fix it

You add the details to Notes for the closer, or, for an AI agent, describe in the Comments instruction what the note must always contain. For a failed write, follow the entries linked above: your administrator fixes the API user, and the team checks the dialer match.

Still stuck

The lead ID, the time of the transfer (with time zone), the campaign, and what Comments holds in VICIdial.

The notes are cut off, or a detail is missing

Likely cause

Comments in VICIdial holds 255 characters. For Notes for the closer, VoiceOI shortens long free-text answers first, then drops whole details from the end, and avoids cutting a word in half. It also converts the notes to plain ASCII (accents are removed from letters and other special characters are dropped) and replaces a | inside an answer with /.

In the AI Voice Agent editor, the agent writes the Comments itself, and VoiceOI cuts them at 255 characters, which can fall in the middle of a word.

How to check

Compare the preview in the editor with the lead’s Comments in VICIdial. A missing last detail fits the first case.

How to fix it

You put the details the closer needs first in the list, because the last ones go first. Shorten the labels (up to 40 characters) and remove details you do not use. For an AI agent, write the Comments instruction so the note lists the most important facts first and stays short.

Still stuck

The lead ID, the notes as the editor previews them, and the Comments text in VICIdial.

How is a call written back to VICIdial?

A shorter version is in Which statuses does VoiceOI write back to VICIdial?.

  1. The call ends: the person hangs up, the script finishes, or a safety limit ends it.
  2. VoiceOI works out the status. A status set by a script step or an AI outcome wins. Otherwise the hang-up rules in Which status codes does VoiceOI write? apply.
  3. VoiceOI updates the lead in VICIdial with that status.
  4. A few seconds later, VoiceOI updates the call’s entry in VICIdial’s call log, and tries once more if the first try is not confirmed.
  5. VoiceOI saves its own record of the call. Call Logs and Dialer Dispositions are built from it.

A transferred call is different. VoiceOI writes the notes first, then sends the hand-off. With ViciDial Native API Transfer (Instant Release), the status goes to VICIdial’s API in that same request. With SIP Blind Transfer (REFER), the REFER carries no status: VoiceOI ends its side of the call, then normally sends the status in a separate request, which can fail on its own. VoiceOI makes no lead or call log update afterwards, and the closer’s own disposition in VICIdial normally sets the lead’s final status.

What VoiceOI writes to VICIdial, and what stops it
Record in VICIdialWhat VoiceOI writesWhenWhat stops it
The lead’s statusThe status codeRight after the call ends, except on a transferred callA code that is not on the campaign’s status list; a read-only API user; no lead ID on the call
The lead’s CommentsThe notes for the closer, up to 255 charactersJust before the hand-offAn API user that cannot change leads; two VICIdial servers and no way to tell which; no lead ID
The call log entryThe status codeA few seconds after the call ends, and once more if the first try is not confirmedNo valid call code in the bot route, so VoiceOI cannot find the entry; no campaign on the call or the connection; an API user that cannot change leads
The transfer requestThe status: with the hand-off (Native API) or just after it (REFER)At the hand-offAn API user without Agent API Access; a bot entry that is not Active; no call code
VICIdial’s agent logNothing from VoiceOI’s call log updateNot applicableVICIdial writes its own agent records, so reports built from the agent log can differ from the call log

Call Logs does not show VICIdial’s reply to a write: the code there is the one VoiceOI chose, whether or not VICIdial accepted it. The team can read the reply for the time of a call.

Which status codes does VoiceOI write?

VICIdial accepts a status only if the campaign’s status list has it. This table lists every code VoiceOI can write and what sets it. Check each one you use against the campaign in VICIdial.

Status codes written to VICIdial
CodeMeaningWhat sets it
XFERQualified, handed to a closerThe AI agent’s “Qualified - transfer” outcome, or a Transfer Call step with no other Vicidial Disposition
SALEQualified, no transferThe AI agent’s No transfer option on the Handoff tab (the one that marks the call a sale), or a step
DECNot qualified (“Declined Sale” in the Script Builder list)The AI agent’s “Not qualified” outcome, or a step
NI, CALLBKNot interested; callback requestedThe AI agent’s outcome of that name, or a step
DNCDo not callThe AI agent’s “Do not call” outcome, or a DNC Keywords rule on Immediate Hangups
AMAnswering machineA Machines rule on Immediate Hangups, a long first answer at an AM Detect step, or a call that runs away: several silent turns in a row, or a script that loops or runs too many steps
N, HUThe person hung upThe AI agent’s “Caller hung up” outcome (N); an AI script without that code, such as an older one (HU). In the Script Builder list, N reads “N - No Answer”
NAWords were heard, but nothing usableVoiceOI, from the words it heard
DAIRDead air: no words heard at any pointVoiceOI, from the words it heard
NPNo clear outcomeVoiceOI, when the person hung up after one usable answer, or the AI agent ran out of turns
HANGUPThe person engaged, then hung upThe default when no step or rule set a status
DROPVoiceOI ended a call that ran too long or stalledA safety limit
A, B, DC, CBHOLD, NQAnswering Machine, Busy, Disconnected Number, Scheduled Callback (a label only: VoiceOI schedules no callback), Not QualifiedOnly a script step whose Vicidial Disposition you set to that code

In a pre-recorded script, when the person hangs up and no step set a status, VoiceOI picks the code from what it heard: no words at all in the transcript is DAIR, even if there was noise on the line; words but none usable is NA; one usable answer is NP; two or more is HANGUP. SALE, NI, CALLBK, DEC, DNC, CBHOLD and AM are held in place: a weaker code such as NP or HANGUP does not replace them. VICIdial statuses are 1 to 6 characters long, so do not pick OVERAGE (7 characters) as a Vicidial Disposition: VICIdial cannot store it.

Why is the status in VICIdial missing or wrong?

No status reaches VICIdial for any call: leads and the call log stay as they were

Likely cause

VoiceOI writes to a lead, so the call must carry a lead ID. A call dialed straight to the bot’s extension, such as a softphone test, usually has none, and VoiceOI then skips the status and call log writes. The same happens when the bot route does not pass the lead.

If calls from a campaign also write nothing, the cause is the link to your VICIdial API, such as a read-only API user or a connection that is Switched off: see Test connection passes, but statuses and notes never reach VICIdial.

How to check

Compare a call from a campaign list with a call you dialed to the bot directly.

How to fix it

Test from a campaign: put a lead with a number you control in a test list and let the campaign dial it (How do I check that it works?). If campaign calls also write nothing, ask the team to check that the bot route passes the lead.

Still stuck

The time of a campaign call (with time zone), its lead ID, the campaign, and the lead’s status in VICIdial.

Some statuses never appear on leads in VICIdial

Likely cause

VICIdial accepts a status only if the campaign’s status list has it. For any other, the lead keeps the status it had, so one code can be missing while the others arrive. Which status codes does VoiceOI write? lists them all.

Call Logs and Dialer Dispositions show the code VoiceOI chose, not VICIdial’s reply. The code warning on the Outcomes tab checks a short list of common codes, not your campaign.

How to check

List the codes you see in Dialer Dispositions, and ask your admin to compare them with the statuses the campaign can use in VICIdial. Look at the lead for one call of each missing code.

How to fix it

Your administrator adds the missing statuses to the campaign. VoiceOI cannot do it for you.

Or you change the step’s Vicidial Disposition, or the AI agent’s outcome code, to a status the campaign has.

Still stuck

The codes that do not arrive, three example lead IDs with call times (with time zone), and the campaign.

VICIdial’s call log still says XFER on calls that were never transferred

Likely cause

In VoiceOI’s experience, VICIdial leaves a remote agent call at XFER in its call log until another status replaces it. VoiceOI finds the entry with the call code that the bot route passes in the X-VICIdial-CallerID-Code header, and sends the campaign with it. Without a valid code, with no campaign on the call or the connection, or with an API user that cannot change leads, VoiceOI may not be able to update the entry, so the lead’s status can be right while the call log still says XFER. VoiceOI writes the entry a few seconds after the call, so check a minute later.

How to check

Compare the lead’s status with the call’s status in the call log. A right lead status and an XFER call log fit this entry. Ask the team to confirm that the route passes the call code header.

How to fix it

The team repairs the header in the bot route with your administrator. The example route is in What is the dialplan hook?. A line that stays on a call is a different problem: see A remote agent line stays INCALL.

Still stuck

Three lead IDs with call times (with time zone), the lead status and the call log status for each, and the campaign.

A transferred call shows the wrong status in VICIdial

Likely cause

For a transferred call, the status goes to VICIdial with the transfer request (or just after it, for a REFER), and VoiceOI writes nothing afterwards. If that request fails, the lead keeps the status VICIdial gave it. The code is the Vicidial Disposition on the Transfer Call step, or XFER if none is set. An earlier AM or DNC on the call stays in place of it.

After the hand-off, your closer’s own disposition normally replaces the status in VICIdial, while VoiceOI keeps the bot’s code.

If the transfer never started, VoiceOI changes XFER to HANGUP. A transfer that your dialer refused still counts as XFER in VoiceOI: see The bot says “connecting you now”.

How to check

Open the Transfer Call step and read Vicidial Disposition. Ask a closer how they dispositioned the call.

How to fix it

You set Vicidial Disposition on the step to the status you want. The statuses closers can pick are your administrator’s to control in VICIdial.

Still stuck

The lead ID, the time of the call (with time zone), the status in VICIdial, the code in Call Logs, and the Vicidial Disposition on the step.

Dialer Dispositions and my VICIdial reports show different numbers

Likely cause

The subtitle of Dialer Dispositions reads “Real-time breakdown of disposition statuses directly from the dialer.” The page does not read your dialer. It counts VoiceOI’s own records of the calls its bots took, with the code VoiceOI chose.

So the two differ when a status VICIdial dropped still counts in VoiceOI, when a closer changes the lead afterwards, when a refused transfer is counted as XFER, and when VICIdial counts dials that never reached a bot. VoiceOI counts calls by when they started, and its calendar windows such as Today follow the time zone set in Settings. Reports built from VICIdial’s agent log can differ from the call log.

How to check

Pick one day and one campaign, with the same time zone and date range on both sides. Compare ten calls by lead ID between Call Logs and VICIdial’s call report.

How to fix it

Use VoiceOI for what the bots did, and VICIdial for the state of the leads and the closers’ results. For a code missing in VICIdial, see Some statuses never appear on leads.

Still stuck

The day, the campaign, both counts, and ten lead IDs with the code in each system.

What should I send support?

Send these details through Contact so the VoiceOI team can find the call quickly.

  • The time of the call, with the time zone, the phone number, the lead ID and the VICIdial campaign ID.
  • The remote agent’s User ID and External Extension, from the Remote Agents row.
  • For audio, a transfer or a status: the details listed under Still stuck in the entry you followed.
  • What changed recently: a VICIdial upgrade, a new server, a firewall change or a dialplan edit.

Common questions

Why is there no audio after the bot answers?

The call connected, so the signaling works, but audio does not reach one side or both. Common causes are a firewall that blocks UDP between your dialer and the bot server, a SIP peer not set to G.711 u-law only, missing NAT settings on the peer, and a carrier-leg fault. Compare with a call a person takes on the same campaign, then ask the team to check the peer with your administrator.

What do SIP REFER 403, 404, 481 and 603 mean for a transfer?

They are your dialer’s answers to the transfer request. A 403 means the dialer refused it, a 404 that the destination was not found, a 481 that the call no longer existed and a 603 that the dialer declined it. The reason text next to each one in the dialer’s SIP log may say more. Some dialers accept the request first and report the failure afterwards. Check that the bot’s SIP peer allows transfers and names a transfer context, that the destination exists in that context on the server that placed the call, and that the person had not hung up.

Why does Call Logs show a transfer when no closer got the call?

VoiceOI records the transfer when it sends the hand-off, whatever your dialer answers, so a refused transfer still shows as a transfer and the caller is dropped. Only your dialer’s SIP log shows whether it worked.

Why does the lead keep its old status in VICIdial?

VICIdial accepts a status only if the campaign’s status list has it, and for any other the lead keeps its old status. Other causes are an API user whose Modify Leads is set to 5 (read-only), a call with no lead ID, and bot server addresses that are not allowed on your VICIdial web server.

How long can the notes for the closer be?

The lead’s Comments field in VICIdial holds 255 characters. VoiceOI shortens long answers first, then drops details from the end, and converts the notes to plain ASCII. Put the details the closer needs first.

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.