# Patent

## Title
Sequential presentation of long instructions in an interactive voice response system

## Abstract

A method of presenting instructions to a user sending an incoming communication to a service center includes presenting a menu to the user. The menu includes a plurality of procedure descriptors to the user. The user is presented, according to a selection of one of the procedure descriptors by the user, a sequence of instructions which enable completion of a procedure described by the selected procedure descriptor. The incoming communication is transferred at a position in the sequence of instructions to a representative. The incoming communication is also transferred back to the same position in the sequence of instructions.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation application of pending U.S. patent application Ser. No. 10/058,785, which was filed on Jan. 30, 2002, the contents of which are expressly incorporated by reference herein in their entirety.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of telecommunications. More particularly, the present invention relates to an interactive voice response (IVR) system for managing customer calls.
2. Acronyms
The written description provided herein contains acronyms which refer to various telecommunications services, components and techniques, as well as features relating to the present invention. Although some of these acronyms are known, use of these acronyms is not strictly standardized in the art. For purposes of the written description herein, acronyms will be defined as follows:
Dual Tone Multi Frequency (DTMF)
Interactive Voice Response (IVR)
3. Description of Background Information
Many companies utilize IVR call management systems in order to handle and route incoming telephone calls. This is especially true for calls not requiring a live operator to assist the caller. IVR systems have been phenomenally successful and enjoy widespread use because they generate enormous cost savings at customer call centers, due to a reduction in required staff.
Conventional IVR systems are well-suited to providing small amounts of information to a user in real-time. However, conventional IVR systems have shortcomings, particularly with respect to larger amounts of information or instruction sets longer than one or two sentences. The primary reason for this shortcoming is the short-term memory and cognitive limitations inherent in the average caller. That is, most callers are not well adapted to remembering long strings of information (e.g., a long sequential recitation of tasks) presented in a short period of time, especially when sequence-specific procedures are presented. Further, conventional IVR systems require the caller to remember various navigational control keys, i.e., forward, backward, repeat, continue, etc. Moreover, conventional IVR systems lack the ability and flexibility to present long, detailed sequential instructions sets to a caller in a manner suitable to the average caller's cognitive capabilities. Further, conventional IVR systems also assume that the caller has performed a particular step correctly. Successive steps may be impossible to perform when a previous step has been performed incorrectly. This approach may lead to customer frustration and dissatisfaction.
As a result, it would be desirable to have a IVR system that would allow a caller to perform a series of sequential tasks, based on an instruction set, at the caller's own pace. The present invention overcomes the problems associated with the prior art.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is further described in the detailed description that follows, by reference to the noted plurality of drawings by way of non-limiting examples of embodiments of the present invention, in which like reference numerals represent similar parts throughout several views of the drawings, and in which:
FIG. 1 is an exemplary flowchart diagram of IVR call processing, according to an aspect of the present invention;
FIG. 2 is an exemplary flowchart diagram of sub-instruction call processing, according to an aspect of the present invention;
FIG. 3 is an exemplary flowchart diagram of pause branch call processing, according to an aspect of the present invention
FIG. 4 an exemplary flowchart diagram of detailed instruction branch call processing, according to an aspect of the present invention;
FIG. 5 is an exemplary flowchart diagram of task correct completion branch call processing, according to an aspect of the present invention;
FIG. 6 is an exemplary flowchart diagram of backup branch call processing, according to an aspect of the present invention;
FIG. 7 is an exemplary flowchart diagram of service representative branch call processing, according to an aspect of the present invention;
FIG. 8 is an exemplary flowchart diagram of a call, processed according to an aspect of the present invention;
FIG. 9 is an exemplary flowchart diagram of a sub-instruction routine of a call, processed according to an aspect of the present invention;
FIG. 10 is an exemplary flowchart diagram of another sub-instruction routine of a call, processed according to an aspect of the present invention;
FIG. 11 is an exemplary flowchart diagram of another sub-instruction routine of a call, processed according to an aspect of the present invention;
FIG. 12 is an exemplary flowchart diagram of a detailed instructions branch routine of a call, processed according to an aspect of the present invention;
FIG. 13 is an exemplary flowchart diagram of another sub-instruction routine of a call, processed according to an aspect of the present invention;
FIG. 14 is an exemplary flowchart diagram of another sub-instruction routine of a call, processed according to an aspect of the present invention; and
FIG. 15 is an exemplary flowchart diagram of a task correct routine of a call, processed according to an aspect of the present invention.



