# How voice works

> What happens when someone calls your number — routing, when a call is not answered, the opening line and recording notice, transcripts, the call outcome and summary, recordings, and every status and outcome a call can end in.

Source: https://docs.amomic.in/channels/voice

---

A customer dials your number and your agent answers: the same agent that answers on your website and on WhatsApp, with the same knowledge behind it. It speaks first, listens, answers, and hangs up when the conversation is done. Afterwards you get a transcript, a summary of how the call went, response-time figures and, if you turned it on, a recording.

This page follows an incoming call from ring to record. To set a number up, see [Get a phone number](/channels/phone-numbers) and [Manage a number](/channels/phone-workspace). To place calls, see [Outbound calls](/channels/outbound-calls).

## The path a call takes

```
Customer dials your number
  → the number identifies your workspace and the agent on it
  → checks: agent present and not paused, voice minutes or credits available
  → the call is answered
  → recording notice, if recording is on
  → the agent's opening line
  → the conversation
  → hangup → transcript saved → the call is read for its outcome
```

### Routing is by the number that was dialled

The dialled number decides everything. Each number has exactly one agent on it, and its own settings: call language, opening line, engine, voice and recording. Two numbers in one workspace can answer with two different agents, in two different languages, with recording on for one and off for the other.

There is no workspace-wide voice setting and no fallback agent. A number with no agent does not answer, even if the workspace has agents.

### What the agent uses on a call

- **From the number:** the opening line and its language, the call language, the engine, the voice, the office sound and hesitations, recording, and the questions for callers. These change when you save them on [Manage a number](/channels/phone-workspace). A call already in progress keeps the settings it started with.
- **From the agent:** its instructions, persona and knowledge. These are read from the agent as it is saved, so a change you save on the agent reaches the next call on every number it answers. Test risky edits in the agent's playground before you save them. See [Agents](/build/agents).

## When a call is not answered

Several situations stop a call before it is answered. The caller's call fails, nothing is charged, and **no call record is created**, so the Calls page shows nothing. The absence of a record is itself the clue.

| Situation | How to tell | Fix |
|---|---|---|
| The number has no agent | The rail shows **No agent** | Choose an agent under **Agent & voice** |
| The agent is paused on the number | The rail shows **· paused** after the agent's name | **Resume** on the number's **Overview** |
| The workspace's voice minutes are used up and there are no credits to cover more | **Billing** shows the voice meter full and no credits | Add [credits](/operate/credits) |
| The number is held after a plan change took numbers away | You moved to a plan that includes fewer numbers or no voice | Upgrade within the hold period to keep the number |
| The number is not in your workspace | It is not on the **Numbers** rail | Check you are calling the right number |

