VoIP.info Troubleshooting

Asterisk AMI channel snapshot is missing, stale or maps the wrong call

Find the first divergence among installed-version support, list completion, manager-session correlation, live channel name, stable identity, bridge membership, lifecycle events and downstream media.

Reviewed 2026-10-19Current Asterisk branch-23-generated CoreShowChannelMap, CoreShowChannelMapComplete, CoreShowChannels, CoreShowChannel, CoreShowChannelsComplete, Status, StatusComplete, Newchannel and Rename references plus the branch 22 map action and completion event reviewed October 16, 2026; installed branch, loaded actions and events, manager permissions, session ordering, channel names, stable identifiers, bridge membership, variables, signaling and media remain deployment specific; no PBX, AMI session, manager user, permission, channel, bridge, variable, packet, media stream or live call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one request and event chronology

Record installed branch and maintenance release, manager connection, permissions, request timestamp, action, channel argument, any ActionID, immediate response, each list row, terminal event and count, then the relevant lifecycle and bridge events.

Classify the first symptom: rejected action, no rows, no completion, row-count mismatch, missing channel, old name, wrong linked identity, stale bridge, unexpected Local traversal, unrelated concurrent rows or correct topology with a failed call.

Verify that the installed branch exposes the contract

Check local manager action help and the event stream before blaming a parser. CoreShowChannelMap is documented from 18.19.0 and 20.4.0, while CoreShowChannelMapComplete has later maintenance-release markers. An older supported branch may not match the latest generated completion schema.

Confirm manager read permissions and event filtering as separate checks. A missing event can be an authorization or subscription problem even when the action itself is accepted.

Bound the list before interpreting emptiness

For CoreShowChannels, match rows and completion by ActionID and compare ListItems. For CoreShowChannelMap, use the published terminal event and its ListItems, but do not expect an ActionID that the action and completion schemas do not list. Serialize or isolate map requests.

For Status, distinguish a deliberately targeted channel from a global request and compare StatusComplete Items with the collected rows. Keep concurrent unsolicited lifecycle events outside the snapshot list.

Re-resolve the live channel and stable identities

A channel can hang up or be renamed between capture and the follow-up action. Re-enumerate when the supplied name is rejected, then match Uniqueid and Linkedid before substituting another live name. Never choose the first similar technology prefix as the intended leg.

If a Local channel is involved, remember that the map action follows through its other half. That broader connected result is documented behavior, not proof that the map selected a different call.

Rebuild bridge membership at the mutation boundary

Compare the snapshot BridgeId with bridge-enter, bridge-leave, merge and Local-optimization events. An empty bridge ID means the row did not report current membership; an earlier non-empty value is not a reservation.

Immediately before a bridge, transfer, kick or hangup mutation, resolve the current channel name and bridge identity again. Preserve the earlier snapshot for chronology rather than overwriting it.

Continue beyond a correct topology snapshot

If the expected parties and bridge are present, move to signaling state, negotiated formats and streams, packet direction, recording state and audible media. Status format fields and a connected map are useful context, not proof of successful negotiation or two-way audio.

Avoid fixing a stale identifier by changing codecs, NAT or registration. No PBX, AMI session, manager user, permission, channel, bridge, variable, packet, media stream or live call was inspected or tested for this diagnostic.

Exclude an incomplete AMI event pipeline

The AMI event diagnostic verifies event masks, filters, transport and parsing before rebuilding channel state.

Keep UserEvent snapshots tied to emission time

The AMI UserEvent guide prevents custom headers or transient channel fields from becoming an invented final call state.

Do not record a guessed channel from a stale snapshot

The AMI MixMonitor diagnostic verifies channel, Uniqueid, Linkedid and transfer boundaries before changing storage.

Do not park a guessed channel from a stale snapshot

The AMI parking diagnostic checks channel replacement, actual lot and assigned space before changing timeout routing.

Recheck the exact live leg after a snapshot mismatch

The channel lifetime diagnostic separates incomplete inventory, stale identity and expected channel destruction.

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.