This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.
The RTCDTMFToneChangeEvent interface represents events sent to indicate that DTMF tones have started or finished playing. This interface is used by the tonechange event.
In addition to the properties of Event, this interface offers the following:
RTCDTMFToneChangeEvent.tone Read only
A string specifying the tone which has begun playing, or an empty string ("") if the previous tone has finished playing.
RTCDTMFToneChangeEvent()Returns a new RTCDTMFToneChangeEvent. It takes two parameters, the first being a string representing the type of the event (always "tonechange"); the second a dictionary containing the initial state of the properties of the event.
Supports the methods defined in Event. There are no additional methods.
This snippet is derived loosely from the full, working example you'll find in the section on When a tone finishes playing. It appends each tone to a display box as it's played, and, once all tones have been sent, re-enabled a previously-disabled "Send" button, allowing the next DTMF string to be entered.
dtmfSender.addEventListener(
"change",
(event) => {
if (event.tone !== "") {
dialStringBox.innerText += event.tone;
} else {
sendDTMFButton.disabled = false;
}
},
false,
);
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
RTCDTMFToneChangeEvent |
27 | 13 | 52 | 15 | 13.1 | 27 | 52 | 15 | 13.4 | 1.5 | 4.4 | 13.4 |
RTCDTMFToneChangeEvent |
27 | 12 | 52 | 15 | 13.1 | 27 | 52 | 15 | 13.4 | 1.5 | 4.4 | 13.4 |
tone |
27 | 12 | 52 | 15 | 13.1 | 27 | 52 | 15 | 13.4 | 1.5 | 4.4 | 13.4 |
RTCDTMFSender.
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCDTMFToneChangeEvent