VoIP.info Troubleshooting

Asterisk graceful stop or restart keeps waiting, aborts or leaves readiness unclear

Find the first gap across command mode, channel admission, drain state, shutdown event, process replacement, module initialization, FullyBooted and ordinary-call restoration.

Reviewed 2026-10-30Current official Asterisk stop-and-restart, running-process, FullyBooted, Shutdown, CoreStatus, process-directory, module-loading, logging, debug-collection and Reload documentation was reviewed October 30, 2026; installed branch, packaging, service manager, executable, process, control socket, PID file, active channels, admission path, shutdown request, module state, dependency readiness, logger output, traffic result, rollback and support response remain deployment-specific; no Asterisk host, FreePBX system, service manager, binary, process, socket, PID file, channel, call, module, event, log, restart, shutdown, readiness result, rollback or support case was inspected or testedAdvancedDocumentation based · not lab tested

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.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.