VoIP.info Troubleshooting

Asterisk AMI MessageSend is accepted but the message is missing or reaches the wrong destination

Find the first divergence across AMI framing, technology destination, endpoint and contact choice, SIP addressing, transport, remote response and client presentation.

Reviewed 2026-10-26Current branch-23-generated, Asterisk 22 and Certified Asterisk 22.8 MessageSend action references, current MessageSend, MESSAGE and MESSAGE_DATA dialplan references, current ARI endpoint messaging, PJSIP transport selection and AMI specifications were reviewed October 26, 2026; installed release, loaded message technology, endpoint, AoR, contact, Request-URI, To and From headers, transport, body handling, remote policy, user-agent presentation, manager permissions and downstream workflow remain deployment-specific; no PBX, manager session, action, endpoint, contact, message body, packet, SIP transaction, remote service, user interface, recipient or live call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one action and one symptom

Record node, release, manager identity and authority, ActionID, Destination, To, From, Body or Base64Body choice, non-sensitive variable names, raw response, endpoint/AoR/contact snapshot, resulting Request-URI, transport evidence, protocol response and authorized recipient observation.

Classify the first symptom as rejected action, invalid technology, invalid URI, wrong endpoint or contact, malformed AMI body, no protocol attempt, remote rejection, wrong recipient, client not rendering or missing acknowledgement. Do not merge retries or several recipients into one timeline.

Verify AMI framing and body precedence first

Confirm the action exists on the installed release and that the dedicated manager user has only the required authority. Check header termination, unique ActionID and field boundaries without logging credentials or private content.

Body must not contain newlines. If Base64Body is supplied, validate the source encoding and remember that it takes precedence over Body. A framing or decode defect must be corrected before endpoint, transport or client settings are changed.

Resolve Destination before interpreting To

Expand the exact documented destination form into message technology, endpoint, optional AoR or explicit URI, selected contact and final Request-URI. If Destination was omitted, state that the backwards-compatible To-as-destination behavior was used.

Then inspect the To and From message headers separately. A plausible To header does not prove the Request-URI was correct, and changing only To may leave the same wrong endpoint, contact or network destination in place.

Follow endpoint, contact and transport selection

Capture the current endpoint, default AoR, contact set, URI, DNS answer, transport parameter or scheme, selected transport object and reusable connection where policy permits. Stale contacts, a surprising default endpoint, URI replacement and proxy policy can move the request away from the intended recipient.

Do not infer message reachability from call registration or OPTIONS alone. Reproduce with one approved minimal recipient and change only the first demonstrated routing field.

Separate protocol response from client presentation

Retain one bounded SIP MESSAGE transaction where policy allows: Request-URI, To, From, Content-Type, body length, transport, response code and time. Then check remote policy, client support, notification, display, storage and user acknowledgement independently.

No packet attempt points back to Asterisk routing or handler selection. A remote final response narrows the network path but does not prove the user agent displayed or retained the body. UI absence alone does not prove the request used the wrong destination.

Repair the first proved boundary and retest once

Correct only the demonstrated fault: manager permission, AMI framing, body encoding, technology prefix, Destination form, endpoint/AoR/contact, To or From header, URI or transport, remote policy or client behavior. Retest with one disposable authorized recipient and a negative-recipient control.

Use in-call SendText only when a current channel is actually the owner; do not substitute it merely because out-of-call MessageSend failed. Remove temporary captures. No PBX, action, endpoint, message, packet, recipient or live system 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.