DETAILED DESCRIPTION OF THE EMBODIMENTS
In view of the foregoing, the present invention, through one or more of its various aspects and/or embodiments is thus presented to provide an interactive voice response (IVR) system for managing customer calls.
Accordingly, one aspect of the present invention is to provide a method for sequentially presenting instructions in a telephone call placed to an IVR system of a customer service center. The method includes receiving a call from a caller, presenting a main menu to the caller that includes multiple messages in which each message represents a procedure, and prompting the caller to select from one of the main menu messages. The method further includes presenting a sequence of instructions to the caller according to the caller's main menu selection, in which each instruction identifies a task to be performed by the caller that is distinct from interaction with the IVR system and wherein the tasks collectively constitute the procedure. The sequence of instructions are automatically paused after each instruction for a predetermined amount of time so as to permit the caller to perform the task identified in an instruction. Then, the caller is queried after each instruction as to whether the caller has performed the task identified in the instruction.
The method may further include periodically re-presenting the instruction to the caller until the caller indicates that the caller has performed the task identified in the instruction. Also, the method may include transferring the caller to a service representative after the instruction has been re-presented to the caller for a predetermined number of times. The sequence of instructions may be paused at the caller's request.
A summary of the sequence of the instructions may be presented to the caller immediately after the caller's selection, after the sequence of instructions has been presented to the caller, or immediately after the caller's selection and after the sequence of instructions has been presented to the caller.
The method may include presenting a previously presented instruction to the caller in response to a caller's indication that the caller has not performed the task identified in the previously presented instruction. Further, additional information associated with the instruction may be presented to the caller upon the caller's request, which is followed by a recommencement of the sequence of instructions.
The method may include querying the caller after the caller indicates that the caller has performed a task identified in the instruction as to whether the task identified in the instruction was performed correctly. The instruction may be re-presented to the caller in response to the caller's indication that the task identified in the instruction was not performed correctly. Further the caller may be queried as to whether the procedure was performed correctly. The sequence of instructions may be re-presented to the caller in response to the caller's indication that the procedure was not performed correctly.
The method may also include transferring the call from a position in the sequence of instructions to a service representative and transferring the call back to the position in the sequence of instructions. Alternatively, the method may include transferring the call from a position in the sequence of instructions to a service representative and transferring the call back to a location in the sequence of instructions other than the position.
Further, the method may include re-presenting a previously presented instruction to the caller in response to the caller's request receive a previously presented instruction. Also, the method may include re-presenting a previously presented instruction to the caller, as requested by the caller during a recitation of previously presented instructions. The method may further include presenting the caller with troubleshooting information in response to the caller's request for troubleshooting information.
Accordingly, another aspect of the present invention is to provide a system for receiving telephone calls at a customer service center. The system includes an IVR unit that presents a main menu of messages to a caller, presents a sequence of instructions to the caller and automatically pauses the sequence of instructions after each instruction by a predetermined amount of time so as to permit the caller to perform a task identified in an instruction that is distinct from interaction with the IVR. The IVR unit queries the caller after each instruction as to whether the caller has performed the task identified in the instruction. Each main menu message represents a procedure and each instruction identifies a task to be performed by the caller.
The system may include a component that transfers a call from a position in the sequence of instructions to a service representative and transfers the call back to the position in the sequence of instructions. Further, the system may include a component that transfers a call from a position in the sequence of instructions to a service representative and transfers the call back to a location in the sequence of instructions other than the position.
Accordingly, another aspect of the present invention is to provide a computer readable medium for storing a computer program that processes a telephone call in an IVR system. A presenting source code segment is provided that presents a main menu of messages to a caller and presents a sequence of instructions to the caller in which each instruction identifies a task distinct from interaction with the IVR system. A pausing source code segment is provided that pauses the sequence of instructions after each instruction for a predetermined amount of time so as to permit the caller to perform a task identified in an instruction A querying source code segment is also provided that queries the caller after each instruction as to whether the caller performed the task identified in the instruction.
The presenting source code segment may periodically re-present the instruction to the caller until the caller indicates that the caller has performed the task identified in the instruction. Also, a transferring source code segment may be provided that transfers the call to a service representative after the instruction has been re-presented to the caller for a predetermined number of times. Further, the pausing source code segment may pause the sequence of instructions in response to the caller's command to do so.
The presenting source code segment may present a summary of the sequence of the instructions to the caller immediately after the caller's selection, after the sequence of instructions has been presented to the caller, or immediately after the caller's selection and after the sequence of instructions has been presented to the caller.
Further, the presenting source code segment may present a previously presented instruction to a caller in response to a caller's indication that the caller has not performed the task identified in the previously presented instruction. Also, the presenting source code segment may present additional information associated with the instruction in response to the caller's request for additional information, followed by a recommencement of the sequence of instructions.
The querying source code segment may query the caller, after the caller indicates that the caller has performed the task identified in the instruction, as to whether the task identified in the instruction was performed correctly. Further, the presenting source code segment may re-present the instruction to the caller in response to the caller's indication that the task identified in the instruction was not performed correctly.
Also, the querying source code segment may query the caller as to whether the procedure was performed correctly. Further, the presenting source code segment may re-present the sequence of instructions to the caller in response to the caller's indication that the procedure was not performed correctly.
Further, a transferring source code segment may be provided that transfers the call from a position in the sequence of instructions to a service representative and transfers the call back to the position in the sequence of instructions. Alternatively, a transferring source code segment may be provided that transfers the call from a position in the sequence of instructions to a service representative and transfers the call back to a location in the sequence of instructions other than the position.
Still further, the presenting source code segment may re-present an instruction to the caller in response to the caller's command to receive a previously presented instruction. Also, the presenting source code segment may re-present a previously presented instruction to the caller, as requested by the caller during a recitation of previously presented instructions.
The present invention relates to an IVR system that allows a caller to receive a sequence of instructions and perform the instructed steps at the caller's own pace. Customers often have difficulties when performing complex tasks, e.g., installing computer hardware and/or software. Some of the difficulties arise from inexperience on the part of the customer. Other times, the problems are associated with the customer's equipment. In any event, customers may require detailed, sequential instructions in order to performing various procedures. This is especially true with respect to computer and telecommunications applications. Unfortunately, instructions in these disciplines tend to be long. Moreover, customers will undoubtedly have questions and make mistakes. As a result, a certain amount of hand-holding is necessary, while not frustrating experienced customers or creating excessively long IVR calls.
In one embodiment, the IVR system employs, as a non-limiting example, the Nortel Networks Periphonics Voice Processing Series Information Server VPS/is 2 model. The IVR call management system may use Periphonics Operating System 5.3-1 (or higher version) running on a Sparc workstation available from Sun Microsystems, Inc. The Sparc workstation may be equipped, for example, with Sun Operating System 5.6 (or higher version). Other systems can also be equipped without deviating from the scope and spirit of the present invention.
FIG. 1 is an exemplary flowchart diagram of IVR call processing, according to an aspect of the present invention. At step s2 a call is received and a greeting is presented or played to the caller. At step s4, a main menu is played to the caller, requesting that the caller select from a plurality of choices, e.g., various procedures, one of which the caller wishes to undertake. The number and type of choices that may be used in the main menu is virtually unlimited; however, for the sake of illustration, the caller may be presented with the following three representative menu messages in the main menu: For x procedure, select 1; For y procedure, select 2; For z procedure, select 3. At step s6, the caller makes a selection from the main menu, selecting either 1, 2, or 3 representing procedures x, y, or z, respectively. After the caller makes a selection from the main menu, an overall summary of instructions may immediately be provided that allows the user to determine if they are receiving the correct instructions. Further, it assists the user in determining if they wish to proceed with the current instructions. A decision step (not shown) may be provided that would allow the caller to return to the main menu at step s4 or exit the system and disconnect the call.
Next, the caller is presented with an instruction set comprising a series of sub-instructions (i.e., tasks), e.g., represented by a, b, c, d, e, . . . If procedure x is chosen by the caller, main menu variable “MM” is set to x (i.e., MM=x) and sub-instruction Identification “SI ID” is set to “a” (i.e., SI ID=a), at step s8. The variables MM and SI ID are used by the IVR system to determine which messages to present to the caller. At step s10, sub-instruction “a” is played to the caller. At step s12, MM=x and SI ID=b. Thus, at step s14 sub-instruction “b” is played to the caller. At step s16, MM=x and SI ID=c. As a result, at step s18 sub-instruction “c” is played to the caller. At step s20, MM=x and SI ID=d. Accordingly, at step s22 sub-instruction “d” is played to the caller. Recitation of the sub-instructions proceeds in this fashion until all of the sub-instructions have been presented.
After all of the sub-instructions have been presented and successfully performed, the caller can elect to receive a summary of all of the steps, in order to ensure that all of the steps have been completed. If the user is uncertain about successful completion of any or all of the steps recited in the summary, they would be provided an opportunity to return to any point in the instruction set. Thus, the caller may receive a summary of the instructions before and/or after performing the steps. In FIG. 1, the caller has elected to receive an instruction recap summary. At step s24, an instruction recap is played to the caller. At step s26, the caller may elect to exit the system at step s28 by selecting “1”, or return to the main menu at step s4 by selecting “2”.
FIG. 2 is an exemplary flowchart diagram of sub-instruction call processing. Continuing the flow of FIG. 1, a sub-instruction is presented to the caller at steps s10, s14, s18, s22. Each sub-instruction provides only a small amount of information at a time to callers. That is, the amount of information presented does not exceed the caller's memory and cognitive abilities. In addition, the system automatically pauses after each instruction is provided, in order to allow the caller time to perform the recited task, e.g., reboot the computer.
After the sub-instruction is presented to the caller, the caller may input a dual tone multi frequency (DTMF) command, by pressing a key, at step s30 for various options, based upon prompting by the system. The prompting may be provided prior to any sub-instructions are presented, especially if the sub-instructions are relatively short. Alternatively, the prompting may be included at the end of each sub-instruction. In any event, exemplary prompting may advise the caller to select “0” to pause, select “1” to un-pause, select “2” to repeat the instruction, select “3” to return to the main menu, and select “4” to receive detailed instructions. If the caller selects “0”, the instruction set is paused (step s32) as will be discussed below. If the caller selects “1”, the pause command is canceled (step s34). If the caller selects “2”, the previous instruction is repeated (step s36). If the caller selects “3”, the caller is returned to the main menu at step s4 (step s38). If the caller selects “4”, detailed instructions are presented to the caller as will be discussed below (step s40). If no command is entered by the caller, processing continues at step s42.
At step s42, the caller is queried as to whether the task was completed (e.g., “Done yet?”). The prompt will be repeatedly presented to the caller at predetermined intervals (e.g., every 5 seconds) in a looping fashion, giving the caller sufficient time to perform the task. The repeated prompting serves to keep the caller focused on the particular task. It has been observed that persons performing tasks previously foreign to them are often times overwhelmed and may understandably exhibit anxiety, tentativeness, and confusion. Hence, keeping the caller focused is a key objective. Also, the repeated prompting serves as a reminder of what task to perform in a series of tasks, making certain that a step is not inadvertently omitted. The repeated prompting also includes and serves as a checklist, should the user become distracted during completion of a particular task.
If the “Done yet?” query is presented to the caller for a predetermined number of times (e.g., five times), it may be indication that the caller has encountered a problem. Therefore, in an alternative embodiment, the caller may be redirected to a service representative, for example, if the predetermined number of times condition is satisfied.
If the caller selects “1” at step s44 indicating the task was completed, call processing continues at a correct completion branch (i.e., task correct) as will be discussed below (step s46). If the caller selects “2” at step s44, the sub-instruction is repeated to the caller and the caller remains in a sub-instruction loop (step s48). If the caller selects “3” at step s44, the caller is transferred to the main menu at step s4 (step s50). If the caller selects “4” at step s44, the instruction set is backed up to the previous instruction (step s52). If the caller selects “5” at step s44, the call completion prompt loop continues and the “Done yet?” prompt is repeated (step s54). If the caller selects “6” at step s44, the call is transferred to a service representative, as will be discussed below (step s56).
Referring to an earlier point in FIG. 2, if the caller selects “0” at step s30, processing continues at a pause branch (step s32), as will be discussed with reference to FIG. 3. FIG. 3 is exemplary flowchart diagram of pause branch call processing. The system permits the user to manually pause the instruction set to accommodate unanticipated interruptions, collect one's composure, reflect on the procedure, etc. At step s58, the caller is presented with an un-pause query, asking the caller whether they would like to unpause the instruction set and advising the caller which sub-instruction has been paused. If the caller selects “1” at step s60, processing is un-paused and the caller returns to processing at FIG. 1 (step s30). If the caller selects “2” at step s60, the instruction is repeated (step s36). Complex instructions frequently require multiple presentations to be well understood by the user. This is particularly true with respect to inexperienced persons performing a series of tasks for the first time. As a result, the instructions of the present invention are divided up into smaller bits of information that are manageable, matching human memory capabilities. Notwithstanding this division of information, users may require instructions to be repeated, possibly multiple times. For instance, the caller may become distracted and not hear a task, or merely may not comprehend an exacting task.
If the caller selects “3” at step s60, the pause branch processing continues (step s32) and the caller is prompted at a predetermined intervals (e.g., every 5 seconds) as to whether they would like to unpause the system. As explained, the pause branch processing continues until the caller exits the loop by selecting “1” or “2”.
Referring to FIG. 2, if the caller selects “4” at step s30, processing continues at a detailed instructions branch, as will be discussed with respect to FIG. 4. FIG. 4 is exemplary flowchart diagram of detailed instruction branch call processing. As discussed, since the IVR system is designed for both novice and experience users, certain instructions may require elaboration. Accordingly, optional instructions are provided that present additional, detailed information regarding a particular task. For example, the prompt might recite “Press 1 when you are finished installing the software. If you need more detailed information instructions on how to install the software, press 2”. If the user is experienced in software installation, the user could select “1” and continue with the next task in the sequential instruction set. Conversely, if the user was uncertain of how to install the software, they could select “2”, at which point they would be directed to a sub-instruction set detailing the software installation process. In this case, when the sub-instruction process is complete, the user would return to the next sequential instruction. At step s62, detailed instructions associated with the sub-instruction are presented to the caller. At step s64, the caller is prompted to select “1”, which will return the caller to step s30. If the caller selects “2” at step s64, the detailed instructions are repeated at step s62. If the caller selects “3” at step s64, the detailed instructions are paused (step s68) and the call flow continues at pause branch step s58. If the caller selects “4”, the pause loop is interrupted, the detailed instructions are restarted (step s70), and the user is returned to step s62.
Referring to FIG. 2, if the caller selects “1” at step s44, processing continues at a correct completion branch (step s46), as will be discussed with respect to FIG. 5. FIG. 5 is an exemplary flowchart diagram of correct completion branch call processing. The system does not assume that the user performed the instruction correctly. As a result, at step s72 the caller is prompted with a correct completion query, asking the caller whether the sub-instruction was completed correctly (e.g., “Was the sub-instruction accomplished correctly?”). At step s74, if the caller selects “1”, call processing continues at step s44. If the caller selects “2”, call processing is sent to a troubleshooting branch (step s76). The troubleshooting branch will prompt the caller to choose from a plurality of options in attempt to illicit the nature of the caller's problem. A solution instruction is presented to the caller, based upon the option selected. The caller will remain in a loop until the caller indicates that the problem is resolved, or the caller requests a transfer to a service representative. Once the caller's problem has been resolved, processing will continue with the next sequential instruction. If the caller selects “3”, indicating that correct completion was not achieved, the sub-instruction (step s10, s14, s18, or s22) is repeated.
Rather than, or in addition to, querying the caller after each sub-instruction as to whether the task was performed correctly, the caller may be queried after the entire procedure is completed (e.g., “Was the procedure a success?”). In this case, if the caller selects “1”, the system begins the exiting procedure and the call is disconnected. If the caller selects “2”, call processing is sent to a troubleshooting branch. If the caller selects “3”, the entire set of sub-instructions is re-started, so that the caller may trace all of the steps.
If the caller selects “4” at step s44, the call is backed up. FIG. 6 is an exemplary flowchart diagram of backup branch call processing. Frequently, a user does not realize that an error has been made in a previous step until the user reaches a subsequent step. This is especially the case when a long list of instructions is presented. With written instructions, the user may simply re-read the previous instructions. However, such is not the case with an IVR. Accordingly, the caller is permitted to sequentially move back up the instruction chain, with prompts informing the caller of where they are in the set of instructions. For example, when maneuvering backward, the system advises the user “This step tells you how to install a modem, the previous step tells you how to remove a computer case”, etc. That is, at step s44, the user selected “4” to backup the menu. Accordingly, previously presented sub-instructions (steps s76, s78, s80, . . . ), or summaries thereof, begin playing to the user. The user may then go directly to a sub-instruction by, for example, selecting “#”. Alternatively, a prompt may advise the caller “Now that the software is installed, reboot your computer. If you haven't installed the software yet, press “#” to go back to that step”.
If the caller selects “6” at step s44, the call is transferred to a service representative. FIG. 7 is an exemplary flowchart diagram of service representative branch processing. Sometimes, situations arise that are not covered in the instructions. As a result, a caller may select an option to transfer the call to a live service representative. When the caller selects this option, the system removes the caller from the IVR and transfers them to a service representative. In IVR systems having the capability, a variable representing the caller's location in the IVR instruction set is saved and sent to the service representative at step s82 when the call is transferred. For example, the variable may be populated with “3a”, indicating that the caller was at step 3a in the instruction set before the transfer. As a result, the service representative can, for example, receive the caller's “state” information on a monitor via telephone, or other device. In capable systems, after assisting the caller at step s84, the service representative can transfer the caller back into the IVR at the place where the caller exited the IVR. In this case, the variable “3a” would be passed back to the IVR by the representative at step s86. Optionally, the service representative could send the caller back to the IVR at any place in the instruction flow, by sending a variable of choice, representing a step in the instruction set, to the IVR at step s86.
FIG. 8 is an exemplary flowchart diagram of a call processed in the IVR system, according to an aspect of the present invention. A caller's call is received and a greeting is played to the caller at step s1. At step s3, a main menu is played to the caller. For example, the caller is presented with the following main menu options: “For installing a network card, press 1”; “For installing PPPoE software, press 2”; and For installing a USB modem, press 3”. In this exemplary embodiment, the call flow will be discussed as if the caller elected to install a network card. However, it will be understood, that any of the choices made in the main menu will result in similar sub-instruction processing.
At step s5, the caller selects “1” from the main menu in order to receive instructions on installing a network card. At step s7, sub-instruction “a” is presented to the caller instructing the caller, i.e., “Turn off the computer”. At step s9, sub-instruction “b” is presented to the caller, i.e., “Open the computer case”. At step s11, sub-instruction “c” is presented to the caller, i.e., “Take the PCI slot cover out using a screwdriver”. At step s13, sub-instruction “d” is presented to the caller, i.e., “Insert the card. Push firmly to ensure that it is seated”. At step s15, sub-instruction “d” is presented to the caller, i.e., “Put the cover back on and re-start the computer”. A step (not shown) may be provided giving the caller the option of receiving a recap of the instruction set. In FIG. 8, the caller automatically receives a recap of the instruction set. Accordingly, at step s17, a recap of the instruction set is presented to the caller. At step s19, the exiting process begins and the call is disconnected at step s23.
FIG. 9 is an exemplary flowchart diagram of a sub-instruction routine of a call processed in the IVR system, according to an aspect of the present invention. At step s7, sub-instruction “a” is presented to the caller, i.e. “Turn off the computer”. The IVR system recognizes that caller may take some time to complete the sub-instruction. As a result, the call flow continues in a loop until the caller indicates completion of the sub-instruction That is, the caller will be prompted periodically (e.g., every 5 seconds), as to whether the caller has completed the sub-instruction, i.e., “Is the computer off yet?” (step s23). If the caller selects “1” (step s25), indicating that the computer is turned off, processing continues at sub-instruction “b” (step s9). Otherwise, the loop continues and the caller is prompted once again at step s23.
FIG. 10 is an exemplary flowchart diagram of a sub-instruction routine of a call processed in the IVR system, according to an aspect of the present invention. At step s9, sub-instruction “b” is presented to the caller, i.e, “Open the computer case”. After the sub-instruction is presented to the caller, the caller may select “2” in the sub-instruction sub-menu (step s27) to repeat sub-instruction “b”. The IVR system recognizes that caller may take some time to complete the sub-instruction. As a result, the call flow continues in a loop until the caller indicates completion of the sub-instruction. For example, the caller will be prompted periodically (e.g., every 5 seconds), as to whether they have completed the sub-instruction, i.e., “Is the computer open yet?” (step s29). If the caller selects “1” (step s31) indicating that the computer is open, processing continues at sub-instruction “c” (step s11). Otherwise, the loop continues and the caller is prompted once again as to whether the computer is open (step s29).
FIG. 11 is an exemplary flowchart diagram of a sub-instruction routine of a call processed in the IVR system, according to an aspect of the present invention. At step s11, sub-instruction “c” is presented to the caller, i.e., “Take the PCI slot cover out using a screwdriver”. After the sub-instruction was presented to the caller, the caller selects “4” in the sub-instruction sub-menu (step s33). As a result, the caller is presented with detailed instructions, as will be discussed with respect to FIG. 12.
FIG. 12 is an exemplary flowchart diagram of a detailed instructions sub-routine. At step s35, the caller is presented with detailed instructions regarding removal of a PCI slot. For example, the caller is presented with a prompt as follows: “There may be 3 kinds of slots used in your computer to install new cards. You are looking for the PCI slot. It is usually white in color, and will be the middle size type”. After the announcement, the caller is prompted to select “1” to return to sub-instruction “c” (step s39) or select “2” to repeat the detailed instruction (step s37). Reference will now be made back to FIG. 11, indicating that the caller selected “1”.
The IVR system recognizes that caller may take some time to complete the sub-instruction. As a result, the call flow continues in a loop until the caller indicates completion of the sub-instruction. Referring to FIG. 11, the caller will be prompted periodically (e.g., every 5 seconds), as to whether they have completed the sub-instruction, i.e., “Is the PCI slot cover out yet?” (step s39). If the caller selects “1” (step s41), processing continues at sub-instruction “d” (step s13). Otherwise, the loop continues and the caller is prompted once again at step s39.
FIG. 13 is an exemplary flowchart diagram of a sub-instruction routine of a call processed in the IVR system, according to an aspect of the present invention. At step s13, sub-instruction d is presented to the caller, i.e., “Insert the card. Push firmly to ensure that it is seated”. The IVR system recognizes that caller may take some time to complete the sub-instruction. As a result, the call flow continues in a loop until the caller indicates completion of the sub-instruction. Referring to FIG. 13, the caller will be prompted periodically (e.g., every 5 seconds), as to whether they have completed the sub-instruction, i.e., “Is the card inserted yet?” (step s43). If the caller selects “1” (step s45) indicating that the card is inserted, processing continues at sub-instruction “e” (step s15). Otherwise, the loop continues and the caller is prompted once again at step s43 as to whether the card has been inserted.
FIG. 14 is an exemplary flowchart diagram of a sub-instruction routine of a call processed in the IVR system, according to an aspect of the present invention. At step s15, sub-instruction “e” was presented to the caller, i.e., “Put the cover back on and restart the computer”. The IVR system recognizes that caller may take some time to complete the sub-instruction. As a result, the call flow continues in a loop until the caller indicates completion of the sub-instruction. Referring to FIG. 14, the caller will be prompted periodically (e.g., every 5 seconds), as to whether they have completed the sub-instruction, i.e., “Is the computer restarted yet?” (step s47). If the caller selects “1” (step s49) indicating that the computer has restarted, processing continues at task correct branch. Otherwise, the loop continues and the caller is prompted once again as to whether the computer has restarted (step s47).
FIG. 15 is an exemplary is an exemplary flowchart diagram of a correct completion sub-instruction routine of a call processed in the IVR system, according to an aspect of the present invention. After the caller has performed each sub-instruction, the caller is prompted with a question formulated to ascertain whether the task was completed correctly (step s51). For instance, the caller may be prompted as follows: “Did the computer display a Hardware Found screen?” If the caller selects “1” at step s53, call processing continues with the next sub-instruction, if appropriate. If the caller selects “2”, the caller is directed to a troubleshooting branch (step s55). If the caller selects “3”, the instant sub-instruction is repeated. Alternatively, as discussed previously, the entire set of instructions may be repeated.
As shown, the present IVR system allows a caller to perform a series of sequential tasks based on an instruction set. The caller is queried after each instruction to ensure that the caller has successfully completed all of the steps for that instruction. Additionally, provision is made to automatically pause the instruction set and present reminders to the caller. Further the caller may elect to repeat instructions, back up the instruction set, receive additional details, transfer to a service representative, or receive summary information.
Although the invention has been described with reference to several exemplary embodiments, it is understood that the words that have been used are words of description and illustration, rather than words of limitation. Changes may be made within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the invention in its aspects. Although the invention has been described with reference to particular means, materials and embodiments, the invention is not intended to be limited to the particulars disclosed; rather, the invention extends to all functionally equivalent structures, methods, and uses such as are within the scope of the appended claims. For instance, it should be understood that callers may select menu messages via any means including DTMF input or spoken word. Further, it is to be understood that the specific menu selections discussed herein (e.g., “press 1”) are representational in nature and that any suitable selections may be employed.
In accordance with various embodiments of the present invention, the methods described herein are intended for operation as software programs running on a computer processor. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
It should also be noted that the software implementations of the present invention as described herein are optionally stored on a tangible storage medium, such as: a magnetic medium such as a disk or tape; a magneto-optical or optical medium such as a disk; or a solid state medium such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories. Accordingly, the invention is considered to include a tangible storage medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the invention is not limited to such standards and protocols. Each of the standards, including standards for the IVR system, represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.

