Freeze one disputed recording and its channel identity
Preserve the Asterisk node and release, app_mixmonitor state, manager account and permissions, action request and response, ActionID, exact channel, Uniqueid, Linkedid, bridge, timestamp and timezone, intended policy, filename, options, post-command, start, mute and stop events, filesystem observations and caller outcome. Redact credentials, personal numbers and audio content. When FreePBX owns the flow, also preserve its recording policy and generated dialplan; do not edit generated files first or assume a GUI label identifies the channel selected by AMI.
Classify the first missing boundary: action unavailable or denied, wrong channel, accepted request without observed start, start on a short-lived leg, mute-direction error, unscoped stop, path or permission failure, open handle, empty interval, transfer boundary, decode problem, processor failure, deletion or retention failure.
Prove the selected live channel before blaming storage
Use the same-node AMI channel snapshot and stable identities to show that the requested channel was the intended call leg at the start time. A display name, endpoint label or Linkedid alone does not identify which leg owns the audiohook. Preserve channel rename, Local optimization, transfer and bridge events around the symptom.
If the intended business call continued on a replacement channel, the original channel-bound recorder can stop correctly while the later leg is unrecorded. Repair channel ownership or policy placement before widening file permissions or changing media codecs.
Reconcile action response with event visibility
Confirm the manager account can issue the three actions and receive the CALL-class start, mute and stop events. Inspect the session event mask, manager read and write classes and event filters. A successful response without an observed event can be an authorization or filtering gap in the collector rather than proof that no recorder ran.
The start, mute and stop event schemas do not publish ActionID, filename or MixMonitor ID. Correlate by node, exact channel identity and time, retain raw frames, and avoid joining concurrent recordings only by caller ID or a broad time window.
Resolve options, mute direction, ID and filename exactly
Record whether a mixed File, receive-only r(file), transmit-only t(file) or multiple outputs were requested. Check relative versus absolute paths, the monitor directory, sanitized name, format and the .raw requirement for D. Inspect delayed start s(seconds), bridge-only b, delete d, append a, directional files and any voicemail copy before declaring output missing.
For mute, preserve read, write or both plus state 1 or 0 and map direction from the channel topology. For multiple recorders, retrieve the ID created through i(chanvar) and use it in StopMixMonitor; an unscoped stop or stale ID can affect the wrong instance.
Close and inspect the artifact before processing it
Issue a scoped StopMixMonitor, retain the response and stop event, then confirm the handle is released before a post-processor, upload or playback opens the file. Capture path ownership, free space, size, checksum, container or raw format, duration and decode result. Verify each requested direction with distinct authorized phrases; silence insertion for directional files depends on the n option.
A nonzero file is not evidence of complete audio, and an empty file can result from an unanswered channel, bridge-only timing, delayed start, wrong leg, mute, no frames, storage or format. The recording event is not a filesystem completion receipt or a retention record.
Repair the earliest proved boundary and retest safely
Correct only the demonstrated module, permission, event filter, channel selector, option, path, ownership, mute, recorder ID, stop ordering, processor or retention defect. Preserve the old state, use a disposable authorized call and repeat the complete request, event and file lifecycle. Also retest one negative case that must not record.
Do not use real sensitive calls to prove a fix. No PBX, module, manager account, credential, session, channel, audiohook, event stream, file, packet, media stream, recording or live call was inspected or tested for this diagnostic; availability, compatibility, audio quality, privacy, retention and compliance remain deployment specific.
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.