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.
Friday, December 9, 2016
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.
Monday, October 31, 2016
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
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
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
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.
You can read that post here.
I'm just going to leave you with this.
Wednesday, August 17, 2016
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
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
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.
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
- 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
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:
- 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.
- 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.
- 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.