## Claims

1. A method of presenting instructions to a user sending an incoming communication to a service center, comprising:
presenting a menu comprising a plurality of procedure descriptors to the user;
presenting to the user, according to a selection of one of the plurality of procedure descriptors by the user, a sequence of instructions which enable completion of a procedure described by the selected procedure descriptor;
transferring the incoming communication at a position in the sequence of instructions to a representative; and
transferring the incoming communication back to the same position in the sequence of instructions.

2. The method according to claim 1,
wherein the instructions each identify a task to be performed by the user that is distinct from interaction with the service center.

3. The method according to claim 2, further comprising:
automatically pausing the sequence of instructions after each instruction for a predetermined amount of time so as to permit the user to perform the task identified in the instruction.

4. The method according to claim 2, further comprising:
querying the user after each instruction as to whether the user has performed the task identified in the instruction.

5. The method according to claim 1,
wherein each instruction is designed such that an amount of information presented in each instruction does not exceed at least one of the user's memory and the user's cognitive ability.

6. The method according to claim 1, further comprising:
classifying the user.

7. The method according to claim 6, further comprising:
providing a plurality of optional instructions based on the classification.

8. The method according to claim 6, further comprising:
presenting a subset of the sequence of instructions based on the classification.

9. A method of presenting instructions to a user sending an incoming communication to a service center, comprising:
presenting a menu including a plurality of procedure descriptors to the user;
presenting to the user, according to a selection of one of the plurality of procedure descriptors by the user, a sequence of instructions which each identify a task to be performed by the user that is distinct from interaction with the service center; and
automatically pausing the sequence of instructions after each instruction for a predetermined amount of time so as to permit the user to perform the task identified in the instruction.

