Freeze the request and current process identity
Record node, exact Asterisk build, executable, PID, service manager or wrapper, control socket, uptime, requested command, issuer, timestamp, active channels, queues and bridges, inbound and outbound traffic, pending maintenance state, recent change and observed symptom. Preserve existing service and Asterisk logs before another command changes the evidence.
Do not begin with core restart now, repeated service restarts, package updates or broad reloads. Those actions can end calls, replace the PID, clear volatile state and hide why the original request waited or failed.
Explain why a convenient action keeps waiting
Confirm the literal command. Asterisk says the when-convenient variants wait for no calls but continue accepting new calls; recurring inbound traffic, queue activity, local channels, originate jobs or other application work can therefore keep the condition from becoming true. The graceful variants instead prevent new calls from starting while existing calls finish.
Timestamp channel counts and new-channel creation without assuming that one dashboard total represents every owner. Define the approved maximum wait and use core abort shutdown only for a pending graceful or when-convenient action, then verify the pending state actually cleared.
Separate clean shutdown from every call outcome
Capture the command response, AMI Shutdown event when available, channel outcomes, process exit, service-manager state and whether a restart was requested. The event reports cleanly or uncleanly proceeding shutdown and the restart flag; preserve it with the affected process and timestamp.
A clean event does not prove that every caller experienced a clean application outcome, recordings and CDRs completed, external dependencies closed correctly or the replacement process started. An absent event can reflect collection scope, permissions or connection loss rather than one specific failure.
Prove replacement process and initialization separately
After a restart, match the expected binary to the new PID and start time. Check service-manager policy, current CLI connection, CoreStatus, startup logs, module loaded-versus-running state and the FullyBooted event. Preserve module or configuration errors instead of treating a banner or control socket as sufficient readiness.
FullyBooted marks completion of Asterisk initialization procedures. It does not prove every provider registration, database, DNS target, certificate, network path, queue member or external application has recovered.
Repair module, logging or action ambiguity
If a capability is missing, compare the exact module file, modules.conf intent, load status, running status, configuration parse output and startup window. If only a reload was requested, preserve its AMI status such as success, queued, not found, error, already in progress, uninitialized or unsupported rather than calling it a restart.
Use a narrow logger channel and the minimum requested verbosity. Record file, clock, rotation and cleanup, then return normal levels. Restrict logs because they can contain credentials, call history and identifiers.
Validate rollback and ordinary service restoration
Confirm process identity, required modules, endpoint or trunk state, queue or application dependencies and the same bounded inbound and outbound ordinary-call cases. Record answer, media, teardown, recording or CDR outcome only where relevant, then monitor for repeat shutdown, crash, registration loss or stuck drain state.
A command response, new PID, clean shutdown flag, FullyBooted event, green service indicator or one successful call does not establish root cause or durable restoration. No host, process, socket, channel, call, module, event, restart, shutdown, log, readiness result, rollback or support finding 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 stopping and restarting from the CLI ↗
- Asterisk running from the command line and as a service ↗
- Asterisk AMI FullyBooted event ↗
- Asterisk AMI Shutdown event ↗
- Asterisk AMI CoreStatus action ↗
- Asterisk directory and file structure ↗
- Asterisk troubleshooting module loading ↗
- Asterisk logging configuration ↗
- Asterisk collecting debug information ↗
- Asterisk AMI Reload event ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.