Voice metrics
The Metrics page in the Bird dashboard aggregates the call legs your workspace placed and received: how many connected, how long they ran, how they ended, and where they went. Use it for call reporting across a period. To follow one specific call, open the call log.
A leg counts against the time it started and is aggregated once it ends, so the most recent bucket keeps filling in for as long as calls are still up. The page needs both voice and analytics read access on your workspace role.
Read your metrics
Open Voice > Metrics. Four tabs share one range picker and one filter row: Overview, Call quality, Numbers and routing, and Traffic patterns. Switching tabs keeps your range and filters.
The range picker offers the last 24 hours or 7, 30, or 90 days, and starts at 7 days. Day ranges bucket by your local calendar day; the 24-hour range is a rolling window of 24 hourly buckets. Dragging across a time chart narrows every card on the page to that span.
Four filters combine: Your number (your end of the call), Destination (the country you dialed), SIP trunk, and Outcome. Each applied filter gets its own chip you can remove, and most cards carry a control that applies the filter for the row you are looking at.
Answer rate and call duration
The Overview tab leads with five tiles. The first four carry the change against the previous window of equal length:
- Answer-seizure ratio: answered legs divided by every attempt in the range. Attempts that ended without an answer stay in the denominator, so ASR falls both when a route stops completing and when the numbers you dial do not pick up. Its change is a difference in percentage points.
- Average call duration: the mean length of the answered calls. Unanswered legs are excluded, so ACD says nothing about how often you connect. A handful of very long calls pulls the mean above the median; the duration distribution on the Call quality tab shows that spread.
- Total calls and Answered calls: the two counts ASR is built from.
- Distinct numbers: how many different numbers were at the far end, counting each one once however many calls it was on. Read against total calls, it separates traffic spread over many parties from traffic concentrated on a few.
Call volume and answer rate over time
The trend chart stacks answered calls and other calls to the period's total volume on the left axis, and plots ASR as a line on a right-hand 0 to 100% axis. The bucket grain follows the range: hourly for the 24-hour range, daily for the rest. Reading the two together separates growth from degradation: a flat line under a rising stack is more traffic on a route that still completes, and a dipping line under a flat stack is a route that stopped completing. View all calls under the card opens the leg log for the same window.
How calls ended
A donut and legend split every attempt in the range by its final outcome, with a count and a share of total calls for each:
| Outcome | What it means |
|---|---|
| Answered | The call connected |
| No answer | It timed out, which is not evidence the phone rang |
| Failed | Refused by the far end or the network |
| Rejected | Declined by the far end, or refused by Bird |
| Unknown | The outcome could not be determined |
| Other | An outcome this list does not name yet |
An outcome with no calls in the range is left out. To find out why a refusal happened rather than how often, open the calls themselves: Rejected calls covers the reason Bird records on each one.
Top countries
The country table ranks the top 10 destination countries by call volume, and its footer says how many countries had activity in the range. The country is the call's destination: the country you dialed on an outbound leg, and the country of your own number on an inbound one.
On a day range, the footer also gives the share of your calls the table covers, and each row draws its share as a bar. The 24-hour range drops both: it reads the breakdown over whole local calendar days while the tiles above cover a rolling 24 hours, so the two totals are different quantities and a share between them would mislead. Switch to 7 days or longer when you need the coverage figure.
Each row carries the calls, the Out / In split for that country, and its own ASR. A per-country ASR well below the page's is the usual first sign of a routing problem confined to one destination. The split reads as a dash when it could not be established.
Call quality
The Call quality tab carries the connection measures and the duration distribution. A measure appears when Bird measured it in the range, and an absent one means Bird measured nothing, which is different from a poor score:
- Ring delay, median and 95th percentile: how long the caller waited between dialing and hearing ringing. A gap between the two is a route that usually connects quickly and sometimes does not.
- Audio quality: the mean opinion score, the standard 1 to 5 rating of how a call sounded, averaged over the legs where it was measured. Above 4 is what a normal connection scores. Below that, filter to one trunk or one destination to find whether the drop is confined to a route, and check short calls on the same tab, since a route that connects without carrying audio moves both.
- Short calls: answered calls that ended under 30 seconds, shown as a share of answered calls. On outbound traffic, a rising share is the usual sign of a route that connects but does not carry audio.
How long calls run distributes answered calls across six billable-duration bands, from under 30 seconds to 10 minutes and over, with the average duration above it. Billable duration is answered time, so this is the distribution behind your voice charges.
Inbound and outbound traffic
The Numbers and routing tab separates the two directions a blended view hides. Tiles count Outbound calls and Inbound calls with their change against the previous window, beside Active numbers and Active trunks for the numbers and trunks that carried traffic. Direction over time stacks the two per bucket, so a change confined to inbound traffic is visible where the blended trend flattens it.
Below the chart, one table breaks the period down by your number, your number's country, SIP trunk, or direction, with calls, answered calls, ASR, and ACD in sortable columns. Your number's country is your own end of the call, a different axis from the destination country on the Overview tab. Trunk rows answer which trunk is degraded, so compare ASR across them rather than reading one alone. Number and trunk labels link to the record, and the number summaries open a searchable, paged view of every number that carried calls.
Traffic patterns
The Traffic patterns tab profiles when calls arrive, in your local timezone: your busiest weekday and hour, a weekday-by-hour grid, and an hour-of-day profile. The grid and the hour profile need a range longer than a day, and the grid reads at most the last 30 days, so on a 90-day range it says so. The weekday profile appears once the range spans 14 days, below which each weekday holds one observation.
Programmatic access
Voice statistics are not published as public API endpoints today, so the aggregates on this page are reachable from the dashboard, the CLI, and the MCP server rather than from api.bird.com:
- The CLI. bird voice stats summary returns the period aggregate the tiles show, and bird voice stats daily and bird voice stats hourly return the series behind the trend chart. The breakdowns are by-country, by-trunk, by-number, by-number-country, by-weekday, by-hour-of-day, and by-response-code, which groups calls by final SIP code and is not charted in the dashboard. The commands take the same window, timezone, and destination, number, trunk, and outcome filters the page applies, with one exception: by-response-code takes only the window, the timezone, and --direction, and its window is calendar days rather than instants, so it answers over a wider population than a filtered page does. The read-only access a bare bird auth login grants is enough for all of them. See the Bird CLI guide to install and authenticate.
- Agents. The MCP server exposes the same statistics reads as tools.
- Your own aggregates. For a scheduled job or a warehouse, build from the per-leg records instead: GET /v1/voice/legs is public and returns the filtered list, and the leg log's CSV export covers the records matching your current filters. Voice events push each call to your endpoint as it happens, which is the path to a live figure without polling.
Numbers from the CLI and the dashboard match for the same window when they use the same timezone. The dashboard sends your stored timezone on every read; a command without --timezone buckets in UTC.
Next steps
| Page | What it covers |
|---|---|
| Call log | The individual legs behind these aggregates, and why one was refused |
| Voice events | The call events to consume for your own reporting |
| Placing calls | What Bird reads off an INVITE, and how a call is priced |
| Troubleshooting | Working from a symptom to a cause when a metric moves the wrong way |
Powiązane zasoby
Kontynuuj z dokumentacją, przewodnikami i przykładami dotyczącymi tego tematu. Zasoby są w języku angielskim.