Freeze the exact channel leg and intended signal
Record the Asterisk node, installed release, loaded module, manager identity, Channel, Uniqueid, Linkedid, bridge membership, caller and connected line, direction, requested action, digit, duration and timestamp. Resolve identity from one bounded observation window rather than a broad channel-name match.
The AMI actions target one channel. A linked call, bridge or endpoint may contain several legs with different signalling paths, so a correct digit on the wrong leg is still the wrong operation.
Use PlayDTMF with an explicit direction model
The current PlayDTMF reference places the action in app_senddtmf, requires Channel and Digit, and offers Duration in milliseconds. By default it sends DTMF out on the selected channel; Receive: true instead emulates receiving DTMF on that channel.
Treat those as different tests. Sending toward a peer, injecting into Asterisk application processing and observing DTMF on another bridge leg are not interchangeable outcomes.
Keep DTMF transport separate from core events
For a PJSIP endpoint, record the configured dtmf_mode: rfc4733, inband, info, auto or auto_info. Then preserve negotiated SDP or SIP INFO evidence, audio evidence when in-band applies and relevant DTMFBegin or end events at the Asterisk boundary.
An accepted manager response does not prove that RFC 4733 telephone events, SIP INFO, in-band tones or core DTMF frames reached the intended consumer. Each is a separate boundary.
Do not substitute PlayMF for PlayDTMF
The current PlayMF reference places the action in app_mf, requires Channel and Digit, and accepts optional duration. It generates multifrequency signalling, not DTMF.
Use only the digit vocabulary and timing supported by the documented MF operation and the authorized receiving system. Do not use PlayMF to work around a DTMF-mode or negotiation defect.
Treat SendFlash as channel-specific and version-gated
The generated SendFlash page places the action in app_senddtmf, takes a channel and dates availability from Asterisk 20.3.0 and 18.18.0. Confirm the running action inventory, loaded module and channel technology before use.
A hook flash on a selected channel is not a universal SIP endpoint flash key, transfer command or carrier feature. Action acceptance does not prove that another leg, gateway or service recognized it.
Verify the first observable boundary without broad retries
Correlate one unique ActionID with the raw AMI response, exact channel identity, direction, DTMF or MF event evidence, signalling or audio evidence and the intended IVR, gateway or application result. Stop at the earliest divergence.
Use a dedicated least-privilege manager identity, a controlled call and a harmless test input. Do not spray digits or flashes across channels, and do not claim endpoint or carrier compatibility from documentation alone. No PBX, channel, signal, endpoint or call was tested for this guide.
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.