# Voice troubleshooting

Start a failing call at the [Call log](/docs/guides/voice/call-log): whether a record exists, and what it carries, splits the causes cleanly. Work down the symptom that matches.

## The call is missing from the call log

A call Bird cannot admit is turned away at the SIP layer, before a record exists. Four things cause that:

- **The trunk has no way to recognize you yet.** A new trunk rejects every call until you add an IP range or an [allowed API key](/docs/guides/voice/sip-trunks#api-key-authentication).
- **The call arrived from an address the trunk's IP allow list does not cover.** Behind NAT (a router or firewall that rewrites addresses as traffic passes through), the address that matters is the router's public address, not the phone system's own. Check it against the [trunk's IP allow list](/docs/guides/voice/sip-trunks#ip-allow-list).
- **The password challenge failed.** Check the username (`bird`), that the password is the secret of an API key still allowed on the trunk, and that the [algorithm your phone system answered with](/docs/guides/voice/sip-trunks#digest-algorithm) is one the trunk offers.
- **The call was addressed to a SIP domain Bird does not recognize.** Copy the domain whole from the trunk page rather than assembling it.

## The call is in the log as Failed, with a rejection reason

Bird refused the call before dialing a carrier, and the reason names the check it failed. Open the call: the panel above the details links straight to the setting that fixes it, and [Rejected calls](/docs/guides/voice/call-log#rejected-calls) lists every reason and its fix.

`caller_id_not_verified` is the one a new client hits most, usually because the client puts the digest username where the caller ID belongs: the two are [different fields](/docs/guides/voice/sip-clients#two-identities-two-fields).

## The call failed with no rejection reason

The call reached a carrier and failed there, and `SIP response` carries the carrier's own code. A `486` is a busy number, a `404` an unallocated one. This usually points at the number you dialed rather than at your setup.

## Your client answers MD5 and gets nowhere

Some equipment mishandles a challenge that leads with `SHA-256`. Set the trunk to [MD5 only](/docs/guides/voice/sip-trunks#digest-algorithm).

## Calls connect but audio is one-way

Your client is behind NAT (a router or firewall that rewrites addresses as traffic passes through) and the media is going to a private address. Turn on your client's NAT or STUN handling.

## Next steps

| Page                                               | What it covers                                                |
| -------------------------------------------------- | ------------------------------------------------------------- |
| [Call log](/docs/guides/voice/call-log)            | Every field on a call record, and every rejection reason      |
| [SIP trunks](/docs/guides/voice/sip-trunks)        | The IP allow list, allowed API keys, and the Digest offer     |
| [SIP client setup](/docs/guides/voice/sip-clients) | The settings each softphone and PBX asks for                  |
| [Placing calls](/docs/guides/voice/placing-calls)  | What Bird expects on the `INVITE`, and how the handshake runs |