Can Asterisk handle 600 agent call center?


#1

Hi there,

Let me start by saying I am a PBX/Telecom newbie. Nevertheless, I will be working on setting up a call center to support tele marketing. There will 700 agents or so and a predictive dialer will try to maximize agent talk time.

Do any of you guys have any experience with an Asterisk + Vicidial/GnuDialer in this kind of environment? What kind of hardware would be needed? Can Asterisk classify connections (Voice mail/fax machine/real human)? How would this kind of solution compare to a Cisco based approach which uses Cisco proprietary hardware?

Tanks in advance.


#2

Yes asterisk can support as many users as you want. The only thing you will have to ask yourself is what hardware to use.
Personally I have set up an asterisk on IBM Blade server that can handle 4000 Concurrent calls (just to let you know).

In your case I would suggest to have load balanced servers in order to handle this capacity.

ViciDeal is pretty good for what you want to do but also keep in mind that you will have to do a lot of customization for your client (GUI is not really user friendly)

I would also suggest having separate hardware for it to not load the Asterisk server.

PS: I don’t see your point for classification…


#3

If you are a PXB/Telecom newbie I’d start with something very much smaller, say a 5-10 seat call centre and cut your teeth on that. The chances of getting burnt are very high.
…Just my opinion after 35 years in the PBX/Telecom industry. :smile:


#4

[quote=“dhaggar”]If you are a PXB/Telecom newbie I’d start with something very much smaller, say a 5-10 seat call centre and cut your teeth on that. The chances of getting burnt are very high.
…Just my opinion after 35 years in the PBX/Telecom industry. :smile:[/quote]

agree wholeheartedly…that is exactly how our company did it, and we learned some very valuable lessons on what our users thought/expected/wanted that made the ACTUAL migration much much easier.

~ 400 seats here, all asterisk.


#5

Thank you for the reply. Some questions and clarifications below.

In your case I would suggest to have load balanced servers in order to >handle this capacity.

yes, that is the plan. We will be buying some servers for this. I was thinking something like 10 Dell PowerEdge 2850 servers each handling two E1’s, but I would be very interested in any recommendations . We are planning on a low CPU usage codec like G711 or G726 (32).

ViciDeal is pretty good for what you want to do but also keep in mind t
hat you will have to do a lot of customization for your client (GUI is not >really user friendly)

Thanks for the tip. Do you have any opinions on Gnudialer?

PS: I don’t see your point for classification…

Like I said I am a newbie. I do not know Vicidialer all that well and so it is not clear to me yet if I can customize it or if I will have to end up writing my own predictive dialer. In that case I will need the capability to filter out calls that do not have a human on the other side. I was asking how is that usually done in the Asterisk world.

Thanks for all the help.


#6

[quote=“dhaggar”]If you are a PXB/Telecom newbie I’d start with something very much smaller, say a 5-10 seat call centre and cut your teeth on that. The chances of getting burnt are very high.
…Just my opinion after 35 years in the PBX/Telecom industry. :smile:[/quote]

Believe me, if I could do it that way I would. The best I can do is phased rollout, which I am planning to.

I appreciate your advice though.


#7

400 seats here, all asterisk.

That is cool. Can I ask you how many and what kind of servers you use?

Thanks.


#8

sure. we have 8 internal companies, so we put one company on a server, for a total of 8 servers. all are dell 2850’s with between 2 and 4 T’s per server, ulaw for the codec, and we have PLENTY of room to grow. we could easily triple in size and still have leftover resources on these boxes…the big thing when sizing is to figure the number of simultaneously active calls…most of our servers hover around the 20-40 call mark, even though they have 50 users or so. average CPU utilization is in the single digits, occassionally peaking up to 20% or 30%. we are also running some basic reporting applications on these boxes, in addition to recording and encoding all calls, so there is plenty of optimization we could do if we needed.

