Suggestion for implementing IVR

I am trying to develop a IVR solution on top of asterisk. I noticed asterisk provides different interface: AGI, Manager Interface, call files..
I am confused. How should i move ahead? My requirements are:
- Receive calls
- Callback (on the basis of external events)
- Reading DTMF and Authentication in both case: inbound and outbound.
- Performance
- Scalable
LVL 3
ssapkotaAsked:
Who is Participating?
 
asternicConnect With a Mentor Commented:
The easiest way to originate is by using call files. A fastagi server (or an agi script) can be writen so it also generates call files, or even connect to the AMI on a separate thread to do the originations.

http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out




0
 
DrDamnitCommented:
Are you a programmer?

If so, PHP / AGI is probably the best way to go. It allows you to drop in and out of dial-plan at will to enter information into a database.

Perhaps if you gave more details about what your IVR solution would do and how you need to interact with it (use cases) then I (we) can better help direct you.
0
 
ssapkotaAuthor Commented:
Yes. I am a programmer, and I prefer to do it in java/python.
I want to have full control over outbound and inbound calls.
Can you please guide me how should i move ahead?
What should I focus on to enhance performance and to make it scalable?
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
asternicCommented:
Take a look at asterisk-java, it provides an interface to fastagi and the asterisk manager. Fastagi is more scalable than AGI. Depending on your needs you might need to use agi or the manager.

http://asterisk-java.org/development/tutorial.html

0
 
ssapkotaAuthor Commented:
@asternic, I have already googled and read about those stuffs like dialplan, agi, fastagi, manager api.
What I am really concerned with is Scalability and Performance, which I couldn't find anywhere.

I want some suggestion from (asterisk-)experts, on what development environment should i choose?
What should I, keep in mind to achieve high performance and scalability?

I want to develop a IVR system which calls user (or receive call) and does basic authentication (keys are stored in database) and interacts with user (on the basis of DTMF keys).
0
 
DrDamnitCommented:
How many users?
0
 
ssapkotaAuthor Commented:
@DrDamnit, Expecting to keep a T1 line full busy.
0
 
asternicConnect With a Mentor Commented:
For a full T1 you will not have performance issues with any of the options: you can use raw dialplan, agi or fastagi. The manager connection is not for IVRs, DTMFs and Databases. If you plan to scale it further, fastagi is more suited for scalable designs as it can run on a separate server.
0
 
ssapkotaAuthor Commented:
@asternic,
How can I originate using fastagi?
Shouldn't I use Manager Interface for it?
0
 
ssapkotaAuthor Commented:
I am trying this out. It will take few more days. So just bear with me.
0
 
ssapkotaAuthor Commented:
Thanks to all who answered to my query,

I used asterisk-java for this purpose:
1. Used fastagi for call handling.
2. Used manager api just to originate the call. I didn't use call file, as I want to be aware of each stage during the call.

Any comment on this, before I close this question?
0
 
asternicCommented:
You are doing it fine, and you won't face scalability or performance issues.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.