[asterisk-users] Need input on scalable system design...

Gregory Malsack gmalsack at coastalacq.com
Tue Aug 27 13:46:15 CDT 2013


Thanks Laszlo, but if I'm reading this correct, this unit is load 
balancing based on traffic type, transcoding/voicemail/etc/... As all of 
my traffic would be the same, I don't see that this would fit too well. 
Additionally, my problem is more, how do I maintain queue stats across 
the "work horses" so that the strategies maintain from one server to 
anotheras callload is balanced across the servers.


On 08/27/2013 12:36 PM, Laszlo wrote:
> Hi Greg,
>
> I have a similar setup with multiple asterisk boxes. I have used 
> opensips as a load balancer (+some pre routing logic before load 
> balancing).
>
> It is based on this idea: 
> http://www.opensips.org/Documentation/Tutorials-LoadBalancing-1-9
>
> - Laszlo
>
>
>
>
> 2013/8/27 Gregory Malsack <gmalsack at coastalacq.com 
> <mailto:gmalsack at coastalacq.com>>
>
>     Hey All,
>
>     Growing call center. Currently at about 200 call center staff,
>     running about 1000 calls per hour. Gearing up to double that. Not
>     too sure that a single server will support that growth. So, I'm
>     trying to come up with ways to scale the system and still maintain
>     a simplistic design. So I'd like to bounce some ideas around.
>
>     Currently I am running on a Dell 1950, dual quad core 2.33ghz
>     xeons, with 16gb ram, and 2 tce400p cards. This server is managing
>     the full load of the company. We are recording all calls, running
>     ivr, queues, cdr, cel, and web for reporting. I currently have
>     another 1950 of the exact same specifications as a cold spare.
>
>     Here's where you can see drawings of my current connectivity and
>     an optional connectivity I'm contemplating...
>
>     http://www.paydaysupportcenter.com/current.pdf
>     <http://www.linkedin.com/redirect?url=http%3A%2F%2Fwww%2Epaydaysupportcenter%2Ecom%2Fcurrent%2Epdf&urlhash=qLsB&_t=tracking_anet>http://www.paydaysupportcenter.com/option.pdf
>     <http://www.linkedin.com/redirect?url=http%3A%2F%2Fwww%2Epaydaysupportcenter%2Ecom%2Foption%2Epdf&urlhash=CJG1&_t=tracking_anet>
>
>     As you can see I currently have a separate sql server and a
>     separate storage server for the call recordings. This is all
>     working fine.
>
>     However, I'm thinking for scalability I should be looking to
>     migrate to a configuration similar to the one in option.pdf. Where
>     I have a VOIP gateway server that simply relays traffic and
>     possibly can do some load balancing or intellegent routing. But
>     nothing more then that, and possibly a second one of these online
>     as a hot failover.
>
>     Then have separate sql, storage, (i forgot it in the pic) web, and
>     asterisk servers behind that on separate dedicated network. Here's
>     my dilemma though, how do I balance the load across multiple
>     machines for scalability...
>
>     Since 95% of our calls come into queues, I need to be able to
>     maintain queue stats and presence across all of the servers. Thus
>     far, I've got everything except the extensions.conf file into the
>     mysql database. I thought about setting up 2 servers, 1 for sales,
>     and 1 for customer service, then possibly break out each call
>     queue to it's own server as things grow. Just not sure if that's
>     the right way to go.
>
>     Then regarding extensions.conf, I've read that it too can be
>     placed in the sql database and accessed via switch. however it's
>     resource intense, so now I'm thinking of maybe putting that file
>     on the nfs server for all of the boxes to read from.
>
>     As for the design of that file, I was kind of thinking of a
>     modular design within the file using various goto's and gosubs.
>     Our business model is based on affiliates and corporate marketing,
>     so we have a ton of did's that follow the same call flow with
>     minor modifications in some variables, as well as variations in
>     call flow, and hours of operation. Thus the modular design of the
>     call flow. Then the primary inbound context would simply be a list
>     of did's pointing to a goto with a list of the variations and
>     variables for the did.
>
>     Ok, now that I've melted your brains.... thoughts?
>
>     Thanks all in advance for the discussion...
>     Greg
>
>     -- 
>     Greg
>
>
>     --
>     _____________________________________________________________________
>     -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>     New to Asterisk? Join us for a live introductory webinar every Thurs:
>     http://www.asterisk.org/hello
>
>     asterisk-users mailing list
>     To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
>
>
> -- 
>
> --
> Kind regards,
> Laszlo Bekesi
> http://voipfreak.net
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
>                 http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-users

-- 
Greg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20130827/9ed20689/attachment.htm>


More information about the asterisk-users mailing list