Scripted Programmatic Outbound Call

I’m new to Asterisk have a need to develop a scripted outbound call dialer. By scripted, I mean dial, wait for answer, wait for silence, send dtmf, wait for silence, send dtmf, wait for silence, hangup.

I’ve been looking a some of the options available and would really appreciate any advice that someone might be able to give on where to really start. Develop using the java libraries that are avaialble? Use call files? How to listen for talk_detect events or use use wait_for_silence.

Any suggestions or examples would be very much appreciated.

Steve E.