Choose the question before the action
CoreShowChannels lists currently defined channels. CoreShowChannelMap starts from one named channel and lists the channels currently connected to it; its documentation says Local channels are followed through to their other half. Status lists channel status and can be limited to one channel while optionally returning selected or all channel variables.
These are different snapshots. Use the global list to establish inventory, the connected map to bound a live relationship, and Status when detailed state or explicitly requested variables are required.
Treat each list as a bounded, versioned transaction
CoreShowChannels accepts ActionID; each CoreShowChannel row and the final CoreShowChannelsComplete return it, and the completion reports ListItems. Collect only rows within that response boundary and compare the observed row count with the terminal count.
The published CoreShowChannelMap syntax requires Channel but does not list ActionID, and CoreShowChannelMapComplete publishes EventList and ListItems without an ActionID field. Do not invent correlation support. The map action is documented from 18.19.0 and 20.4.0, but its completion event has later maintenance markers: 18.26.0, 20.11.0, 21.6.0 and 22.1.0. Record the installed release, inspect local behavior, and serialize or otherwise isolate map requests.
Use stable identity alongside the channel name
CoreShowChannel publishes Channel, Uniqueid, Linkedid and BridgeId. Linkedid is the unique ID of the oldest channel associated with the channel, while BridgeId may be empty when it is not in a bridge. Preserve all four plus the snapshot timestamp.
Channel names can change and channels can end between request and response. A name is a live lookup key, not a durable call identifier; a linked ID groups associated channel history but does not prove current bridge membership.
Use Status for deeper state, not stronger truth
A Status row adds fields such as channel type, dialed-number identity, effective connected line, absolute time to hangup, media formats, translation paths, call groups, pickup groups and channel age. Requested variables can be included selectively, while AllVariables broadens disclosure and payload size.
StatusComplete reports the number of Status events returned. The generated event schema does not list ActionID, so do not depend on a terminal correlation field that the reference does not publish. A richer snapshot is still only a point-in-time observation.
Join snapshots to lifecycle evidence
Use Newchannel, Rename, bridge lifecycle and hangup evidence to explain why two adjacent snapshots differ. A channel created after enumeration, renamed during processing, moved between bridges or hung up before a follow-up query can make a correct earlier snapshot look stale.
Preserve event receive order and timestamps, but distinguish transport arrival order from causal certainty. Re-snapshot the smallest relevant scope when a mutation must act on the current name or bridge.
Keep topology, signaling and media separate
A connected-channel map or shared bridge ID is topology evidence. It does not establish remote answer, negotiated streams, packet flow, audible media, recording continuity or business completion. Pair topology with the signaling, RTP and listener evidence required by the incident.
Limit manager privileges and variable collection, because Status can expose channel data. No PBX, AMI session, manager user, permission, channel, bridge, variable, packet, media stream or live call was inspected or tested for this guide.
Verify event delivery before trusting lifecycle joins
The AMI event diagnostic checks permissions, masks, filters and transport before labeling a channel chronology incomplete.
Treat UserEvent snapshot fields as emission-time context
The AMI UserEvent guide keeps channel snapshots, application correlation and final outcomes separate.
Resolve the intended live channel before recording it
The AMI MixMonitor guide uses current channel identity and bridge evidence before starting a channel-bound audiohook.
Resolve the live leg before parking it
The AMI parking guide uses exact channel identity before Park and parkee identity through retrieval or timeout.
Bound every channel list to one ActionID and completion
The channel identity guide keeps a CoreShowChannels response separate from later lifecycle changes and actions.
Resolve the timer target from a fresh snapshot
The AbsoluteTimeout diagnostic rejects stale or reused channel labels before changing lifetime.
Resolve the mute target from a fresh snapshot
The MuteAudio diagnostic rebuilds channel and bridge identity after transfers or optimization.
Snapshot the application before controlling playback
The ControlPlayback diagnostic uses current application data and channel identity rather than caller labels.
Snapshot every possible regex match before Hangup
The AMI Hangup diagnostic treats broad selectors as a separate destructive-control hazard.
Resolve the recipient leg immediately before SendText
The AMI SendText diagnostic checks transfers, Local optimization and bridge replacement before messaging changes.
Target Advice of Charge with a fresh exact-channel snapshot
The AMI AOCMessage guide revalidates full channel name and Uniqueid before charge signaling.
Map agent, caller and destination channels separately
The AMI agent guide correlates queue-call legs by Uniqueid and Linkedid without flattening Agent, MemberName and Interface.
Keep fax and channel identifiers distinct
The AMI fax-session guide separates SessionNumber, FAXOPT session ID, channel, Uniqueid, Linkedid and filename.
Do not infer bridge technology from channel identity
The bridge-technology diagnostic correlates channel and bridge identities only after completing the technology inventory.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Asterisk 23 AMI CoreShowChannelMap action ↗
- Asterisk 22 AMI CoreShowChannelMap action ↗
- Asterisk 23 AMI CoreShowChannelMapComplete event ↗
- Asterisk 22 AMI CoreShowChannelMapComplete event ↗
- Asterisk 23 AMI CoreShowChannels action ↗
- Asterisk 23 AMI CoreShowChannel event ↗
- Asterisk 23 AMI CoreShowChannelsComplete event ↗
- Asterisk 23 AMI Status action ↗
- Asterisk 23 AMI Status event ↗
- Asterisk 23 AMI StatusComplete event ↗
- Asterisk 23 AMI Newchannel event ↗
- Asterisk 23 AMI Rename event ↗
- Asterisk 23 AMI Events action ↗
- Asterisk 22 AMI Events action ↗
- Asterisk 23 AMI Filter action ↗
- Asterisk 22 AMI Filter action ↗
- Asterisk 23 AMI WaitEvent action ↗
- Asterisk 22 AMI WaitEvent action ↗
- Asterisk AMI event filtering ↗
- Asterisk Manager TCP/IP API ↗
- Asterisk 23 AMI Login action ↗
- Asterisk 23 AMI Ping action ↗
- Asterisk 23 AMI UserEvent action ↗
- Asterisk 22 AMI UserEvent action ↗
- Asterisk 23 AMI UserEvent event ↗
- Asterisk 22 AMI UserEvent event ↗
- Asterisk 23 UserEvent dialplan application ↗
- Asterisk 22 UserEvent dialplan application ↗
- Asterisk AMI command syntax ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- ↗
- Asterisk CHANNEL_EXISTS dialplan function ↗
- Asterisk CHANNELS dialplan function ↗
- Asterisk CHANNEL dialplan function ↗
- Asterisk CLI channel creation and manipulation ↗
- Asterisk Local channel optimization ↗
- Asterisk func_channel implementation ↗
- Asterisk 23 AbsoluteTimeout action ↗
- Asterisk 22 AbsoluteTimeout action ↗
- Certified Asterisk 22.8 AbsoluteTimeout action ↗
- Asterisk 23 TIMEOUT dialplan function ↗
- Asterisk special dialplan extensions ↗
- Asterisk 23 HangupRequest event ↗
- Asterisk 23 SoftHangupRequest event ↗
- Asterisk 23 Hangup event ↗
- Asterisk 23 MuteAudio action ↗
- Asterisk 22 MuteAudio action ↗
- Certified Asterisk 22.8 MuteAudio action ↗
- Asterisk 23 MUTEAUDIO dialplan function ↗
- Asterisk 23 ConfbridgeMute action ↗
- Asterisk 23 ControlPlayback AMI action ↗
- Asterisk 22 ControlPlayback AMI action ↗
- Certified Asterisk 22.8 ControlPlayback AMI action ↗
- Asterisk 23 ControlPlayback dialplan application ↗
- Asterisk 22 ControlPlayback dialplan application ↗
- Asterisk 23 CONTROL STREAM FILE AGI command ↗
- Certified Asterisk 22.8 Playback application ↗
- Asterisk 23 Hangup AMI action ↗
- Asterisk 22 Hangup AMI action ↗
- Certified Asterisk 22.8 Hangup AMI action ↗
- Asterisk hangup cause mappings ↗
- Asterisk 22 HANGUPCAUSE dialplan function ↗
- Asterisk 23 SendText AMI action ↗
- Asterisk 22 SendText AMI action ↗
- Certified Asterisk 22.8 SendText AMI action ↗
- Asterisk 23 SendText dialplan application ↗
- Asterisk 23 ReceiveText dialplan application ↗
- Asterisk 23 MessageSend AMI action ↗
- Asterisk 23 MessageSend dialplan application ↗
- Asterisk 23 AOCMessage AMI action ↗
- Asterisk 22 AOCMessage AMI action ↗
- Certified Asterisk 22.8 AOCMessage AMI action ↗
- Asterisk 23 AOC-S AMI event ↗
- Asterisk 23 AOC-D AMI event ↗
- Asterisk 23 AOC-E AMI event ↗
- Asterisk 22 AOC-S AMI event ↗
- Asterisk 22 AOC-D AMI event ↗
- Asterisk 22 AOC-E AMI event ↗
- Asterisk Agents AMI action ↗
- Asterisk AgentLogoff AMI action ↗
- Asterisk Agents AMI event ↗
- Asterisk AgentsComplete AMI event ↗
- Asterisk AgentLogin AMI event ↗
- Asterisk AgentLogoff AMI event ↗
- Asterisk AgentCalled AMI event ↗
- Asterisk AgentConnect AMI event ↗
- Asterisk AgentComplete AMI event ↗
- Asterisk AgentDump AMI event ↗
- Asterisk AgentRingNoAnswer AMI event ↗
- Asterisk AgentLogin dialplan application ↗
- Asterisk AGENT dialplan function ↗
- Asterisk app_agent_pool configuration ↗
- Asterisk network security guidance ↗
- Asterisk FAXSession AMI action ↗
- Asterisk FAXSessions AMI action ↗
- Asterisk FAXStats AMI action ↗
- Asterisk FAXSession AMI event ↗
- Asterisk FAXSessionsEntry AMI event ↗
- Asterisk FAXSessionsComplete AMI event ↗
- Asterisk FAXStats AMI event ↗
- Asterisk FAXStatus AMI event ↗
- Asterisk ReceiveFAX dialplan application ↗
- Asterisk SendFAX dialplan application ↗
- Asterisk FAXOPT dialplan function ↗
- Asterisk current BridgeTechnologyList AMI action ↗
- Asterisk current BridgeTechnologySuspend AMI action ↗
- Asterisk current BridgeTechnologyUnsuspend AMI action ↗
- Asterisk 22 BridgeTechnologyList AMI action ↗
- Asterisk 22 BridgeTechnologySuspend AMI action ↗
- Asterisk 22 BridgeTechnologyUnsuspend AMI action ↗
- Asterisk bridge-core AMI implementation ↗
- Asterisk BridgeList AMI action ↗
- Asterisk BridgeInfo AMI action ↗
- Asterisk bridge concepts ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.