Waiting but not ready

Information

  • Patent Grant
  • 7620169
  • Patent Number
    7,620,169
  • Date Filed
    Monday, June 17, 2002
    22 years ago
  • Date Issued
    Tuesday, November 17, 2009
    15 years ago
Abstract
The invention is directed to a system for distributing contacts to a plurality of resources in a contact center, comprising at least one resource 104 for serving contacts 114; at least a first set 110 of contacts 114 awaiting service by the at least one resource 104, wherein each of the contacts in the first set 110 of contacts 114 has a corresponding state 140; and a selection agent 132 operable to assign a resource 104 to serve the contact 114 when a contact in the first set 110 of contacts has a first state and not assign the resource 104 to serve the contact 114 when a contact 114 in the first set of contacts 110 has a second state that is different from the first state. A state monitor 128 can be used to change the state of a contact between the first and second states.
Description
FIELD OF THE INVENTION

The invention relates generally to contact centers and specifically to queuing arrangements in automatic call-distribution systems.


BACKGROUND OF THE INVENTION

In automatic call-distribution or ACD systems, contacts incoming to a contact center are answered and handled by a plurality of resources, such as agents. The ACD system automatically distributes and connects incoming contacts to whatever resources are suited to handle the contacts and available, that is, not handling other contacts at that moment. A contact can be effected by any communication medium, such as a trunk or telephone line, and wirelessly and by any mode, such as by telephone, email, Web server, and the Internet.


It often happens that contactors, while awaiting service by a resource, need to accomplish other tasks or perform other duties, such as answering an incoming call, going to the bathroom, attending to children, and the like. In conventional ACD systems, if the contactor is absent when the contact is handed off to a resource for service, the resource must decide whether to wait for the contactor to return or to service the next contact. Commonly, the contact is terminated by the resource due to heavy workload and/or uncertainty about what happened to the contactor. This can cause customer frustration and lost business.


SUMMARY OF THE INVENTION

These and other needs are addressed by the various embodiments and configurations of the present invention. The method and apparatus of the present invention permit a contact to be flagged as not ready to be served. The contactor corresponding to the contact can then attend to other duties without losing his or her position in the queue.


In one embodiment, a flag is used to indicate state or mode. As will be appreciated, a flag is a variable or data structure indicating that a certain condition exists as to the item or system corresponding to the flag. The flag is associated with the enqueued data structures corresponding to each contact. In one setting, the flag indicates that the contact is in a first state in which the contact is eligible for service. In one implementation, the first state is referred to as the Waiting And Ready state or WR state. Each new contact is initialized in the WR state. In a different setting, the flag indicates that the contact is in a second, different state in which the contact is ineligible for service. In the implementation referred to previously, the second state is referred to as the Waiting But Not Ready or WNR state. A contact is commonly changed to the WNR state at some point after being placed in the queue. Background music and/or messages can provide feedback to the contact to let him know which state he is currently waiting in and how to change to the other state.


The relative positions of the enqueued contacts in a first queue are not impacted by the particular state assigned to the contact until the contact reaches the head of the first queue. When a first contact in the WNR state reaches the head of the first queue, the first contact is moved to a second, different queue or is held at the head of the first queue. Subsequently enqueued contacts that are in the WR state can skip over the first contact to be serviced by the next available resource. In this manner, contacts in the WNR state at the head of the queue or in the second queue will not block other contacts from progressing through the first queue. In either event, when the WNR state of the first contact is changed to the WR state, the first contact is considered to be eligible for service and is treated as being at the head of the queue waiting to be assigned to the next available resource.


The invention can have several advantages. First, the invention can provide increased levels of service and customer convenience and satisfaction. Customers can flag themselves as being not ready for service without losing their enqueued positions. The customer can walk away and attend to other duties while remaining in a wait queue for service. When ready for service, the customer can cause his or her status to be changed and resume his or her position in the queue. Second, the invention can permit a customer to wait in multiple queues simultaneously without losing his or her position in any of the other queues when a resource corresponding to one of the queues serves the customer. While being served in a first queue, the customer's status can be changed from the WR state to the WNR state in the other queues. When service is completed, the customer can be changed back to the WR state in the other queues.


These and other advantages will be apparent from the disclosure of the invention(s) contained herein.


The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a contact center that includes an illustrative embodiment of the present invention;



FIG. 2 is a flow diagram of operations of the state monitor in the contact center of FIG. 1;



FIG. 3A is a flow diagram of operations of the selection agent in the contact center of FIG. 1;



FIG. 3B is another flow diagram of operations of the selection agent in the contact center of FIG. 1;



FIG. 4 depicts a second embodiment according to the present invention; and



FIG. 5 is a flow diagram of operations of the selection agent in the second embodiment of FIG. 4.





DETAILED DESCRIPTION


