VoIP.info Troubleshooting

Asterisk ReceiveFAX or SendFAX fails or uses the wrong mode

Trace one fax from the exact channel and loaded res_fax stack through FAXOPT inputs, file access, audio or T.38 negotiation, application result and downstream artifact handling.

Reviewed 2026-10-13Asterisk 22 FAXOPT, ReceiveFAX and SendFAX documentation plus branch 22 res_fax configuration and implementation reviewed October 13, 2026; the installed Asterisk version, res_fax module, technology resource, configuration, channel, TIFF/F file, signaling, T.38 negotiation, audio path, session result, storage and delivery remain deployment specific, and no host, module, file, channel, packet, fax session or document was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one session and classify the first missing outcome

Record timestamp and timezone, call direction, channel names and unique IDs, dialplan location, application and options, FAXOPT writes, source or destination file, signaling, T.38 exchange, media, application return, session variables and later storage or delivery. Redact telephone numbers, station IDs, addresses and document content.

Classify the first divergence: application absent, technology resource absent, configuration rejected, wrong channel, file unreadable or unwritable, detection missing, T.38 not negotiated, audio fallback unexpected, transmission failed, partial pages, artifact missing or downstream delivery missing.

Prove the loaded fax stack and effective configuration

Inventory the installed Asterisk artifact, loaded res_fax module, loaded fax technology resource, module load errors and effective res_fax.conf values. Preserve the first configuration or dependency error before editing dialplan or media policy.

The presence of ReceiveFAX() or SendFAX() documentation does not prove that the installed system supplies a working technology resource. Correct packaging, module loading or configuration parsing before interpreting a later session failure.

Follow FAXOPT writes onto the application channel

Trace the channel that receives every per-session setting and the channel that executes the fax application. Preserve inherited or copied variables across Local channels, transfers and created call legs. Read back the relevant value where supported rather than assuming a write on another leg applied.

Keep detection, gateway, ECM, rates, modem types, station identity and T.38 timeout separate. Change only the setting tied to the earliest observed mismatch.

Verify the TIFF/F path before media diagnosis

For receiving, prove that the destination directory exists, the Asterisk process can create the intended file, free space is sufficient and the final file belongs to the intended retention boundary. For sending, prove that the exact TIFF/F file exists, is readable and is the artifact named by the application.

A path or permission error is not a codec or T.38 failure. A created file is not proof of a complete document, and a readable source is not proof that the far endpoint accepted it.

Preserve negotiation and media before changing mode

Capture the call-leg signaling, any T.38 offer or answer, UDPTL or audio path and the final FAXMODE. If fallback was allowed, identify what ended T.38 negotiation and what audio path followed. If audio was forced, retain that explicit application option.

Do not enable detection, gatewaying, T.38 and audio fallback together to manufacture a success. They represent different roles, and broad changes erase the first useful boundary.

Use the complete session result and retest one correction

Retain status, error, detailed status string, session ID, local and remote station IDs, pages, rate, resolution and mode from the same channel. Correlate that result with module logs, signaling, packets and the exact artifact before assigning a carrier, PBX, endpoint or storage cause.

Apply one reversible correction and repeat the same authorized scenario. Confirm every expected page and the required downstream storage or delivery separately, then remove debug and sensitive captures. No host, module, file, channel, packet, fax session or document was inspected or tested.

Distinguish application failure from trunk negotiation failure

The T38Fax diagnostic carries one failed fax from the initial dialog through T.38 negotiation, media reachability, ECM and page evidence.

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.