Question on Asterisk's IVR development capabilities

I am new to Asterisk and am wondering how capable it is out of the box for random IVR capabilities. For example, some uses I may need to support:

  • capturing DTMF tones and responding accordingly
  • sending DTMF tones so as to interface with other IVR systems
  • recording a user’s voice, both short and longer recordings (for a custom messaging system)
  • full-duplex recording, allowing a user to record their voice while music plays
  • recognizing vocal input on-the-fly for menu navigation (or to start/stop recording)

Would I be writing a module of some sort to plug in to Asterisk to host, I assume? Which API and what documentation should I be looking at to be prepared to handle this? Finally, I assume Asterisk at least handles handing off the raw input (and streaming in audio to be output), so I wouldn’t need to edit Asterisk’s code itself to achieve the things mentioned above.

THanks!

Some answers are inline. You’d run these commands from the Asterisk CLI to see their usage.

core show application Read

core show application SendDTMF

One of:
core show applicaiton MixMonitor
core show application Monitor
core show application Record

This is a little trickier, you’re going to need to hook into a Speech Recognition engine such as Lumenvox.

Thanks davevg! Much appreciated.

If anyone else has any further ideas or references to work perhaps already done on such features, I’d be very interested.