FIG. 1 shows an illustrative contact center that comprises an automatic contact-distribution switch or server 100 serving a plurality of resources 104a-n. The resources 104a-n can be any machine, human, and/or computer entity that provides services and/or information to contactors (e.g., agents, adjunct processors, etc.). In one configuration, the resources are agents having corresponding voice-and-data terminals connected to the switch or server 100 by a voice-and-data transmission medium. The switch or server 100 is connected to a plurality of communication lines 108a-n (e.g., telephone lines or trunks) over which it receives incoming contacts. It then distributes and connects the contacts to appropriate (available) resources based on a set of predetermined criteria. The resources process the contacts sent to them by the switch or server 100.


The contact center can be any architecture for serving contacts using one or more resources. Illustratively, the contact center of FIG. 1 can be the subscriber-premises equipment disclosed in U.S. Pat. Nos. 6,192,122; 6,173,053; 6,163,607; 5,982,873; 5,905,793; 5,828,747; and 5,206,903, all of which are incorporated herein by this reference, or Avaya Inc.'s Definity™ private-branch exchange (PBX)-based ACD system. The contact center typically is a stored-program-controlled system that conventionally includes interfaces to external communication links, a communications switching fabric, service circuits (e.g., tone generators, announcement circuits, etc.), memory for storing control programs and data, and a processor (i.e., a computer) for executing the stored control programs to control the interfaces and the fabric and to provide automatic contact-distribution functionality. Included among the data stored in the contact center is a set 110 contact queues 112a-n containing contacts 114 and a set of agent queues (not shown). Each contact queue 112a-n corresponds to a different agent skill, as does each agent queue. Conventionally, contacts are prioritized, and either are enqueued in individual ones of queues 112a-n in their order of priority or are enqueued in different ones of a plurality of contact queues that correspond to a skill and each one of which corresponds to a different priority. An agent may have multiple skills, and hence may be assigned to multiple agent queues simultaneously. A call vector (not shown) is used to route incoming contacts to different queues based upon predetermined criteria. Call vectoring is described in Definity™ Communications System Generic 3 Call Vectoring/Expert Agent Selection (EAS) Guide, AT&T publication no. 555-230-520 (Issue 3, Nov. 1993) which is incorporated herein by reference. As explained in detail in the above-referenced patents, Estimated Wait Time or EWT agent (not shown) provides information regarding an estimated wait time for a selected contact.


According to the invention, the contact center further comprises a set 120 of high priority queues 124a-n containing contacts that have elected to wait for servicing, state monitor 128 for assigning one of a waiting-and-ready or WR state and a waiting-but-not ready or WNR state to an enqueued contact, and a selection agent 132 for selecting enqueued contacts for servicing and for transferring enqueued contacts, that are eligible for servicing but are assigned the WNR state, from a queue 112 in the queue set 110 to a corresponding queue 124 in the queue set 120. Each queue in queue set 110 normally has a corresponding high priority queue in queue set 120, though a plurality of queues in queue set 110 can have only one corresponding queue in queue set 120. The WR state refers to a contact that is waiting for service and desires to be serviced when it reaches the head of the queue, and the WNR state to a contact that is waiting for service but does not desire to be serviced when it reaches the head of the queue. State monitor 128 and selection agent 132 are stored either in main memory (shown) or in a peripheral memory (e.g., disk, CD ROM, etc.) or some other computer-readable medium of the contact center.


The functionality implemented by an illustrative embodiment of state monitor 128 is shown in FIG. 2. All contacts are initialized in the WR state when enqueued in a queue 112. The state monitor 128 can be configured to provide an announcement to a contactor informing the contactor how to request assignment from the WR state to the WNR state. The announcement can be repeated at predetermined intervals to encourage such requests. The requests can be generated and transmitted by a contact by any suitable technique, such as by pressing a first predetermined code. The first code can be a predetermined set or sequence of bits, a feature access code or DTMF digit(s), a voice command, or any other type or form of signal.


In step 200, the state monitor 128 determines after a predetermined time interval whether it has received a request by an enqueued contact to enter into the WNR state. If no such request has been received, the state monitor 128 waits the predetermined time interval and repeats step 200. If one or more state change requests have been received during the preceding time interval, the state monitor 128 proceeds to step 204.


The monitor 128 determines in step 204 whether the contact center is accepting the WNR state. There may be reasons why it is undesirable for the contact center to accept the state, such as unduly heavy contact volume. When the contact center is not accepting the WNR state, the state monitor 128 in step 208 retrieves an estimated wait time for the contact from the EWT agent and notifies the contact of the nonacceptance of the state change request and the estimated wait time to service. The monitor 128 then returns to step 200. When the contact center is accepting the WNR state, the state monitor 128 in step 212 notifies the contactor making the request that the contactor has been assigned the WNR state and that the state can be changed back to the WR state only by inputting a second predetermined code or hanging up and recontacting the contact center. Like the first code, the second code can be a predetermined set or sequence of bits, a feature access code or DTMF digit(s), a voice command, or any other type or form of signal. In step 216, the monitor changes the state assigned to the contact from the WR state to the WNR state. In one configuration, a flag field 140 is included within each data entry corresponding to an enqueued contact, and the flag field is set to a predetermined value to indicate that the flag has been set. For example, a “0” in the field can mean that the flag is not set and the contact has been assigned the WR state while a “1” in the field can mean that the flag is set and the contact has been assigned the WNR state. As will be appreciated the meanings of the values can be reversed.


