ssapkota
asked on
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
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
ASKER
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?
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?
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
http://asterisk-java.org/development/tutorial.html
ASKER
@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).
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).
How many users?
ASKER
@DrDamnit, Expecting to keep a T1 line full busy.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
@asternic,
How can I originate using fastagi?
Shouldn't I use Manager Interface for it?
How can I originate using fastagi?
Shouldn't I use Manager Interface for it?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I am trying this out. It will take few more days. So just bear with me.
ASKER
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?
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?
You are doing it fine, and you won't face scalability or performance issues.
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.