VoIP.info Guide

Asterisk AMI fax session inventory and statistics evidence

Use FAXSessions, FAXSession and FAXStats as bounded runtime observations while keeping progress events, terminal application results, negotiated mode and delivered-document evidence separate.

Reviewed 2026-10-26Current branch-23-generated Asterisk FAXSession, FAXSessions and FAXStats actions and response events, FAXStatus, ReceiveFAX, SendFAX, FAXOPT, AMI v2 and network-security documentation were reviewed October 26, 2026; installed Asterisk version, res_fax and technology module availability, manager permissions and filters, session timing, counter lifetime, channel and dialplan ownership, storage, notification and FreePBX behavior remain deployment-specific; no PBX, FreePBX system, module, manager account, credential, fax session, channel, TIFF/F file, notification, packet, media stream or document delivery was inspected or testedAdvancedDocumentation based · not lab tested

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.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.