In decision diamond 220, the state monitor 128 next determines if it has received from the selected contact a request to enter the WR state. If not, the state monitor repeats the query after a predetermined time interval has elapsed. If so, the state monitor proceeds to step 224 in which the WNR flag is unset (or assigned a value corresponding to the WR state) and then to step 228 in which the contactor is notified of the state change.


The steps of FIG. 2 can be repeated on a queue-by-queue basis or on a multiple queue basis.


Referring now to FIGS. 3A and B, the functionality of the selection agent 132 will now be described. In step 300, the agent 132 determines if a resource or agent is available for servicing an enqueued contact. If not, the agent 132 repeats step 300 after a predetermined time interval has elapsed. If so, the agent 132 proceeds to decision diamond 304.


In decision diamond 304, the agent 132 next determines whether the state monitor 128 has reassigned the WR state to one or more contacts enqueued in one of the high priority queues in queue set 120. The contact to which the WR state is reassigned is handed off for service in step 308. When multiple contacts have been reassigned the WR state during the predetermined time interval, the contacts are considered in the order in which the reassignment requests are received. Alternatively, the contacts can be selected based on the cumulative wait time, whether in the WR and/or WNR states. In this configuration, the contacts are selected in an order based on their cumulative wait times, e.g., the contact having the longest cumulative wait time is selected ahead of the contact having the next longest cumulative wait time and so on. The contact corresponding to the first received request is thus selected for service. If no contact has been reassigned the WR state, the agent 132 proceeds to decision diamond 312.


In decision diamond 312, the agent 132 determines whether a selected contact at the head of one of the queues 112 in queue set 110 is in the WR state. When the selected contact is not in the WR state but rather is in the WNR state, the contact is moved from its queue 112 in queue set 110 to a corresponding high priority queue 124 in queue set 120. When the selected contact is in the WR state, the contact is handed off to a resource 104 for service in step 312.


An example of the foregoing is illustrated by FIG. 3B. Referring to FIG. 3B, when a resource is available to service a next contact the selection agent 132 first determines whether either of the contacts 324a,b in the high priority queue 124 are now in the WR state. Since neither contact has changed to this state, the selection agent 132 selects contact 1320a at the head of queue 112 for servicing. When a next resource is available to service a next contact, the agent 132 again determines whether either of the contacts in the high priority queue 124 are now in the WR state. If so, one of them is handed off for service ahead of contact 2320b, who is now at the head of the queue 112. If not, contact 2320b, who is in the WNR state, is moved to the high priority queue 124 and a next contact, or contact 3 (not shown), is handed off for service.


The steps of FIGS. 3A and 3B can be repeated on a queue-by-queue basis or on a multiple queue basis.


A number of variations and modifications of the invention can be used. It would be possible to provide for some features of the invention without providing others.


For example, one alternative embodiment is depicted in FIGS. 4 and 5. In this embodiment, a contact has the option of waiting in multiple queues simultaneously. While being serviced in a first queue, the contact is placed automatically in the WNR state in at least a second queue. When service in the first queue is completed, the contact is placed automatically in the WR state in the second and other queues.


This embodiment is depicted by FIG. 4. FIG. 4 shows three queues, namely first, second and third queues 400, 404, and 408, respectively, each containing a plurality of contacts 412. To the right of the queues is a timeline showing, for different time intervals, the state for the contact in the corresponding queue. During a first time interval t0-t1, contact 412a is in the WR state in each of the first, second and third queues. During a second, later time interval, namely time interval t1-t2, the contact is eligible for service in the first queue 400 and is served by a first resource (not shown). The monitor 128 assigns the contact 412a to the WNR state in each of the second and third queues 404 and 408. During a third, later time interval, namely time interval t2-t3, the contact 412a is no longer in the first queue 400 as he or she has been fully served by the first resource and is reassigned to the WR states in the second and third queues 404 and 408. During a fourth, later time interval, namely time interval t3-t4, the contact is eligible for service in the second queue 404 and is served by a second resource (not shown). The monitor 128 assigns the contact 412a to the WNR state in the third queue 408. During a fifth, later time interval, namely time interval t4-t5, the contact 412a is no longer in the second queue 404 as he or she has been fully served by the second resource and is reassigned to the WR state in the third queue 408. This embodiment is particularly useful where a contact center has a number of contact options for different types of service. For example, a contact may choose to wait for an automated attendant but still wish to retain his queue position for a human agent in the event that the automated attendant fails to answer his or her question(s). In another application, the contact can wait in a first queue for technical support service and respond to a poll conducted by the contact center and/or receive sales information on a product in other queues.


