I need to setup a simple IVR system for a friend’s company that will let the caller navigate through the menu by pressing phone keys. Its kind of like a bus schedule.
for today’s schedule press ‘1’, for tomorrow’s schedule press ‘2’ and so on.
It is solely an information system, i.e. no navigation route will end up with a real person but only audio messages will be played.
Now, I’ve never setup anything like this before and did a little digging on Google. Seems like I will be able to achieve this using Asterisk.
- What else do I need hardware-wise?
- Is a simple Linux server and a VOIP account with a provider in Germany sufficient?
- Will a VPS handle the task?
- How about multiple concurrent incoming calls?
- Are those handled by Asterisk?
It’s perfectly possible.
What you need to know:
Asterisk has some problems with
H323. If your provider suppliesSIP, ask them forSIPinstead.You may build a whole
IVRon dial plans in yourextensions.conf, but for complex tasks it’s better to useAGI. These arePerlorPythonor whatever language scripts that implement yourIVRlogic. EachAGIsession spans a child process, useFastAGIand a network daemon if you expect frequent connections.Multiple concurrent calls are not a problem, my installation of Asterisk on a simple PC handles hundreds sumultaneous calls.
The only things that may really affect performance are sound conversion and tone detection.
To improve performance, you should:
Stick to one codec (
µLawis that I use), force allSIPconnections to use that codec, and preconvert all your sound files to it usingsox -t ul. As soon as you’ve done it, all Asterisk operation amounts to reading the file bytes from disk and sending them over network with just basic wrapping. There are no math, nothing except simple read-wrap-send operations.Ask your provider to detect tones on his side and send them to you out of band, using
RFC 2833. Tone detection is quite a CPU consuming operation, let them do it theirselves.I personally run Asterisk on a
2,66 MHz Celeron IVwith2048 MB RAM, underFedora 10 X86_64. 150 connections at once work OK, there are no delays.Overall traffic amounts to about
9.6 KByte/secper connection. For a modern VPS there should be no problem at all.