Freeze one disputed request and response
Record intended and observed node, installed release, loaded voicemail module, backend, exact action, ActionID, manager session, arguments, times, every raw frame, parser version and disputed result. Redact credentials and personal fields.
Classify the first gap as wrong node, login failure, unavailable or denied action, wrong module, wrong identity, incomplete response, undocumented field, parser loss, stale source or cache reuse.
Prove the action belongs to the backend
Confirm VoicemailUsersList through the loaded app_voicemail surface. Treat VoicemailUserStatus separately because its official page assigns it to app_voicemail_imap. Verify the current action response rather than assuming every backend exposes both.
Do not load or replace a voicemail module to make monitoring succeed. Correct the client expectation or choose evidence owned by the deployed backend.
Preserve framing instead of inventing completion
Retain the initial response and following frames until the installed server or client demonstrates the boundary. The generated VoicemailUsersList page promises user information and a returned ActionID but does not publish row or completion fields.
Do not declare an authoritative empty list because an expected event label was absent. Serialize requests when correlation is unproven, time-bound the attempt and report incomplete.
Recheck context and mailbox identity
For VoicemailUserStatus, preserve separate Context and Mailbox arguments. For count comparison, use the full mailbox@context expected by MailboxCount. Verify the user on the intended node and backend.
A GUI row, extension and IMAP account do not establish that the same context and mailbox were queried through AMI.
Compare evidence that answers the same question
Use VoicemailUsersList for user information, VoicemailUserStatus for the specified IMAP-backed user, MailboxCount for aggregates and VoicemailBoxSummary for its separate detailed summary. Keep storage, playback and endpoint MWI downstream.
A valid count does not prove that a list parser saw the user; a user row does not prove message state or phone indication.
Retest one clean session and close the earliest fault
Start a clean authenticated session, issue one narrow request with a fresh identifier and preserve the raw response before dashboard transformation. Repair only the demonstrated target, module expectation, permission, identity, framing, parser or cache boundary, then restore approved access scope.
No PBX, module, mailbox, voicemail user, store, IMAP account, manager configuration, credential, response, message, MWI subscription, endpoint, phone, playback or live call was inspected or tested.
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.