Dial-check reasons
Before every call the dialer asks compliance. It answers with one reason code and a sentence (plain). The first failing check wins, and it never allows when unsure. The screens show the sentence in the third column; an unknown code reads “That person cannot be dialed right now (code)”.
Now or ever: “now” means time based, so it may pass later. “Ever” means it stays until something changes.
The fourteen compliance codes
Section titled “The fourteen compliance codes”| Code | Now or ever | What the screen says |
|---|---|---|
ok |
n/a | This person can be called right now. |
dnc_federal |
Ever | This number is on the federal do-not-call list, so it cannot be dialed. |
dnc_state |
Ever | This number is on a state do-not-call list, so it cannot be dialed. |
dnc_internal |
Ever | This person asked to stop, or someone on your team added the number to your own do-not-call list. |
litigator |
Ever | This number belongs to a known litigator, so it is never dialed. |
honeypot |
Ever | This number is a trap number, so it is never dialed. |
no_consent |
Ever | We have no record of this person agreeing to be called, so they cannot be dialed. |
consent_expired |
Ever | The record of this person agreeing to be called is too old. Get fresh consent before calling. |
outside_hours |
Now | It is outside the hours this person may be called where they live. Try again when their day starts. |
holiday |
Now | Calls are not allowed today where this person lives. |
attempts_day |
Now | This person has already been called as often as is allowed today. Try again tomorrow. |
attempts_30d |
Now | This person has already been called as often as is allowed this month. |
no_timezone |
Ever | We cannot tell where this person lives, so we cannot tell when it is safe to call. |
error |
Now | The calling rules could not be checked just now, so this person is held back. Try again in a moment. |
What to do. List codes: nothing, never call (a trap hit is recorded, so check where the list came from; see do-not-call). Consent codes: record or renew consent. Time codes: wait, the retry time is set for you. no_timezone: add a ZIP code, state or time zone (numbers outside the US are always refused). error: wait a minute, then tell your supervisor.
Compliance’s own sentence (plain)
Section titled “Compliance’s own sentence (plain)”| Code | plain |
|---|---|
ok |
All compliance checks passed for this call. |
dnc_federal |
This number is on the federal Do Not Call list. |
dnc_state |
This number is on a state Do Not Call list. |
dnc_internal |
This number is on your own do-not-call list: the person asked not to be called, or staff added it. |
litigator |
This number is on a list of known litigators and must not be called. |
honeypot |
This number is a trap number planted to catch lists that should not be called. It was blocked and the incident was recorded. |
no_consent |
There is no valid permission-to-call record for this number, and your rules require one. |
consent_expired |
The permission-to-call record for this number has expired or is too old, so fresh consent is needed. |
outside_hours |
It is outside the legal calling hours where this person lives. |
holiday |
Today is a holiday where this person lives, and your rules block calls on holidays. |
attempts_day |
This number has already been called the maximum number of times in the last 24 hours. |
attempts_30d |
This number has already been called the maximum number of times in the last 30 days. |
no_timezone |
We cannot tell which time zone this person is in, so we cannot check calling hours. |
error |
The compliance check could not be completed, so the call is not allowed. |
Real answers add the numbers, for example the local time and the hours.
Codes the dialer adds
Section titled “Codes the dialer adds”| Code | Now or ever | What the screen says |
|---|---|---|
campaign_hours |
Now | It is outside the calling hours set for this campaign, in this person’s local time. Try again later. |
outside_calling_hours |
Now | It is outside the calling hours, so nobody is called right now. |
compliance_unavailable |
Now | The safety checks are not answering, so no one can be dialed right now. Try again in a minute. |
no_caller_id |
Ever | There is no caller ID to call from. Tell your supervisor. |
caller_id_error |
Ever | The caller ID could not be used. Tell your supervisor. |
stuck |
Now | The last attempt did not start. It will be tried again. |
After 5 compliance errors in a row the campaigns pause and restart by themselves when compliance answers. no_caller_id pauses the campaign until a caller ID is added.
Call-control refusals
Section titled “Call-control refusals”Nothing was dialed and no attempt is counted.
| Code | Meaning | Now or ever |
|---|---|---|
draining |
The phone server is shutting down | Now |
no_capacity |
“All phone lines are busy. Try again in a moment.” | Now |
no_trunk |
No carrier connection for this company | Ever, until one is added |
cps_limit |
The carrier’s calls-per-second limit | Now |
tenant_concurrent_limit, tenant_ai_session_limit |
A plan limit | Now |
limits_unavailable, journey_unavailable, voice_unavailable |
The plan numbers, core or the voice service did not answer | Now |
voice_rejected |
A plan limit, or the bot version is suspended | Now, or until unsuspended |
call_control_unavailable, call_control_timeout |
“The phones are not answering. Try again in a moment.” | Now |
tenant_suspended |
“This workspace is switched off, so no calls can be made. Contact the platform owner.” | Ever, until resumed |
Why a campaign is idle
Section titled “Why a campaign is idle”A campaign that launches nothing reports one reason. Platform and plan: platform_paused, platform_pause_unreadable, dial_mode_not_allowed, ai_minute_cap_reached, tenant_concurrent_limit, tenant_ai_session_limit, tenant_dial_rate_limit. A service is silent: call_control_unhealthy, call_control_unavailable, voice_unavailable, core_unavailable, store_unavailable, compliance_unavailable. No one to launch: no_free_slots, waiting_for_agents, no_leads. Also outside_calling_hours, campaign_not_running, manual_dialing and tenant_or_campaign_unavailable (core refused the campaign, for example a suspended company).