[asterisk-users] Call load balancing
Steve Edwards
asterisk.org at sedwards.com
Thu Mar 8 16:20:51 MST 2007
On Thu, 8 Mar 2007, David Ruggles wrote:
> I've got a system I'm putting together to handle IVR calls with *
>
> I have one head system that terminates two PRIs. It routes the calls from
> the PRIs to * boxes using IAX I'm planning on having four or five * boxes.
> The * boxes run AGI scripts to process the IVR calls. Can I load balance the
> routing if I have five calls each of the IVR * boxes gets two call and the
> next call would go to the system that currently has the lowest number of
> calls?
Quick answer, yes.
How is more interesting :)
First, unless your AGI's are massive or incredibly inefficient, 2 PRI's
won't swamp your IVR boxes.
I have 3 1u servers each with 2 PRI's forwarding all 138 calls to a single
"application server." All of the PRI's could be handled by 1 1u but
management wanted flexibility and redundancy.
The application server does IVR, conferencing, records messages, plays
canned stories, credit card processing, etc, etc, etc. All implemented
with a bunch of AGI's written in C. Each call executes a minimum of 9
AGI's and yes, some AGI consolidation is planned.
All database work is handled by a separate box.
Anyway, back to your question, how about your head system running an AGI
that connects to the manager interface on the IVR boxes to find out how
many calls each is currently processing? You could set a channel variable
with the least busy host name and use that in your dial statement.
If you passed the IVR host name list to the AGI, you could take a box out
of service by editing and reloading your dialplan.
Thanks in advance,
------------------------------------------------------------------------
Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST
Newline Fax: +1-760-731-3000
More information about the asterisk-users
mailing list