Confirm the fax stack and observation window first
Record the responding node, exact Asterisk build, loaded res_fax and technology module, dialplan application, manager identity and a synchronized capture window. The three AMI actions are provided by res_fax; their presence does not prove that a particular technology module, route, TIFF/F file or notification path is usable.
Keep manager ActionID, fax SessionNumber, channel name, Uniqueid, Linkedid, FAXOPT(sessionid) and document filename as distinct identifiers. Join them only where retained records establish the relationship.
Close FAXSessions only with its completion event
FAXSessions lists active sessions as FAXSessionsEntry events and closes with FAXSessionsComplete. Retain one unique ActionID, every matching entry and the completion event, then compare Total with the number of retained entries. Each entry can carry channel, technology, session number, G.711 or T.38 session type, operation, state and associated files.
This is a point-in-time active-session inventory. An empty completed list can be correct after a fast session has ended, while an incomplete or filtered list cannot establish that no fax was active.
Use FAXSession for one technology-aware detail snapshot
FAXSession addresses one numerical SessionNumber and returns the FAXSession event. Documented fields include operation, current state and, when applicable, error-correction mode, data rate, image resolution, current page, filename, transmitted or received pages and bad-line count. A fax technology without a FAXSession handler can make the action fail.
Fields are conditional and some values change while the fax progresses. A detail snapshot is not a terminal result, a durable history record or proof that the named file was delivered.
Interpret FAXStats as process counters, not a ledger
FAXStats returns CurrentSessions, ReservedSessions, TransmitAttempts, ReceiveAttempts, CompletedFAXes and FailedFAXes. Store the sample time, node identity, build, process lifetime and raw values before calculating a delta.
These are non-technology-specific runtime statistics. They do not identify an individual fax, expose a time range, prove persistence across restart or support billing, compliance or service-level claims without separately validated retention and attribution.
Keep progress, completion and document evidence separate
FAXStatus is raised periodically during a transmission and reports a channel snapshot, operation, descriptive status, local station ID and filename. ReceiveFAX() and SendFAX() publish terminal FAXSTATUS, FAXERROR, status text, stations, pages, rate, resolution and AUDIO or T38 mode; FAXOPT can retrieve completed-session information such as pages, status and session ID.
A current page count, Complete state or incremented global success counter does not by itself prove a readable TIFF/F file, downstream email, UCP copy, human receipt or remote business acceptance.
Collect least privilege and privacy-safe evidence
Use a dedicated least-privilege AMI identity with only required action and event classes, explicit source restrictions and narrow filters. Redact phone numbers, station IDs, account codes, channel names and document paths while retaining ActionID, session number, timestamps, completion markers, counter context and repair evidence.
No PBX, FreePBX system, module, manager account, credential, fax session, channel, TIFF/F file, notification, packet, media stream or document delivery was inspected or tested. Validate the contract on one authorized disposable fax path before relying on dashboards or alerts.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Asterisk FAXSession AMI action ↗
- Asterisk FAXSessions AMI action ↗
- Asterisk FAXStats AMI action ↗
- Asterisk FAXSession AMI event ↗
- Asterisk FAXSessionsEntry AMI event ↗
- Asterisk FAXSessionsComplete AMI event ↗
- Asterisk FAXStats AMI event ↗
- Asterisk FAXStatus AMI event ↗
- Asterisk ReceiveFAX dialplan application ↗
- Asterisk SendFAX dialplan application ↗
- Asterisk FAXOPT dialplan function ↗
- Asterisk AMI v2 specification ↗
- Asterisk network security guidance ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.