Freeze one failed action and its call topology
Record the intended and observed node, release, loaded module, manager identity, unique ActionID, action, Channel, Uniqueid, Linkedid, bridge membership, direction, digit, duration, receive flag, raw response and synchronized timestamps. Redact credentials and sensitive dialed input.
Classify the first symptom as unknown or denied action, vanished or wrong channel, wrong direction, unsupported digit, signalling mismatch, missing core event, missing downstream input, duplicate input or hook flash with no defined consumer.
Confirm action and module availability before media diagnosis
Check the running AMI action inventory, installed branch and maintenance release, loaded app_senddtmf or app_mf module and manager permissions. SendFlash is version-gated in the generated record from Asterisk 20.3.0 and 18.18.0.
An unknown or denied action is not evidence of a codec, RTP, SIP INFO, endpoint or IVR fault. Do not widen the production manager account merely to make the workflow pass.
Reconcile the live channel leg and direction
Resolve the exact live channel immediately before the action and confirm Uniqueid, Linkedid, bridge peers and call direction. For PlayDTMF, verify whether the intent was to send out on the channel or use Receive: true to emulate input into Asterisk.
If a channel was replaced, masqueraded, transferred, locally optimized or hung up, stop. Do not reuse a stale name or fall back to a regex that can select another call.
Trace DTMF at each signalling boundary
Record PJSIP dtmf_mode, negotiated RFC 4733 event mapping where applicable, SIP INFO messages when used, in-band audio only when that mode is intended and Asterisk DTMFBegin or end observations. Compare the requested duration and digit with what each boundary exposed.
A successful PlayDTMF response is not proof that a peer received a telephone event or that an IVR consumed it. Likewise, an Asterisk event does not prove downstream application handling.
Diagnose MF and hook flash on their own semantics
For PlayMF, verify that the remote system actually expects MF signalling and that the requested symbol and timing are valid; do not translate a DTMF failure into an MF test. For SendFlash, confirm the channel technology and downstream gateway or service defines a hook-flash behavior.
Neither operation is a generic SIP feature. Separate action acceptance, locally generated signal, transport, remote recognition and application effect.
Retest one harmless input with a control
After correcting one bounded cause, use a controlled call, exact channel identity, one harmless digit or authorized flash, one unique ActionID and synchronized evidence. Compare a known-good channel or application path without changing several variables at once.
Stop after the first confirmed divergence and avoid automatic retries. No PBX, channel, manager action, packet, audio stream, digit, MF signal, hook flash, endpoint, IVR, carrier 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.
- Asterisk 23 PlayDTMF action ↗
- Asterisk 23 PlayMF action ↗
- Asterisk 23 SendFlash action ↗
- Asterisk 22 PlayDTMF action ↗
- Asterisk 22 PlayMF action ↗
- Asterisk 22 SendFlash action ↗
- Asterisk 23 DTMFBegin event ↗
- Asterisk res_pjsip endpoint configuration ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.