IVR problem

How can I distinguish and set time to play IVR for outbound calls as soon as it gets answered by someone or by phone voice message greeting?

Because as if the call is answered by someone, asterisk plays the whole IVR and on other hand if no one able to answer the call the call is forwarded to voice mail, during the time the phone is playing voice mail greetings, by that time asterisk start playing its IVR and in the end, I’m getting incomplete voice message from asterisk IVR. The wait time I set for is 4 seconds and if I increment the wait time customers will think of a bogus call.

Please advice, how can I resolve this matter?


seems you need to distinguish whether it is human or answering machine before playing your ivr message.

you might use the asterisk command AMD().

best regards,

Thanks for giving advice. As I checked the description of asterisk command AMD() on webpage i.e. the-asterisk-book.com/unstab … n-amd.html , it mentioned that the function called after .call file when outbound call is made. But the thing I would like to know is it compulsory that the function AMD() is executed after .call file? Because here I’m using java application which is integrated to asterisk via manager.conf and the java application sends call request to asterisk.

Please advise,whether AMD() function will work without called by .call file? Yes or no.