Asterisk as an IVR system?

Jun 27, 2005 4 Replies

I would like to hear opinions on the merits of implementing an IVR system using Asterisk. My initial IVR won't have a lot of traffic, so it will not need any extra hardware, but that can be added later on.



My real concern is the programmability. Can Asterisk implement a real life IVR with many options, loops (3 strikes you're out), subroutines, collecting a certain number of digits, etc.? Additionally, I will need to perform database lookups while the caller is waiting and exec some external Unix program to send a fax or e-mail.



Is Asterisk up to the task?



Thanks for sharing your insight in this matter.


-Ramon F Herrera


Asterisk comes with *complete* source-code for everything.

The _only_ question is 'how good are you at programming'?

That's one of the really neat features of the platform -- if a capability you need is absent, *you* can add it.

Yes, asterisk can handle all of this. It contains an interface similar to that of CGI for web services. It's called agi (asterisk gateway interface). You can use any scripting language (perl, php, shell) via agi and prompt callers for digits, do DB queries, provide responses back, etc.

Here is a URL which explains this and has links to a few libraries which can be used to 'speak agi' with the asterisk server.

formatting link
hope this helps,

-jr

Asterisk can handle quite a bit of load when configured correctly.

Be sure to purchase the appropriate hardware after answeing the following questions. (sample)

How many simultaneous calls do you plan to utilize? Do you need E1's T1's How many? Will you be using a VoIP provider? how many DB queries per second do you think you'll reach at peak hours, etc.

IM: snipped-for-privacy@msn.com

For my initial IVR system any scripting language will be good enough, but I wonder what my options are if I require extra performance. Can I program the IVR system in C?

TIA,

-Ramon

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required