The RTCDTMFSender
interface's toneBuffer property returns a string containing a list of the DTMF tones currently queued for sending to the remote peer over the RTCPeerConnection
. To place tones into the buffer, call insertDTMF()
.
Tones are removed from the string as they're played, so only upcoming tones are listed.
Syntax
var toneBuffer = RTCDTMFSender.toneBuffer;
Value
A DOMString
listing the tones to be played. If the string is empty, there are no tones pending.
Tone buffer format
The tone buffer is a string which can contain any combination of the characters that are permitted by the DTMF standard.
DTMF tone characters
- The digits 0-9
- These characters represent the digit keys on a telephone keypad.
- The letters A-D
- These characters represent the "A" through "D" keys which are part of the DTMF standard but not included on most telephones. These are not interpreted as digits. Lower-case "a"-"d" automatically gets converted to upper-case.
- The pound/hash sign ("#") and the asterisk ("*")
- These correspond to the similarly-labeled keys which are typically on the bottom row of the telephone keypad.
- The comma (",")
- This character instructs the dialing process to pause for two seconds before sending the next character in the buffer.
All other characters are unrecognized and will cause insertDTMF()
to throw an InvalidCharacterError
exception.
Using tone buffer strings
For example, if you're writing code to control a voicemail system by sending DTMF codes, you might use a string such as "*,1,5555". In this example, we would send "*" to request access to the VM system, then, after a pause, send a "1" to start playback of voicemail messages, then after a pause, dial "5555" as a PIN number to open the messages.
Settting the tone buffer to an empty string (""
) cancels any pending DTMF codes.
Example
tbd
Specifications
Specification | Status | Comment |
WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'RTCDTMFSender.toneBuffer' in that specification. | Candidate Recommendation |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
toneBuffer
|
Chrome
Full support 27 |
Edge
Full support ≤79 |
Firefox
Full support 52 |
IE
No support No |
Opera
Full support Yes |
Safari
? |
WebView Android
Full support 4.4 |
Chrome Android
Full support 27 |
Firefox Android
Full support 52 |
Opera Android
Full support Yes |
Safari iOS
? |
Samsung Internet Android
Full support 1.5 |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
See also
- WebRTC API
- Using DTMF with WebRTC
RTCDTMFSender.insertDTMF()
RTCPeerConnection
RTCDTMFSender
RTCRtpSender
RTCDTMFSender.toneBuffer by Mozilla Contributors is licensed under CC-BY-SA 2.5.