[Asterisk-Users] IVR only system with scalibility with asterisk???

Steven Critchfield critch at basesys.com
Thu Sep 4 11:15:11 MST 2003


On Thu, 2003-09-04 at 12:43, PJ Welsh wrote:
> Hello all:
> 
> 	Thank you for taking the time to read this post. 
> 
> Background:
> I am a new user to IVR systems and asterisk. I have been tasked with
> helping to set up a system that will only handle IVR (eg no PBX
> functions) incomming calls for 45 or so people that will call in 3 or
> 4 time each day during (approx) normal business hours. We have started
> to look at the Ivrs perl module from
> http://search.cpan.org/author/MUKUND/. We are having limited success.
> I found the asterisk software and have trugded through the last
> several months looking for IVR specific comments with minimal success.
> 
> Issues:
> 1.  We need to have a working system by "yesterday" (since we were
> told yesterday ;) my problem not yours). Realy, how easy is asterisk
> to develop for in a IVR message -> response -> authorize/validate ->
> contiune scenario? We will need to do database lookups.
> 
> 2. We expect that we will end up greater than 100 users that will call
> in 3 or 4 time each day during (approx) normal business hours in the
> next couple of months. We also have the possibility that the next step
> may involve several hundred users. How can I provide something now and
> scale UP from a "commidity" PC (running GNU/Linux of course)? The
> Wildcard X100P only has 1 port. Are there other higher density options
> that "just work"? I've seen mentioned an Intel/Dialogic card that
> looks high density and expensive and interesting. I don't mind having
> a farm of these things on commidity hardware... within reason. Again,
> I'm a newbe trying to get myself up to speed on this topic.
> 
> 3. I need to provide a working model very soon. What is cheapest way
> to put together a system with AVAILIBLE parts? There seems to be a
> shortage of some of the cards on the yahoo store front.

First you need to decide on how many ports you will need, how important
ease of scalability is. For the number of ports, you need to decide how
much tolerance you have for the people remotely to deal with a busy
signal. So far you mentioned 45 people making 3-4 calls a day over a ~8
hour day. The quick math says that 45 people with 4 calls is 180 calls a
day. In a 8 hour day you have 480 minutes. From 480 minutes 1 port could
handle the load if the call was under 2.5 minutes long and everyone
waited till it became available. My guess is you don't want people on
redial that often and waiting for the port to come open. Next, you move
on to what is the acceptable idle amount of service available. If you
scaled up to say 5 lines, and the call length is short, then you will
have your service mostly idle, but it can handle peak times better. I'll
let you continue this line of questioning internally.

Next to decide on hardware, if you think you may need more than 10
lines, you need to move to digital trunks. You can start with a T100P
and a channel bank until your costs justify switching over to a T1. The
benefit is already having the hardware in hand and used to it while on
spending a little more short term to get the FXO channel bank that you
will either sell off later, or convert to FXS for internal extensions if
you want to switch services. If you already have a PBX in house and can
drop a T1 interface to you asterisk box, that is good too.

As for your application. You mention looking into perl modules, so I
assume you have some perl familiarity. From AGI you can script up any
database access and prompting you so wish to undertake. Essentially it
will come out to be something like.

stream file(prompt)
while (not enough digits)
	wait for digits 
	collect dialed digits
validate(digits) # in this sub is where your database stuff works
continue? # whatever here you planned on letting happen. 


all this is easy and cheap. For your quick demonstration, I suggest
setting up asterisk with a dummy interface, downloading the iaxclient
and showing that your AGI app would be easy enough to write. You are
then only into the project for time, but not any parts. Once you have
that down, you would then purchase the parts needed to complete the
project from Digium and deploy.

If you stick with a T100P interface then you should be able to handle
500 people with 5 minute calls mainly around the business work time and
have a small window of safety to not overload the circuits to the point
you will have busy signals often. If it is likely you could grow beyond
500 people soon, you may want to buy the T400P card and be able to
deploy more digital trunks without taking the system down for more than
an asterisk restart. 

-- 
Steven Critchfield  <critch at basesys.com>




More information about the asterisk-users mailing list