Best way to implement an Outbound IVR with Asterisk

Hello Everyone,
I am new to Asterisk. I have went through a few of the tutorials and I am also reading the book ‘Asterisk: A definitive Guide’. What we are trying to do in our company is replace an existing IVR (that uses VXML) with an Asterisk solution. I read about the AGI Server API however, from my understanding this is for incoming IVR application. However our company did higher a 3rd party vendor to implement the incoming IVR applications. Now I am tasked with creating the outgoing IVR applications. The 3rd party used the fastAGI JAVA API. Question is can I use this API to create the outbound IVR applications. The outbound application is a prescription reminder and refill application. So when we call the patient they can press one to refill their prescription. Once the prescription is filled they will get a reminder call to pickup the prescription. There are some calls to webservices (verify prescription, check store hours, etc). What is the best way to implement this application so that I can still have access to theses webservices and I will also need to write call information to the database.

Thank

You

In a simply method start by using theses comands Originate() and Background() , WaitExten()

Thanks ambiorixg12
I am working with the java-asterisk API and originating the call through AMI. I created a small application that rings and extension via my java application. So I feel I am on the right track. I will do some more searching on this forum.