Wednesday, January 25, 2017

Post Revisited: Softphones for Contact Center ACD

It's been more than 2 years since I wrote the Softphones for Contact Center ACD post, and looking back, not a lot has changed as far as the relevance of how softphones can be used and can help cut your startup costs, assuming you are using a free version. A little bit has changed on the softphone landscape in my experience, so let's talk a bit about the three softphones I mentioned in the original post.
  • Zoiper - Still as good as an option as it was at the time of the post. The interface seems to have remained unchanged but all of the functionality of the free version is still there. I'd still recommend Zoiper as a softphone and it's the softphone app I use on my cell when I need it for work purposes.
  • 3CX - You can still find the free version of 3CX via their website, but it's been an end-of-life product for a few years and will not see any further updates. Their newer version of the 3CX softphone only works with their phone system, ie. you can't use it for any old Asterisk based contact center ACD, it must be used with their 3CX phone system. With that in mind, I really cannot comment on whether or not their newest version of their softphone is any good at all as I haven't used it. The free version is still ok, but I've mainly stopped using it.
  • X-Lite - I just fired this up now for the purpose of this post. There's no denying the aesthetic appeal of X-Lite over Zoiper and 3CX, but it's so incredibly resource heavy that it's really impossible to recommend or even use on a day-to-day basis. The only reason I have it installed on my work machine is as a last resort softphone option, and that hardly ever happens. It's not any lighter to run that it used to be either. Just for reference, X-Lite idling is using 86.6MB of memory, compared to 4.7MB and 20.7MB for Zoiper and 3CX respectively.
Since the last post, I've fiddled a bit with some other softphones. While Zoiper used to be my primary option, I'm now using MicroSIP as my main softphone. There's nothing to brag about with respect to how it looks, but it's quite simple to setup and to use and it's even less resource heavy that Zoiper, checking in at 2.7MB compared to 4.7MB. In my experience, agent workstations in the contact center ACD are typically underpowered, so using an application that is exceptionally lightweight is highly desirable. I haven't really used my MicroSIP softphone to do much more than make and take calls, but that's all I need my softphone to do, and this one does that with ease. I would certainly recommend this product if you are looking for a free softphone.

Friday, December 9, 2016

Vanilla to Pro Upgrade! Reasons to Upgrade Your Contact Center ACD

I took the plunge back in November and picked up a PS4 Pro. Mostly because it seemed like my main tv media server (PS3) was getting a little long in the tooth and it made sense to get a Pro instead of a Slim, as I already had one of the vanilla PS4s. I'm using the Pro as my main gaming console and I moved my other PS4 to the tv to use as my primary media server. It's a nice upgrade and when I eventually purchase a 4K display, it'll be even better. Let's revisit an older post of mine that discusses some solid reasons why you should upgrade your contact center ACD. Have a look here.

Three Major Reasons to Upgrade Your Contact Center

Perhaps Boxing Day sales will help with my quest to obtain a new shiny 4K tv. In the meantime, I'll continue to enjoy my Pro in regular old 1080p.

Monday, October 31, 2016

Happy Halloween! Scary Contact Center ACD Situations!

Halloween is pretty awesome, in my opinion. While I don't necessarily get in character with the amount of dedication that many people do, it's still a fun little 'holiday.' I definitely like hitting the web to see what people come up with for costume ideas. Plus, discounted Halloween candy post-October 31st is nice treat. Let's switch focus to the contact center ACD and some of the scary moments that can occur if you happen to be the administrator of a contact center.
  • Your network is down: This is truly a frightening moment! All of your servers, agent workstations, agent phones or devices, VoIP gateways, and SIP traffic rely on the internet and the ability to talk to any of the connected components. If the network is down or compromised, your contact center may be dead in the water.
  • Your disks are full: Horrifying! Full disks will kill the offending server's ability to do its job. For example, a full disk on an asterisk server will completely prevent calls from coming in or going out. That's a dreadful experience for a contact center to have.
  • Your hardware fails: A terribly haunting scenario indeed! This event can be catastrophic, especially if you were not diligent and had backups readily available. Hardware failures can take a contact center ACD days or even weeks to recover from.
Of our three examples here, I'd say that only one of those examples is 100% avoidable, and that's the full disks. Installing properly sized hard drives in your servers is a good start and directory clean up and maintenance can make this issue a non-factor. The other two examples can be more or less out of your control, so you just need to keep recovery strategies in mind if they do happen.

Now go watch a scary flick before the night is done.

Friday, October 14, 2016

Advanced IVRs in Your Contact Center ACD

IVRs are the backbone for a contact center ACD. They can be pleasantly simple and they can also be quite complicated. I touched on a few of the more complex operations in the second linked post. Now I'm going to write about a few more of the IVR components that the Q-Suite features in its dialplan builder.
  • Get SIP Header Data - Sometimes the caller ID of an inbound call is not enough data. This component allows you to parse through the SIP Header information to find the following points of interest: Contact, Diversion, From, P-Asserted-Identity, Subject, To, and Via. Choose to store these in channel variables or create custom variables that you can assign to custom fields, in order to view this data in an agent portal.
  • Ratio Router - Have you ever wanted to send 67% of your inbound calls down a VIP branch, 24% of the calls down a lower priority branch, and 9% into voicemail with one IVR component? You can. Simply place the Ratio Router component in your dialplan, enter your desired percentages, and choose the branches for the calls.
  • String Match - This can be of use if you are looking to compare a dialplan variable to a known string. You can use the following operators: Contains, Ends With, Is Equal To, and Starts With. Once you have your variable, operator, and value configured, just ensure your true and false exits are set and away you go onto the next IVR component.
