?
Solved

Suggestion for implementing IVR

Posted on 2010-08-23
12
Medium Priority
?
579 Views
Last Modified: 2013-11-15
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
0
Comment
Question by:ssapkota
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
  • 2
12 Comments
 
LVL 32

Expert Comment

by:DrDamnit
ID: 33503742
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
 
LVL 3

Author Comment

by:ssapkota
ID: 33503814
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
 
LVL 2

Expert Comment

by:asternic
ID: 33506668
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
Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

 
LVL 3

Author Comment

by:ssapkota
ID: 33513330
@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
 
LVL 32

Expert Comment

by:DrDamnit
ID: 33514604
How many users?
0
 
LVL 3

Author Comment

by:ssapkota
ID: 33515363
@DrDamnit, Expecting to keep a T1 line full busy.
0
 
LVL 2

Assisted Solution

by:asternic
asternic earned 2000 total points
ID: 33526859
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
 
LVL 3

Author Comment

by:ssapkota
ID: 33530017
@asternic,
How can I originate using fastagi?
Shouldn't I use Manager Interface for it?
0
 
LVL 2

Accepted Solution

by:
asternic earned 2000 total points
ID: 33530302
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
 
LVL 3

Author Comment

by:ssapkota
ID: 33550063
I am trying this out. It will take few more days. So just bear with me.
0
 
LVL 3

Author Comment

by:ssapkota
ID: 33590663
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
 
LVL 2

Expert Comment

by:asternic
ID: 33593300
You are doing it fine, and you won't face scalability or performance issues.
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

As companies replace their old PBX phone systems with Unified IP Communications, many are finding out that legacy applications such as fax do not work well with VoIP. Fortunately, Cloud Faxing provides a cost-effective alternative that works over an…
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Suggested Courses
Course of the Month13 days, 8 hours left to enroll

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question