MDN’s new design is in Beta! A sneak peek:

This API is available on Firefox OS for internal applications only.

The sendTones() method of the Telephony Interface generates multiple DTMF tones, with a specified duration for each tone, and an optional delay before generation starts. The tones are sent to the currently active call.


The new syntax is promise-based:

myTelephony.sendTones(dtmfChars,pauseDuration,toneDuration,serviceId).then(function() {
  // do something in response

In addition to the newly added syntax, the existing syntaxs are just regular non-promise methods without the capability of controlling the duration.

myTelephony.startTone(dtmfChar, serviceId); 


A DOMString containing the DTMF characters to generate; these must be characters from 0-9, "*", or "+".
The time to wait before sending the tones. The default value if none is specified is 3000ms. Optional
The length each tone should be. The default value if none is specified is 70ms. Optional
The service ID, as specified in the dom.telephony.defaultServiceId setting. Optional


// Telephony object
var tel = navigator.mozTelephony;

tel.sendTones("123456789").then(function(call) {


Specification Status Comment
Web Telephony Draft Draft

Browser compatibility

For obvious reasons, support is primarily expected on mobile browsers.

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support No support No support No support No support No support
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support 12.0 (12.0) 1.0.1 No support No support No support
Promise version No support 30.0 (30.0) 1.4 No support No support No support

See also

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, hsinyi, teoli, fscholz
 Last updated by: chrisdavidmills,