Abstract:
Systems and methods for identifying related contacts in a contact center are provided. In particular, contacts that are initiated by an agent or other resource after an earlier contact has been placed on hold or while the agent or resource is in an after-contact work state are determined to be associated with the earlier contact. Accordingly, associations within contacts can be identified and recorded. Furthermore, the identification of associations between contacts can be performed without requiring explicit recognition of relationships between the content of different contacts, and without relying on an agent to make accurate reports regarding relationships between contacts.

Description:
FIELD OF THE INVENTION 
     The present invention relates to the association of contacts handled by a resource. 
     BACKGROUND 
     Various systems have been developed to allocate work among resources or agents associated with an enterprise. For example, automatic call distribution systems are available that are capable of distributing calls or other contacts to call or contact handling agents according to some predefined criteria. Enterprises would like to know the costs associated with serving and selling to their customers using contact handling agents. They also would like to know not just how their contact center agents spend their time, but what they are working on and who they are serving when they do that work. In addition, in order to meet service level targets, it is important that agents occupy themselves with work-related contacts or aftercontact work as fully as reasonably possible. Accordingly, it is desirable to account for how agents spend their time and for whom. 
     In this regard, it has been impractical or impossible for contact distribution systems to associate related contacts. Instead, contact distribution systems have been able to collect information about incoming contacts only, as the customer or other person initiating the contact will typically dial a number or sequence of numbers, or otherwise address their contact such that information regarding the nature of and/or reason for the contact can be determined. However, there has been no way to efficiently or accurately determine whether contacts initiated by an agent are associated with work-related contacts, or are not work-related. In particular, systems that have attempted to track contacts initiated by the agent that are available or that have been proposed depend on the agent to accurately enter information, or on complex speech recognition systems. Furthermore, although systems have had at least a limited capability to record agent contacts and allow later analysis of those contacts, interrelations between contacts are not shown by such systems. 
     SUMMARY 
     The present invention is directed to solving these and other problems and disadvantages of the prior art. According to embodiments of the present invention, each incoming contact received at a contact center and assigned to a resource for handling can be associated with later contacts initiated by the resource using proximity. In particular, when the next system action performed by a resource after placing a contact on hold or after terminating a contact and entering an after-contact work state comprises a contact initiated by the resource, the resource-initiated contact is associated with the previous incoming contact. This information is recorded to allow for the generation of reports that can indicate to a supervisor, administrator or other reviewing entity that the incoming call and the resource-initiated contact are related to one another. Accordingly, the time spent on a single matter can be more accurately tracked and accounted for. 
     In accordance with at least some embodiments of the present invention, an adjunct to a contact center is provided for determining whether contacts are related to one another and for recording information concerning determined relations. More particularly, the adjunct, hereinafter referred to herein as a related contact identification server, may execute an application comprising an algorithm for determining whether a set of contacts are related and whether information indicating that the set of contacts are related should be recorded. The application generally assumes that a contact initiated by a resource while a contact earlier received by that resource has been placed in a particular state is related to the earlier contact. Accordingly, the algorithm may be considered heuristic, in that it operates by assuming a relationship between such contacts. In accordance with further embodiments of the present invention, the received contact must be placed on hold or in an after-contact work state (also referred to as wrap-up state) in order for it to be associated with one or more contacts later initiated by the resource. 
     Accordingly, embodiments of the present invention relate two contacts together in a parent-child relationship by recognizing the parent as the last contact put on hold or the last contact terminated before an agent entered an after-contact work state before a new contact is initiated by the agent or party putting the parent on hold. The second contact is referred to as the child. A parent can have multiple children and a child can have multiple parents in the case where two contacts are merged, such as a meet-me conference. The algorithm is also recursive so that a child of a child has a parent who is the original contact. This information is stored with other information about the contact, such as who the parties are, when it took place, etc. In addition, a customer designation or other identifier can be attached to a party external to the contact center with respect to all contacts related via the parent-child relationship. In accordance with still other embodiments of the present invention, contacts are linked across media. For example, an agent working on an email can suspend the work to make a voice call to another agent. In this case, the email becomes the parent to the related voice call (the child). 
     These and other advantages and features of the present invention will become more apparent from the following description of illustrative embodiments of the invention, taken together with the drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a communication arrangement incorporating a contact center in accordance with embodiments of the present invention; 
         FIG. 2  is a block diagram of a related contact identification server in accordance with embodiments of the present invention; and 
         FIG. 3  is a flow diagram illustrating a process for associating contacts in accordance with embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a block diagram of an illustrative contact center  100  such as may be used in accordance with embodiments of the present invention. The contact center  100  generally includes an automatic contact (or call) distribution system (ACD)  104  interconnected to a plurality of agent positions or workstations  108 . The ACD system  104  is illustratively the MultiVantage™ Enterprise Communications System based ACD system available from Avaya Inc. Each agent workstation  108  includes a voice and/or data terminal for use by a corresponding agent in handling contacts. In addition to the agent workstations  108 , one or more administrator workstations  110  may be included in or associated with the contact center  100 . The agent workstations  108  and administrator workstations  110  may be connected to the ACD system  104  by a voice and/or data transmission medium or network  112 . Also connected to the ACD system  104  is a related contact identification system or server  116  that serves as an adjunct to the ACD system  104  and that monitors contacts and determines whether a set of contacts are related to one another, as described herein. The related contact identification system  116  also gathers contact records and information concerning determined relations for recording or storage in a contact information database  120 . 
     The ACD system  104  generally functions to connect agent workstations to communication devices or endpoints  124 , also referred to herein as external communication endpoints  124 , through a communication network  128 . Examples of external communication endpoints  124  include voice telephony devices, such as plain old telephone system (POTS) telephones and Internet protocol (IP) telephones. Other examples of external communication endpoints  124  include video phones and devices capable of supporting textual communications, such as email, instant messaging or text messaging communications. 
     The communication network  128  may comprise one or more networks of one or more types. For example, the communication network  128  may comprise the public switched telephony network (PSTN), and/or an Internet protocol network, such as the Internet. 
       FIG. 2  is a block diagram depicting a related contact identification system or server  116  in accordance with embodiments of the present invention. The components may include a processor  204  capable of executing program instructions. Accordingly, the processor  204  may include any general purpose programmable processor or controller for executing application programming. Alternatively, the processor may comprise a specially configured application-specific integrated circuit (ASIC). The processor  204  generally functions to run programming code implementing various functions performed by the related contact identification server  116 . For example, such functions may include the identification of related contacts and the recording and/or reporting of related contacts associated with a contact center  100 . 
     A related contact identification server  116  may additionally include memory  208  for use in connection with the execution of programming by the processor  204 , and for the temporary or long term storage of data or program instructions. For example, the memory  208  may be used in connection with the operation of a related contact identification application. The memory  208  may comprise solid state memory resident, removable or remote in nature, such as DRAM and SDRAM. Where the processor  204  comprises a controller, the memory  208  may be integral to the processor  204 . 
     In addition, various user input devices  212  and user output devices  216  may be provided. Examples of input devices  212  include a microphone, keyboard, numeric keypad, scanner and pointing device combined with a screen or other position encoder. Examples of user output devices  216  include a speaker, alphanumeric display, ringer, printer port, compact flash or other removable memory port, and a printer. In general, user input  212  and user output devices  216  are used by an administrator or manager to configure the related contact identification server  116 . Although the user inputs  212  and outputs  216  are shown as being directly connected to the related contact identification server  116 , it should be appreciated that an administrator or manager may alternatively or additionally access the related contact identification server  116  remotely, for example through an agent workstation  108  or through an administrator workstation  110 . 
     A related contact identification server  116  may also include data storage  220  for the storage of application programming and/or data. For example, operating system software  224  may be stored in the data storage  220 . The related contact identification server  116  also generally includes a related contact identification application  228  stored in the data storage  220 . The related contact identification application  228  generally provides the instructions that are executed in order to identify related contacts and to provide information related to those contacts to the contact information database  120 , or to otherwise create a record of related contacts. Furthermore, although embodiments of the present invention implement a related contact identification algorithm described herein through execution of programming code provided as part of a related contact identification application  228 , other embodiments may execute instructions that are stored as firmware or that is encoded in logic circuits in order to implement the related contact identification algorithm. 
     A related contact identification server  116  in accordance with embodiments of the present invention may also include one or more communication network interfaces  232 . Examples of communication network interfaces  232  include a packet data network interface such as a wired or wireless Ethernet interface, or a Fibre channel interface. For example, the related contact identification server  116  may be interconnected to the ACD system  104  by an Ethernet or other IP connection. As a further example, the related contact identification server  116  may be interconnected to the contact information database  120  by a Fibre channel interface. A related contact identification server  116  may additionally include a communication bus  236  to allow communications between the various components of the device. 
       FIG. 3  is a flow chart illustrating aspects of the operation of a contact center  100  incorporating a related contact identification system or server  116  or other system, implementing or running a related contact identification algorithm, such as a related contact identification application  228 , as described herein. Initially, the related contact identification application is activated to monitor activity on at least one workstation  108  associated with the contact center  100  (step  300 ). Activation may comprise enabling or running the related contact identification application for all or a selected subset of the agents associated with the contact center by selecting all or some of the agent workstations  108  included in the contact center  100 . In order to simplify the description, it will be assumed that a single agent workstation  108  has been selected for monitoring for related contacts. However, it should be appreciated that embodiments of the present invention are not limited to monitoring a single agent workstation  108 , and instead may monitor all or a number of workstations  108 . 
     At step  304 , a determination is made as to whether an agent is signed into the monitored workstation  108 . If an agent is not signed into the workstation  108 , the process may idle at step  304 . Once it is determined that an agent has signed into a monitored workstation  108 , a determination is made as to whether an incoming or outgoing contact has been routed to or is associated with that workstation  108  (step  308 ). If the workstation  108  has received a contact, the contact is connected to the agent at the workstation  108  (step  312 ). Connecting a contact to the agent at the workstation  108  can comprise, for example, the agent choosing to accept an incoming telephone call by pressing an appropriate key or button, by lifting a telephone handset, or being automatically connected to a call by the system. Other examples of connecting a contact to an agent include the agent selecting and reading an incoming message comprising text, such as an e-mail or text messaging system message; a web chat session; or an outgoing contact initiated by a predictive dialer. At step  316 , information characterizing the contact is collected. Collecting information may include associating information derived from entries made by a party initiating the contact. For example, a typical call center will have different telephone numbers or menu items under a telephone number that are associated with particular categories of inquiry or topics. Accordingly, knowledge of the number or numbers that were dialed in connection with initiating an incoming contact can be used to gain information about the contact. Other information may be captured separately from the number or numbers that were dialed. For instance, caller identification information may be captured. Furthermore, although the dialing of telephone numbers has been used as an example, it should be appreciated that embodiments of the present invention are not be limited to contacts comprising telephone calls. Instead, information characterizing contacts comprising textual communications can be collected. For example, information entered by the party initiating the contact as part of completing a contact request form or derived from an address for the message used by the initiating party can be used to characterize an incoming contact. Information regarding the agent can also be collected and associated with information regarding the contact. As can be appreciated by one of skill in the art, collecting information can include storing information, for example in a contact information database  120 . 
     At step  320 , a determination is made as to whether the agent at the workstation  108  has placed the contact on hold or suspended it. In general, a contact may be placed on hold by suspending the immediate entry of communication data (e.g. speech or text) but without terminating the contact. Accordingly, placing a contact on hold can comprise selecting a hold state with respect to the contact, or simply keeping a chat window or session open while not actively reading or responding to a received message. A contact can also be considered on hold or suspended for purposes of identifying related contacts by placing a contact in a “preview” state and then placing another contact. 
     If it is determined at step  320  that the incoming contact has not been placed on hold, a determination may next be made as to whether the agent at the workstation  108  has selected an after-contact work state (step  324 ). As can be appreciated by one of skill in the art, an agent in a call center may enter an after-contact work state when performing work related to a previous contact. In a conventional call center, an after-contact work state allows an agent to avoid being assigned to handle new contacts while the agent is performing work related to a previous contact. In accordance with embodiments of the present invention, the after-contact work state is also used to determine whether two contacts are related to one another, as described herein. 
     After a determination at step  320  that the incoming contact has been placed on hold or after a determination at step  324  that the agent has selected an after-contact work state, a determination is next made as to whether the agent at the monitored workstation  108  has initiated a new contact (step  328 ). In particular, if the agent initiates a new contact while a previous contact is on hold or while the agent is in an after-contact work state, the agent-initiated contact is considered or determined to be related to the earlier contact that is on hold or to the contact associated with the agent&#39;s after-contact work state. More particularly, the contact on hold or that was last handled by an agent in an after-contact work state is considered to be the parent of a child comprising the agent-initiated contact. Accordingly, after making a determination that an agent has initiated a contact while an earlier contact is on hold or while the agent is in an after-contact work state, information characterizing the agent-initiated contact is collected and the agent-initiated contact is shown as being associated with or related to (i.e. a child of) the contact on hold or that was active immediately prior to entering the after-contact work state (step  332 ). Furthermore, the collected information and the determined associations between contacts are recorded, for example in the contact information database  120 . In accordance with embodiments of the present invention, an ‘identifier,’ such as a customer designation, can be assigned to related contacts. As a result, the total time and cost related to particular customers or customer engagements can be computed and reported. 
     After collecting and recording information at step  332 , or after determining that a contact has not been placed on hold or that an after-contact work state has not been entered, a determination may be made as to whether all contacts associated with the network workstation and/or after-contact work states have been terminated (step  336 ). If any contacts remain active, the process may return to step  320 . Accordingly, embodiments of the present invention may determine that more than two contacts are associated with one another. If it is determined at step  336  that all associated contacts or after-contact work states have been terminated, or if it is determined at step  308  that there is no new contact, a determination may next be made as to whether the agent has signed off the monitored workstation  108  (step  340 ). If the agent has not signed off, the process may return to step  308 , to wait for a new contact. If the agent has signed off of the workstation  108 , the process may end. Accordingly, it can be appreciated that embodiments of the present invention can continuously or substantially continuously monitor for related contacts and record information concerning contacts that are determined to be related. 
     Where two contacts are merged, such as in a meet-me conference, a child can have multiple parents. Furthermore, multiple generations of related contacts can be tracked by embodiments of the present invention. Moreover, a child comprising a contact initiated from a first workstation to a second workstation can be the parent of a contact initiated by the second workstation. In addition, a second contact initiated by a first workstation  108  can continue to be tracked as being associated with a first contact that was placed on hold or suspended or associated with an after-contact work state when the second contact was initiated, even if the first workstation  108  drops from the second contact, for example after transferring the second contact to a second workstation or resource or creating a conference scenario with a second workstation or resource. Embodiments of the present invention can also track associations between contacts across different media types. For example, an incoming contact comprising a telephone call can be related to an email message sent by an agent after the initial contact has been placed on hold or after the initial contact has been terminated and the agent has entered an after-contact work state. 
     Although the foregoing description has used as examples a system comprising a call center staffed by human agents, it should be appreciated that the present invention is not so limited. For example, embodiments of the present invention may be utilized in connection with the relation of contacts or other transactions handled by a resource of any type. Furthermore, in addition to substantially real-time call distribution system applications, the present invention may be applied to systems used to distribute work items comprising textual correspondence to resources for action and possible reply. Embodiments of the present invention are also not limited to operation on an adjunct to an automatic contact distribution system. For example, embodiments of the present invention may be implemented as an application or firmware running on an automatic contact distribution system itself. In accordance with still other embodiments of the present invention, an implementing application or firmware may run on an adjunct to a communication server, such as a private branch exchange. 
     The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention in such or in other embodiments and with various modifications required by their particular application or use of the invention. It is intended that the appended claims be construed to include the alternative embodiments to the extent permitted by the prior art.