A functional implementation of this embodiment is shown in FIG. 5. In steps 500 and 504, the selection agent 132 determines first whether a resource is available to service a contact and second whether a contact in the WR state is available for service, such as at the head of one or more queues (e.g., a high priority and/or normal or FIFO queue). The agent 132 repeats steps 500 and 504 as necessary until a resource and contact in the WR state is available.


When a resource and WR contact are available, the agent 132 proceeds to step 508 and determines whether the selected (WR state) contact is enqeueud for service in one or more other queues. If so, the state of the contact in the other queues is set by the state monitor 128 to the WNR state in step 512. If not or after the completion of step 508, the contact is served in step 516. After the monitor 128 determines in step 520 that the contact has been served, the WNR state is changed by the monitor 128 in step 524 to the WR state in each of the other queues.


In another alternative embodiment, a resource can cause a contact to be placed in the WNR state during servicing of the contact. This embodiment is useful where the contactor corresponding to the contact needs to collect information or attend to a duty and does not wish to have to terminate the contact and initiate a new contact. If a new contact is initiated, the contact would lose his or her position vis a vis other contacts in the queue 112.


In yet another embodiment, a high priority contact would not be used. Rather, a contact would request a wait time before, during or after the assignment from the WR state to the WNR state. The state monitor 128 would either relocate the contact to an appropriate position in the queue (i.e., a queue position having an estimated wait time corresponding to the requested wait time) and/or start a timer corresponding to the contact and consider the contact eligible for service only when the timer has expired.


In yet a further embodiment, the state monitor 128 and/or selection agent 132 are implemented, in whole or part, as a logic circuit, such as an Application Specific Integrated Circuit or ASIC.


The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g. for improving performance, achieving ease and\or reducing cost of implementation.


The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. Although the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.