I'm a fairly strong supporter of the KISS rule for creating IVRs, but sometimes you really need to take your IVR to the next level in order to accomplish certain tasks before handing the caller off to an agent. The Q-Suite provides a solid toolkit for making great dialplans. Simple or advanced, it can get the job done.

Wednesday, October 12, 2016

Post Revisited: Common Sense and the Contact Center ACD

It was the summer of 2015. June to be specific. Some support tickets cropped up regarding performance issues at a few contact centers. Strangely enough, here we are in the fall of 2016, and these types of "problems" have decided to resurrect themselves.

I'm not going to write anything fresh in regards to the post we're going to revisit because I'd essentially just be plagiarizing my own work. So without further ado, let's go take a look at my original offering regarding Common Sense and the Contact Center ACD!

Wednesday, October 5, 2016

Big Plays From Big Jays: Part 2

Hot on the heels of the thrilling extra innings wildcard game last night between the Baltimore Orioles and the Toronto Blue Jays, I'd like to revisit my post from a little less than a year ago, where I talked about getting your best customer service agents in the game as efficiently as possible using a few of the queue based features in the Q-Suite.

You can read that post here.

I'm just going to leave you with this.

Go Jays!

Wednesday, August 17, 2016

Bigger Isn't Always Better: Keeping ancient data around is a bad idea for your Contact Center

I don't necessarily feel like writing a shiny opening paragraph for this post. I could try to relate this topic to No Man's Sky, Pokemon GO, or the Rio Olympics, but I won't. Let's dive in to a few reasons why keeping old data is a bad idea.
  • Storage sizes: Hard drives are getting cheaper and cheaper, but as your contact center chugs along, your database is going to grow and grow. You really don't want to be in the business of frequently needing new hardware to store this information. If you started out your call center with a measly sized drive, you may need to perform some type of migration of your data a lot sooner than necessary, than if you had opted for a larger chunk of storage.
  • Migrating data: If you are in the process of upgrading hardware, you're going to need to migrate that data. If your database is monstrously large, this migration process can take dozens of hours or even days depending on the size. This is a highly unfavourable scenario that could keep your call center from operating until the migration is done.
  • Reporting: Running queries on a database can be quick sometimes. If the complexity of the query is relatively simple and the sample size of data is reasonably sized, reporting can be fast and painless. However, a lot of contact center reports use fairly complex queries. Combining these queries with hundreds of GB of database data can exacerbate these queries to the point of being literally unusable. No one has the time to sit around for hours upon hours waiting for a report to return with the results.
There are a few ways you can help to the above cases:
  • Get a huge hard disk for your database: Multiple TB drives are quite affordable.
  • Truncate irrelevant data: There's no real reason that decade old data should be a part of your current contact center database. If you seriously need to keep this data, dump the schema and keep it somewhere in storage in case you need to revisit it. You can then trim the database down to a manageable size.
  • You can achieve a huge boost in reporting speed and overall database performance if you have a substantial amount of RAM available, combined with using an SSD for your database.
