[asterisk-users] Beginners Guide to setting up a Call Centre

Sean Brady sbrady at gtfservices.com
Sat Jan 16 00:04:25 CST 2010


>Looking at all the docs I can find Asterisks looks like it should be
>able to do the job and a whole lot more.

>This is for a small call centre so ideally we want all the features of
>an average call centre, ACD, Call Recording, Queue's etc etc.

>Any pointers on how to get started would be most helpful.

>Peter.
-----------------------------------------------------------------------
(sorry this is so long)

Peter, 

I figured that I would chime in, as I run IT and am a managing partner of a small call center based on Asterisk and I think that my experience will be helpful (hate to beat a dead horse)...

Asterisk can definitely do what you need, so I am not going to talk about that any further.  I wouldn't waste my time with anything else.

I would strongly recommend either of the two following methods to get started, with the deciding factors being time and money.  There are lots of factors that will sway this argument, such as the complexity of your workflow, CTI needs, etc., but those time and money are the biggies.  You also have to carefully weigh your support requirements, uptime, and your desire to manage a phone system.  Asterisk doesn't have to take that much work once it's installed and tuned, but it will require some maintenance.  You will need to evaluate whether or not you want to take on that maintenance role or whether you want to pay to have it done for you.


Method 1: A professional installation by a Digium Certified Asterisk Professional. 

It will cost you some money, how much depends on your needs and how clearly you articulate them.  There are lots of great people out there that can help you get EXACTLY what you want and design a system that will grow with your business.  Call Digium for recommendations, or reply to this with your contact info and we can talk off list (I'm not trying to sell anything, but I have some people that I can recommend).  This can be a great option for a solid Asterisk system with good support and reliable operation with little maintenance.
	
There's a couple different approaches to this method- managed and developed with support.  Managed is where the team that developed the dialplan and asterisk environment for you manages the system for you as well for a recurring support fee.

Drawbacks to this method:

A. You will have to find a good vendor that will charge fairly and deliver on their SLA (always get an SLA with enforceable penalties).  This isn't that tough, but it's important.

B. The recurring support costs can eat into your budget quickly

C. This will take some time to develop properly, and for simple environments it may be overkill.

D. Adds/changes/ and deletes can be costly as well.  This can be mitigating by communicating the need to accommodate staff turnover with a user maintainable system.  


Method 2: Get a distro, install it, be dialing in about 8 hours or less (the route that I took when we started).  

This method is by far and away the easiest, cheapest, get-it-up-and-running-consequences-be-damned method.  You will take less time, effort  and money to get going like this than any other way I know of.  If your call flow is simple to moderately complex, this is the way to go in my opinion.  The FreePBX distros (Trixbox, AsteriskNOW [I think], Elastix, etc) all are very well put together, and will do everything that you listed in your original message and then some.  Of the distro's, I would probably either go with AsteriskNOW or, if you are up for a little more setup work, FreePBX on it's own.   


Drawbacks to this method:

A. I can't speak for others, but I found that the configuration engines have their limitations when it comes to call centers.  They simply weren't designed to do some of the specific things that we needed to do as we grew.  This doesn't mean that they wont do everything you need though, each case is unique.  They were fine for us in the beginning, but as our business grew so did our specific needs, and we outgrew these solutions.  There is nothing wrong with that if you understand from the outset that you may have needs that aren't met in the future.  These distros have to factor in the needs of their respective communities, and what may be good for one organization might not be good for others.

B. Troubleshooting issues can be more complex as you start to understand Asterisk and increase your level of sophistication.  I had a hard time troubleshooting FreePBX until I understood it's dialplan more, and it made troubleshooting complicated as I didn't fully understand the call flow through it's dialplan. The more you work with it, the easier it gets, but there can be a learning curve. 

C. Integration with other vendor's products can sometimes be a challenge if they don't already support your configuration GUI.

D. You cannot, no matter what anyone tells you (I know this to be cold, hard fact), modify the built in dialplan of FreePBX.  When you upgrade, or even reload sometimes, you will wipe your changes.  You can add to it, request modifications, etc, but you cant open VI and change the dialplan.  That's not always a bad thing, but it's something to be aware of.  


My Experience:
Our company is a year and a half old, and we started the entire company with a $71,000 capital investment- that's servers, terminals, switches, phones, desks, chairs, etc.  That initial investment got us 5 desks and 16 cubicles.  We just hit the 32 person mark, with 26 of them call agents.  We will be adding another 10 agents in the next 90 days.

I started with Elastix, moved to just FreePBX, and am currently beta testing my own dialplan/asterisk configuration.  I moved off Elastix due to the fact that it had so many other things running on it, and at the time the Openfire module had a memory leak that was consuming more resources than I had hoped for.  It's a great distro, very easy to use with a lot of features, however that issue had me convinced that I needed more separation of services.  FreePBX on it's own has served us well, however I am needing things such as more detailed CDR's, more advanced call flows, and a more customized hotdesking solution than what it can provide natively.  That is why I am testing our first customized dialplan in production, which will probably roll out here in a couple weeks.

With the new dialplan, I now have LDAP integration with an abstraction between phones and users, leveraging our Active Directory infrastructure (we are getting rid of this as soon as we get rid of our M$ bound CRM, but hey, it was cheap).  I have customized CDR's that provide a much clearer picture of what happened on the call and with whom, thanks to the adaptive CDR backend.  I have excellent reporting and CTI with our craptastic CRM using user defined manager events.  We have agent presence in multiple applications, queues that will call back dropped calls and route callers back to the agent they spoke to last, as well as live monitoring with coaching and barging.  Some of these things are either not possible (LDAP, adaptive CDR's), or quite difficult to achieve with a configuration GUI such as FreePBX.   

