WO2002058371A9 - Automated business form information acquisition system - Google Patents
Automated business form information acquisition systemInfo
- Publication number
- WO2002058371A9 WO2002058371A9 PCT/US2001/043291 US0143291W WO02058371A9 WO 2002058371 A9 WO2002058371 A9 WO 2002058371A9 US 0143291 W US0143291 W US 0143291W WO 02058371 A9 WO02058371 A9 WO 02058371A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- call
- call handler
- party
- application program
- operative
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5166—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/42—Graphical user interfaces
Definitions
- the present invention relates in general to communication systems and components therefor, and is particularly directed to an enhanced computer workstation-associated call handling mechanism (which may be termed a 'Frequently Asked Question Software' (or FAQsoft) -based mechanism) , for use by call handling agents employing a personalized response system (PRS) - based, and Forms-Based (target) software such as Customer Relationship Management (CRM) software in the course of servicing inbound or outbound telephone calls.
- PRS personalized response system
- target Forms-Based
- CRM Customer Relationship Management
- the present invention is operative to automatically trigger actions, such as the automatic playback of one or more pre-recorded PRS phrases or other pre-defined actions at appropriate junctures during a call, in response to the call agent ' s interactions (via mouse or keyboard) with the target software.
- the phrases may include repetitive questions that are directly related to acquiring information from the client (the party calling or being called) for data entry into the software, or transmissions of required information to the client.
- substantially all service facilities that are accessible by a telecommunication link such as but not limited to a phone line, steer incoming calls to a computer workstation that is attended by an individual typically known as a call handler.
- a call handler running on the workstation or an associated server is one or more application programs used by the call handler, call agent, operator and the like (hereafter referred to simply as a call handler) , to process calls in a manner that is efficient and satisfying to the calling party.
- a 'target' application program will typically graphically display an order or business 'form' on the call handler's terminal display.
- the displayed form contains respective information fields, through which the call handler sequentially ' tabs ' and which are filled in by the call handler, based upon answers to a series of questions (such as name, address, phone number, item number, quantity, etc.), which the call handler speaks to the calling party.
- a series of questions such as name, address, phone number, item number, quantity, etc.
- VMSAR voice message storage and retrieval
- Playback may occur automatically, in response to initial signaling information contained in the incoming call, or manually by the operator manually invoking one or more inputs to the playback device . Because the prerecorded voice messages are played back in the voice of the operator, the calling party proceeds through the call in a straightforward and expeditious manner, perceiving that it is always the operator who is speaking.
- VMSAR mechanism works very well for its originally intended usage, and in a limited scope of additional applications, it has been found that as the number of messages and degree of complexity of the operator's responsibilities increase, especially with the use of personal computer-based workstations running multiple windows-type programs, it becomes more difficult for the call handler to remember all the sets of keystrokes which access the various messages. While a list of keystroke combinations could be provided, having the operator look up which keystrokes are to be used would inherently delay the processing of the call. Even if the operator knows or can find what keystroke combination is to be used, there is the possibility of an incorrect or unintended key operation, which may cause either no message or the wrong message to be played back. Realistically, therefore, the call handler cannot be expected to remember and use more than a relatively small number of keystrokes before confusion becomes an inhibiting factor.
- a call handler-interactive mechanism that automatically triggers playback of selected voice messages that have been pre-recorded via a personalized response system- based voice message storage VMSAR mechanism, in response to a call handler performing a prescribed interaction, such as a tab keystroke or mouse click, with one or more elements, such as 'control objects' displayed on a GUI of the call handler's terminal.
- a prescribed interaction such as a tab keystroke or mouse click
- the workstation may be coupled to a private branch exchange (PBX) or switch.
- PBX private branch exchange
- the PBX or switch is also coupled to the VMSAR mechanism through the voice terminal .
- the GUI generated on the workstation display may comprise, for example, a 'windows' type user interface, generated by an underlying call handling application program that may be running on the workstation's computer or on a separate server.
- the GUI typically contains a plurality of fields, buttons, and the like, in which information may be keyboard entered by the call handler, in the course of servicing a call, such as one placed to a catalog order center.
- the '920 invention reduces the workload on the part of the call handler, by integrating with or into the target program software a GUI- associated, event-driven VMSAR mechanism.
- the GUI is continuously monitored for the occurrence of prescribed events - corresponding to the call handler performing a prescribed interaction with a selected control object in the target program.
- GUI interaction may include placement of the display screen cursor arrow anywhere within the perimeter of the control object and a click of the 'left' mouse button, depression of the 'enter' key on the keyboard when a displayed reticle is placed upon a control object, operation of the 'tab' key that moves the cursor from object to object in the GUI, and the like.
- a digital (voice message playback) control message packet is generated, to specify a message number of a selected voice message to be played back by the VMSAR mechanism to the calling party.
- Each personalized voice message is predefined in accordance with the respective control objects of the displayed business form to be completed by the call handler.
- the phrases are brief questions that prompt the calling party to provide information to be entered into a particular field of the GUI.
- a respective control message packet is transmitted to the VMSAR mechanism immediately in response to a desired interaction of the call handler with a GUI control object.
- the control object of interest would be an empty information field, so that the VMSAR mechanism would be immediately triggered to generate the voice message associated with that field.
- the field of interest may already contain alpha-numeric text, such as may be obtained from calling ID capability of the telecommunication service provider, that has allowed the call handler application program to have already preliminarily entered text information in one or more fields prior to the call handler beginning a dialogue with the calling party.
- the call handler may simply confirm the accuracy of the filled-in information with the party. It will then be up to the call handler to either speak to the party, or interactively advance the cursor, for example, to the next empty field, which raises an event that triggers an associated voice message playback from the VMSAR mechanism.
- the '920 invention may also cause the words of that voice message to be displayed in a preselected dialogue/text box within the GUI, to confirm to the call handler that the intended message has been played back to the caller.
- a visual indication of the state of a control object may also be supplied, by means of a label, such a solid color region, placed immediately adjacent to the control object, to indicate the presence of an associated voice message.
- the background e.g., color
- the label may then act as a button to be selectively triggered by the call handler.
- the present invention is directed to an enhanced computer workstation-associated call handling mechanism, that may be readily employed by a call handling agent to automatically trigger actions, such as but not limited to the automatic playback of one or more pre-recorded PRS phrases or other pre-defined actions at appropriate junctures during a call, in response to the call agent ' s interactions (via mouse or keyboard) with a personalized response system (PRS) - based, and Forms-Based (target) software such as Customer Relationship Management (CRM) software in the course of servicing inbound or outbound telephone calls.
- actions such as but not limited to the automatic playback of one or more pre-recorded PRS phrases or other pre-defined actions at appropriate junctures during a call, in response to the call agent ' s interactions (via mouse or keyboard) with a personalized response system (PRS) - based, and Forms-Based (target) software such as Customer Relationship Management (CRM) software in the course of servicing inbound or outbound telephone calls.
- CRM Customer Relationship Management
- GUI Graphical User Interface
- DcontrolsD Graphical User Interface
- Variations in the screen markers represent different types of automated actions that manipulation of the GUI elements will execute.
- the present invention also provides the ability to manually execute pre-defined actions (playback of PRS Phrases and other actions) , as by operating speci ic keys or key combinations (Hotkeys) or mouse-clicking configurable buttons (FAQsoft Buttons) housed within a Windows Appbar application (FAQsoft Deskbar) .
- the invention enables a Call Agent, Supervisor or other administrator to develop Responses (pre-defined single or multiple actions) , associate the Responses to a Hotkey or FAQsoft Button, and trigger Responses using hotkeys or FAQsoft Buttons during the normal progress of a telephone call.
- a fundamental aspect of the present invention is its ability to respond to user interactions with predefined GUI elements (Controls) in an existing Target Application, without having to modify the source code of the Target Software. Instead, hooking and sub-classing techniques made available in WinOS are employed to change the behavior and look of these Target Applications to provide a higher level of automation for Call Agents, without requiring any changes to the Target Application itself.
- the present invention enhances existing software by providing automated playback of pre-recorded phrases; however, this action can be expanded to include any action the computer is capable of executing via the use of scripts .
- Screen Indicators appear on Controls that have been configured for Responses. BRIEF DESCRIPTION OF THE DRAWINGS
- Figure 1 is a block diagram of a computer-based call handler employing the FAQsoft mechanism of the invention
- Figure 2 shows a window programming tool
- Figures 3 and 4 show SUBCLASSING programming tools;
- Figure 5 shows a HOOKING programming tool;
- Figure 6 is a flow chart showing the process of invoking and running the FAQsoft mechanism of the present invention.
- Figure 7 depicts a FAQsoftDs Tray Application icon
- Figure 8 shows a Tray Menu
- Figure 9 shows a Login window
- Figure 10 shows an Appbar Application window
- Figure 11 shows a Phrase Manager window
- Figure 12 shows a Hotkey Manager Window
- Figure 13 is a dialog box displayed by the Hotkey Manager window
- Figure 14 shows a Configure Manager window
- Figure 15 shows an Add Actions Dialog - Readback Contents window
- Figure 16 shows an Add Actions Dialog - Silence window
- Figure 17 shows an Add Actions Dialog - Execute script window
- Figure 18 shows a Phrase/Response List in a Quick Configure Window
- Figure 19 is an Options Dialog window
- Figure 20 shows a User Manager window with a list of users ;
- Figure 21 shows a User Manager window with User Info
- Figure 22 shows a User Manager window with Access Rights
- Figure 23 is a flow chart showing the steps of the Monitor Module process flow
- Figure 24 shows a normal Outlook Contact window before running the FAQsoft routine
- Figure 25 shows an Outlook Contact window after being configured with FAQsoft and with FAQsoft running
- Figure 26 shows the process sequence when FAQsoft is in Configure Mode
- Figure 27 shows a Configure Info Dialog window
- Figure 28 shows a Configure Edit window
- Figure 29 shows an original context menu on a monitored text box
- Figure 30 shows a substituted context menu on a monitored text box.
- the invention resides primarily in the augmentation of the software employed by the call handler's computer workstation, being operative to automatically trigger actions, such as the automatic playback of one or more pre-recorded PRS phrases or other pre-defined actions during a call, in response to the call agent's interactions (such as through a mouse click or keyboard action) with the target software.
- the phrases may include repetitive questions that are directly related to acquiring information from the party calling or being called for data entry into the software, or transmissions of required information to the client .
- Figure 1 shows the main components of the FAQsoft mechanism of the invention. It is comprised of a Personal Computer (PC) 10 running Microsoft Windows Operating System OS (e.g., Win95 and later) , but can also be implemented in similar event-based Graphical User Interface Operating Systems.
- PC Personal Computer
- Microsoft Windows Operating System OS e.g., Win95 and later
- the PC 10 is coupled to conventional input/output devices, such as a display device 22, a pointing device 23, a keyboard 24 and other ports 25.
- the system can include a server 26 to archive files of personalized voice recordings (Audio Files) and to store the FAQsoft database. It is connected to a PRS 21 via a port for data communications, or may be connected to the sound card I/O ports or other ports for voice communication with a telephone system 29.
- the PC 10 is used to run Target Applications typically used in Call Centers for taking orders or collecting information from a client. A user interacts with the Target ApplicationDs Graphical User Interface
- GUI GUI 30 using a keyboard and/or mouse or other input device.
- the GUIs may include several different types of windows .
- Other GUI elements hosted by Top Level Windows are commonly referred to as Controls .
- Controls may include a variety of different windows (e.g., Forms, Labels, Text boxes, Buttons, Check boxes and so on) . All windows - Top Level windows and Controls - have procedures that define their behavior commonly referred to as Windows Procedures. Using the mouse 23 or keyboard 24, the User may interact with Controls and thereby cause the operating system 15 to generate messages (commands) directed at these Controls. The Target Application 14 responds according to its programmed Windows Procedures .
- the FAQsoft mechanism 11 monitors messages sent to these Controls and modifies their behavior by substituting or appending another procedure to the Control's original Windows Procedure. Only Controls in applications that have been explicitly configured for FAQsoft monitoring will exhibit these added functionalities .
- FAQsoft Data for FAQsoft resides in a FAQsoft Database 27, either in the local hard drive 20 or at a server computer 26.
- the database stores information mainly on Control/Response association, Phrases, Hotkeys and Users.
- Information stored for each User includes controls to monitor in the target application, which audio files of recorded phrases to use (only audio files created in that UserDs voice) Audio File directories and that UserDs Hotkeys List, Deskbar settings and User access rights.
- Subclassing is based on the idea of intercepting messages by changing the function that is associated with a window, forcing messages going to a window to first execute the substituted code instead of the function originally assigned to a window. This provides the option of calling the original window function, if desired.
- Subclassing can only handle one window at a time, so that it is necessary to individually subclass each window to be monitored. This is actually desirable for applications, such as FAQsoft, so that only messages of concern are received and only from controls of concern. This translates to less impact on overall system performance .
- FIG. 5 shows the WinOS message flow and some possible hook placements .
- a mouse hook WH_MOUSE is selectively placed to intercept a mouse message to a system message queue.
- a keyboard hook WH_KEYBOARD is selectively place to intercept a keyboard message to the system message queue.
- Figure 5 also shows a WH_GETMESSAGE hook placed to intercept a message transmitted from a threads message queue to the window function.
- FIG 6 is a flow chart showing the process of invoking and running the FAQsoft mechanism of the present invention.
- FAQsoft is designed to run silently as a background process and will auto start when the computer is booted up.
- FAQsoft When FAQsoft is first started at step 100, it installs an icon into the system tray at step 110.
- System tray icons are icons that reside at the bottom right area of the desktop. They are usually reserved to represent applications that run in the background.
- Figure 7 depicts the FAQsoftDs Tray Application icon Dwhite Quotes on RedD in the system tray after it is installed by this step.
- the Tray Menu is installed (FAQsofts menu system shown in Figure 8) to provide access to other modules and areas in the FAQsoft routine.
- This hierarchical menu is activated when the user right clicks on the tray icon.
- the Login Dialog is shown in Figure 9.
- the FAQsoft routine first gets the User List from the database and the name of the last user from Windows Registry 28.
- the Windows Registry is a specialized memory area reserved by WinOS for persisting values _ for application settings.
- a Login Dialog with a dropdown list of valid users with the last User Name showing in the Login field of the Dialog is then presented in step 310.
- step 140 To operate FAQsoft, there must always be a valid user logged in (step 140) , since it needs to play back personalized voice recordings to the phone system, and therefore must know and prepare the current userDs audio files.
- the current user name is saved in Windows Registry in step 150, and the user's specific information (User Profile) is retrieved and loaded in step 160.
- the User Profile consists of all information required to customize the FAQsoft program for that user. It includes values from the , Windows Registry, such as settings for the Deskbar, location of the database and user's pre-recorded voice files and data from the FAQsoft database. This includes Configure Records, Phrase Records and Hotkeys Records necessary for execution of the FAQsoft routine.
- the Configure Records include information that associates Controls with one or more actions to execute (a Response) .
- the Phrase Records define phrases to be recorded or otherwise used by each Call Agent, and contain phrase name, phrase description and file location for each phrase.
- the Hotkey records relate each Hotkey combination with a Response.
- step 170 the FAQsoft Deskbar application is started and displayed as per settings from the Registry shown in Figure 10. It contains Soft Buttons that are associated with pre-built Responses and a text area that displays the Response text from the Configure Record.
- the FAQsoft program will retrieve them from the Server or have the user record them first before continuing in step 180.
- the Phrase Manager shown in Figure 11 will be presented if listed phrases have not been recorded.
- the Phrase Manager provides all necessary tools including a Sound Editor to facilitate recording and editing of phrases.
- the Monitor Module 13 is then loaded in step 190. As FAQsoft ' s monitoring engine this makes it possible to change the behavior and appearance of selected Controls within the Target Application.
- the Monitor Module 13 is implemented as an ActiveX Server that runs as a faceless application in the background. It communicates with the FAQsoft ' s Tray Application via event messages. This module will be discussed in detailed below.
- the Monitor Module 13 raises events in step 200 that are consumed by the FAQsoft Tray Application. These events become commands containing Responses for the FAQsoft Tray Application to execute.
- the FAQsoft Tray Application parses each Response in step 210, to determine the discrete actions required, and then executes each action sequentially until all actions contained in the Response have been executed.
- Valid actions supported by the current embodiment of FAQsoft include :
- step 240 Silence (step 240), e.g., Silence: 1000) then pause for specified time (number of milliseconds) (step 250) and continue to parse action list .
- action Readback (step 26), e.g., Readback:D445-4564B) then proceed to process the text to Readback (step 270) , if recordings exist for the alpha numeric phrases .
- Action Execute (step 280), e.g., Execute: ToggleDeskbar, then Execute predefined script or function specified (step 290) and continue to parse action list.
- the user may access other modules in FAQsoft using the Tray Menu of the FAQsoft Tray Application. Selecting a menu item will start its corresponding module or component .
- Steps 300 - 480 of the routine list the more significant menu items as follows:
- - Login step 300 loads the Login Module (step 310) that displays the Login Dialog to change user.
- - Phrase Manager step 320 loads the Phrase Manager Module (step 330) that displays the Phrase Manager Window, shown in Figure 11.
- the Phrase Manager has three main functions:
- the Hotkeys Manager step 340 loads the Hotkeys Manager Window shown in Figure 12.
- the user can drag and drop Response Items from the Configure Manager into this window.
- the Hotkey Manager will display a dialog as shown in Figure 13 to allow the user to designate a unique key combination that will be used to trigger the playback of a phrase or execution or a Response.
- the Allow Default Action checkbox will permit pre-existing hotkeys in other applications to be executed concurrently. Double-clicking a Hotkey item shows the Hotkey dialog for further edits. When the save button is click, FAQsoft persists the new Hotkey item and registers the Hotkey.
- the Configure Manager step 360 loads the Configure module (step 370) .
- this module displays the Configure Manager window shown in Figure 14 , which serves the following functions:
- This mode of operation allows the selection of controls in the Target Application by using a drag and drop action from either a Phrase item or a Response item for the purpose of associating that control with the dragged item;
- a Response Record may contain:
- Concatenated phrases (a series of phrases) by dragging and dropping phrases items from the Phrase List to the Action List area;
- Add Actions Dialog - Readback Contents Figure 15 Reads back alpha numerically the text contents of the currently selected control or from another control .
- Dialog - Execute script Figure 17 Select a script to execute from a list of pre-built scripts .
- the Quick Configure step 380 displays the Quick
- Configure Window (step 390), shown in Figure 18. This window lists the combination of Phrase items and Response items and takes up relatively little display screen area.
- the Options step 400 calls the Options Dialog shown in Figure 19 that has different tabs to define settings for the following:
- the Users step 420 calls the Users module (step 430) , which loads the user table from the FAQsoft Database and displays the User Manager Window shown in Figures 20-22.
- the user database stores registered users of the FAQsoft system and maintains the applications and phrases that each user is setup to use with the FAQsoft routine. It also stores the Security Rights for access to different parts of the FAQsoft routine.
- the Exit step 440 saves all settings to Windows Registry (step 450) , unloads instances of all modules including the Monitor component (step 460) and removes the system tray icon (step 470) .
- the FAQsoft routine completes all necessary cleanup before quitting the tray application (step 480) .
- Figure 23 shows the Monitor Module process flow.
- step 500 the Monitor component updates that users lookup tables 13 in memory consisting of Configure Records and Hotkey Records from the database 27.
- a specific user's Configure Records and Hotkey Records are known as the Configure List and Hotkey List .
- Each Configure Record consist of the following fields :
- Control's window handle that is dynamically updated when a control is initially found in an active Top Level Window.
- Control Name a name for a configured Control created by FAQsoft when possible by extracting text from the control or the Control ' s closest label .
- Static Information a collection of inherent attributes about a control that uniquely identifies it. (A detailed description is presented below.)
- Event the user action to monitor.
- Response one or more actions to execute.
- Response Description A textual description of the response. This usually contains the actual script that the User is to record. This is displayed in the Deskbar when the response is executed.
- the Hotkeys List also associates each defined hotkey combination in the list with a corresponding Response to execute. It contains the following fields: Keycode : the numerical value of the key combination. KeyCombo: the textual representation of the hotkey (e.g. , Ctrl+Fl) .
- Response one or more actions to execute.
- Response Description A textual description of the response. It usually contains the actual script that the User is to record. This is displayed in the Deskbar when the response is executed.
- hooks are installed (step 510) which trap Windows messages sent to these applications. These hooks are implemented as a Windows dll (DDynamic Link LibraryD) file 12; two separate system wide hooks are installed using the SetWindowsHookEx function call.
- the Message Hook installed monitors only the WM_ACTIVATE message, in order to monitor focus changes occurring in Top Level Windows only.
- the Keyboard Hook is installed to implement the Hotkey function. Hotkey combinations found in the Hotkeys List are then registered in step 520.
- the Keyboard Hook installed traps all registered hotkey messages.
- the FAQsoft mechanism is informed whenever the user changes the active Top Level Window.
- FAQsoft enumerates the Controls contained within the active Top Level Window (step 570) using Win32 API call EnumChildWindows . It tries to match items in the Configure List with Controls that exist within the currently active Top Level Window (step 580) . If a match is found, that Control is subclassed (step 590) , the hwnd field of the matching items in the Configure List (Configure Items) is updated with the controlDs window handle (hwnd) (step 600) . User interaction with that control is monitored once it has been subclassed.
- Control Static Information This key is made up of information that remains static between multiple instances of the same Control and is generated in a similar manner as the Spy++ program found in MicrosoftD Visual Studio toolset. It includes the ControlDs Application Name, Class Name, Class ID, Parent Name, Parent ID, Location and a few other specific characteristics of the control obtainable via Win32 API calls that require the window handle (hwnd) value of a control.
- a Control's Static Information does not include the hwnd of the Control because this value will be different every time the Target Application creates that control .
- the FAQsoft routine will use the button name and postfix the control type to the name and the value Dsave_btnD will be stored as the Control Name in the Configure Record.
- the FAQsoft routine will recognize this as an editable text control and proceed to locate the Label for that field and store Djob Title_txtO as the Control Name value in its Configure Record.
- the Configure Record's Control Name field is used as a key principally in search operations called by the User.
- the FAQsoft routine updates the Configure List 13 with the current window handles after subclassing these controls so that subsequent searches will use the hwnd value instead of Static Information value. This is desirable since FAQsoft has to build the Static Information for each control before it can perform a search operation, making Static Information based searches a more expensive process. Search operations using the hwnd value are possible, since window handles are guaranteed to be unique by WinOS for the life of the Control.
- subclassing is a well known programming tool that is used to monitor and modify the behavior of Controls and is similar to hooking. However, subclassing is less intrusive and is targeted only at individual Windows or Controls.
- the hwnd (window handle) of each Control must be known before it can be subclassed.
- the FAQsoft routine's subclassed Controls only monitor messages supported in the Events field of the Configure List. It traps the messages listed below to detect the following user actions. It should be observed that other messages may be added to expand the system's monitoring capabilities.
- WM_SETFOCUS user has either tabbed into or clicked on the control .
- WM_KILLFOCUS user has tabbed out of or clicked on another control .
- WM_PAINT control requires redrawing of screen indicators .
- WM_ERASEBKGND control requires redrawing of screen indicators .
- WM_LBUTTONDBLCLK Left button double click.
- the FAQsoft routine will be aware of user interactions with that control. For example a tab into an edit box will cause the edit box to receive focus. WinOS sends a WM__SETFOCUS message to the edit box which is intercepted (via subclass mechanism) and recognized by FAQsoft as one of the monitored message
- the FAQsoft routine compares the editboxDs hwnd with hwnds in the Configure List (step 620) .
- Event parameter is compared to determine a valid match and raises an event (command) for the Tray Application to consume (step 640) as illustrated by the following pseudo-code example:
- the Tray Application (step 650) executes the
- WM_DESTROYmessage When a WM_DESTROYmessage is received (step 622) , it means that the Control is being closed by the Target Application and the subclass for that control must be removed. FAQsoft removes the subclass as the destroy message is received from each Control (step 660) and resets the hwnd value to zero for related Configure items in the Configure List.
- the WM_PAINT or WM_ERASE message is received (step 623), whenever repainting is require for that control.
- the FAQsoft routine will draw screen markers on the control in step 670 to indicate to the user actions that will cause the FAQsoft routine to respond (additional behavior for that Control) .
- red geometrical shapes painted on different locations on the control may be used to indicate the different events to which the Control has been configured to respond.
- the following table lists the shape and events relationship:
- Figure 24 shows a normal Outlook Contact window before running the FAQsoft routine and Figure 25 shows the same window after being configured with FAQsoft and with FAQsoft running.
- the screen indicators provide a visual cue for the Call Agent to anticipate certain behavior when he or she interacts with FAQsoftOs enhanced Controls in the Target application.
- Hotkeys are registered, so that the keyboard hook will receive an indication (message) in step 530, when a registered key combination is depressed.
- the key code value is compared to Keycodes in the Hotkeys List in memory (step 540) .
- an event is raised (step 640) and the associated Response is sent to the Tray Application for execution.
- the Monitor Module When the Monitor Module receives an Exit message from the Tray Application (step 680) , it goes through a clean up process (step 681) . It un-register all hotkeys, unsubclass any controls that may be still be subclassed and removes any hooks before exiting (step 682) .
- the FAQsoft routine operates in Configure Mode (Design Mode) whenever the Configure Manager ( Figure 14 or Quick Configure Figure 18) window is displayed.
- Configure Mode is a state in FAQsoft where selecting and associating Response records to Controls is conducted.
- Figure 26 shows the process sequence when FAQsoft is in Configure Mode.
- step 810 When Configure Mode is enabled in step 810, the user is able to click and drag Phrase and Response items from their respective lists and drop them onto Controls in
- Phrase items dropped on controls automatically generates a Response Record with the value Dplay: ⁇ PhraseName> .
- a MouseDown event (step 820) on the List (grid Control) that host these items ( Figures Figure 14 and Figure 18) triggers a SetCapture API call (step 830) , which causes the mouse pointer to be tracked across the screen (step 831) .
- a timer is used to periodically call GetWindowFromPoint ( ) to get the window handle (hwnd) of the Control below the mouse pointer (step 832) and highlight the Control under the mouse.
- the control ' s bounding rectangle is obtained with a call to GetWindowRect ( ) once the hwnd is found and a yellow border drawn ( Figure 18) on this rectangle (step 833) to indicate to the user the currently selected control (highlighted control) .
- the mouse pointer moves over to another Control, the framed yellow rectangle is erased from the old Control and drawn over the new control. The process continues until the user releases the mouse button. When the user releases the mouse button, it generates a MouseUp event (step 840) .
- the FAQsoft routine then erases the highlighted rectangle in step 850, and calls ReleaseCapture ( ) in step 851, to stop mouse pointer tracking.
- the control's Static Information is obtained in step 852, and matched against the same Configure List in Monitor module (step 853) . If the selected control already exist (screen indicator present) in the Configure List, then all Configure Items associated with that control are recalled (step 870) . These items are then displayed in step 880, together with a newly created Configure Item (step 871) to reflect the latest addition in the Configure Info Dialog window ( Figure 27) .
- the FAQsoft routine examines the Event and Condition values of the existing Configure items to try and select the next most logical Event/Condition combination for the newly created Configure Item.
- Each control can only accept unique Event/Condition combined values. For example, if a control is already configured with the following record:
- the FAQsoft routine will automatically fill the Condition and Event fields with the following values for the new Configure
- ControlName CreditCard #_txt --> CreditCard #_txt
- the FAQsoft routine assumes the user will want to have the second Response item triggered when the user leaves the CreditCard field (OnLeave) , and only when there is some value typed into that field (Empty) .
- the user may change these values by either double-clicking on the item or selecting an item and clicking on the Edit button (step 881) , which opens the Configure Edit window ( Figure 28) .
- the FAQsoft routine allows the Event and Condition values to be changed, as long each item's Event and Condition combined value remains unique for each Control.
- the FAQsoft routine uses the Monitor module to help make it aware of Controls already configured within Target Applications.
- the Controls context menu is substituted with one supplied by the FAQsoft routine.
- Figure 29 shows the original context menu and Figure 30 shows the substituted one.
- the Monitor receives a WM_RBUTTONUP message while in Configure Mode, it raises the ShowContextMenu event (step 891) , to inform the Tray Application and does not let that message go to the intended Control .
- the FAQsoft routine replaces it with its own Context Menu and displays it (step 892) at the position where the click occurred.
- the replaced context menu contains only two items, Clear All and Edit.
- step 893 When the user selects Clear All menu item (step 893) , all Configure items related to the clicked control will be removed from the Configure List (step 895) .
- the Database is updated and the ControlDs subclassed (step 896) is removed.
- the FAQsoft routine loads the Controls Configure items and displays them in the Configure Info Dialog shown in Figure 27.
- the FAQsoft mechanism of the present invention avoids having to modify the source code of the target software.
- This enables the invention to provide a higher level of automation for call agents, without requiring any changes to the target application itself.
- the invention may be readily employed by a call handling agent to automatically trigger various call handler actions, including automatic playback of pre- recorded personal response type phrases or other predefined actions at various instances during a call, in response to the call agent's interactions (such as via a mouse or keyboard) with a personalized response system- based, and forms-based software in the course of servicing telephone calls.
Abstract
Description
Claims
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25203300P | 2000-11-20 | 2000-11-20 | |
US60/252,033 | 2000-11-20 | ||
US09/990,871 US7400718B2 (en) | 2000-08-24 | 2001-11-16 | Automated business form information aquisition system |
US09/990,871 | 2001-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002058371A1 WO2002058371A1 (en) | 2002-07-25 |
WO2002058371A9 true WO2002058371A9 (en) | 2003-05-01 |
Family
ID=26941985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/043291 WO2002058371A1 (en) | 2000-11-20 | 2001-11-20 | Automated business form information acquisition system |
Country Status (2)
Country | Link |
---|---|
US (1) | US7400718B2 (en) |
WO (1) | WO2002058371A1 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587484B1 (en) * | 2001-10-18 | 2009-09-08 | Microsoft Corporation | Method and system for tracking client software use |
US8020096B2 (en) | 2003-06-24 | 2011-09-13 | International Business Machines Corporation | Method and system for providing integrated hot key configuration |
US8831950B2 (en) * | 2008-04-07 | 2014-09-09 | Nuance Communications, Inc. | Automated voice enablement of a web page |
US8543404B2 (en) * | 2008-04-07 | 2013-09-24 | Nuance Communications, Inc. | Proactive completion of input fields for automated voice enablement of a web page |
US9047869B2 (en) * | 2008-04-07 | 2015-06-02 | Nuance Communications, Inc. | Free form input field support for automated voice enablement of a web page |
US20090265022A1 (en) * | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Playback of multimedia during multi-way communications |
US8917862B2 (en) * | 2008-06-30 | 2014-12-23 | Verizon Patent And Licensing Inc. | Automated response system tuning |
US8219922B2 (en) * | 2008-12-30 | 2012-07-10 | International Business Machines Corporation | Dynamic point and extend user interface |
US8761379B2 (en) * | 2009-06-05 | 2014-06-24 | Radish Systems, Llc | System and method for establishing voice and data connection |
US8775514B2 (en) * | 2009-06-11 | 2014-07-08 | Verizon Patent And Licensing Inc. | System and method for providing instant communication based customer support services using voice recognition |
US8463696B2 (en) * | 2011-09-08 | 2013-06-11 | Precision Trading Ip, Llc | System and method for managing executable functions within a trading system |
US20130282844A1 (en) | 2012-04-23 | 2013-10-24 | Contact Solutions LLC | Apparatus and methods for multi-mode asynchronous communication |
US9635067B2 (en) | 2012-04-23 | 2017-04-25 | Verint Americas Inc. | Tracing and asynchronous communication network and routing method |
BR112016017972B1 (en) | 2014-02-06 | 2022-08-30 | Contact Solutions LLC | METHOD FOR MODIFICATION OF COMMUNICATION FLOW |
US9166881B1 (en) | 2014-12-31 | 2015-10-20 | Contact Solutions LLC | Methods and apparatus for adaptive bandwidth-based communication management |
WO2017024248A1 (en) | 2015-08-06 | 2017-02-09 | Contact Solutions LLC | Tracing and asynchronous communication network and routing method |
US10063647B2 (en) | 2015-12-31 | 2018-08-28 | Verint Americas Inc. | Systems, apparatuses, and methods for intelligent network communication and engagement |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE35758E (en) * | 1988-10-06 | 1998-03-31 | Golden Enterprises, Inc. | Voice/data-formatted telephone information storage and retrieval system |
US4918322A (en) * | 1988-10-06 | 1990-04-17 | Golden Enterprises | Voice/data-formatted telephone information storage and retrieval system |
US5309505A (en) * | 1991-05-20 | 1994-05-03 | Inventions, Inc. | Automated voice system for improving agent efficiency and improving service to parties on hold |
US5283731A (en) * | 1992-01-19 | 1994-02-01 | Ec Corporation | Computer-based classified ad system and method |
US5774887A (en) * | 1992-11-18 | 1998-06-30 | U S West Advanced Technologies, Inc. | Customer service electronic form generating system |
AU677393B2 (en) * | 1993-07-08 | 1997-04-24 | E-Talk Corporation | Method and system for transferring calls and call-related data between a plurality of call centres |
US5546452A (en) * | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
US5903269A (en) | 1995-10-10 | 1999-05-11 | Anysoft Ltd. | Apparatus for and method of acquiring processing and routing data contained in a GUI window |
US6222542B1 (en) | 1995-10-10 | 2001-04-24 | Anysoft, Ltd | Apparatus for and method of acquiring, processing and routing data contained in a GUI window |
US5889518A (en) | 1995-10-10 | 1999-03-30 | Anysoft Ltd. | Apparatus for and method of acquiring, processing and routing data contained in a GUI window |
US5812638A (en) * | 1996-03-08 | 1998-09-22 | U S West, Inc. | Telephone operator mid-call queuing interval system and associated method |
US5946386A (en) * | 1996-03-11 | 1999-08-31 | Xantel Corporation | Call management system with call control from user workstation computers |
US5913195A (en) * | 1996-12-27 | 1999-06-15 | Intervoice Limited Partnership | System and method for developing VRU voice dialogue |
US6216111B1 (en) * | 1997-03-19 | 2001-04-10 | Walker Digital, Llc | System and method for telemarketing presentations |
US6606373B1 (en) * | 1997-12-31 | 2003-08-12 | Weblink Wireless, Inc. | Controller for use with communications systems for generating a condensed text message index |
US7016485B2 (en) * | 1998-08-03 | 2006-03-21 | Genesys Telecommunications Laboratories, Inc. | Emergency call load management for call centers |
US6442247B1 (en) * | 2000-03-29 | 2002-08-27 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for recording and automated playback of personal agent greetings in a communication-center environment |
-
2001
- 2001-11-16 US US09/990,871 patent/US7400718B2/en not_active Expired - Fee Related
- 2001-11-20 WO PCT/US2001/043291 patent/WO2002058371A1/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2002058371A1 (en) | 2002-07-25 |
US20020090062A1 (en) | 2002-07-11 |
US7400718B2 (en) | 2008-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6100891A (en) | Call center agent interface and development tool | |
US7400718B2 (en) | Automated business form information aquisition system | |
CA2253552C (en) | Seamless application interface manager | |
US5555364A (en) | Windowed computer display | |
US6243092B1 (en) | Transaction flow editing tool | |
US6225998B1 (en) | Visual design of workflows for transaction processing | |
JP2662157B2 (en) | Host access table construction method and data processing subsystem | |
US5621789A (en) | Method and system for integrating a plurality of call center agent performance enhancement modules | |
US5617526A (en) | Operating system provided notification area for displaying visual notifications from application programs | |
US5946377A (en) | Script-based DTMF information retrieval system | |
US5572731A (en) | Sequentially navigated object oriented computer system | |
US5065309A (en) | Personal computer note-taking facility | |
EP0535270A1 (en) | Operations monitoring system | |
US6215489B1 (en) | Service creation environment (Meta Model Editor) | |
JPH07146798A (en) | Method for automatically transmitting selected data in data processing system to one of plurality of applications in system thereof | |
JP2007199819A (en) | Message display control program and message display control device | |
CA2176177A1 (en) | Method for consolidation of multiple data sources | |
JPH02266643A (en) | Sound-related application executing device and method, and application creating method | |
US6335745B1 (en) | Method and system for invoking a function of a graphical object in a graphical user interface | |
EP2068542B1 (en) | Method and system for providing a user interface to a call center agent which guides him through the conversation with a caller | |
US6061512A (en) | Methods and apparatus for creating automated servers for display telephones | |
US20030139932A1 (en) | Control apparatus | |
US6642942B1 (en) | Method and system for configuring among call processing applications in a call processing system | |
CN106155768A (en) | Split screen runs the method and device of application | |
US6421068B1 (en) | Method for collecting and displaying information for activex controls simplifying CTI enabled application development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
COP | Corrected version of pamphlet |
Free format text: PAGES 1/14-14/14, DRAWINGS, REPLACED BY NEW PAGES 1/14-14/14; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |