Devs, What does the internal DTMF tool code actual...
# support
o
I'm building my own custom DTMF tool which is going to be using typescript and it takes in multiple arguments. I'd like to know how the original is built, so I can build upon it.
c
Hi there, Thank you for your message. Our team is currently out of the office. We operate Monday through Friday, from 9:00 AM to 8:00 PM Pacific Standard Time (PST). We’ll get back to you as soon as possible during our normal business hours. If your message is urgent, please mark it accordingly or include “URGENT” in the subject line, and we’ll do our best to respond promptly. Warm regards, Vapi Customer Support Team
t
Original DTMF tools usually separate tone generation, detection, and event handling. In TypeScript, you can structure modules for generating tones, decoding input, and managing state. Are you building this for real-time browser use or server-side processing? @Operations📟
c
Hi Operations, To build a custom DTMF tool in TypeScript similar to the original, consider structuring your code into separate modules for tone generation, input decoding, and state management. This way, your application can handle DTMF signals efficiently in either real-time browser environments or server-side processing. The original [Vapi DtmfTool](https://docs.vapi.ai/api-reference/tools/create#request.body.DtmfTool) is structured to send DTMF tones as needed for IVR navigation and other telephony tasks. You can look into creating functions that facilitate these aspects, focusing on the core processes: tone generation for signal sending and decoding for DTMF input interpretation. For real-time interaction, ensure your application manages state dynamically to accommodate inputs and actions as they occur, potentially using asynchronous functions to deal with delays or interruptions in signal processing. Consider integrating playback capabilities to test the tone outputs directly in the browser. If you need further details on how to structure specific modules or handle asynchronous tone decoding, let me know.