When Asterisk 1.8 goes final and is offered as the Asterisk Business Edition we will be purchasing it.  


My recommendations to you:

Start with a distro such as AsteriskNOW or FreePBX on your production box, but also buy a cheap PC or get an old one, pull down the latest version of Asterisk and tinker with it.  I believe it's asking a little much for an Asterisk newbie to create a professional environment with heavy call volume that people depend on quickly- you won't sleep much.  I have a feeling that you won't sleep much anyway, so every chance you get to simplify the startup, take it.  On your test box you can learn Asterisk to the point that you are able to roll your own should you so desire, or tailor your telephony system to suit your needs.

Be careful with recordings, as too many at once can cause you problems.  Best to go with a third party solution.  I strongly recommend Orecx, they are open source and have a very nice product that we have been very happy with.
  
Use SIP trunking if at all possible.  It's easier in the long run, and with the right provider cheaper as well.  You have more redundancy by nature than traditional PRI's.  The call quality can be just as good with the right Internet connection(s)- and I recommend having two of those with two different providers.  We use data T1's with a cable modem as a backup, with Amazon EC2 instances as emergency failover.  This has saved our tails more than once and it's something that traditional PRI's just can't do. 

Use hardphones such as Polycoms, Aastra, etc.  They are a capital expense, but they are worth it.  Softphones are dependent on the quality of the workstations and their operating environment, and the latter can deteriorate quickly in a call center without lots of management overhead.  It's one thing to have to clean off a workstation instance, it's quite another to have poor call quality of an agent as a primary motivator for doing so.

Use VLAN's.  VLAN your phones, and multi-home the Asterisk box.  Some people might not agree for various reasons, but this has been one of the best things for us.  It keeps the traffic separated, voip and data, and will help provide better end to end voice quality.  There's nothing worse than trying to track down a screaming NIC when you have people complaining about not being able to hear the customer.  Slow internet and connection loss pales in comparison to bad voice quality.


I hope that you find some of this helpful in your journeys, and best of luck.

Sean



More information about the asterisk-users mailing list