Freeze one channel and one missing boundary
Record the request target, Asterisk ID and version, exact case-sensitive channel name, ARI list object, intended destination and type, level configuration, effective logger.conf, log directory, filesystem state, collector target, time source, expected event, reproduction window, HTTP result and rotation or lifecycle event. Preserve prior verbose and debug levels and redact credentials.
Classify the symptom: absent from the ARI list, add returns 400, add returns 409, accepted add but no destination appears, destination exists but the expected record is absent, channel disappears after reload, restart or rotation, rotate returns 404, delete returns 404, or local output exists but a downstream collector does not receive it.
Prove the instance and runtime object
Use /asterisk/ping and /asterisk/info to prove the node, then retrieve the full logging list. Compare the returned channel, type, status and configuration with logger show channels on that same instance. Preserve case and do not infer one node's runtime state from another member of the pool.
If the channel is absent, determine whether it should be transient or persistent before recreating it. A restart, logger reload or rotation is relevant because Asterisk documents those events as ending dynamically added CLI channels; the ARI endpoint does not promise greater persistence. Correct the lifecycle owner instead of repeatedly adding an unexplained duplicate.
Validate the requested name and levels
For a 400, compare the required configuration parameter with a known approved level set. For a 409, inspect bounded server logs and existing runtime or configured destinations for a name, path, type, permission or resource conflict. Keep regular file names, absolute paths, console and syslog destinations distinct.
Confirm that the selected levels can contain the expected event. A warning-only channel will not prove a debug event is absent, and broad * output is not an appropriate default repair. If verbose output matters, retain its explicit level because unbounded verbose behavior can depend on console state.
Separate event generation from destination write
Trigger one authorized and repeatable event whose expected level and module are known. Correlate its timestamp, Asterisk call ID, channel identifiers and protocol identifiers with the selected log. If another destination sees the event but this one does not, stay with channel state, level selection, path, permissions, storage and writer behavior.
If no destination sees it, inspect whether the relevant module, protocol logger or application generated it at all. ARI logging-channel control does not enable every module-specific trace, does not capture network packets and does not establish RTP or audible media. Do not widen file permissions or enable global debug merely because one expected line is missing.
Follow local storage, rotation and forwarding separately
Resolve the effective Asterisk log directory, target path, owner, free space and filesystem errors. For rotation, record the configured none, sequential, rotate or timestamp strategy and any post-rotate command, then compare current and archived files before and after the request. A 404 belongs to exact runtime identity or lifecycle, not retention cleanup.
Treat file creation, reopened writer, archived artifact, compression, shipper input and collector ingestion as separate checkpoints. An accepted ARI rotation is not proof of any later checkpoint. A local file with records does not prove the collector accepted, parsed, indexed or retained them.
Correct one owner and close the temporary capture
Correct only the proven owner: target node, exact name, approved level set, runtime lifecycle, persistent logger.conf, destination path, permissions, storage, logger-module state, event source, post-rotate action, shipper or collector. Avoid changing channel levels, filesystem permissions and forwarding together; that erases the failing boundary.
Retest the exact list object, one controlled event, local write, rotation only if required and downstream arrival. Restore previous debug and verbose levels, remove the temporary channel, confirm free space, retain a protected original and share only a redacted copy. No Asterisk logger, file, collector, trace or call was inspected or tested for this guide.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Asterisk 23 ARI Asterisk REST API ↗
- Asterisk 23 ARI REST data models ↗
- Asterisk logging configuration ↗
- Asterisk basic runtime logging commands ↗
- Asterisk bounded debug-collection workflow ↗
- Asterisk call-identifier logging ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.