VoIP.info Guide

Asterisk AMI DTMF, MF and hook-flash control: channel and direction evidence

Use PlayDTMF, PlayMF and SendFlash without confusing action acceptance, receive emulation, signalling family, channel leg or downstream effect.

Reviewed 2026-10-25Current branch-23-generated and Asterisk 22 PlayDTMF, PlayMF and SendFlash action references, the current DTMFBegin event reference and res_pjsip configuration reference were reviewed October 25, 2026; installed release, loaded app_senddtmf or app_mf module, manager permission, channel technology, live channel identity, bridge topology, direction, negotiated media, DTMF mode and downstream application behavior remain deployment specific; no PBX, channel, manager session, action, digit, hook flash, signalling frame, packet, media stream, endpoint, IVR, carrier or live call was inspected or testedAdvancedDocumentation based · not lab tested

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.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.