i’d say, realistically, that we could almost saturate all 4 T’s (just under 100 active SIP<->Zap calls without too much trouble on these servers, so i think your idea of running 10 boxes, clustered, would provide you with a BUTTLOAD of excess capacity.

we did our rollout starting in october (first company was migrated october 5th) and finished in early february. we could have gone MUCH faster and done one company a week, but we stalled around the holidays for about a month. the biggest thing that we learned was to keep as many things the same between the systems, then start making changes…in fact, most everything is the same as it was, and i’m going to be doing some standardization next week, with some major changes coming this summer…

by and large, though, this was one of the best things we have done. our productivity is up, our costs are way down (an equivalent phone system would be anywhere from 1 to 3 million, and we have MAYBE $50,000-$100,000 invested total to this point, AND we have a phone system that can interface with all of our legacy applications…it’s a win-win situation for us.) and our users are largely happy with the new system.

if i can help out with any other questions, let me know…i’d be happy to share.


#9

Hi,

I can help you in setting up call centers through VICIDIAL it`s really very nice.
Add me on : mr_mehul_shah@yahoo.com

Regard

Mehul


#10

[quote=“whoiswes”]
if i can help out with any other questions, let me know…i’d be happy to share.[/quote]

That is very generous of you. I am delighted you have done so well on your system. We are getting astronomical quotes from Cisco, Avaia & friends and so we started looking into Asterisk and it really seems wonderful. Of course the vendors keep trying to spread FUD, insinuating that its not a scalable or stable solution but the more I read the more transparent the BS is.

My remaining concern is in the area of predictive dialing, namely how easy it is to either build a dialer and accompanying CRM or customize VICIDIAL. I might have some questions later after doing my VICIDIAL homework.

Thanks again.


#11

VICIDIAL is capable of doing Answering Machine Detection(AMD), but it isn’t 100% and does add delay to all calls going to agents(as ALL predictive dialers do). As for the other customizations you say you’ll need for your call center setup, can you list what you are looking for?

Will this be all outbound dialing, inbound, blended or portions of each? How many lines per agent are you planning on?

We have been adding a lot of new features to VICIDIAL in the last few months to the point where the code snapshot we released today is fully capable of being state and FTC-compliant and offers many of the features of a very expensive proprietary dialer. We are still working on many other features like a more advanced adaptive calling algorithm, but we develop new feature quickly and are releasing new code at least twice a month.

The largest install I have done is 220 seats(mostly outbound) for one company here in Florida, it runs wonderfully and saved them over 1 million dollars in the first two years in licensing alone.


#12

Well, we need a prettier and easier UI and we also need integration with our CRM system which already manages campaigns, clients and agents.

[quote=“mflorell”]
Will this be all outbound dialing, inbound, blended or portions of each? How many lines per agent are you planning on?[/quote]

All outbound. I maybe mis-understanding your question but we want to be able to handle all 600 agents talking at the same time. I believe there are no plans for more than 1 line per agent.

Wonderful. My preferred solution would be to extend VICIDIAL, if necessary, and release the changes to the community. But we are a consultancy hired to implement the call center and so I have to check that both the VICIDIAL licence and our clients would be agreeable to that.


#13

Prettier? I didn’t think this was that ugly. How exactly would you make it easier to use?
astguiclient.sourceforge.net/scr … 0.0.29.gif

It is certainly much prettier than the first version we released:
astguiclient.sourceforge.net/scr … _dispo.gif

Is yours a customized CRM system or based on a commercial or OSS package?

Could you explain a little more your CRM system and how it’s campaigns-system works?

Everything in VICIDIAL goes through a database(MySQL), meaning that all you need to do to place any call from one party to another is insert a record into a database table. This makes things like a CALL CUSTOMER button on your CRM a trivial thing to add. We(and many others) have done a lot of different customizations and integrations with various CRM systems.

[quote=“samwise”]
All outbound. I maybe mis-understanding your question but we want to be able to handle all 600 agents talking at the same time. I believe there are no plans for more than 1 line per agent.[/quote]

OK, that isn’t predictive if you only have one trunk line per agent. Doing that will give you much more capacity per server than if you were dialing 3 lines per agent predictive dialing.

[quote=“samwise”]
Wonderful. My preferred solution would be to extend VICIDIAL, if necessary, and release the changes to the community. But we are a consultancy hired to implement the call center and so I have to check that both the VICIDIAL licence and our clients would be agreeable to that.[/quote]

VICIDIAL is GPLv2 licensed just like Linux. I would very much appreciate any feedback or contributions you have about the VICIDIAL project.


#14

We do not need some of the features so we probably can get away with a simpler UI. As for beauty, you are right. Its not that ugly.

Home grown.

Not really. We have not discussed the CRM system with the client in detail. All I know is that there is a CRM system in place in their current call center.

I see. How many agents do you think a Dell PowerEdge 2850 could handle if we use 3 lines per agent?


#15

For capacity there are several important factors to consider first:

  • What kind of trunks will you have coming in(T1/SIP/IAX)?
  • If SIP or IAX, what codec will you use?
  • How will your agents connect to the server(softphone/hardphone)?
  • Will you be recording every call?
  • Will you be doing answering machine detection?
  • What are the CPU stats(speed/cache/bus) and RAM of the server?
  • What kind of hard drives will you use?

And from your answers I’ll probably have more questions.

In general, we use all T1s and channelbanks on a mimimum of P4 2.6GHz (512k cache)servers with 2GB RAM. On these servers we can handle about 20 agents reliably at a dial level of 3.0-3.5. Other newer servers that we have can handle more agents, but dialing predictive really takes a lot of CPU load as compared to single-line dialing. On the same server we can handle over 60 agents at a lesser load in manual dialing mode. Since I do not have the same hardware that you have you will need to do some testing and see what kind of load your servers can handle before they get slow to respond to commands and have degraded audio.


#16

E1’s which are similar to T1’s.

SIP, a lightweight codec like G.711 or G.726 (32).

I did not know this would matter. Probably softphone, but whats the difference?

Yes.

Yes.

Two Dual Core Xeons, 2x2MB Cache, 2.8GHz, 800MHz FSB. 4GB RAM.

Raid, 146GB 15K RPM Ultra 320 SCSI Hard

We have not bought the hardware yet, so we could adjust much of this.


#17

Your limiter is going to be recording of every call. We have found that the BUS throughput and quality of recordings starts to decline after 50 consecutive recordings.

E1s should be good, and the only reason softphones or hardphones would make any difference is if you were using channelbanks. In which case you get a slight reduction in load on the system.

It looks like you have a very good server for the job, but with all calls being recorded you will see some reduction in capacity. You should start with 20 agents for a single server for a couple days and make sure everything works well, then add a few every couple days and see what your reliable per-server load is on that hardware with your specific campaigns.

It is very hard to give a definite number as far as capacity, but there are so many variables you really have to arrive at a maximum capacity by testing and determining what an acceptable level of load on the server is for your specific situation.

Hope that helps.


#18

I’m going to have to disagree with most of the comments in this thread, as I have set up many many vicidial call centers before. Vicidial will not handle a 600-person call center for a number of reasons:

  1. it relies on meetme conferences, which is another leg of the call to handle. To show you what I mean, first multiply 600 agents by 2, since each agent will need both their leg of the call, and the meetme leg of the call. Then, how many calls would you expect to be in progress at a time? Multiply that by 2- one for each leg of the call on the meetme side, one for each leg of the call on the potential client’s side. As you can see, that’s a lot of calls for asterisk to handle, and your hardware requirements will be tremendous!
  2. Vicidial has bugs. I have been running into them daily. If an agent logs in twice by accident (often happens when an agent has multiple sip lines, etc.), you’re on your own.
  3. meetmes often have lower quality than direct contact with agents.
  4. Ask yourself, will you want the agents to be immediately connected to the person called, or would you like the choice of being able to play a pre-recorded message and have the potential client have the option of talking to an agent? If you choose the later, then vicidial is not for you.
  5. Ask yourself, are you going to want to resell space on your dialer to sub-clients who in turn use your dialer to make their calls? If so, vicidial is probably not for you (though it can easily be configured to do this).
  6. Vicidial does not like crms often. Try transferring calls around with your crm and see if vicidial still likes you. It doesn’t.

What you will need for such a large undertaking is a commercial-quality dialer. There are a number of such dialers, and a couple come to mind that would work for what you want to do. If you’re interested, look around or feel free to contact me (I’m almost always on irc under this name) to discuss your options. I just don’t want you to blow a bunch of money on vicidial and hardware only to find out a different, better solution is available.


#19

[quote=“samwise”][quote=“mflorell”]

  • If SIP or IAX, what codec will you use?
    [/quote]
    SIP, a lightweight codec like G.711 or G.726 (32).
    [/quote]
    Danger! Are you going to be doing this through a trunk? And are you still planning on using vicidial? No way! You have the right idea with g711u (ulaw), since that won’t have to be transcoded by the meetme conferences. However, then you’re running into bandwidth problems. If you’re going to be doing this for your agents, you better hope they’re on a local network!

[quote=“samwise”][quote=“mflorell”]
How will your agents connect to the server(softphone/hardphone)?
[/quote]
I did not know this would matter. Probably softphone, but whats the difference?
[/quote]
Hardphone. Your agents will thank you.

[quote=“samwise”][quote=“mflorell”]

  • Will you be recording every call?
    [/quote]
    Yes.
    [/quote]
    Anyone know if call recordings happen on separate threads? If so, you may be in luck…

[quote=“samwise”][quote=“mflorell”]

  • Will you be doing answering machine detection?
    [/quote]
    Yes.
    [/quote]
    If you mess with settings enough, you should be able to block out 75% of answering machines.

[quote=“samwise”][quote=“mflorell”]

  • What are the CPU stats(speed/cache/bus) and RAM of the server?
    [/quote]
    Two Dual Core Xeons, 2x2MB Cache, 2.8GHz, 800MHz FSB. 4GB RAM.
    [/quote]
    Blast, you just lost a lot of points there. Are these the hyperthreaded xeon models (so it looks like you have 4 processing threads)? If so, you’re in for a bad bad headache. Since most of what you’re wanting to do happens in a single processing thread, a hyperthreaded machine will slow you down. A lot. You really should have gone for a powerful single-core or dual-core opteron without hyperthreading (assuming your xeons are hyperthreaded).

[quote=“samwise”][quote=“mflorell”]

  • What kind of hard drives will you use?
    [/quote]
    Raid, 146GB 15K RPM Ultra 320 SCSI Hard
    [/quote]
    pretty :smile:. That’ll purr like a kitten!

Whew! That’s a relief!


#20

[quote=“squinky86”]I’m going to have to disagree with most of the comments in this thread, as I have set up many many vicidial call centers before. Vicidial will not handle a 600-person call center for a number of reasons:
[/quote]
Many, many VICIDIAL setups? how many and where? what did you use for the hardware? what kind of trunks were you using? VICIDIAL reiably handles over 200 seats at one of my client companies now with no quality or other major issues so I must disagree.

Yes, you would need quite a few servers to handle it, but with the features offered by using meetme rooms are not easily duplicated with an Agents-centric setup like 3-way 4way calls, DTMF macros, manager barge-in and entire-session recording of an agent.

Of course VICIDIAL has bugs, it’s free and open-source. But most large commercial proprietary dialers have bugs as well, only you cannot fix those yourself if you discover it. If an agent logs in twice, the most recent login is the one that is active, we haven’t had any problems with that.

I have only seen this while using a high-compression codec like G729. We have not seen any issues with call quality on any of our systems using G711 or GSM for trunks. For G729 users we usually recommend using a gateway if possible for large installations.

There is the option of doing this now with VICIDIAL. I don’t know where you are getting this stuff.

We don’t recommend resource-sharing for any Asterisk setup. I have talked to several people who had issues with reselling services on their Asterisk servers and when a customer suddenly goes from using 4 outbound trunks to 80 then everyone else on that server has problems. It’s worth the cheap cost of a $500 server to stick each client on their own machine, at least that has been our experience.

What CRM do you use that transfers calls? You can easily use the WEB FORM to access customer data from your CRM by an agent on a call. We use this to do screen-pops of the CRM record when a customer calls into our system. Works very well for us.

[quote=“squinky86”]
What you will need for such a large undertaking is a commercial-quality dialer. There are a number of such dialers, and a couple come to mind that would work for what you want to do. If you’re interested, look around or feel free to contact me (I’m almost always on irc under this name) to discuss your options. I just don’t want you to blow a bunch of money on vicidial and hardware only to find out a different, better solution is available.[/quote]
First of all, I will say that VICIDIAL is not for everyone. If you want to save millions of dollars over a proprietary system, have total control over the source code for your application, be able to customize it in any way you like then VICIDIAL could be a good choice for you. If you don’t want to set the system up, you have millions of dollars to spend on licensing, and you don’t mind depending on your vendor to do any minor change to the configuration of your system you can go with one of the many proprietary closed-source systems out there. You would need less staff with a proprietary system and they are often proven in very large installations and can customize their software for you for a price.