Download IC Cookbook - Intervoice
Transcript
The Event Handler Now that we have defined the initial error processes and messages for our menu, we need to define what happens when the caller can’t get their menu selection right, even after three tries. We might want to transfer the caller to a live agent, or perhaps verify that this customer has enough value to merit a live agent. Perhaps we could send the caller to a separate speech input menu and prompt the caller to speak their choice, instead of using the phone keypad for the selection. No matter what we do to recover from multiple-menu errors, it is likely that we will want to define a similar process for most of the menus in our application. In this recipe we only have one DTMF Menu, but in a large application there can be dozens of menus. It would be nice if we could define a standard maximum-errorhandling process for all of the menus in an application, in one place. Otherwise, we would have to define this process for each menu, which could clutter up a voice diagram significantly. Better yet, it would be great if IC would provide one central place to put handlers for all kinds of commonly occurring events, not just errors. That would keep our diagrams tidy, and make maintenance much easier. IC has a solution for these issues, and it is called the event handler. Errors aren’t the only reason to call a common handler routine, which is why we call it an event handler rather than an error handler. In our DTMF Menu recipe, all of the events we want to catch are essentially multiple-error retry conditions. However, that is only a few of the common events that might occur in an application, and we would like to centralize all of these types of events in a common place. That place is the Event Handler. Configuring the DTMF Menu Max Error Counters Click on the DTMF Menu component’s Properties view > Events option (on the left). You should see four error counters - Error, MaxNoMatch, MaxNoInput, and MaxErrors. Remember that these four specific parameters are counters, not direct routine calls. They won’t do anything but count the occurrences of a specific error type, until a maximum count is reached. However, when that count is reached, they will trigger a call to the event handler that we select. This section of our recipe will define how these counters work, and how to define the appropriate event handler that is executed when a maximum count is reached. In subsequent sections we will describe how to set the maximum counts for each counter, as well as how to configure the specific event handler that is called when that maximum count is reached. Here are the definitions of each counter: MaxNoMatch- This counter increments each time the caller enters an option that is not a valid menu option. If the caller enters 7 in the NWS recipe for example, that will increment the MaxNoMatch error count. MaxNoInput- This counter increments each time the caller fails to enter a selection before the entry timer times out. If a caller doesn’t respond to the menu prompt with any input, that event will increment the MaxNoInput counter. MaxErrors- This counter counts the sum of MaxNoMatch and MaxNoInput errors. Either type of error will cause this counter to increment. Error- This counter counts errors that are neither a MaxNoMatch nor MaxNoInput, error. These are typically system or programming errors. For example, a TTS error, or a missing audio prompt file, will count as this type of error. These kinds of errors are usually catastrophic, since it means that the system can’t play a specific prompt. You won’t get to set a maximum error count for this condition. The max count for this condition is forced to one, and you can’t change it. You will be able to select an event handler for this condition, however. September 2013 Copyright © 2013 Convergys. All rights reserved. 77