10. The method according to claim 9, further comprising:
transferring the incoming communication at a position in the sequence of instructions to a representative; and
transferring the incoming communication back to the same position in the sequence of instructions.

11. The method according to claim 10, further comprising:
querying the user after each instruction as to whether the user has performed the task identified in the instruction.

12. The method according to claim 11, further comprising:
eliciting a problem encountered by the user based on the user's response to the query.

13. The method according to claim 12, further comprising:
presenting a solution instruction to the user based on the elicited problem.

14. A method of presenting instructions to a user sending an incoming communication to a service center, comprising:
presenting a menu including a plurality of procedure descriptors to the user;
presenting to the user, according to a selection of one of the plurality of procedure descriptors by the user, a sequence of instructions which each identify one of a plurality of tasks, distinct from interaction with the service center, that collectively constitute the procedure and that are to be performed by the user; and
querying the user after each instruction as to whether the user has performed the task identified in the instruction.

15. The method according to claim 14, further comprising:
transferring the incoming communication at a position in the sequence of instructions to a representative; and
transferring the incoming communication back to the same position in the sequence of instructions.

16. The method according to claim 15,
wherein a variable representing the position in the sequence of instructions is sent to the representative.

17. The method according to claim 16,
wherein the variable is sent to the representative using a device distinct from a device that transfers the incoming communication to the representative.

18. The method according to claim 15, further comprising:
repeating at least one of the sequence of instructions based on input from the user.

19. The method according to claim 18, further comprising:
sequentially returning to at least one of the sequence of instructions based on a request from the user.

20. The method according to claim 19, further comprising:
proceeding out of sequence to at least one of the sequence of instructions based on input from the user.