Bigger can definitely be better in the right situation (like expanding your exosuit, starship, and multi-tool inventory slots in No Man's Sky), but it just isn't the way to go all of the time.

Thursday, May 12, 2016

Uncharted 4: A Thief's End Pushes the PS4 to the Limit: FastAGI Can Push Your Asterisk Contact Center There As Well

On May 10th, Naughty Dog released the 4th and likely final installment of the Uncharted series, with Uncharted 4: A Thief's End. The Uncharted series is definitely one of my favourite sets of games, so I was looking forward to the 10th for a long time. Reviews are glowing. Digital Foundry called it a "technical powerhouse" and "the best-looking console game we've ever tested." That's some high praise regarding how this title pushes the limits of the PS4's capabilities. What can you do to push the limits of your Asterisk-based contact center without needing to upgrade your hardware? Let's take a look at FastAGI.

If you've spent a fair amount of time using Asterisk, you'll already know that the Asterisk Gateway Interface (AGI) operations that Asterisk needs to perform are incredibly expensive operations that can chew up precious server CPU resources. How can we reduce the amount of resources required to run these operations?

We cannot simply stop using AGIs are they control many crucial applications, like Dial, and they provide a vital interface for adding more functionality to Asterisk with a number of different programming languages. By using a FastAGI server, we can unload these expensive commands off of the Asterisk server onto a remote server via a network connection. It isn't entirely necessary to house the FastAGI server remotely either. You could simply have it on the Asterisk server itself, but the benefits will still be noticed since all of this heavy processing is still removed from the actual Asterisk service.

FastAGI has certainly made the Q-Suite much more efficient. Using FastAGI allows the Asterisk server to work in a more efficient manner, while actually doing more proper call handling, all without putting too much of a burden on the hardware.

Much like Uncharted 4 on the PS4, FastAGI can be your powerhouse to help push your Asterisk-based contact center to the limits, without a need for more high-end hardware.

For your viewing pleasure, here's the Uncharted 4: A Thief's End Story Trailer. Enjoy!!

Friday, February 26, 2016

Large and In Charge: Tips for Call Center Capacity Planning

You have a successful contact center in operation and things are going well. The site isn't having any issues with call quality, database latency, or agent portal usage. It's a wonderful thing. You have a new client coming on board and all of a sudden, you need four times the capacity and throughput that your site currently handles and handles well. While the new business is certainly welcomed, how can you expand, efficiently and effectively, to meet these new requirements for your contact center?

Trim The (Log) Fat

Each component of your Asterisk based contact center (Asterisk, database, web, and Q-Suite in this case) will keep log files by default. Depending on what your call volume may be or how many agents you have logged in taking calls, these logs can grow very large and very quickly. Logs that grow very large and very quickly can consume a great deal of CPU and write resources on your servers. However, all of these logging mechanisms can have their levels of logging toned down or even turned off. While I wouldn't recommend actively turning off any type of logging, taking the steps to trim the amount of logging done can help your servers focus on their proper tasks.

Work Smarter

Asterisk uses AGI (Asterisk Gateway Interface) applications that can add an enormous amount of functionality to Asterisk with a number of different programming languages. While quite flexible and powerful, AGIs are very expensive operations on their own, and can be even more expensive depending on the type of functionality contained within the relevant piece of code on the other end of the AGI call. Your Asterisk server can potentially end up throttling itself if these operations are abundantly occurring. Incorporating a FastAGI server into your contact center can make a significant performance improvement on your Asterisk server as the FastAGI server allows the running of all AGI applications on a remote machine. Taking those system intensive operations off of your server will allow it work harder, faster, and smarter.

Buff It Up

You may decide that dealing with some system configurations outlined in the two examples above is not your cup of tea and that is fine. Going with the old 'just throw more hardware at it' may be the solution for you. Concerned that your database server might not have the capability to handle the new loads? Get faster disks and more RAM. Web servers might not be optimal for the new influx of agents? Jack up the processing power of the server and give it more RAM. If you can handle the cost of having more power than you need, it's never a bad idea to have some overkill on your contact center hardware.

I've just explained a few ways that you can help scale your call center when capacity planning is your main goal. It's a good stepping stone to ensure that your contact center continues to perform admirably when more business happens to come your way.

Thursday, February 4, 2016

Super Bowl 50 is Coming! Effectively Handling Volume Spikes in your Contact Center ACD

It's that time of year again. Super Bowl Sunday is this weekend. Regardless of which teams happen to be playing in the big game, the Denver Broncos and the Carolina Panthers in this case, it is must-see TV. People watch for various reasons. They want to watch the game itself, they just care about the commercials and the halftime show, or they just want an excuse to hang out with friends on a Sunday night. Whatever your reasoning for watching the Super Bowl, the bottom line is that millions and millions of people tune in who normally would not be tuning in if it were any given Sunday. With the most-watched sporting event worldwide looming on the horizon, let's have a look at how you can handle volume spikes in your contact center ACD.
  • Staff more agents - This one should have been easy to figure out, especially if the volume increase is anticipated. If your inbound ACD is accepting a significantly higher volume of calls than you have agents staffed, a few things can happen and they are all negative. Callers will hang up while waiting in the queues, which inflates the abandoned rate and causes lost sales. Callers will be more irritated due to the long wait times, which tends to project onto the agents. Agents will be under fire for the entire duration of their shift which can cause added stress and can affect performance.
  • Reassign agents on the fly - If you are in a situation where the spike in incoming calls to your contact center ACD is not expected, you can use real-time skills-based routing to get a desired block of agents ready to take calls from the heavily loaded queues. When more agents become available, some of the pitfalls from the first point can be avoided.
  • Turn up new servers - Having more hardware available to tackle an expected spike in calls is definitely a solution, even though it's a brute force solution. Load balancing calls over more Asterisk servers is an efficient way to alleviate system stress. Preparing more servers can be more difficult if you are relying on physical servers, but can be done fairly easily and quickly if you are using a hosted contact center ACD platform.
As with anything, proper planning can aid in preventing unexpected occurrences from ruining a perfectly good business day in your contact center ACD. In the off chance that your day is calling an audible and making things difficult, at least you have some tools to turn things around. Take these points into consideration and the only spike you'll experience will be a touchdown celebration.

In case you may be wondering, I have no horse in this race on Sunday. I'm a New York Giants fan. It would be quite a sight to see one of the most legendary NFL QBs of all-time go out on top in storybook fashion. However, Cam. That Cam guy is awfully good and a complete blast to watch. With that in mind, I'm just going to hope for an epic game while I enjoy the company of a few friends and my homemade Montreal smoked meat. Game on.