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.

Monday, January 18, 2016

Would You Like PBX Dial Notifications for Incoming Calls? You Can Have Them!

These days, more and more people want to stay in the loop as much as possible. With cell phones being almost a necessity, this statement holds true even more. We all want to be notified in one way or another when something of interest happens, whether it's a Facebook message or a Twitter DM. Using PBX dial notifications can help keep you in the loop if and when you are on the go and not currently at your PBX extension's location. I know I'm stepping out of the contact center realm with this PBX-specific topic and that's ok. Let's talk about these dial notifications.

PBX dial notifications via are quite simple to setup and enable in the Q-Suite. There's a checkbox to turn on the feature and then you create your relevant notifications for the PBX extensions that you wish to turn these on for. Simply set an email address and enter the notification message you wish to send to the recipient. Easy as that.

If you're away from your extension, dial notifications have a few advantages:

  1. You get the notification almost immediately after your extension rings, so you will know who is trying to reach you in a very timely manner.
  2. If you were purely relying on voicemails for notifications, you may not get an email if the calling party terminates the call prior to reaching your inbox.
  3. Even if the caller gets to your inbox they may just hang up anyway, which makes the voicemail notification only as useful as the dial notification.
I'm not saying to ditch voicemail notifications for your extension in favour of dial notifications, but it's a good feeling to know that you have multiple notification options for your extension while you may be on the move.

Thursday, December 31, 2015

2015 Wrapup: Contact Center ACD Software's Biggest Hits of 2015!

As we all prepare to send off 2015 and look forward to 2016, let's take a look back at the Top 10 posts from 2015, based on pageviews.
  1. Blog Post Revisited: Capacity planning for large call centers using Asterisk
  2. Keeping callers (or me in this case) interested...or at least trying to
  3. Game of Thrones Episodes Leak! How to Prevent a Similar Event in your Contact Center
  4. Avengers Assemble! Gathering the Pieces You Need for Your Contact Center ACD
  5. Timeout! Sports, Kids, and Contact Centers
  6. Destiny: The Taken King Patch's Painfully Long Download Time and Trying to Avoid Bottlenecks in Your Contact Center ACD
  7. Broken Knight: Consequences of Rushing into Production
  8. Hold For the Holidays: How to Not Annoy Your Holding Customers
  9. Why are my calls disconnecting? I'm not in an elevator!
  10. 3 Minor Annoyances of Not Having Physical Control Over Contact Center Hardware
2015 was a very eventful year, especially in the entertainment industry, and I hope you enjoyed some of the relations I used in my posts. You can probably tell that I like movies and video games a lot. With movies in mind, here's the trailer for the new definition of the Blockbuster, Star Wars: The Force Awakens.

Happy New Year Everyone!

Friday, December 11, 2015

Hold For the Holidays: How to Not Annoy Your Holding Customers

The 2015 holiday shopping season is well under way. Black Friday and Cyber Monday have come and gone, and now we're into the home stretch before the holiday break. I'm keeping a loose eye on Twitter and it appears that a lot of people are tweeting out to companies about being on hold for an atrociously long period of time and they are, of course, not happy about it. Nobody wants to be stuck on hold any longer than they need to be, so I can sympathize with these people. Contact centers should be prepared to handle the influx of calls that are no doubt going to happen during this time period and should be able to adjust accordingly.

Rather than reinventing the wheel, I'd like to direct you to a post I made earlier this year about one of my own personal on hold experiences. Have a look here and see if you can relate to any of these thoughts I put down about the situation.

In my experience, when being on hold waiting for a CSR, I am usually calling in a negative way, like downgrading a service or flat out canceling my account all together. The last thing I need is to sit in a queue for dozens and dozens of minutes, giving me more time to become irritated that I am even calling in in the first place.