One case is different. When a workspace is **billing-suspended**, the call **is** answered, a short out-of-service line is spoken, and the call ends with the outcome `suspended`. No agent runs. The call is recorded on **Calls**, so you can see who rang, and no minutes are charged for it. Pay the invoice first; nothing on the number helps until then, and calls are answered by your agent again as soon as it is paid. See [When a payment fails](/operate/plan-changes#when-a-payment-fails).

A call that is already connected is never cut off for billing reasons. It runs to its natural end.

## The agent always speaks first

There is no silent pickup. The moment the call connects, the caller hears the recording notice if recording is on, then the opening line, and only then does the agent start listening. A caller who hears nothing for two seconds assumes the call failed.

The opening line is text you write for each number, up to 500 characters, spoken exactly as written in the opening language. See [Opening line](/channels/phone-workspace#opening-line).

::: note Calls you place open differently
"Thank you for calling" is wrong on a call you placed. Outbound calls use a fixed opening that names your business, says the caller is a virtual assistant, and asks whether now is a good time. See [Outbound calls](/channels/outbound-calls#what-the-customer-hears-first).
:::

## Recording

Recording is **off** on every number until you turn on **Record calls** for that number. When it is on, callers are told in one of two ways, chosen per number under **Recording notice**:

- **Agent says it in the greeting** (default): the agent folds a short notice into its first line, in the call's opening language. In English: *"Just so you know, this call may be recorded."*
- **Automated announcement first**: a fixed recorded message plays before the agent greets: *"This call may be recorded for quality and training purposes."* It is played in the opening language; Odia calls hear the English message.

::: warning It is a notice, not a consent step
The caller is told. There is no key to press to decline, no way to continue without recording, and no opt-out short of hanging up. Whether recording a call is lawful for your use is your decision to make before you turn it on.
:::

The recording is one audio file per call, with caller and agent on separate stereo channels (caller left, agent right) on one timeline, so you can hear exactly where an interruption landed. Play it from the call on the **Calls** page. Playback links are made when you open the call and expire after an hour; open the call again for a fresh one.

There is no automatic deletion schedule for call recordings today. Take that into account in what you tell callers and in your own retention policy.

## After the call

### The transcript

Every finished call has a transcript: an ordered list of turns, each from the caller or the agent, with its time from the start of the call. The Calls page shows them as `m:ss`, the caller labelled **Caller** and the agent by its name.

- **There are exactly two speakers.** Every turn is the caller or the agent.
- **Times are relative to the start of the call.** `0:14` means fourteen seconds in.
- **An interrupted agent turn is recorded as what the caller actually heard**, followed by `—[interrupted]`. Words the agent never got to say are not written down.
- **Fixed lines are included.** A hold line while the agent looks something up, a check that the caller is still there, a goodbye: each is written as an agent turn.

### The call outcome and summary

Every finished call is read after it ends, usually within seconds, and the **Call outcome** card on the call shows the result: how the call ended (such as **Completed**, **Partly done** or **Asked to call back**), whether the goal was met, the caller's mood, a short summary, the answers to the number's questions for callers, and the next step owed. See [Calls and call-backs](/console/calls#the-call-outcome-card) and [Outcomes on incoming calls](/console/call-outcomes).

### Response times

Each call also carries response-time figures: the median, p95 and slowest turn, measured from when the caller stopped speaking to when the agent's audio started. The Calls page shows them under **Response performance** with a target of 1.5 seconds on the median. There are no per-turn figures.

## Call statuses

`status` is where the call is in its life. These are the strings on the call record and in the API.

| Status | Meaning |
|---|---|
| `in_progress` | Connected and talking. The Calls page shows **Live**. |
| `ringing` | A call you placed is ringing. Nobody has answered yet. |
| `dialing` | A call a team member placed from a ticket is being set up. |
| `completed` | The call has ended. This includes outbound calls nobody answered, which end as `completed` with a duration of zero. |
| `failed` | The call could not be set up, or the carrier refused it. |
| `no_answer` | A call placed from a ticket never connected both sides. |

::: warning `completed` does not mean a conversation happened
An outbound call that rang out ends as `completed` with `duration_seconds: 0` and an outcome that says why. Read `status` and `outcome` together, and branch on `outcome` in code.
:::

## Call outcomes

`outcome` is *why* the call ended. It is empty while the call is live and set once when it ends.

| Outcome | What it means | Badge on Calls |
|---|---|---|
| `caller_hangup` | The caller ended the call. The ordinary ending for a conversation that ran its course. | **Completed** |
| `agent_hangup` | The agent judged the conversation finished and ended the call. | **Completed by agent** |
| `agent_ended` | The same, on a number using the **Expressive** engine. | **Completed by agent** |
| `idle` | The line went quiet. The agent checked the caller was still there, heard nothing, said goodbye and hung up. | **Idle hangup** |
| `max_duration` | The call reached the 10-minute limit and was ended. | **Time cap** |
| `suspended` | The workspace is billing-suspended. An out-of-service line was spoken. No agent ran. | — |
| `setup_error` | The call was answered but the audio never came up, so no conversation was possible. | **Setup failed** |
| `originate_error` | A call you placed was refused by the carrier at dial time. | **Could not dial** |
| `hangup` | A call placed from a ticket, with both sides connected, ended normally. | **Completed** |
| `no_answer` | Nobody picked up. | **No answer** |

Calls you place can also end as `busy`, `rejected`, `invalid_number`, `unreachable` or `congestion`, shown as **Busy**, **Declined**, **Invalid number**, **Unreachable** and **Network busy**. See [Calls API](/api/calls).

Once a call has been read, the list on the Calls page shows how it went (such as **Completed** or **Asked to call back**) instead of the technical outcome. The call's own header keeps the technical outcome.

### Which outcomes need your attention

- `caller_hangup`, `agent_hangup`, `agent_ended`: nothing to do.
- `idle`: sample a few. A spike usually means the agent asked something the caller could not answer, or was silent too long.
- `max_duration`: read the transcripts. A call that runs ten minutes is rarely one that went well.
- `setup_error`, `originate_error`: not caused by the caller or the agent's instructions. Contact support if you see more than the odd one.
- `suspended`: billing. Fix it before anything else.

## Finding a call

Open **Calls** in the console: every call, incoming and outgoing, newest first, with filters, the call outcome, recording and transcript. See [Calls and call-backs](/console/calls).

From your own systems, read a call with [`GET /calls/{call_id}`](/api/calls), or subscribe to the `call.started`, `call.ended` and `call.outcome` [webhooks](/webhooks/events). The public API has no endpoint that lists calls.

## Troubleshooting

::: details Callers say it rings and then cuts off, and nothing shows on Calls
The call was refused before it was answered. Check the number on **Channels → Phone / Voice**: **No agent** or **· paused** on the rail, the voice meter on **Billing**, and your credits. See [When a call is not answered](#when-a-call-is-not-answered).
:::

::: details Every call ends straight away with outcome suspended
The workspace is billing-suspended. Callers hear an out-of-service line, and no minutes are charged. An owner pays the invoice on **Billing**; calls are answered normally again within a few minutes.
:::

::: details The greeting is not the one I set
Settings are per number. Check you edited the number that was called, and that you saved: **Agent & voice** says *Unsaved changes* until you do. A call already in progress keeps the old settings.
:::

::: details The agent answered in the wrong language
The call language decides what the agent can follow; the opening language decides which one it starts in. See [Languages](/channels/voice-languages).
:::

::: details Recording is on but there is no audio
*Recording was enabled, but the audio is unavailable.* means recording was on for that call and the file is not available. A call with recording off shows no recording section. Recording applies from the next call after you turn it on.
:::

::: details Response times are fine but the call felt slow
The figures measure the gap before the agent starts speaking, not how long it talks. A wordy agent feels slow with good figures. Tighten its instructions.
:::

## Next

::: cards

::: card Get a number
[Verification, search, requests and costs](/channels/phone-numbers).
:::

::: card Manage a number
[The agent on a number and how it sounds](/channels/phone-workspace).
:::

::: card Calls and call-backs
[Every call, its outcome, recording and transcript](/console/calls).
:::

::: card Place calls yourself
[Outbound calls](/channels/outbound-calls): what the customer hears and the guards that protect you.
:::

:::
