Evaluating OCS’s viability for contact center communications

In a previous post, I highlighted the discovery of Microsoft Office Communications Server 2007 as a unified communications solution.  I also speculated somewhat about the viability of the solution for a company whose core business revolves around enterprise voice.  Enterprise voice comes part and parcel with a series of challenges.  Routing inbound phone calls to appropriate personnel based on what the caller is seeking (skills-based routing), using presence indicators, and integration with CRM software are only a few of the problems contact centers face.

Typically, inbound call routing is handled by a software package known as an automatic call distributor (ACD).  ACDs can range in intelligence from the most basic level, where the ACD simply hands the call to the next available person, to advanced, where the ACD makes more involved decisions.  ACDs are critical to companies like Extend Health, Inc.  We have employees in different roles, licensure and HIPAA compliance are significant concerns, and we need to control costs across our various internal and outsourced employees.  I was more than a little concerned that we would have trouble achieving this level of functionality in OCS as there were no visible references to how to handle that.  (Not to mention, our Cisco guys are putting pressure on us by saying that it isn’t possible.)

This concern was almost completely resolved today when I stumbled across a blog post by a guy named Michael Dunn.  Michael worked for Magenic at one point in time, but has recently jumped ship to Microsoft.  Michael’s post (aptly called “Creating a WCF ACD (Automatic Call Distributor) Server Part I“) covers in great detail how to build an ACD, from scratch, using .NET 3.0’s Windows Communication Foundation.  After a frantic flurry of communications from me, Michael politely answered the burning question.  He told me that Speech Server 2007, which is part of OCS, ships with the ability to program against it using Windows Workflow Foundation.

Microsoft has essentially handed us a blank slate and told us to go at it.  It has been my experience in the past that this is where Microsoft shines the most: providing that foundation to build your own building on.  According to what I learned today, I should be able to write an ACD whose intelligence is perfectly matched to what we need.

I took the results from my conversation with Michael and went with it.  The results were nothing less than amazing.  In literally one hour, I went from having zero knowledge of programming Speech Server 2007 to having a fully developed application that examined the incoming number, routed it to a licensed agent (determined by the area code), and if the number had called previously, routed it to the same agent unless they were busy, in which case it selected a new agent that was licensed.  For sixty minutes worth of work and no experience, that’s substantial!

This changes my view of OCS from being a potential solution to being a probable solution.  The price delta mentioned earlier, in combination with the ability to program an ACD in an hour, means that if continue exploring OCS and can program our other features as easily as the ACD, we will likely select OCS as our contact center communications infrastructure.

The next step is to detail what we (Extend Health, Inc.)will be looking at to decide for certain whether OCS is an acceptable solution.  I’ll lay out some initial parameters here, so that readers know what we’re examining, but will cover each of these line items in much more detail as we get to it.

Automatic Call Distributor
The ACD I wrote in an hour is impressive, but we need a much more sophisticated ACD.  The ACD we will write will involve five levels of decision making:

  1. What type of employee does the person need to speak to?  Enroller?  Agent?  CSR?  Narrow the list to people in that role.
  2. Has the person spoken with someone in that role before?  If so, narrow our list to those employees the person has spoken with.
  3. If licensure is an issue, narrow the list to licensed employees.
  4. Narrow the list to available employees.
  5. Narrow the list to the employees with the lowest variable cost.  If an agent that we’re paying per hour is available, lets route the call there before we route it to an agent that gets paid per call.

We don’t even know if we can write an ACD of that level of sophistication in our current Cisco solution.  If we can, we’d have to outsource it and it would likely take several weeks and a lot of money to complete.  If we want to tweak the ACD, we run into more time and money issues.  My guess is that we can write this ACD in a couple of hours internally and tweak in a matter of minutes.

Predictive Dialer
This is something we haven’t tried yet, but we need to be able to take a list of one thousand people we need more information from, assign a pool of ten agents, and keep those ten agents busy by having the system dial every time an agent completes a call.  The system should also screen answering machines since we need to talk to a person.  Speech Server 2007 is capable of making outbound calls as well as handling inbound calls, so this shouldn’t be an issue.

Offline Queuing
This is also something we haven’t tried yet.  There are some Web sites that allow you to click a button and have someone call you when they are available.  We want to combine this with the ability to give the option to those callers who will be on hold for more than five minutes to be called back.  In short, we want to develop a call queue that is agnostic about call directionality: it doesn’t care whether the call is inbound or outbound.

Voice Signature
In the insurance world, signatures are critical.  Voice signatures (like digital signatures) have recently been deemed legally binding.  Last year, we paid a lot of money and spent a lot of time having a voice signature process developed for our Cisco UCCX solution.  Unfortunately, it never worked.  We believe we can develop a solid voice signature solution for a fraction of the cost, in a fraction of the time.

In summary, we are looking to build out a lot of features that are specific to a contact center.  I’m excited about this and will expose as much information as my NDA allows me to on this blog, so stay tuned!

Leave a Reply