Claims
  • 1. A method of distributing contacts to a plurality of resources in a contact center, comprising: (a) providing at least a first queue comprising contacts awaiting service by at least one resource of a contact center, wherein each of the contacts can wait in multiple queues simultaneously, and each of the contacts in each of the queues has a corresponding state, wherein a first state indicates that a contactor corresponding to the queued contact is ready to be serviced and a second state indicates at least one of an unwillingness of the contactor to be serviced and unavailability of the contactor for servicing; and(b) applying the following rules to the contacts in the first queue: (B1) when a first contact is at the head of a first queue and has a first state, assigning an available resource to serve the first contact; and(B2) when the first contact is at the head of the first queue and has a second state different from the first state, not assigning an available resource to serve the first contact but assigning the available resource to serve a second contact in the first queue, the second contact having the first state and being later queued in the first queue than the first contact, the first contact remaining at the head of the queue until in the first state.
  • 2. The method of claim 1, wherein, while the first contact is in the second state, advancing a position of the first contact in the first queue.
  • 3. The method of claim 2, wherein the first contact is advanced in the same manner as if the first contact had the first state.
  • 4. The method of claim 1, wherein an available resource is assigned to service the first contact when the first contact is at the head of the first queue and changes from the second state to the first state.
  • 5. The method of claim 1, wherein, in a first operational mode, contacts in the first queue can have first and second states and, in a second operational mode, contacts in the first queue can have the first but not the second state and wherein the decision to implement, at a selected time, the first or second operational mode depends on contact center state.
  • 6. The method of claim 1, wherein each of the contacts is enqueued in the first queue and the state of each contact is indicated by a state indicator, wherein, at a first time, the first contact has the first state, wherein, at a later second time, the first contact has the second state, wherein, at a third time later than the first and second times, the first contact has the first state and is assigned to a resource to be serviced, and wherein when rule (B2) applies the first contact is transferred from the first queue to a second queue different from the first queue.
  • 7. The method of claim 1, further comprising: (c) identifying a first resource that can service the first and a third contact, wherein the first contact is in the first queue, wherein the third contact is in a second queue, and wherein the first contact has the first state; and(d) applying the following rules: (D1) when the second contact has the first state, assigning the first resource to serve the second contact; and(D2) when the second contact has the second state, assigning the first resource to serve the first contact.
  • 8. The method of claim 1, further comprising: (c) receiving a first code from the first contact, the first contact being in the first state; and(d) in response to the first code, changing the state of the first contact from the first state to the second state;(e) thereafter receiving a second code from the first contact; and(f) in response to the second code, changing the state of the first contact from the second state back to the first state.
  • 9. The method of claim 1, wherein first and second queues of contacts are provided, wherein each of the contacts in the first and second queues has a corresponding state, wherein the first queue is served by a first set of resources and the second queue is served by a second set of resources, wherein the first set of resources is different from the second set of resources, and wherein the first contact is queued in each of the first and second queues and further comprising: before the first contact is served by an available resource in the first set of resources, assigning the first state to the first contact with respect to the first and second queues;while the first contact is being served by a resource in the first set of resources, assigning the second state to the first contact with respect to the second queue; andafter the first contact has been served by the resource in the first set of resources, assigning the first state to the first contact with respect to the second queue.
  • 10. The method of claim 1, wherein a resource places the first contact in the second state to permit the resource to perform a selected operation and later returns the first contact to the first state when the selected operation has been performed.
  • 11. A computer readable medium encoded with computer executable instructions for performing the steps of claim 1.
  • 12. The method of claim 1, wherein the first and second contacts are at the head of the first queue at substantially the same time and wherein the first contact has the first state and the second contact has the second state.
  • 13. The method of claim 1, wherein said first state is a waiting and ready state and said second state is a waiting but not ready state.
  • 14. The method of claim 1, when the first contact is at the head of the first queue, further comprising: identifying a first resource that can service a first contact;when the first contact has the first state, assigning the first resource to service the first contact; andwhen the first contact has the second state, allowing the first resource to remain available.
  • 15. A system for distributing contacts to a plurality of resources in a contact center, comprising: at least one resource for serving contacts;at least a first queue of contacts awaiting service by the at least one resource, wherein each of the contacts can wait in multiple queues simultaneously and each of the contacts in each of the queues has a corresponding state; anda selection agent operable to assign an available resource to serve a selected contact when the selected contact is at the head of the first queue and has a first state and not assign the resource to serve the selected contact when the selected contact is at the head of the first queue but has a second state different from the first state, wherein the first state indicates that a contactor corresponding to the selected contact is ready to be serviced and the second state indicates at least one of an unwillingness of the contactor to be serviced and unavailability of the contactor for servicing, and wherein, while the selected contact is in the second state, the selection agent advances a position of the selected contact in the first queue in the same manner as if the selected contact had the first state until such time that the first contact is at the head of the queue where the first contact remains until they are in the first state.
  • 16. The system of claim 15, wherein the selection agent applies the following rules: when a first contact is at the head of a first queue and has a first state, assigning an available resource to serve the first contact; andwhen the first contact is at the head of the first queue and has a second state different from the first state, not assigning an available resource to serve the first contact but assigning the available resource to serve a second contact in the first queue, the second contact having the first state and being later queued than the first contact.
  • 17. The system of claim 15, wherein each of the contacts is queued in the first queue and the state of each contact is indicated by a state indicator, wherein the first queue includes a first contact, wherein, at a first time, the first contact has the first state, wherein, at a later second time, the first contact has the second state, wherein, at a third time later than the first and second times, the first contact has the first state and is assigned to a resource to be serviced, and wherein selection agent transfers a contact having the second state from the first queue to a second queue different from the first queue when the contact in the first queue has the second state.
  • 18. The system of claim 15, wherein the selection agent identifies a first resource that can service first and second contacts, wherein the first contact is in the first queue, wherein the second contact is in the second queue, wherein the first contact has the first state, and wherein the selection agent, when the second contact has the first state, assigns the first resource to serve the second contact and, when the second contact has the second state, assigns the first resource to serve the first contact.
  • 19. The system of claim 15, further comprising: an input for receiving a first code from a first contact, the first contact being in the first state; andin response to the first code, a state monitor operable to change the state of the first contact from the first state to the second state, wherein the input thereafter receives a second code from the first contact and wherein, in response to the second code, the state monitor changes the state of the first contact from the second state back to the first state.
  • 20. The system of claim 19, further comprising: a second queue of contacts, wherein each of the contacts in the first and second queues has a corresponding state, wherein the first queue is served by a first set of resources and the second queue is served by a second set of resources, wherein the first set of resources is different from the second set of resources, wherein a first contact is queued in each of the first and second queues, and wherein, before the first contact is served by the resource in the first set of resources, the state monitor assigns the first state to the first contact with respect to the first and second queues and, when the first contact is being served by a resource in the first set of resources, the state monitor assigns the second state to the first contact with respect to the second queue.
  • 21. The system of claim 20, wherein, after the first contact has been served by the resource in the first set of resources, the state monitor assigns the first state to the first contact with respect to the second queue.
  • 22. The system of claim 15, wherein first and second contacts are at the head of the first queue at substantially the same time and wherein the first contact has the first state and the second contact has the second state.
  • 23. The system of claim 15, wherein said first state is a waiting and ready state and said second state is a waiting but not ready state.
  • 24. The system of claim 15, when the first contact is at the head of the first queue, wherein the resource selection means identifies a first resource that can service a first contact, and wherein the resource selection means, when the first contact has the first state, assigns the first resource to service the first contact and, when the first contact has the second state, allows the first resource to remain available.
  • 25. A system for distributing contacts to a plurality of resources in a contact center, comprising: (a) at least one resource to serve contacts;(b) at least a first queue of contacts awaiting service by the at least one resource, wherein each of the contacts can wait in multiple queues simultaneously and each of the contacts in each of the queues has a corresponding state, wherein a first state indicates that a contactor corresponding to a contact is ready to be serviced and a second state indicates at least one of an unwillingness of the contactor to be serviced and unavailability of the contactor for servicing; and(c) a selection agent operable to apply the following rules: (C1) when a first contact is at the head of a first queue and has a first state, assign an available resource to serve the first contact; and(C2) when the first contact is at the head of the first queue and has a second state different from the first state, not assign an available resource to serve the first contact but assign the available resource to serve a second contact in the first queue, the second contact having the first state and being later queued in the first queue than the first contact, the first contact remaining at the head of the queue until in the first state.
  • 26. The system of claim 25, wherein, while a selected contact is in the second state, the selection agent advances a position of the selected contact in the first queue in the same manner as if the selected contact had the first state.
  • 27. The system of claim 25, wherein each of the contacts is queued in the first queue and the state of each contact is indicated by a state indicator, wherein the first queue includes the first contact, wherein, at a first time, the first contact has the first state, wherein, at a later second time, the first contact has the second state, wherein, at a third time later than the first and second times, the first contact has the first state and is assigned to a resource to be serviced, and wherein selection agent transfers a contact having the second state from the first queue to a second queue different from the first queue when the contact in the first queue has the second state.
  • 28. The system of claim 25, wherein the selection agent identifies a first resource that can service first and second contacts, wherein the first contact is in the first queue, wherein the second contact is in the second queue, wherein the first contact has the first state, and wherein the selection agent, when the second contact has the first state, assigns the first resource to serve the second contact and, when the second contact has the second state, assigns the first resource to serve the first contact.
  • 29. The system of claim 25, further comprising: an input for receiving a first code from a first contact, the first contact being in the first state; andin response to the first code, a state monitor operable to change the state of the first contact from the first state to the second state, wherein the input thereafter receives a second code from the first contact and wherein, in response to the second code, the state monitor changes the state of the first contact from the second state back to the first state.
  • 30. The system of claim 29, further comprising: a second queue of contacts, wherein each of the contacts in the first and second queues has a corresponding state, wherein the first queue is served by a first set of resources and the second queue is served by a second set of resources, wherein the first set of resources is different from the second set of resources, wherein a first contact is queued in each of the first and second queues, and wherein, before the first contact is served by the resource in the first set of resources, the state monitor assigns the first state to the first contact with respect to the first and second queues and, when the first contact is being served by a resource in the first set of resources, the state monitor assigns the second state to the first contact with respect to the second queue.
  • 31. The system of claim 30, wherein, after the first contact has been served by the resource in the first set of resources, the state monitor assigns the first state to the first contact with respect to the second queue.
  • 32. The system of claim 25, wherein a first and second contact are at the head of the first queue at substantially the same time and wherein the first contact has the first state and the second contact has the second state.
  • 33. The system of claim 25, wherein said first state is a waiting and ready state and said second state is a waiting but not ready state.
  • 34. The system of claim 25, when the first contact is at the head of the first queue, wherein the selection agent is operable to identify a first resource that can service a first contact, and wherein the selection agent is operable, when the first contact has the first state, to assign the first resource to serve the first contact and, when the first contact has the second state, to allow the first resource to remain available.
  • 35. A method of distributing contacts to a plurality of resources in a contact center, comprising: (a) providing at least a first queue comprising contacts awaiting service by at least one resource of a contact center, wherein each of the contacts can wait in multiple queues simultaneously and each of the contacts in each of the queues has a corresponding state, wherein a first state indicates that a contactor corresponding to the queued contact is ready to be serviced and a second state indicates at least one of an unwillingness of the contactor to be serviced and unavailability of the contactor for servicing, and wherein a contactor and resource each have the ability to place the first contact in the second state to permit the customer and/or resource to perform a selected operation and later return the first contact to the first state when the selected operation has been performed; and(b) applying the following rules to the contacts in the first queue: (B1) when a first contact is at the head of a first queue and has a first state, assigning an available resource to serve the first contact; and(B2) when the first contact is at the head of the first queue and has a second state different from the first state, not assigning an available resource to serve the first contact but assigning the available resource to serve a second contact in the first queue, the second contact having the first state and being later queued in the first queue than the first contact, the first contact remaining at the head of the queue until in the first state.
  • 36. The method of claim 35, wherein, while the first contact is in the second state, advancing a position of the first contact in the first queue, wherein the first contact is advanced in the same manner as if the first contact had the first state, wherein an available resource is assigned to service the first contact when the first contact is at the head of the first queue and changes from the second state to the first state.
