Choose the inventory boundary first
Use ConfbridgeListRooms to ask one Asterisk node for its active conferences. Use ConfbridgeList with an exact Conference value to ask for the participants in one active conference. Record the node, installed branch, loaded app_confbridge module, manager session and intended observation before issuing either action.
A configured bridge profile, user profile or menu is not an active room. A dialplan destination that can invoke ConfBridge() is not a participant snapshot. Keep configuration, routing and runtime inventory separate.
Close each multi-event response explicitly
Assign a unique ActionID to each request and retain the initial response, every list event and the matching completion event. ConfbridgeListRooms ends with ConfbridgeListRoomsComplete; ConfbridgeList ends with ConfbridgeListComplete. Preserve the returned ActionID so concurrent responses cannot be merged.
Do not stop at the first row, a quiet interval or a dashboard timeout. Zero matching row events followed by the correct completion event is a complete empty snapshot; missing completion is incomplete evidence.
Read room rows as current runtime summaries
A current ConfbridgeListRooms row names the conference and reports Parties, Marked, Locked and Muted. The documentation says Parties includes active and waiting users. Treat those fields as a snapshot from the responding node, not a capacity statement or proof that every listed party can hear or speak.
An empty room list can be valid when no conference is active. Conference numbers are selected when channels enter ConfBridge(); configured profiles and menus do not pre-create active rooms.
Read participant rows without inventing outcomes
A current ConfbridgeList row includes conference role and state fields such as admin, marked, waiting, muted and talking plus channel identity fields including Channel, Uniqueid and Linkedid. Preserve the exact row and timestamp; do not join participants only by caller ID or a reused channel name.
A participant row shows membership at snapshot time. It does not prove successful PIN handling, continuous membership, DTMF-menu behavior, bidirectional speech, audible mixed audio, recording, moderation or the final caller result.
Correlate snapshots with lifecycle evidence
When change over time matters, take bounded snapshots and correlate them with authorized ConfBridge join, leave, start and end events using node, conference, stable channel identity and time. AMI event filters and reconnects can create a gap between event history and a later list response.
Use the CLI only as a separately timestamped control on the same node: confbridge list summarizes bridges, while confbridge list <conference> lists participants. A CLI view does not repair an incomplete AMI transaction.
Bound access, retention and claims
Use a dedicated least-privilege manager account, explicit event policy, redacted retained frames and rate limits. Protect caller IDs, account codes, channel identifiers and conference names. Inventory actions should not be replaced with mute, kick, lock or recording controls merely to test visibility.
No PBX, module, manager configuration, credential, session, conference, profile, menu, participant, channel, event stream, recording, packet, audio or live call was inspected or tested. Validate one authorized room and a known idle state on the actual deployment before relying on a collector.
Use completed snapshots around every moderation change
The ConfBridge control guide uses room and participant snapshots as pre-change and post-change evidence without treating them as caller outcomes.
Reconcile snapshots with bounded lifecycle intervals
The AMI ConfBridge lifecycle guide uses start, join, leave and end events without treating a later snapshot as a complete event history.
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.