For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReferenceClick-to-Call
GuidesReferenceClick-to-Call
  • Core
    • Overview
  • Entities
    • SignalWire
    • Address
    • Participant
    • ClientPreferences
    • SelfCapabilities
    • SelfParticipant
    • User
    • WebRTCCall
      • address$
      • answer
      • answered$
      • answerMediaOptions
      • bandwidthConstrained$
      • callEvent$
      • callStates$
      • callUpdated$
      • capabilities$
      • destroy
      • destroyed$
      • direction
      • disablePushToTalk
      • enablePushToTalk
      • errors$
      • execute
      • executeMethod
      • from
      • fromName
      • hangup
      • isNetworkHealthy$
      • layout$
      • layoutEvent$
      • layoutLayers$
      • layouts$
      • layoutUpdates$
      • localAudioLevel$
      • localMicrophoneGain$
      • localSpeaking$
      • localStream$
      • locked$
      • mediaDirections$
      • mediaParamsUpdated$
      • memberJoined$
      • memberLeft$
      • memberTalking$
      • memberUpdated$
      • meta$
      • networkIssues$
      • networkMetrics$
      • nodeId$
      • notifyModifyFailed
      • participants$
      • participantsId$
      • qualityLevel$
      • qualityScore$
      • raiseHandPriority$
      • recording$
      • recoveryEvent$
      • recoveryState$
      • reject
      • remoteAudioLevel$
      • remoteStream$
      • requestIceRestart
      • requestKeyframe
      • rtcPeerConnection
      • self$
      • selfId$
      • sendDigits
      • setAutoGainControl
      • setEchoCancellation
      • setLayout
      • setLocalMicrophoneGain
      • setMeta
      • setNoiseSuppression
      • setPushToTalkActive
      • signalingEvent$
      • startRecording
      • startStreaming
      • status$
      • streaming$
      • subscribe
      • toggleHold
      • toggleIncomingAudio
      • toggleIncomingVideo
      • toggleLock
      • toName
      • transfer
      • updateMeta
      • userVariables$
      • webrtcMessages$
  • Web Components
    • Overview
    • sw-audio-level
    • sw-call-controls
    • sw-call-dialpad
    • sw-call-media
    • sw-call-provider
    • sw-call-status
    • sw-call-widget
    • sw-click-to-call
    • sw-device-selector
    • sw-directory
    • sw-local-camera
    • sw-participant-controls
    • sw-participants
    • sw-self-media
    • sw-ui-alert
    • sw-ui-background
    • sw-ui-call-layout
    • sw-ui-content-drawer
    • sw-ui-control-bar
    • sw-ui-dialpad
    • sw-ui-dropup
    • sw-ui-icon
    • sw-ui-modal
    • sw-ui-responsive-container
    • sw-ui-split-button
    • sw-ui-transcript-view
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Parameters
  • Returns
  • Examples
  • Dial an extension after connection
  • Drive an IVR with pauses
  • Hook a dialpad button
  • See
EntitiesWebRTCCall

sendDigits

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

setAutoGainControl

Next
Built with
1sendDigits(dtmf): Promise<void>

Sends DTMF tones on the call. Each character in the string is transmitted as a separate tone in order, with timing managed by the server.

Accepted characters: digits 0–9, *, #, and the w / W wait separators (the lowercase w inserts a short pause, the uppercase W a longer one). Any other character produces an error from the server.

Requires the sendDigit capability — inspect call.capabilities$ before exposing a dialpad in your UI.

Parameters

dtmf
stringRequired

The digit string to send (e.g. '1234#', '1w234'). Each character is transmitted as a separate tone.

Returns

Promise<void> — resolves once the server has accepted the full string for playback.

Examples

Dial an extension after connection

1await call.sendDigits('1234#');

Drive an IVR with pauses

1// '1' → wait → '2' → long wait → '#'
2await call.sendDigits('1w2W#');

Hook a dialpad button

1dialpad.addEventListener('press', async (digit) => {
2 await call.sendDigits(digit);
3});

See

  • capabilities$ to check whether digit-sending is permitted on this call.