VoIP.info Troubleshooting

Asterisk AMI VoicemailRefresh or MWI control is unavailable, rejected, broad or wrong

Trace one refresh or MWI control through release, module ownership, mailbox identity, EntityID, permissions, raw response and downstream delivery without changing unrelated state.

Reviewed 2026-10-17Current Asterisk branch-23-generated and branch-22 VoicemailRefresh, MWIGet and MWIUpdate references, the branch-22-generated version-sensitive MailboxStateChange reference, and official AMI v2 and manager-permission documentation reviewed October 17, 2026; the current VoicemailRefresh page is generated under app_voicemail_imap while the branch-22 page is generated under app_voicemail_odbc, MWIGet and MWIUpdate belong to res_mwi_external_ami, and MailboxStateChange is documented for remote mailbox synchronization from specified maintenance releases rather than local mailbox mutation; installed branch and maintenance release, loaded module, mailbox ownership, context, EntityID, manager permissions, response framing, subscription, NOTIFY delivery and endpoint rendering remain deployment specific; no PBX, module, mailbox, voicemail store, IMAP or ODBC backend, manager configuration, credential, session, request, response, subscription, NOTIFY, endpoint, phone, message, playback or live call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one disputed control transaction

Record intended and observed node, installed release, loaded modules, exact action, ActionID, manager session, all arguments, mailbox and context, EntityID when present, every raw response frame, times, parser version and disputed outcome. Redact credentials and mailbox-owner data.

Classify the earliest gap as wrong node, unavailable action, denied action, wrong owner, over-broad scope, wrong mailbox identity, local EntityID rejection, omitted count default, incomplete response, parser loss or downstream MWI failure.

Confirm release and module ownership first

Use the running action inventory and module state. Do not assume VoicemailRefresh has the same backing module because the reviewed branch-23 page names app_voicemail_imap while the branch-22 page names app_voicemail_odbc. Require res_mwi_external_ami for MWIGet and MWIUpdate.

For MailboxStateChange, verify a maintenance release that documents the action. An unknown action on an earlier installed release is not a permission or mailbox-state result.

Reduce refresh scope before retrying

If a refresh was broad, stop repeated retries and restate the intended target. Supply both Context and Mailbox for one mailbox when the installed backend supports that scope. Preserve the response and compare backend evidence after the bounded poll.

A successful refresh request signals a poll; it does not prove an external change existed, message storage was read, counts changed or a phone received MWI.

Make external-MWI counts and identity explicit

For MWIUpdate, send the specific mailbox plus both OldMessages and NewMessages; the documented defaults are zero when fields are absent. For MWIGet, distinguish a literal mailbox from a slash-delimited regular expression and retain the complete response series.

Compare only state owned by res_mwi_external. Do not overwrite local voicemail evidence to make external counts agree.

Reject local use of remote synchronization

For MailboxStateChange, preserve the remote source and EntityID. A matching local EntityID is documented to be rejected, and the action is not intended to set local mailbox state. Correct the topology or action selection instead of substituting another identifier.

After an accepted remote update, continue separately through subscription, NOTIFY delivery and endpoint rendering. Use the existing PJSIP MWI diagnostic for those downstream boundaries.

Retest one bounded path and close the earliest fault

Start a clean authenticated session, issue one narrow request with a fresh identifier and retain its response before dashboard transformation. Repair only the demonstrated release, module, permission, scope, identity, count, EntityID, framing or parser fault, then restore approved access limits.

No PBX, module, mailbox, voicemail store, IMAP or ODBC backend, manager configuration, credential, response, subscription, NOTIFY, endpoint, phone, message, 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.