Docs / Reports and billing
Call history and reports
Onyx Voice keeps a record of every call and shows the phone system as it is right now. This chapter covers the Dashboard, the Live calls page, Call history, the Reports page with its CSV export, and the onyx calls command. Queue and agent figures are in Call centre; call charges are in Billing.
What each administrator sees depends on their role: a tenant administrator sees their own company, a system administrator sees every tenant on the server (or the tenant picked at the top of the console, where the page says so).
The dashboard
Dashboard is the first entry in the sidebar; the page itself is headed Operations. It updates every 3 seconds, and call durations count up every second in between. Next to the heading:
- LIVE means the figures are current. STALE means the console could not fetch an update twice in a row (the reason is shown next to it). ENGINE DOWN means the call engine is not connected; a red notice explains that calls cannot be placed until it runs again.
- How long the engine has been up, and when the page last updated.
- Live calls and Add an extension buttons.
A system administrator's dashboard covers every tenant on the server; a tenant administrator's covers their tenant.
The KPI strip
| Card | What it shows |
|---|---|
| Active calls | Calls in progress, split into outside and internal. Click it for Live calls. |
| Call cap | Outside calls in progress against the "calls at once" limit of the tenants' call limits. Without a limit it says "no cap". The bar turns amber at 80 % and red at 100 %. |
| Jitter | Average audio jitter over the calls being measured, with the worst value. |
| Packet loss | Average audio packet loss, with the worst value. |
| Phones online | Registered phones out of all devices, and how many are not answering keepalives. |
| Trunks | Reachable trunks out of those switched on, and how many are not reachable. Click it for Trunks (carriers). |
The call cap comes from Call limits; see Call limits (toll fraud).
Calls in progress
A table of the calls happening now, longest first:
- Extension: the phone or trunk on the call, with a dot that is green while talking and amber while ringing.
- Caller ID: who called whom.
- IP address: where the phone's signalling comes from, and its audio address when that differs (a phone behind a router often shows a different one).
- Codec: the audio codecs in use on the legs of the call, such as G.722 or G.711 µ. A lock means the call is encrypted (TLS and SRTP).
- Quality: the worst jitter and packet loss of any leg, in both directions. Green is good (jitter under 20 ms and loss under 1 %); amber is noticeable; red (50 ms or 3 % and over) is audible trouble. While audio is starting it says "measuring".
- Duration, with the state of the call (talking, ringing or setting up), and Tenant for system administrators.
If one person complains about choppy audio, find their call here and compare its quality and address with the others. See Troubleshooting.
Server resources and the registration log
Server resources shows CPU and memory for the last 30 minutes, sampled every 5 seconds, for the whole server and for the call engine on its own. Over 70 % CPU or 80 % memory turns the figure amber, over 90 % and 92 % red.
Registration log lists phones and trunks signing on and off, newest first: the time, the event (Registered, Reachable, Online, Unreachable, Unregistered, Unknown), the extension or trunk, its address, the round-trip time and the phone model. System administrators also see failed sign-in attempts as Auth fail, with the address they came from. The first ten entries show; the button below them (for example Show 12 more) shows up to 80, and Show fewer goes back. The log covers the time since the service last started.
Tenant cards
One card per tenant (for a tenant administrator, just their own), with:
- A state: Online, Degraded (some phones do not answer keepalives), Down (a trunk is not reachable, or the tenant has phones and none is online) or Switched off.
- Calls now, phones online out of all phones, and trunks up.
- Calls · 24 h and Media traffic · 24 h: bars per hour for the last 24 hours, with the totals.
A system administrator can click a card to switch to that tenant and open Extensions & numbers.
Below the cards are Latest calls (newest first, with a link to Call history), Recent changes (with a link to Change history) and Common tasks, shortcuts to the things administrators do most.
Live calls
Live calls shows the phones online and the calls in progress, and refreshes every 5 seconds.
Calls in progress groups the legs of each call into one row: From, To, State (Talking, Ringing, or what the engine is doing with the call, such as playing a menu or waiting in a queue), Duration, and Tenant for system administrators.
Phones online lists every registered device: Extension (with the device's SIP user name), Address, Phone (the model and firmware the phone reports), Status and Delay (round-trip time). Click a row to open that extension (for phones of the tenant you are working on). A phone that is missing here is not registered; see Desk phones and Troubleshooting.
Call history
Call history lists every call, newest first, 50 at a time. For a system administrator it shows the tenant picked at the top of the console.
To find a call:
- Type part of a number or a name under Search. It matches the calling number, the caller ID, the number dialled and the phone number (DID) the call came in on.
- Choose a Direction: All calls, Incoming, Outgoing or Internal.
- Click Search.
Click Load older calls at the bottom for the next 50.
The columns are:
| Column | Meaning |
|---|---|
| When | Date and time, and how long ago. |
| Call | An icon for the direction (in, out, internal), the caller, and where the call went, with the DID for incoming calls. |
| Result | Answered, No answer, Busy or Failed. |
| Talk time | Time from answer to hang-up. |
| Cost | The price of an outbound call, when the tenant has a rate plan. See Billing. |
| Recording | A player for recorded calls. |
A call is incoming when it came from a carrier, outgoing when it went to one, and internal otherwise. Each row is one call record from the engine, so a call that rang a ring group or a queue can appear as several rows, one per phone that rang. The Reports page counts such a call once.
Call history has no export of its own: the call records CSV is on the Reports page (next section).
Reports
Reports shows how the phones were used over a period. Days and hours are in the tenant's time zone.
- Choose From and To dates and click Show, or click one of Today, 7 days, 30 days or 90 days. The default is the last seven days; a period can be up to a year.
- Read the figures and tables below.
A call counts once even when it rang several phones: all the legs of one call are taken together. A call is incoming if any leg came from a carrier, outgoing if any leg went to one, and internal otherwise. It counts as answered if any leg was answered.
What the page shows
- Four figures: Incoming (with the share answered), Outgoing, Between extensions and Talk time.
- Calls per day: a bar per day, split into incoming, outgoing and internal calls.
- Busiest hours: incoming and outgoing calls by weekday and hour, darker meaning busier. Use it to plan staffing and opening hours.
- Extensions: for each extension, calls Made from its phones, calls it Rang for, how many of those it Answered (and the share), and Talk time.
- Phone numbers called: the 50 most-called DIDs, with calls and answered calls.
- Trunks: per trunk, calls In / out, Minutes, and Peak, the most calls the trunk carried at the same time. Compare the peak with the channels you pay your carrier for.
- Outside numbers calling and called most: the ten outside numbers that call you most (Calls us) and the ten you call most (We call), with calls and talk time. For calls out, the number is shown as it was sent to the carrier.
Exporting call records (CSV)
Click Call records (CSV) at the top of Reports to download every call record of the shown period. The file has one row per call record (call leg), oldest first, up to 500,000 rows, with these columns:
start,direction,from,caller_id,to,did,result,duration_s,talk_s,channel,dst_channel,call_id,recorded
| Column | Meaning |
|---|---|
start | Date and time in the tenant's time zone. |
direction | inbound, outbound or internal. |
from, caller_id, to, did | Calling number, caller ID, number dialled, and the DID for incoming calls. |
result | ANSWERED, NO ANSWER, BUSY, FAILED or CONGESTION. |
duration_s, talk_s | Total length and talk time in seconds. |
channel, dst_channel | The engine's names for the two sides, which show the phone or trunk. |
call_id | The same for every leg of one call: group by it to count calls the way the Reports page does. |
recorded | Whether the call has a recording. |
Queue figures have their own CSV on the Queue reports page (Call centre), and the monthly bill has one on the Billing page.
The onyx calls command
On the server, onyx calls lists recent call records:
onyx calls the latest 25 calls of every tenant
onyx calls acme the latest 25 calls of tenant acme
onyx calls acme --limit 200
The columns are START (UTC), TENANT, DIRECTION, FROM, TO, DID, STATUS and TALK. Times are in UTC, not the tenant's time zone. --limit goes up to 1000. onyx ext calls is a different command: it changes an extension's call handling. See Command line (onyx).