Freeze one name and one recording interval
Preserve one authorized attempt with timestamp and timezone, running Asterisk version, application operation ID, ARI user, WebSocket session, channel or bridge ID, recording name, format, all start parameters, HTTP response, recording events, controls, hangup or membership changes and expected interval. Do not create a replacement with a new name while the first operation may still be live.
Classify the symptom: start rejected, live object missing, started but no finish, canceled unexpectedly, stored object absent, file unreadable, zero or short content, one direction only, wrong participants, or acceptable bytes with unusable audio.
Read the start response as a precise boundary
For a channel target, preserve 400 invalid parameters, 404 missing channel, 409 Stasis, bridge-state or name-collision conditions, and 422 unknown format as different failures. For a bridge target, distinguish invalid parameters, missing bridge, bridge outside Stasis, name collision and unknown format. Correct the documented owner instead of retrying every response.
Confirm the exact format is available on the running system and the target remains under the intended Stasis application. A saved configuration or earlier channel snapshot does not prove current ownership.
Verify channel or bridge scope before inspecting bytes
If a channel recording contains only incoming audio, first confirm whether the missing sound was audio sent to that channel; the channel record operation does not capture sent audio. If mixed participants were required, prove that a bridge recording was used and snapshot membership across the interval.
A bridge recording captures mixed audio from participating channels. A caller who joined late, left early or occupied a different bridge can be absent without a recorder failure. Use the ARI bridge diagnostic for ownership and membership evidence.
Reconcile live state, events and controls
Retrieve the LiveRecording by the exact name and correlate RecordingStarted, RecordingFinished or RecordingFailed. Preserve state, target URI, duration, silence, talking and cause fields when present. If the application or WebSocket restarted, rebuild from the server-side object before deciding that no recording exists.
Place pause, unpause, mute and unmute on the same timeline. Pause and mute suspend silence detection, and paused time is excluded from maximum-duration accounting. A short file can be consistent with control timing or a start-time limit rather than lost media.
Distinguish stored stop from discarded cancel
A POST to the live recording's stop resource stores the result. DELETE of the live recording cancels it and discards the result. Preserve which operation was issued, by which application instance, and whether it crossed a duration, silence, DTMF, hangup or failure event.
After stop, query the StoredRecording inventory by the same name and format. A 404 live object after completion is not evidence that the stored object is absent. Conversely, a canceled operation should not be expected to appear as a stored recording.
Inspect stored access without substituting a path guess
Use the stored-resource API to confirm metadata and retrieve the file. Asterisk documents 403 when the file cannot be opened and 404 when the recording is not found. The default storage directory is derived from astspooldir, not guaranteed by a copied absolute path from another host.
Then verify file ownership, permissions, available space, container or service mount boundaries and downstream copy or export. Do not broaden filesystem or web access as a diagnostic shortcut.
Prove the expected audio and bounded correction
Decode an authorized bounded sample and correlate waveform or packet evidence with the intended channel or bridge interval, codec, talkers and membership. Separate zero samples, continuous silence, clipping, only one talker, wrong participants and truncated duration. A nonzero byte count or playable header is not proof of useful call content.
Correct one evidenced owner: target scope, Stasis lifecycle, recording name policy, format, start limit, control race, stop versus cancel, bridge membership, storage access or media path. Retest one authorized call, retain the complete lifecycle and remove temporary copies. No recording, packet or call was inspected or tested for this diagnostic.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Asterisk ARI Recording API guide ↗
- Asterisk 22 ARI Recordings REST API ↗
- Certified Asterisk 22.8 ARI Channels REST API ↗
- Asterisk latest ARI Bridges REST API ↗
- Asterisk 22 ARI REST data models ↗
- Asterisk configuration for ARI ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.