The list
Five columns as most people see them: when, from → to, the direction, how long the call was billed for, and what it was charged. An operator has a Columns button and four more to turn on — the codec, whether the call had to be transcoded, the hangup cause and the AI tokens. Those are the switch’s own diagnostics rather than secrets, and they are off until somebody asks for them. A sixth column, margin, exists only for an operator, and it is absent rather than blank for everybody else: see reading a withheld figure.Finding a call
Number dialled also catches an outbound call to that number. Pair it with
Direction → Inbound for arrivals only.
There is deliberately no filter for billing mode. The list would look
filtered and would not be. A control that silently does nothing is worse
than one that is not there.
The four figures above the table
Calls, talk time, how many were answered, and what they came to. They follow the same organisation and the same dates as the table below them. An operator sees the share of calls that had to be transcoded in place of the answered share, and margin in place of charges.A call’s own page
Four figures across the top answer how did this call go without reading anything: started, talk time, billed, charged. Everything above them is a measurement; everything below is a record.Talk time and billed are not the same number. Talk time is measured;
billed is charged. A call answered for six seconds can bill zero under a
plan with a minimum.
The call
The direction and transport, the codec each side used, when it ended and what the far end said. Three rows appear only when they have something to say, and they are the ones worth knowing about:- They offered — what the other side asked for, when it differs from what was agreed. On a call that agreed nothing this is the whole story: a carrier offering one set of codecs to a trunk that allows another is refused before it can ring, and every other field says incompatible without saying why.
- Audio — a verdict in words: clean, lost on the network, arrived unevenly, nothing arrived, sent in a burst. It says network rather than “bad audio” on purpose. The reflex on hearing a call was choppy is to go looking in your own configuration, and these are statistics of what arrived, so the damage was done before it got here.
- Far end — the carrier’s own answer, which is often the real one.
How the call travelled
The journey is the answer to why did this call go there. Each row is a step the runtime actually took, in order, with the branch it left by and how long it took since the step before. It names the flow and the revision the caller actually met, so a journey read months later is not the graph as it exists now. What it can tell you, among other things: which menu outlet was never wired, that the call was blocked and by which rule, that a process was closed, that the node refused it for load, whether recording armed and whether the file was written, what the audio layer concluded and which firewall to look at, which AI profile answered, and whether a supervisor listened in, in which mode, and who they were.A call with no journey is ordinary, not an error. Journeys began at a point
in time, and a call that went straight from one extension to another walked
no flow.
What the call produced
The recording, any ticket, a satisfaction score, a voicemail, and anything the customer’s record learned. A section you cannot read is left out rather than shown empty. An empty list would say this call raised no tickets, which is a different and possibly untrue statement.Listening to the recording
Needsrecordings:listen, which a supervisor holds and an agent does not. A
call record is metadata; a recording is the customer’s conversation.
Nothing is fetched with the page. Pressing Fetch recording is a
deliberate step, because it is an access to somebody’s conversation. Once
fetched there is a player and a download, because a recording gets
attached to a complaint or sent to a supervisor and neither is possible from
a play button. The file is named after the call rather than the caller: a
filename survives being forwarded, and a customer’s number should not travel
with it.
Three answers that are not the same:
Withheld is not zero
Where a reader may not see a figure, FireTone leaves it out and the panel draws it as withheld. It never substitutes zero. This applies in more places than money:- Cost and margin are the operator’s commercial position. A zero would misreport the business.
- AI tokens are absent when no AI touched the call. A zero would say an AI answered and spent nothing.
- The audio figures are absent when there was too little audio to judge, because the switch scores a leg that received nothing as perfect. Showing them would draw a silent call as a flawless one.
Taking the records away
GET /cdrs/export streams a period as CSV or one JSON object per line, up to
31 days at a time, oldest first. It carries the call’s identity, its times,
its outcome and what it was charged; it does not carry the recording, the
journey, the audio figures or anything about cost. There is no export button
in the panel — this is for a nightly sync into a warehouse or a CRM.