US Referenced Citations (181)
Number Name Date Kind
4163124 Jolissaint Jul 1979 A
4567323 Lottes et al. Jan 1986 A
4737983 Frauenthal et al. Apr 1988 A
4797911 Szlam et al. Jan 1989 A
4894857 Szlam et al. Jan 1990 A
5001710 Gawrys et al. Mar 1991 A
5097528 Gursahaney et al. Mar 1992 A
5101425 Darland Mar 1992 A
5155761 Hammond Oct 1992 A
5164983 Brown et al. Nov 1992 A
5206903 Kohler et al. Apr 1993 A
5210789 Jeffus et al. May 1993 A
5274700 Gechter et al. Dec 1993 A
5278898 Cambray et al. Jan 1994 A
5291550 Levy et al. Mar 1994 A
5299260 Shaio Mar 1994 A
5309513 Rose May 1994 A
5335268 Kelly, Jr. et al. Aug 1994 A
5335269 Steinlicht Aug 1994 A
5390243 Casselman et al. Feb 1995 A
5436965 Grossman et al. Jul 1995 A
5444774 Friedes Aug 1995 A
5469503 Butensky et al. Nov 1995 A
5469504 Blaha Nov 1995 A
5473773 Aman et al. Dec 1995 A
5479497 Kovarik Dec 1995 A
5500795 Powers et al. Mar 1996 A
5504894 Ferguson et al. Apr 1996 A
5506898 Constantini et al. Apr 1996 A
5530744 Charalambous et al. Jun 1996 A
5537470 Lee Jul 1996 A
5537542 Eilert et al. Jul 1996 A
5544232 Baker et al. Aug 1996 A
5546452 Andrews et al. Aug 1996 A
5592378 Cameron et al. Jan 1997 A
5592542 Honda et al. Jan 1997 A
5594726 Thompson et al. Jan 1997 A
5606361 Davidsohn et al. Feb 1997 A
5611076 Durflinger et al. Mar 1997 A
5627884 Williams et al. May 1997 A
5642515 Jones et al. Jun 1997 A
5684872 Flockhart et al. Nov 1997 A
5684874 Yagyu et al. Nov 1997 A
5684964 Powers et al. Nov 1997 A
5689698 Jones et al. Nov 1997 A
5703943 Otto Dec 1997 A
5713014 Durflinger et al. Jan 1998 A
5724092 Davidsohn et al. Mar 1998 A
5740238 Flockhart et al. Apr 1998 A
5742675 Kilander et al. Apr 1998 A
5748468 Notenboom et al. May 1998 A
5749079 Yong et al. May 1998 A
5751707 Voit et al. May 1998 A
5752027 Familiar May 1998 A
5754639 Flockhart et al. May 1998 A
5754776 Hales et al. May 1998 A
5754841 Carino, Jr. May 1998 A
5757904 Anderson May 1998 A
5790677 Fox et al. Aug 1998 A
5794250 Carino, Jr. et al. Aug 1998 A
5796393 MacNaughton et al. Aug 1998 A
5802282 Hales et al. Sep 1998 A
5818907 Maloney et al. Oct 1998 A
5825869 Brooks et al. Oct 1998 A
5828747 Fisher et al. Oct 1998 A
5838968 Culbert Nov 1998 A
5839117 Cameron et al. Nov 1998 A
5875437 Atkins Feb 1999 A
5880720 Iwafune et al. Mar 1999 A
5881238 Aman et al. Mar 1999 A
5884032 Bateman et al. Mar 1999 A
5889956 Hauser et al. Mar 1999 A
5897622 Blinn et al. Apr 1999 A
5903641 Tonisson May 1999 A
5903877 Berkowitz et al. May 1999 A
5905793 Flockhart et al. May 1999 A
5915012 Miloslavsky Jun 1999 A
5926538 Deryugin et al. Jul 1999 A
5930786 Carino, Jr. et al. Jul 1999 A
5937051 Hurd et al. Aug 1999 A
5937402 Pandilt Aug 1999 A
5940496 Gisby et al. Aug 1999 A
5943416 Gisby Aug 1999 A
5948065 Eilert et al. Sep 1999 A
5960073 Kikinis et al. Sep 1999 A
5963635 Szlam et al. Oct 1999 A
5963911 Walker et al. Oct 1999 A
5970132 Brady Oct 1999 A
5974135 Breneman et al. Oct 1999 A
5974462 Aman et al. Oct 1999 A
5982873 Flockhart et al. Nov 1999 A
5987117 McNeil et al. Nov 1999 A
5991392 Miloslavsky Nov 1999 A
5996013 Delp et al. Nov 1999 A
5999963 Bruno et al. Dec 1999 A
6000832 Franklin et al. Dec 1999 A
6011844 Uppaluru et al. Jan 2000 A
6038293 Mcnerney et al. Mar 2000 A
6044144 Becker et al. Mar 2000 A
6044205 Reed et al. Mar 2000 A
6044355 Crockett et al. Mar 2000 A
6049547 Fisher et al. Apr 2000 A
6052723 Ginn Apr 2000 A
6055308 Miloslavsky et al. Apr 2000 A
6064730 Ginsberg May 2000 A
6064731 Flockhart et al. May 2000 A
6084954 Harless et al. Jul 2000 A
6088441 Flockhart et al. Jul 2000 A
6115462 Servi et al. Sep 2000 A
6151571 Pertrushin Nov 2000 A
6154769 Cherkasova et al. Nov 2000 A
6163607 Bogart et al. Dec 2000 A
6173053 Bogart et al. Jan 2001 B1
6175564 Miloslavsky et al. Jan 2001 B1
6178441 Elnozahy Jan 2001 B1
6185292 Miloslavsky Feb 2001 B1
6192122 Flockhart et al. Feb 2001 B1
6215865 McCalmont Apr 2001 B1
6226377 Donaghue, Jr. May 2001 B1
6229819 Darland et al. May 2001 B1
6230183 Yocom et al. May 2001 B1
6233333 Dezonmo May 2001 B1
6240417 Eastwick May 2001 B1
6259969 Tackett et al. Jul 2001 B1
6263359 Fong et al. Jul 2001 B1
6272544 Mullen Aug 2001 B1
6275806 Pertrushin Aug 2001 B1
6275812 Haq et al. Aug 2001 B1
6275991 Erlin Aug 2001 B1
6278777 Morley et al. Aug 2001 B1
6292550 Burritt Sep 2001 B1
6295353 Flockhart et al. Sep 2001 B1
6353810 Petrushin Mar 2002 B1
6356632 Foster et al. Mar 2002 B1
6366668 Borst et al. Apr 2002 B1
6389028 Bondarenko et al. May 2002 B1
6389132 Price May 2002 B1
6389400 Bushey et al. May 2002 B1
6424709 Doyle et al. Jul 2002 B1
6426950 Mistry Jul 2002 B1
6427137 Petrushin Jul 2002 B2
6430282 Bannister et al. Aug 2002 B1
6434230 Gabriel Aug 2002 B1
6449356 Dezonno Sep 2002 B1
6449358 Anisimov et al. Sep 2002 B1
6449646 Sikora et al. Sep 2002 B1
6453038 McFarlane et al. Sep 2002 B1
6463148 Brady Oct 2002 B1
6463346 Flockhart et al. Oct 2002 B1
6463415 St. John Oct 2002 B2
6480826 Pertrushin Nov 2002 B2
6490350 McDuff et al. Dec 2002 B2
6535600 Fisher et al. Mar 2003 B1
6535601 Flockhart et al. Mar 2003 B1
6560330 Gabriel May 2003 B2
6560649 Mullen et al. May 2003 B1
6560707 Curtis et al. May 2003 B2
6563916 Deutsch et al. May 2003 B1
6563920 Flockhart et al. May 2003 B1
6597685 Miloslavsky et al. Jul 2003 B2
6614903 Flockhart et al. Sep 2003 B1
6650748 Edwards et al. Nov 2003 B1
6697457 Petrushin Feb 2004 B2
6704409 Dilip et al. Mar 2004 B1
6707903 Qutub et al. Mar 2004 B2
6754333 Flockhart et al. Jun 2004 B1
6766013 Flockhart et al. Jul 2004 B2
6771765 Crowther et al. Aug 2004 B1
6822945 Petrovykh Nov 2004 B2
6947543 Alvarado et al. Sep 2005 B2
6959081 Brown et al. Oct 2005 B2
6978006 Polcyn Dec 2005 B1
7035808 Ford Apr 2006 B1
7035927 Flockhart et al. Apr 2006 B2
7050568 Brown et al. May 2006 B2
7076051 Brown et al. Jul 2006 B2
7095842 Brown et al. Aug 2006 B2
7245716 Brown et al. Jul 2007 B2
20020194002 Petrushin Dec 2002 A1
20030108184 Brown et al. Jun 2003 A1
20040203878 Thomson Oct 2004 A1
Foreign Referenced Citations (18)
Number Date Country
2143198 Jan 1995 CA
2174762 Jun 1995 CA
0 501 189 Sep 1992 EP
0 740 450 Oct 1996 EP
0 772 335 May 1997 EP
0 855 826 Jul 1998 EP
0 863 651 Sep 1998 EP
0829996 Sep 1998 EP
0866407 Sep 1998 EP
899673 Mar 1999 EP
998108 May 2000 EP
1091307 Apr 2001 EP
1150236 Oct 2001 EP
2 273 418 Jun 1994 GB
2 290 192 Dec 1995 GB
WO 9607141 Mar 1996 WO
WO 9728635 Aug 1997 WO
WO 9856207 Dec 1998 WO
Related Publications (1)
Number Date Country
20030231757 A1 Dec 2003 US