Finding one
Filters apply when you press Search, not as you type, and they travel in the address bar — so a filtered view can be bookmarked or pasted to a colleague and they will see what you saw. The always-visible row: Period, Outcome, To number (matches from the start), Message id (exact), and Message text (contains). More filters adds account, bind name, vendor, product, ingress, and from-number. Awaiting a receipt is listed first among outcomes rather than alphabetically. On a healthy busy gateway it is the largest group, and it is what people are usually looking for.Message text search finds nothing unless the gateway is recording message content, which is off
by default. An empty result may mean the text is not kept rather than that nothing matched. See
smsg.cdr.body in the configuration reference.One row per message, or one per attempt
The Rows control decides the grain, and it changes what the numbers mean:
A long message that split into three, retried twice at the vendor, is one row on the first setting
and several on the second. If a count looks too high, check this control before concluding anything.
Columns
Seven by default: submitted, to, from, account, vendor, billed, outcome. The chooser groups roughly thirty more under Message, Route, Money and Outcome — including cost, margin, both rate rules, receipt state and error code. Column choices are kept in your browser. A link you share carries your filters, never your columns.Exporting
Export these results prepares a CSV in the background, kept for seven days. The export deliberately carries every column whatever you chose on screen. Two people exporting the same filters must get the same file, because spreadsheets address columns by letter and a personal column choice would quietly change whatH means.
One message, end to end
Opening a row reconstructs everything recorded about that message: route, money, a timeline of every attempt, every delivery receipt, the text if it was kept, and the TLVs. A summary line gives parts, attempts and receipts. Read the notes beneath it — they explain results that otherwise look like faults:- You asked for a segment id. A long message is sent as several SMPP messages and acknowledged once each, so the gateway issued an id per part. All of them find this record.
- More than one receipt for part one. Allowed. Every other view shows the earliest; the timeline shows them all.
- Only part one carries money. Later segments are written unrated with no amounts, so the blank money cells beside them are correct rather than missing.
What a receipt actually said
Each receipt shows the SMPP mnemonic with its plain-English meaning, and then the part people need: whether it closed the message, was a later outcome, not the one that was billed, or was progress that left the message open. Where the gateway recorded what the customer asked for, it is shown alongside. Where it did not, the page says so explicitly — that is not the same as the customer asking for nothing.The TLV story
The most useful part of the page, and the reason to come here rather than to the message list. One row per tag seen at any stage, with three value columns — Received, Resolved, Sent — and a verdict:
Dropped and Vendor overrode are the two that cost you a delivery, and they are the two the
page colours. Where either occurs it tells you where to look: only tags on a vendor’s send list reach
the carrier.
A dash means not present at that stage. A middot means not recorded — and where the wire is
unknown, no verdict claims anything about it. That is the honest state for a message that never
reached a vendor, went to a non-SMPP vendor, or predates the gateway recording it.