AGI vs. VoiceXML


I will like to know the difference between AGI and VoiceXML.
Can someone develop VoiceXML on Asterisk?, if YES, whats needed?
Does it make even sense to use VoiceXML having AGI available?



I don’t know much about VoiceXML but as I understand it, it’s more like an IVR scripting format. So it would compare more to extensions.conf syntax or AEL/AEL2 than it would compare to AGI.

AGI is Asterisk Gateway Interface, an API of sorts for allowing an external program to be run by * and control the call…
You could I suppose write a VoiceXML interpreter and call it via AGI, so your dialplan would have something like

exten => whatever,1,AGI(interpretVXML,file.xml,blah blah)

which would probably be the fastest way to get VoiceXML into *.

The ‘right’ way to do it though (I think) would be to either write an interpreter like pbx_ael (that interprets AEL script) or an application that can be run from the dialplan like

exten => whatever,1,VoiceXML(file.xml)…