[asterisk-users] IVR: Dealing with database and returned variables
Steve Edwards
asterisk.org at sedwards.com
Thu Mar 8 10:25:06 CST 2012
On Wed, 7 Mar 2012, bilal ghayyad wrote:
> If I need to build IVR using Asterisk (so I will read and write to
> database), until now from my reading, I can understand that the best way
> is to use AGI to call external script like php which will manipulate
> every thing, correct?
I have a strong aversion to cobbling up database access in dialplan. It's
just ugly. An AGI is so much cleaner and flexible.
My personal preference is C, but that's my sharpest tool and being a
compiled language is faster than scripting languages like PHP.
If PHP is your 'sharpest tool,' go with it. Unless you're cranking through
a boat load of calls or working within tight hardware constraints you
should be fine.
> Well, the returned values from this script that I can use it to route
> the call to the proper queue or Phone, how I can handle these returned
> values? Do I have to store it in the database? Well, how I will read it
> from database and use it in the extensions.conf?
You can set channel variables within your AGI. I wrote a 'third party
verification' system a couple of years ago. One of the AGIs
('lookup-dnis') looks up the dialed number (DNIS) in the database and sets
a couple hundred channel variables in the blink of an eye. The channel
variables then control the flow of the script - what kind of questions are
asked and what to do with the responses.
--
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST
Newline Fax: +1-760-731-3000
More information about the asterisk-users
mailing list