WO2004017550A2 - Escalated handling of non-realtime communications - Google Patents

Escalated handling of non-realtime communications Download PDF

Info

Publication number
WO2004017550A2
WO2004017550A2 PCT/US2003/023897 US0323897W WO2004017550A2 WO 2004017550 A2 WO2004017550 A2 WO 2004017550A2 US 0323897 W US0323897 W US 0323897W WO 2004017550 A2 WO2004017550 A2 WO 2004017550A2
Authority
WO
WIPO (PCT)
Prior art keywords
agent
designated
communication
aged
workflow
Prior art date
Application number
PCT/US2003/023897
Other languages
French (fr)
Other versions
WO2004017550A3 (en
Inventor
Kevin Mcpartlan
Justin Broughton
Original Assignee
Nuasis Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nuasis Corporation filed Critical Nuasis Corporation
Priority to AU2003257054A priority Critical patent/AU2003257054A1/en
Publication of WO2004017550A2 publication Critical patent/WO2004017550A2/en
Publication of WO2004017550A3 publication Critical patent/WO2004017550A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5233Operator skill based call distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5064Customer relationship management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/065Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/40Aspects of automatic or semi-automatic exchanges related to call centers
    • H04M2203/404Collaboration among agents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2207/00Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
    • H04M2207/20Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place hybrid systems
    • H04M2207/203Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place hybrid systems composed of PSTN and data network, e.g. the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5235Dependent on call type or called number [DNIS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Definitions

  • SIMULTANEOUSLY EDITING AN ARRAY OF VALUES THAT SUM TO A FIXED VALUE is also hereby incorporated by reference in its entirety.
  • the present invention relates generally to the field of Contact Centers. More specifically, the present invention relates to the field of handling non-realtime communication with customers in a Contact Center that processes contacts having different media types.
  • SLA service level agreement
  • the Contact Center Normally a service level agreement (SLA) exists that requires the Contact Center to meet a goal such as "all emails must receive a response within Vi of a business day,” or "all callbacks must be completed within 2 hours and before the Contact Center is closed for the end of the day.”
  • SLA service level agreement
  • the agents often work is presented that could be done more efficiently by others because either the agent is more experienced and could be leaving an easier email for another, or the agent is inexperienced and not competent to handle the communication presented, causing them to redirect the email to a supervisor for assistance. Therefore, the first method is more efficient but could lead to SLA violations and the second method controls the SLA but requires more labor overall to handle the workload.
  • Contact centers are typically used by organizations to service customers. Traditionally, customers called into a contact center using a telephone but more and more organizations are implementing other types of media access such as mail, voice mail, web browsing, etc. to expand the ways by which their customers may contact them. Current attempts to integrate the different media into a single call center have proved ineffective because of the complexity of the various media channels and because the adoption of their use occurred at different times, so most products were poorly integrated out of several different incompatible designs. Telephone oriented ACD is very different than an email or a we co a oration session. itiona y, t e response ime expec e y e cusiomer varieu depending on the media type used.
  • One approach processes a contact based on its media type. This approach ignores the fact that the same customer is treated differently based on their method of contact. For example, a customer that sends an email to a support group may have to wait for assistance longer than calling the same company's support telephone number.
  • Another approach is to handle all contacts identically, regardless of media type in a "Universal Queue.” This "Universal Queue" approach fails to account for the magnitude of contacts and different expected response times for a customer independent of the various media types. For example, tens or hundreds of phone contacts may be received in a day whereas thousands of email messages may be received for the same day. Thus, a call center that processes all contacts as requiring an immediate response quickly becomes overloaded with emails that could have been answered with off peak labor.
  • What is needed is a system that processes and prioritizes non-realtime contacts and realtime contacts separately and in parallel. What is needed to accomplish this is a system and method of handling and distributing non-realtime communications in a Contact Center when agents of various skill levels are assigned communications from a group of communications of various types such as "sales,” “accounts payable” or “service,” in a “Universal Queue” for non-realtime communications based on customer requirements rather than routing based on media type.
  • a system and method of escalating non-realtime communications entering a Contact Center removes communications that may initially be viewed as requiring deferred assistance, such as those near missing their SLA or those determined to require immediate handling based on identifying a particular important customer, from its shared file folders and "escalating" them to be routed as live communications, for immediate response by a designated agent.
  • An alternative tiered service model for a digital multimedia contact center assigns an entering contact to an initial immediate or deferred service tier based on routing criteria for the contact and may escalate or de-escalate the contact to a different service tier if the routing criteria changes.
  • the service tier is initially determined based on a media type associated with the contact.
  • the digital multimedia contact center contains a set of media servers, each of which passes a contact of a particular media type to a workflow engine (one for each service tier - immediate and deferred), which executes workflows to direct the processing of contacts at service tiers that require agent activity.
  • a workflow engine one for each service tier - immediate and deferred
  • agents are then allocated to contacts by a dynamic automated contact distributor and the appropriate media router is used to route the contact to an agent.
  • the workflow engines also execute workflows for agents to control the allocation of agents to contacts.
  • a method of escalating non-realtime communications in a contact center comprising the steps of extracting an aged communication from a plurality of shared file folders, wherein the plurality of shared file folders are configured in a central processing are of the contact center, and further wherein a communication is designated as aged based on predetermined escalation criteria, routing the aged communication with an escalation service to an immediate workflow such that the aged communication is routed by the immediate workflow for immediate response to a first designated agent, presenting the aged communication to the first designated agent such that the aged communication is displayed on a desktop of the first designated agent and responding to the aged communication, wherein the first designated agent answers the aged communication on the desktop, wherein a deferred workflow routes an immediate communication to the immediate workflow for routing to the first designated agent.
  • the method of the present invention also includes monitoring the aged communication displayed on the first designated agent's desktop, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to a second designated agent and prompting the first designated agent when the step of responding does not occur within a predetermined timeout period after the step of presenting, wherein the aged communication is routed to the second designated agent after the prompting step is unanswered by the first designated agent and the aged communication is routed to the second designated agent after the first designated agent answers the prompting step by declining to respond to the aged communication.
  • the method of the present invention also includes the predetermined escalation criteria being variable such that the predetermined escalation will change during the responding step, and further wherein the non-realtime communication is distributed to the central processing area, the first and second designated agents selecting non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged and an agent being designated based on predete ⁇ nined designation criteria.
  • a system for escalating non-realtime communications in a contact center comprising means for extracting an aged communication from a plurality of shared file folders, wherein the plurality of shared file folders is configured in a central processing area of the contact center, and further wherein a communication is designated as aged based on predetermined escalation criteria, means for routing the aged communication with an escalation service to an immediate workflow such that the aged communication is routed by the immediate workflow for immediate response to a first designated agent, means for presenting the aged communica ion o the rs esigna e agen suc a e age communication is ⁇ ispiayeu on a desktop of the first designated agent and means for responding to the aged communication, wherein the first designated agent answers the aged communication on the desktop, wherein a deferred workflow routes an immediate communication to the immediate workflow for routing to the first designated agent.
  • the system of the present invention also includes means for monitoring the aged communication displayed on the first designated agent's desktop, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to a second designated agent and means for prompting the first designated agent when the means for responding are not activated within a predeterniined timeout period after the means for presenting display the aged communication on the desktop of the first designated agent, wherein the aged communication is routed to the second designated agent after the means for prompting is unanswered by the first designated agent and the aged communication is routed to the second designated agent after the first designated agent answers the means for prompting by declining to respond to the aged communication.
  • the system of the present invention also includes the predetermined escalation criteria being variable such that the predetermined escalation will change when the means for responding are activated, the first and second designated agents selecting non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged and an agent being designated based on predetermined designation criteria.
  • a system of escalating a non-realtime communication in a contact center comprising a plurality of shared file folders where the non-realtime communication is received and stored, wherein the plurality of shared file folders are configured in a central processing area of the contact center, and further wherein an aged communication is extracted from the plurality of shared file folders based on predetermined escalation criteria, an escalation service coupled with the plurality of shared file folders such that the escalated service routes the aged communication to an immediate workflow and a plurality of designated agents such that the aged communication is displayed on a desktop of a first designated agent after receiving the aged communication from the immediate workflow, wherein the first designated agent provides an immediate response to the aged communication on the desktop, and further wherein a deferred workflow routes an immediate communication to the immediate workflow for routing to the first designated agent.
  • the system of the present invention also includes a second designated agent, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to the second designated agent and the first designated agent is prompted when the first designated agent does not respond within a predetermined timeout period after the aged communication is displayed on the desktop, wherein the aged communication is routed to the second designated agent after the first esigna e agen oes no answer e promp an e age communica ion is r ⁇ iueu ⁇ me second designated agent after the first designated agent answers the prompt by declining to respond to the aged communication.
  • the system of the present invention also includes the predetermined escalation criteria being variable such that the predetermined escalation will change while the first designated agent responds to the aged communication, the first and second designated agents selecting non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non- realtime communications not designated as aged and an agent being designated based on predetermined designation criteria.
  • An apparatus for escalating non-realtime communications in a contact center comprising a storage media for storing a computer application, a processing unit coupled to the storage media and a user interface coupled to the processing unit such that a plurality of users can receive an aged communication from an immediate workflow through an escalation service, wherein the plurality of users can provide an immediate response to the aged communication, and further wherein the immediate workflow can receive an immediate communication from a deferred workflow for routing to the plurality of users.
  • a tiered service model for a digital multimedia contact center assigns an entering contact to an initial service tier based on routing criteria for the contact and may escalate or de-escalate the contact to a different service tier if the routing criteria changes.
  • the routing criteria is initially dete ⁇ nined based on a media type associated with the contact.
  • the digital multimedia contact center contains a set of media routers, each of which passes a contact of a particular type to a workflow engine.
  • the workflow engine starts a workflow for the contact and calls a dynamic automatic contact distributor to allocate an agent to the contact if the service tier of the contact requires agent activity.
  • the workflow engine returns an identifier for the allocated agent to the media router, which then routes the contact to an agent desktop for the agent.
  • the agent desktop presents the contact to the agent for processing.
  • the workflow engine also creates a workflow for an agent to control the allocation of the agents to contacts.
  • the digital multimedia contact center operates in conjunction with existing systems dedicated to a particular media type without requiring major modifications to those systems. For example, emails are generally handled at one service tier by the standard operations of a conventional email system unless specially marked in the email system as having been escalated to a higher service tier. Similarly, voice calls are initially assigned to a high service tier for handling by an agent but can be de-escalated to a lower service tier and routed to an existing interactive voice response system if appropriate. Thus, the digital multimedia contact center handles contacts in accordance with the contact's required level of service instead of relying primarily on the media type to determine the necessary processing. Furthermore, the digital multimedia contact center implements the most appropriate processing methodology for the number of contacts expected at each service tier.
  • Figure 1 is a diagram illustrating a three-tiered service model for a digital multimedia contact center of the present invention.
  • Figure 2 is a diagram illustrating an embodiment of a system architecture underlying the digital multimedia contact center model shown in Figure 1.
  • Figures 3a-3c are diagrams illustrating the processing of media-specific contacts within the architecture of the digital multimedia contact center shown in
  • Figures 4a-4c are flowcharts of method s to be performed by voice components in the embodiment of the digital multimedia contact center shown in Figure 2.
  • Figures 5a-5c are flowcharts of methods to be performed by by escalated email components in the embodiment of the digital multimedia contaact center shown in Figure 2.
  • Figures 6a-6c are flowcharts of methods to be performed by collaboration components in the embodiment of the digital multimedia contact center shown in Figure 2.
  • Figures 7a-7c are flowcharts of methods to be performed by agent components in the embodiment of the digital multimedia contact center shown in Figure 2.
  • Figure 8a is a diagram of a contact detail data structure for use in an implementation of the invention.
  • Figure 8b is a diagram of an agent data structure for use in an implementation of the invention.
  • Figure 9a is a diagram of a workflow engine for use in an implementation of the invention.
  • Figure 9b is a diagram of an asynchronous workflow executed by the workflow engine of Figure 9a.
  • Figure 10a is a diagram of one embodiment of an operating environment suitable for practicing the present invention.
  • Figure 10b is a diagram of one embodiment of a computer sytem suitable for use in the operating environment of Figure 10a.
  • Figures 1 la-1 lc illustrate a graphical representation of a Contact Center architecture of the preferred embodiment of the present invention.
  • Figure 12 illustrates a graphical representation of a Node architecture of the preferred embodiment of the present invention.
  • _ i s ra es a ow c ar represen a ion o ⁇ uimcxn ⁇ i ⁇ uc present invention.
  • the preferred embodiment of the present invention is a system and method of escalating communications in a Contact Center, preferably a Contact Center having a hub and node architecture.
  • the details concerning the Contact Center of the preferred embodiment of the present invention are disclosed in a co-owned and co-pending U.S. patent application, Ser. No. fNUASIOOlon ⁇ entitled CONTACT CENTER ARCHITECTURE.
  • the U.S. patent, application Ser. No. fNUASIOOlOl ⁇ entitled CONTACT CENTER ARCHITECTURE is also incorporated by reference in its entirety.
  • alternative embodiments of the present invention disclosed in the following specification can and will be utilized in VoIP networks other than the Contact Center incorporated by reference above.
  • the Contact Center 1100 depicted in Figures 11 a- 11 c is preferably used to implement the present invention.
  • Contacts 1101 access the Contact Center 1100 through the Internet 1104 using any type of personal computer or other personal internet interface 1102 connected to the Internet 1104.
  • the Contacts 1101 are routed to appropriate Agents 1150 by the Hubs 1115, 1117 and Nodes (Node CHI, Node STL, Node HOU, Node B-l, Node B-2. Node B-3), so that the Agents 1150 may assist the Contacts 1101 with a variety of goods and services, depending on the particular Contact Center 1100.
  • other realtime customer contacts such as chat and web collaboration requests are also routed to the Agents 1150 in this manner.
  • all of these possible contact types will be referred to as "communications" in describing the preferred embodiment of the present invention.
  • the preferred embodiment of the present invention is a hybrid approach that places incoming non-realtime communications in a deferred workflow, which will transfer communications having immediate service tier requirement such as communications from a preferred (e.g. "Platinum”) customer or some other immediate service tier requirement to an immediate workflow, where the commumcation will be routed to designated Agents 1150.
  • immediate service tier requirement such as communications from a preferred (e.g. "Platinum") customer or some other immediate service tier requirement to an immediate workflow, where the commumcation will be routed to designated Agents 1150.
  • an Agent 1150 when an Agent 1150 is not actively interacting with a contact via a voice, video, or web collaboration call, they can be working on background actions such as responding to email, voicemail or FAX. In some cases this may happen c curren y unng a ive ca or we c a session; per ap r s lenginy wan periods during the contact session, such as a support desk waiting for a customer to reboot a PC, etc.
  • This means that an Agent 1150 can be working on several things at once, and on work that is as difficult as they feel they are capable, while the operator of the Contact Center 1100 knows that if a communication ages to the point of nearing the SLA, it will be escalated.
  • Agent 1150 when the communication is escalated, it is presented to the Agent 1150 as an exclusive piece of work to be completed immediately and will not be interrupted with any live contact. However, only certain Agents 1150 as designated by the operator of the Contact Center 1100, may be assigned such an escalated communication. The concept of designated Agents 1150 will be discussed in greater detail below.
  • the Agent 1150 is expected to answer the communication immediately without accepting additional work, just as they would if a new live communication was presented to them. This permits the Contact Center 1100 to operate at the highest possible efficiency.
  • the Contact Center 1100 monitors the age of all communications that are actively being worked on by Agents 1150, and after noticing it is in danger of not being completed in a timely manner, it presents a prompt to the Agent 1150 asking if the Agent 1150 is still working on the communication or whether the Agent 1150 is even presently working. If the Agent 1150 is present and the communication is being actively worked on, the Agent 1150 can indicate whether they wish to keep the communication or let it be escalated into an immediate workflow and be presented to another Agent 1150. If the Agent 1150 can complete the work, they may indicate that they want to keep the communication and continue to work on it. If the Agent 1150 can't complete it, they may indicate that it should be escalated to an immediate workflow for another Agent 1150 to handle.
  • a timeout i.e., if the Agent 1150 does not respond to the original prompt, will default, thereby escalating the commumcation to the immediate workflow and presenting the commumcation to another Agent 1150. This will keep communications that are in process with Agents 1150 who for some reason cease to actively work on them from failing to meet SLAs.
  • a Central Processing Area 1200 of the preferred embodiment of the present invention is depicted to show the operation of escalated communications in the Contact Center 1100 of Figures 1 la-1 lc.
  • igur e is a ot a ypi ca en ra rocessi ng rea a , as een -umpnueu ⁇ illustrate only the Shared File Folders 1202, the Deferred Workflow 1205, the Immediate Workflow 1204, the Escalation Service 1203 and the Dynamic Automatic Contact Distributor (ACD) 1210 of the preferred embodiment of the present invention.
  • the CPA 1200 of the preferred embodiment of the present invention may and usually will include additional features and components.
  • the CPA 1200 of the present invention can be any Hub (Hub- A, Hub-B) in the Contact Center 100 as described in the patent application entitled CONTACT CENTER ARCHITECTURE as incorporated by reference.
  • Non-Realtime Communications 1201 arrive in the CPA 1200 and enter a Deferred Workflow 1205.
  • the Deferred Workflow 1205 if the Non- Realtime Communications 1201 require immediate service, they are escalated to the Immediate Workflow 1204, where they will be routed to Designated Agents 1208 through the Dynamic ACD 1210.
  • Such Non-Realtime Communications 1201 include such items as emails and voice messages from "Platinum" customers, etc. This will be discussed in greater detail below.
  • the Non-Realtime Communications 1201 in the Deferred Workflow 1205 that are not required to have immediate service are placed in Shared File Folders 1202, where all Agents 1206, 1208 have access to them.
  • Agents 1206, 1208 are able to access the Shared File Folders 1202 and answer communications of their choice or as assigned by the Dynamic ACD 1210. As discussed previously, this system allows for some of the communications to remain in the Shared File Folders 1202 until near their SLA limit, which in some cases could be several days. Because Agents 1206, 1208 tend to select commumcations that are better tailored to their expertise, interests or communications requiring a simple or short response, a number of the communications in the Shared File Folders 1202 are neglected and need to be answered when nearing their SLA limit. These communications then need to be escalated.
  • the escalation service as described above allows for a maximum number to be set as a ceiling to limit the number of immediate escalated workflows that may run simultaneously. This limit takes into account the large numbers of contacts that may threaten to flood the agents handling immediate contacts. In such situations an outgoing message may be sent to reset customer expectations for the delay in processing the original message. It thus enables a manageable solution for the system administration of the Contact Center 1100.
  • a communication becomes an aged communication as defined by its proximity to missing its SLA
  • the aged communications are removed from the Shared File Folders 1202 and are delivered by the Escalation Service 1203 to the Immediate Workflow 1204. All data collected before the communication is escalated is retained and sent by the Escalation Service 1203 to the Immediate Workflow 1204.
  • the Dynamic ACD 1210 routes the escalated communication to a Designated Agent 1208.
  • Designated Agents 1208 are those Agents 1206, 1208 that are qualified and selected by the operator of the Contact Center 1100 ( Figures 1 la-1 lc) to respon to commumca ⁇ ons wnicn become aged or, more generally, any communications with an Immediate Workflow 1204.
  • the Designated Agents 1208 are those Agents 1206, 1208 that have more experience in handling all types of communications, perhaps have special skills such as additional languages or technical experiences or are specialized Agents 1206, 1208 that handle solely escalated communications from the Immediate Workflow 1204.
  • While either class of Agents (Designated or not Designated) 1206, 1208 are authorized to select and respond to communications from the Shared File Folders 1202, only the Designated Agents 1208 are available for receiving escalated communications from the Dynamic ACD 1210 as depicted in Figure 12.
  • the Dynamic ACD 1210 is also able to reassign escalated communications that were previously assigned to Designated Agents 1208, but need to be reassigned when the Designated Agent 1208 is unavailable or unable to respond to the escalated commumcation.
  • the escalated communication is monitored after being routed to the Designated Agent 1208.
  • the CPA 1200 will prompt the Designated Agent 1208 assigned to the escalated communication to determine whether the Designated Agent 1208 is still working. If the Designated Agent 1208 is not currently available, the Immediate Workflow 1204 will re-route the escalated communication to another Designated Agent 1208. Likewise, if the first Designated Agent 1208 is unable to effectively respond to the escalated communication or does not want to respond to it, the Immediate Workflow 1204 will also re-route the escalated communication to another Designated Agent 1208.
  • FIG. 13 is a flow chart depicting a preferred method of the present invention.
  • the method begins at step 1300 when communications enter the central processing area (CPA) and are placed in a deferred workflow.
  • the deferred workflow detennines whether the contact should be escalated for immediate assistance based on requests in the contact such as "Platinum" customer, etc. If the contact should not be escalated in step 1302, the contact is placed into a shared file folder in step 1303. Communications enter the shared file folders, which are configured in a CPA of the contact center of the present invention.
  • step 1304 after communications collect in the shared file folders in step 1303, it is determined whether any aged communications are in the shared file folders, i.e.
  • step 1305. This escalated communication is then routed to a designated agent as an immediate contact. Whether an agent is designated is predetermined by the operator of the contact center. Referring back to step 1302, if the deferred workflow determines that the communication should be escalated . . . based on business requirements, then step 1301 escalates that commumcation m step I ⁇ UD directly to the immediate workflow for routing to a designated agent.
  • the escalated communication is monitored and it is determined in step 1306 whether the designated agent is available to respond to the escalated communication. If the designated agent is available, it is then determined in step 1307 whether the designated agent is able or even wants to respond to the high priority communication. If in either step 1306 or 1307, the designated agent is unavailable, unable or unwilling to respond to the escalated communication, then path 1308 returns the escalated communication to the immediate workflow in step 1305 for routing as an immediate contact to another designated agent. However, if the designated agent is able and willing to respond to the escalated communication, the designated agent will respond in step 1310, before the method is finished.
  • Step 1312 displays how agents, designated as well as non-designated, select communications from the shared file folders and respond to them as they wish while the preferred escalation method occurs in the present invention depicted in Figure 13.
  • FIGs. 1 and 2 A system level overview of the operation of an alternative embodiment of the invention is described by reference to FIGs. 1 and 2.
  • FIG. 1 illustrates a tree-tiered service model 100 for a digital multimedia contact center.
  • there and three service tiers self-service tier 101, deferred service tier 103, ans immediate assistance tier 105.
  • Contacts accessing the center at the self-service trier 101 do not require the assistance of an agent at the contact center, while contacts being serviced at the deferred tier 103 and the intermediate assistance tier 105 do require agent activity.
  • a contact accessing the center at deferred tier 103 is present to an agent pulls a deferred contact for processing when there are no immediate assistance contacts to process.
  • a contact at the immediate assistance tier 105 is presented in a "push" model as a foreground task.
  • the components for the different tiers are designed to handle different magnitude fo contacts.
  • the self-service tier components will process orders of magnitude more contacts than the deferred tier components, which will process orders of magnitude more contacts than the immediate assistance tier components.
  • a contact entering the contact center is initially assigned to one of the three tiers based on the type of media used by the contact in accessing the contact center.
  • the embodiment shown in FIG. 1 is further described with reference to three media types: voice calls, emails and World Wide Web, although the invention is not so limited.
  • Voice calls are initially routed to the immediate assistance tier 105
  • emails are initially routed to the deferred tier 103
  • Web contacts are initially routed to the self-service tier 101.
  • the subsequent routing may be preformed that escalates or de-escalates the contact to another tier (shown as arrows in FIG. 1).
  • the subsequent routing can be based on one or more routing criteria, including factors defined by the contact center owner or subscriber, such as priority, access phone numbers, and time-out periods, and environmental factors such as contact activity.
  • the routing criteria associated with a contact may change as the various components in the contact center process the contact. For example, if the routing criteria of a contact passes a pre-defined threshold, the contact may be escalated or de-escalated. Thus, an email is escalated (arrow 111) to the immediate assistance for 103 if it has not been answered when a "time-to-reply" period elapses.
  • a voice call is initially routed to the immediate assistance tier 103 but is de-escalated (arrow 115) to the deferred tier 103 if the caller chooses to leave a voice-mail, or de-escalate (arrow 113) to the self service tier 103 if the contact is sent to an interactive voice response (IVR) system for more processing.
  • a self service WEB contact can be escalated (arrow 107) into the immediate assistance tier 103 by through " Click and Talk" buttons available on the WEB site, or escalated (arrow 109) to the deferred tier 103 if the contact chooses to send an email instead. Details of the escalation and de- escalation of each media type is described in more detail in conjunction with the flowcharts in the next section.
  • the exemplary embodiments focus on voice, email, and WEB contacts for ease in understanding, it will be appreciated that the invention encompasses all potential analog and digital media types, including fax, "faxback", video, etc.. In the addition to being extensible to other WANs and to LANs. It will also be appreciated that the contact is not limited by its initial media type so, for example, the contact and agent in a collaboration session could be also talking by phone, an email message could generate a return fax or phone call, or the expiration of a time-out on a collaboration request generate an email message to the contact promising a response within a set time period.
  • the alternative embodiment three-tier service model 100 illustrated in FIG. 1 operates within a digital multimedia contact system, one embodiment of which is shown in FIG. 2.
  • the system architecture for contact center 200 is based on a workflow engine 201 that directs the activities of the agents in the center using workflow steps.
  • a contact workflow is initiated by events that are routed into one of a set of workflow subsystems 205 dedicated to a contact media type.
  • An agent workflow is initiated by events routed into an agent subsystem 219 by an agent desktop component 229. Events that trigger a workflow include a new call arriving at the contact center or an agent logging in.
  • the workflow for a contact remains active until the contact is terminated; the workflow for an agent remains active until the agent logs out of the contact center 200.
  • the workflows are executed by workflow logic 207. Events are passed between the workflow logic 207 and the workflow subsystems 205 by a message passing layer 203. The events can also modify the execution flow of existing contact or agent workflows.
  • a workflow for an immediate assistance contact causes a dynamic ACD (automatic contact distributor) 241 to allocate an agent to the contact.
  • the allocation is also reflected in the agents workflow.
  • the operation of the dynamic ACD 241 is descried in further detail below.
  • a contact coming into the contact center 200 of this alternative embodiment is initially classified in accordance with a set of previously defined classifications, e.g., Sales, Customer Service, Support, etc., by the appropriate workflow subsystem 205. Additional information is also gathered to determine the optimal routing of the contact. Information that narrows down the set of agents to which a contact can be routed is referred to as "contact requirements". Examples of contact requirements include product knowledge, language fluency, and previous communication with the contact (each contact is considered a new one). Origin and destination information now is consistently collected from all media types, such as calling phone number and called phone number for voice calls. Subject information may also be collected from voice contacts based on responses to IVR menu options.
  • a set of previously defined classifications e.g., Sales, Customer Service, Support, etc.
  • a voice router 223 provides an interface between a voice subsystem 213 and a conventional digital telephony system (voice server 222), that handles IP (Internet Protocol) calls.
  • the voice subsystem 213 starts a workflow when a call arrives at the contact center es a re ue o voice mail or IVR) as determined by the workflow.
  • the voice server 222 receives digital voice calls (referred to as voice-over IP or IVR) directly from a digital wide-area network (WAN) 220, such as the Internet, or via a gateway 251, that converts analog voice calls 253 to VoIP calls.
  • the gateway 251 also converts VoIP calls from the digital telephony system 222 into analog voice originals for transmission back to the caller.
  • a conventional email system processes deferred contacts received from the WAN 220.
  • the email system uses its own in-line rules engine for processing incoming email and placing it into mailboxes to be accessed by the agents as backgrounds tasks. The agents retrieve deferred contacts from these mailboxes explicitly.
  • An email escalator 227 provides an interface between an email system 217 and the conventional email system for emails that are escalated from deferred to immediate assistance.
  • the email escalator 227 periodically reviews the mailboxes for pending emails that meet pre-determined criteria for escalation, such as time-to-reply or customer value parameters. It then collects information about the email (customer, priority etc.) And passes this to the email subsystem 217.
  • the emails are evaluated in chronological order and the emails that meet the escalation criteria are further broken down by classification and within a particular classification, the email is passed to the email subsystem 217 on a first-in first-out basis.
  • the email subsystem 217 determines if the contact is entitled to be escalated to an immediate assistance contact based on the contact information and starts a contact workflow if it is. When the workflow succeeds in routing the email to an agent, the agent address is returned to the email escalator 227, which passes it to the email subsystem 217 for actual routing to the agent. In an embodiment in which voice mail is routed to an agent as an audio attachment to an email, the email escalator 227 also serves to escalate voice mails to the immediate assistance tier if appropriate.
  • a conventional Web server 224 processes self-service contacts that originates from the WAN 220. Such a server can offer browsing and searching capabilities for a knowledge base, or a set of FAQs (frequently asked questions).
  • a collaboration router 225 provides an interface between a collaboration subsystem 215 and a conventional collaboration system, that executes on, or in conjunction with, the Web server 224. Web pages on the Web server 224 are modified to include "Click to Chat/Talk" buttons to connect to the collaboration system. When the button is clicked by a Web contact, the collaboration systems sends an event to the collaboration router 225, which in turns sends an event to the collaboration subsystem 215. The collaboration subsystem 215 determines if the contact is entitled to be escalated to an immediate assistance contact and initiates a contact workflow if so. Once the collaboration request has been assigned to an agent, the agent address is passed back to the collaboration router 225 for actual routing. Other agents may be included in the collaboration session if necessary.
  • An agent subsystem 219 provides an interface between one or more agent desktops 229 and the workflow logic 207 for agent events.
  • agent desktops 229 When notified of an agent login by the co esp n gen es op , e agen su sys em va i eiu oei ⁇ ic -utuuug an agent workflow that describe the agent's work process until the agent logs out.
  • the agent desktop 229 notifies the agent subsystem 219 of all agent state changes.
  • the agent subsystem 219 is also responsible for watching the agent's phones for outbound call events. It passes this information to the workflow logic 207 to ensure the agent state is changed to "busy".
  • the agent subsystem 218 sends an "outbound call" event to the agent's workflow so the agent initiated contacts can be tracked.
  • the agent desktop 229 controls the presentation of tasks on an agent's desktop.
  • the tasks originate from the multiple conventional systems with which the contact center 200 interfaces as previously described, as well as from the workflow engine 201.
  • Each of the conventional systems has its own user interface. Monitoring tools may also be available to certain agents, such as those providing statistics on the operation of the contact center and individual agents.
  • the agent desktop 229 integrates the separate user interfaces into a single coherent interface that presents the agent with immediate assistance contacts as foreground tasks and deferred contacts as background tasks.
  • the foreground mode integrates the telephony interface, the collaboration interface.
  • the email interface for escalated emails).
  • the background mode integrates the email interface (for non- escalated emails and other deferred contacts, such as oice mail, fax, forms, etc.) And the monitoring tools, for example.
  • the agent desktop 229 also integrates with any existing customer relation management applications to provide customer information to the agent for the foreground and background tasks.
  • the connection between the agent desktops 229 and the conventional systems 222, 224,226 are not shown in FIG.2 for clarity in illustration.
  • the agent desktops 229 do not communicate directly to the agent subsystem 219 but are managed through a desktop manager component that handles concurrent requests from desktops and routes responses.
  • the desktop manager component communicates with a server portion that queues events arriving from the agent subsystem 219 and sends them to the appropriate desktop in response to polls from the desktops. Executing the server portion of the desktop manager on a machine separate from that executing the agent subsystem provided additional scaling capabilities to the contact center.
  • an analog voice call 253 is received by the gateway 251, it is converted to a VoIP call and directed by the voice server 222 to a voice media router 223.
  • the voice media router 223 informs the voice subsystem 213 of the incoming contact and the voice subsystem 213 creates a workflow for the contact. Assuming the contact is to remain at the immediate assistance tier 103, the workflow requests the dynamic ACD 241 allocate an agent to the contact.
  • the dynamic ACD 241 passes the agent information back to the voice router subsystem 213, which then sends the agent and contact information to the voice router 2243.
  • the voice router 223, sends the information to e voice server z ⁇ i or rou ng.
  • e vo ce server rans ers e con ac ⁇ me a -u iicue agent desktop 229 as a foreground task.
  • the workflow engine 201 also contains a database 231 of contact 233 and agent records 235.
  • a database unification layer 261 confines the information in the database 231 and information maintained by the voice 222, Web 224, and email 226 servers into a coherent view of the contact center.
  • the contact and agent workflows query and update the database 231 through a database subsystem 211 that converts workflow requests into calls for the database unification layer 261. h an alternate embodiment not shown in FIG. 2, the contact and agent workflows query the database unification layer 261 directly. In yet another alternate embodiment, the database unification layer is incorporated into the database subsystem 211.
  • the database unification layer 261 has access to, and accessible by, all the other components of the contact center to allow reporting and analysis of the activities of the contact center regardless of the media type used by the contacts.
  • the connections between the database unification layer 261 and the other components are not shown in FIG. 2 for clarity in illustration.
  • the information can be retrieved through the database unification layer 261 by a monitoring tool (*not shown) to graphically and/or numerically illustrate the state of the contact center (number of contacts awaiting service, how many agents are on break, etc.). For instance, the monitoring tool may display the number of un-serviced contacts broken down by classification.
  • a conventional reporting application can be employed to obtain information through the database unification layer 261 for standardized reports. Agents, supervisors and managers may each have access to a set of such reports to gauge the efficiency of the contact cen5tr, a group, or individual agent.
  • the database unification layer 261 also provides for the collection of billing information and for the tracking of contacts through the contact center, both across media types.
  • the dynamic ACD 241 uses unordered lists of waiting contacts 237 and available agents 239 to match a contact with an agent.
  • the workflow engine 201 causes the dynamic ACD 241 to create and manage the unordered lists of contacts 237 and and agents 239.
  • the unordered lists 237, 239 may be database structures that are managed by the database subsystem 211 as instructed by the workflow engine 201 and the dynamic ACD 241.
  • contact requirements e.g., product knowledge, language fluency, previous communication
  • agent attributes Information used to decided the appropriateness of an agent within the set
  • agents may be dedicated to one or more contact classifications.
  • the dynamic ACD 241 searches for an appropriate agent from list 239 of available agents by filtering the agents against the contact classification and any requirements, and prio t zes t e resulting agents according to their attributes.
  • the dynamic ACD 241 passes the information for the agent back to the appropriate subsystem to route the contact to the agent and removes the agent from the available agent list 239. If no appropriate agent is available, the contact is entered into the waiting contact list 237 until an appropriate agent becomes available to take the contact. Similarly, when an agent requests a contact, the waiting contact list 237 is filtered by classification and "agent requirements" (e.g., media type, territory) and prioritized according to contact attributes such as time in queue and business value. The matching process is invoked by a step in the contact workflow for an immediate assistance contact or in the agent workflow for an available agent as explained further below.
  • agent requirements e.g., media type, territory
  • Fig.2 there may be multiple instances of each of the media routers 221.
  • workflow engine 201 may obtain mulitple instances of one or more of the workflow subsystem 205 depending on workload. Additionally, multiple workflow engines 201 may be present witin a contact center 200.
  • each component provides services for other components.
  • the dynamic ACD 241 provides an agent allocation service and the collaboration subsystem 215 provides a collaboration workflow service.
  • a service manager (not shown) provides a central location for registration and discovery of the contact center service providers.
  • a component needs a service (such as the initialization of a workflow)
  • it calls the service manager to find the location of that service.
  • the service manager reviews a list of all registered providers of that service and selects the appropriate providers (e.g., shortest routing to requester). Finally it chooses the best provider based on the unused capacity of each service.
  • the contact center 200 may continue to start service on new or existing machine as necessary to deal with its workload.
  • a tiered service model that allows the escalation and de-escalation of a contact has been described, along with its operation within a digital multimedia contact center.
  • the digital multimedia contact center handles contacts in accordance with the contact's required level of service instead of relying solely on the media type to determine the necessary processing. Because different levels of service incur different quantities of contacts, different processing methodologies are appropriate within the contact center.
  • workflows are used to handle immediate assistance contacts regardless of media type because of workflow engine excels at processing relatively small numbers of contacts in real-time.
  • a workflow engine also gives the subscriber fine-grained control over the handling of the high priority contacts that require m e ia e assistance.
  • FIGs. 7A-C illustrate the particular methods of one alternative embodiment of the multimedia copy contact center 200 in terms of computer software with reference with a series of flowcharts and also a series of tier diagrams.
  • the flowcharts and tier diagrams are grouped according to related components within the contact center.
  • FIG 3 A and flowcharts FIGs 4A-C illustrate the processing of the voice components.
  • FIG.3B and flowcharts 5A-C illustrate the processing of the email escalator components.
  • FIG.3C and flowcharts 6A-C illustrate the processing of the collaboration components.
  • the processing of the agent components are illustrated only through flowcharts in FIGs. 7A-C.
  • the methods to be performed by a computer constitute computer programs made up of computer- executable instructions. Describing the methods by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the methods suitably figured computers (the processor of the computer executing the instructions from computer-readable media) acting as one or more of the components of the contact center 200 in FIG.2.
  • the computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems.
  • the present invention is not described with reference to any particular programming language.
  • the voice components receive a voice phone call and direct it to either an agent for immediate assistance 305 or to an interactive voice response system 301 for self-service.
  • the workflow engine may de-escalate the contact (represented by arrow 311) voice mail 303 if an agent is not available within a given period of time, hi addition, the workflow engine may de-escalate an immediate assistance contact (represent by arrow 311) to interactive voice response (IVR) 301 if the call priority is less than a pre-determined amount or if the caller chooses self-service.
  • a self-service contact may be escalated by a voice mail manager (represented by arrow 309) if the user chooses to leave voice mail.
  • the workflow engine 201 and the dynamic ACD 241 escalate the contact into the immediate assistance 305 as presented by arrow 307.
  • the email with the voice mail attachment may be escalate through a combination of the email escalator, the workflow engine, and the dynamic ACD (represented by arrow 315) as explained below in conjunction with FIGs. 3B and 5A-C.
  • the voice router method 400 receives notification of a call from the voice server 222 (block 401). As part of the information received from the gateway, the voice router method400 receives the originating and destination phone numbers for the call, which it then sends to the voice subsystem 213 (block 403). The voice subsystem determines how to route the call, as will be described further below, and sends the routing information to the voice router. The voice router method 400 receives the routing information (block 405) and then sends the routing information to the voice server 222 for routing (block 407).
  • the voice subsystem method 420 receives the originating and destination phone numbers from the voice router (block 421), collects additional contact information and creates a contact record for the contact (block 423).
  • the voice subsystem method 420 then evokes an appropriate voice workflow for the contact from the workflow engine 201 (block 425).
  • One of the steps within the voice workflow will be the determination of service tier, i.e., immediate assistance ir a self-service.
  • the voice subsystem method 420 receives an IVR request from the voice workflow at block 427 and then sends the IVR information to the voice recorder at block 429 so that the voice router will route the voice call to interactive voice response.
  • the workflow determines that the contact is an immediate assistance contact (block 431)
  • the voice subsystem method 420 receives an agent request from the workflow and requests an agent from the dynamic ACD (block 433) in response.
  • the workflow causes additional options to be presented to the contact.
  • the contact may choose to be routed to voice mail, at which point the workflow engine sends a remove-contact event to the subsystem method 420, which is received at block 435.
  • the voice subsystem method 420 requests that the contact be removed from the list by the dynamic ACD (437). If, however, an agent is available, the dynamic ACD sends the agent information to the voice subsystem method 420, which in turn sends the agent information to the voice router (block 439) so that the voice router may appropriately route the contact to the chosen agent.
  • the voice subsystem method 420 continues to monitor the contact to determine if the call is answered within a reasonable period of time (block 441).
  • the voice subsystem method 420 injects a handle-agent event into voice workflow at block 443 so that the workflow will continue to handle the contact as explained further below.
  • the voice subsystem method 420 returns to block 433 and requests another agent from the dynamic ACD.
  • the voice subsystem method 420 generates events which create and update contact information regarding the voice call in the database 231.
  • FIG. 4C illustrates an alternative embodiment of a voice workflow 450 that is executed by the workflow logic 207 for a voice contact.
  • the voice workflow 450 When the voice workflow 450 is initiated, it obtains contact information through the IVR process at block 451 (shown in phantom) if it is unable to determine the contact information at block 453. A determination is made as to the level of service to be given to this contact (block 455). If the contact is not entitled to immediate assistance, the voice workflow 450 requests the contact be routed to the IVR system by the voice subsystem (block 477). The voice workflow 450 continues to monitor the contact because a contact at the IVR self-service tier 301 may choose to leave a voice mail or wait for an agent during the IVR sessions by inputting certain digits.
  • the input digits are captured as events by the voice workflow 450 at block 479 and, depending on the event, the voice workflow 450 escalates the contact to the deferred assistance tier 303 by transferring the contact into the voice mail system (block 471) or to the immediate assistance tier 305 by requesting an agent for the contact (block 457).
  • the email system manager serves as the voice mail manager and the processing represented by block 471 is performed by the workflow.
  • the workflow records the contact message, attaches the recording to an email message addressed to general mailbox, and sends the email to the email subsystem 217 for transmission to the email server 226.
  • an agent is requested from the voice subsystem at block 457 and the caller is put on hold to wait for events from the voice subsystem (block 459).
  • a handle-agent event is injected into the voices workflow 450 by the subsystem because an agent allocated to this contact has answered the phone, the handle- agent event is detected at block 471 and contact information is sent to the voice subsystem (block 463).
  • the voice workflow 450 loops waiting for events and responding appropriately to ose events, inclu ing up ating t e contac recor , unti t e ca is ermm cu. ⁇ & represented by block 465.
  • the voice workflow 450 sends a left- session event to the agent subsystem at block 467 that causes the agent to become available to receive a new contact.
  • the voice workflow 450 sends a remove-contact event to the voice subsystem at block 469 to remove the contact from the list managed by the dynamic ACD.
  • the voice workflow 4501 transfers the contact to the voice mail manager to record the message (block 471) and terminates the call after the message is recorded (block 473).
  • the voice mail is then sent to a general mailbox to be acted upon by an agent at a later point (block 475). h one embodiment, the voice message is attached to an email message and place into the mailbox by the email system.
  • a deferred email 323 is escalated into high priority email 325 through a combination of the email escalator, the workflow engine, and the dynamic ACD (represented as arrow 327).
  • an email message may be handled through an automatic response option in the conventional email system ans such an email is de-escalated by the email server 226 (represented as arrow 329) into an auto response contact 321 or transferred to a new classification as represented as arrow 328.
  • the de-escalated process is not further described.
  • FIG. 5A illustrates an email escalator method 500 performed by the email escalator 227.
  • the email escalator method 500 constantly reviews the email system mailboxes or queues (block 501) to determine if any pending emails should be escalated based on factors previously described. If an email is to be escalated (block 503), it is placed in a high priority queue (block 505) and the email information is sent to the email subsystem 217 at block 507. As will be explained in conjunction with FIG. 5B, the email subsystem 217 matches the contact to the agent and returns the agent identifier, which is received by the email escalator method 500 at block 509. The email escalator method 500 routes the email (via the email system) to the agent desktop (block 511) as a foreground task.
  • the email is presented on the desktop already opened.
  • the email escalator method 500 receives an agent-ready event from the agent desktop (block 513) and sends that event to the email subsystem at block 515.
  • the agent workflow will not assign the agent to any other contacts until the email is handled.
  • the email escalator method 500 instructs the email subsystem to identify an email that is close to being escalated and to give the agent visual clue, such as color or special icon, that the email must be handled immediately.
  • a component acing as the email subsystem 217 executes a email subsystem method 520 to perform the functions illustrated in FIG. 5D.
  • the email subsystem method 520 receives the email information from the email escalator at block 521 and invokes the workflow logic 207 at block 523.
  • the email subsystem method 520 when the email subsystem method 520 receives the email information at block 523, it creates the contact record for the email and marks it as escalated.
  • the email manager creates a contact record for each email received at the contact center and the email subsystem method 520 marks the existing contact record as escalated at block 523.
  • the email subsystem method 520 requests the agent from the dynamic ACD at block 527.
  • the agent identifier is returned from the dynamic ACD to the email subsystem method 520, which, in turn, at block 529 returns the agent identifier to the email escalator to cause the contact to be routed to be identified agent.
  • the email subsystem method 520 injects a handle-agent event into the email workflow at block 531 in response to receiving the agent-ready event from email escalator, hi one embodiment, the email subsystem method 520 generates events which create and update contact information regarding the escalated email in the database 231.
  • a method 540 for a contact workflow for an escalated email is illustrated in FIG. 5C.
  • the escalated email workflow 540 begins, it requests an agent from the email system at block 541, which causes the events previously described to occur.
  • the escalated email workflow 540 receives the handle-agent event at block 543, the workflow sends the email to the agent desktop at block 545 via the agent subsystem 219.
  • the agent may generate events that cause the escalated email workflow 540 to perform certain functions, including updating the contact record, presented generally at block 547.
  • the escalated workflow 540 sends a left-session event to the agent subsystem at block 549.
  • FIG.3C illustrates the escalation that is performed for a contact that initially appears at the contact center 200 through a self-service Web site 341.
  • the contact can be escalated (represented by arrow 349) through the email manager into a deferred email contact 343.
  • the contact clicks on a collaboration/chat button it is escalated by a combination of the workflow engine and the dynamic ACD (represented by arrow 347) into an immediate assistance contact 345.
  • the sending of emails is handled by the conventional email system, the escalation from a self-service contact 341 into a deferred email contact 343 is not further discussed.
  • collaboration router method 600 receives the contact information from the Web server (block 601) and sends the contact information to the collaboration subsystem 215 (block 603) to have an agent allocated to the contact.
  • the collaboration router method 600 receives the agent identifier from the collaboration subsystem at block 605, it then routes the collaboration session to the contact desktop for the identified agent (block 607) via the collaboration server.
  • collaboration su sys em me o execu e y e co a ora on suusysiem ⁇ J is next described in conjunction with FIG. 6D.
  • the collaboration subsystem method 620 receives the contact information from the collaboration router at block 621 an invokes a collaboration workflow for the contact at block 623.
  • the collaboration subsystem method 620 receives an agent from the dynamic ACD (block 629) for routing the collaboration session to the appropriate agent's desktop.
  • the collaboration subsystem method 620 also injects a handle-agent event into the collaboration workflow at block 623. Events resulting from the collaboration session are injected into the workflow by the collaboration subsystem method 620 when the session terminates (block 633).
  • the collaboration subsystem method 620 generates events which create and update contact information regarding the collaboration session in the database 231.
  • collaboration workflow method 640 that is executed by the workflow logic 208 as a collaboration workflow for a contact is described.
  • the collaboration workflow method 640 requests an agent from the collaboration subsystem at block 641.
  • the collaboration workflow method 640 receives a handle-agent event from the collaboration subsystem at block 643.
  • the handle-agent event informs the workflow that the agent is now ready for the collaboration session and collaboration workflow method 640 sends the contact information to the agent desktop (block 645) via the agent 219 system.
  • the collaboration workflow method 640 updates the contact record with the events received from the collaboration subsystem when the session is terminated (block 647).
  • the collaboration workflow method 640 also sends a left-session event into the agent subsystem at block 649.
  • FIG. 7A illustrates an agent desktop method 700 that presents tasks on an agent desktop 229.
  • the agent desktop method 700 receives a login event when an agent logs into the agent subsystem 219 at block 703. As part of their processing, the agent subsystem 219 and the agent workflow 207 make the agent available for contacts.
  • the agent desktop method 700 waits for messages from the agent and the agent subsystem at block 705. If the agent desktop method 700 receives the routed contacts (block 707), it passes the contact information onto the appropriate underlying system(such as the email system and the collaboration system) at block 709.
  • the agent desktop method 700 receives a wrap-up event from the agent subsystem (block 711), which causes it to put the agent into a wrap-up state (block 713).
  • the agent desktop method 700 sends an end-of-wrap up event to the agent subsystem at block 715 when the agent has finished the contact wrap up procedures.
  • the agent desktop method 700 also handles the transition of the agent into various states such as break, logout, etc. If the agent is requesting a break (block 717), the agent desktop method 7- sends the break request to the agent subsystem (block 719), which forwards it onto the agent workflow for a decision (as described further below). If the break request is allowed (block 712), the agent desktop method 700 waits for the agent to return om reak and sends o - rea even o e agen su sys em o in orm i a uic ; ⁇ gG ⁇ . i again available (block 723).
  • the agent desktop method 700 sends an agent- logout event into the subsystem at block 729. All other messages are sent to the agent subsystem at block 727.
  • the agent desktop method 700 sends an agent- logout event into the subsystem at block 729. All other messages are sent to the agent subsystem at block 727.
  • agent subsystem method 730 executed by the component acting as the agent subsystem 219 is described.
  • the agent information is received from the agent desktop at block 731 when the agent logs into the contact center.
  • the agent subsystem method 730 invokes an agent workflow from the workflow engine 201 at block 733 and waits for events from the agent workflow and the agent desktop 229 (block 735). If the event is a contact request from the agent workflow (Block 736), the agent subsystem method 730 checks to see if there is a pending break request from the agent desktop (Block 737). If not, the agent subsystem method 730 requests a contact for the agent from the dynamic ACD at block 739.
  • the agent subsystem method 730 injects a handle contact event io the agent workflow (block 740).
  • the agent subsystem method 730 receives a left-session event from the corresponding contact workflow, i.e., the voice workflow, the email workflow, the collaboration workflow, at block 741, and injects the event into the agent workflow at block 742.
  • the agent subsystem method 730 in conjunction with the current session or call, also receives a wrap-up event from the agent workflow (block 743), which it sends to the agent desktop (block 745).
  • the agent subsystem method 730 receives the end-wrap- up event from the agent desktop at block 746, and in turn, injects the event into the agent workflow at block 747. If a break request is pending (block 737), the agent subsystem method 730 waits until the agent workflow makes a decision on the break request (block 748). If allowed, the agent subsystem method 730 waits block 735 for an off-break event from the agent desktop. If not allowed, the agent subsystem method 730 requests a contact from the dynamic ACD at block 739.
  • the agent subsystem method 730 receives a break request from the agent desktop (block 749), it sends an on-break event to the agent workflow (block 770) and waits for a response, which it forwards to the agent desktop at block 751. If the break is allowed by the agent workflow (block 752), the agent subsystem method 730 requests the agent be moved from the agent list by the dynamic ACD at block 753 and waits a block 735 for an off-break event from the agent desktop. When the off-break event is received (block 754), the agent subsystem method 720 injects the off-break event into the agent workflow at block 735 to cause the workflow to request a contact for the now available agent.
  • the agent subsystem method 730 requests the agent be removed from the agent list by the dynamic ACD (block 759) and injects a logout event into the agent workflow (block 760).
  • the handling of other events is illustrated gene ⁇ caiiy at bioc , w ere e even is injec e in o e agen wor ow, ⁇ > ⁇ , 758, where the agent subsystem method 730 forwards any response received from the agent workflow to the agent desktop.
  • One of skill in the art will readily understand the processing necessary to handle different types of events without further illustration.
  • the agent workflow method 770 begins by requesting a contact for the agent from the agent subsystem at block 771.
  • the agent workflow methods 770 than waits for the agent events at block 773. If a handle-contact event is received (block 753), the agent has been allocated to a contact and the agent workflow methods 770 waits for a left- session event from the corresponding contact workflow that indicates the contact session has terminated (block 777). When the left-session event arrives, the agent workflow method 770 sends a wrap-up event to the agent subsystem at block 778 and waits for an end-wrap-up event that indicates the agent is now available (block 781).
  • the agent workflow method 770 loops back to block 771 to request a new contact for the agent.
  • the agent workflow method 770 determines if the break can be allowed based on the status of the call center (block 785). In either case, a message is sent to the agent subsystem to notify the agent desktop of the decision (block 785). If the break is allowed (block 785), the agent workflow waits for an off-break event to be received at block 786. If the break is not allowed, the agent workflow method 770 loops to block 773 to wait for a contact.
  • the agent workflow method 770 terminates, hi an embodiment not shown, the agent logout event is a request that can be denied based on the stat of the contact center, such as when the contact center is overloaded, or allowed at an appropriate time, such as when the agent workflow requests a new contact. All other events are handled by the agent workflow method 770 as generically illustrated by block 791.
  • the agent workflow method 770 One of skill in the art will readily understand the processing necessary to handle different types of events with an agent without further illustration.
  • the contact workflow instead of having the contact workflow inject the left-session events directly into the agent workflow, in one alternate embodiment, the contact workflow sends a contact-ended event to the contact subsystem and thence to the appropriate media router, which causes the router to send the e -session event to t e agent su system or injection into t e agen wor ow, JLU auuiuei alternative embodiment, the termination of the contact workflow causes the contact subsystem to send the contact-ended event to the appropriate media router, causing the router to send the left-session event to the agent subsystem and thence to the agent workflow.
  • the methods performed by a collaboration router, a collaboration subsystem, and workflow logic for a collaboration contact have ben shown by reference to flowcharts 6A-C including all the acts from 601 until 607, from 621 until 633, and from 641 until 649, respectively.
  • the methods performed by an agent desktop, an gent subsystem and workflow logic for an agent have been shown by reference to flowcharts 7A-C including all the acts from 701 until 729,, from 731 until 760, and from 771 until 791, respectively.
  • the iCC is located remotely from the agents for the subscribers, who may be at various locations.
  • the agent desktops 229 are Web browser-based that connect to the agent subsystem(s) 219 in the remote iCC.
  • the subscriber's customers contact the iCC directly through the Internet or POTS and are then routed to the appropriate agent desktop through a virtual private network.
  • the browser-based agent desktops enables the use of various plug-in applets that extend the basic capabilities of the agent desktop without extensive re-programming. Additionally, a combination Java applet/serlet can be used to implement the desktop manager described previously.
  • Communication between the workflow engine 201 and the media routers 221/agent desktop 229 is handled through a set of interfaces using Java RMI (remote method invocation).
  • Three generic interfaces are provided in a messaging library. All contact workflow subsystems, e.g., voice subsystem 213, collaboration subsystems 215 and email subsystem 217, are required to implement at least a generic contact service interface, such as "ContactWorkflowService Interface” described below. All agent workflow subsystems, e.g., the agent subsystem 219, are required to implement at least a generic agent service uncn w, such as "AgentWorkflowServicelnterface" described below.
  • Each media router 221 is required to implement at least a generic media router interface, such as "MediaRouterlnterface” described below.
  • New interfaces specific to the service requested can be defined that inherit from existing interfaces.
  • a voice service interface implements generic contact services interface along with interface for telephone commands.
  • Global variables pass information between the workflow subsystem 205 and the workflow logic 207.
  • the global variables contain the values needed by the workflow logic 207.
  • the global variables contain the values needed by the workflow logic 207 in the context of a particular workflow, and requests made by the workflow logic 207 to the workflow subsystems 205 through various workflow steps described further below.
  • a media router 221 uses the ContactWorkflowServicelnterface of a particular contact workflow subsystem to 1) start a contact workflow and receive a contact identifier for the workflow, 2) inject an event into an existing workflow identified by a contact identifier, and 3) determine if the contact workflow subsystem is handling a specified contact.
  • a media router 221 invokes a "startWorkflow" method in the ContactWorkflowServicelnterface of the desired contact workflow subsystems, passing in an identifier for the media router interface of the media router (client), and the attributes of the contact (attributes), and receives an identifier for the newly created contact worflow in return (contactTD),
  • a media router 221 invokes an "injectEvent" method in the ContactWorkflowServicelnterface of the appropriate contact workflow subsystems, identifying the contact workflow (contact ID) and the event to be injected into the workflow (event) e.g.,
  • a media router calls a "handleContact” method in the contactWorkflowServiceinterface on the contact workflow subsystems, passing in the identifier of the contact workflow (contactID) and receives a boolean value in return, e.g.
  • An agent desktop 229 uses the AgentWorkflowServicelnterface to 1) start an agent workflow and receive an agent identifier for the workflow, 2) inject an event into in existing workflow and receive an agent identifier by an agent identifier, and 3) determines if a part cular agent work ow su system is managing a speci e agent. s es iucu pievju uo ⁇ , when multiple agent workflow subsystem are present, an agent desktop is assigned to one of the agent workflow subsystems by a service manager.
  • an agent desktop invokes a "startWorkflow" method in the AgentWorkflowServicelnterface of the appropriate agent workflow subsystem, passing in the attributes of the agent (attributes), and receives an identifier for the newly created agent workflow in return (agenfJD), e.g.,
  • agent desktop invokes an "injectEvent" method in the AgentWorkflowServicelnterface of the appropriate agent workflow subsystem, identifying the agent workflow (agentID) and the event to be injected into the workflow (event), e.g.,
  • an agent desktop calls a "handlesAgent" method in the AgentworkflowServiceh terface of the agent workflow subsystem, passing in the identifier of the agent workflow (agentID) and receives a boolean value in return, e.g.,
  • Agent(agentJD) handle Agent(agentJD) .
  • the MedieRouterlnterface allows contact workflow subsystems to route contacts to the agents allocated by the dynamic ACD and to terminate a contact session.
  • a contact workflow subsystem invokes an "assignContactToAgent" method in the MediaRouterlnterface of the appropriate media router, passing in the workflow identifier for the contact (contactID) and the workflow identifier for the agent (agentJJD) and receiving a boolean in return that indicates whether the routing was successful, e.g.,
  • a contact workflow subsystem invokes a "teminateContact” method in the iCCMediaRouterfriterface of the appropriate media router, passing in the workflowidentifier for the contact (contactID), e.g.,
  • Database Unification Layer ase uni nsi ting ⁇ i information replicated from a number of different sources including the database used by the third-party systems, and the internal iCC database 231 as described previously.
  • Each different source is defined in a sub-schema including:
  • CRM Customer Relationship Management
  • the database unification layer provides access to the information in the various database through Java classes, such as CRM, Provisioning Entitlement, Rules, Contact Detail Record (CDR), Contact Center State.
  • Java classes such as CRM, Provisioning Entitlement, Rules, Contact Detail Record (CDR), Contact Center State.
  • the unified schema is synchronized with the vendor-specific sources by a set of database triggers. For instance, many conventional email systems use event handlers that watch for messages entering and changing state, and create and update CDR records as necessary, e.g. when an email message is responded to or forward to another agent. Updating one of the sources with information in the unified schema is accomplished through the Java classes.
  • FIG 8 A One embodiment of a data structure 800 for CDR is illustrated in FIG 8 A.
  • the contact represented by the CDR 800 identified through ID field 801.
  • the media type through which the contact has been entered the iCC is specified in a media type field 803.
  • the classification for the contact is stored in a contact class ID field 805.
  • the CRM case identifiers is stored in a case ID field 807 to allow tracking of the contact.
  • the agent assigned to handle the contact is identified through an assigned agent ED field 809.
  • One or more fields 811 collectively record the history of the contact as it is process in the iCC.
  • Each field 811 contains a contact state 813 and a timestamp 815.
  • Exemplary contact states used by the iCC are shown in Table 1 below and it will be appreciated that more or fewer states may be used.
  • FIG. 8B One embodiment of a data structure 820 for an agent record is illustrated in FIG. 8B.
  • the agent represented by the agent record 820 is identified by an agent ID field 821.
  • the classification for the agent is stored in an agent class ID filed 823.
  • the contact identifier for the current contact the agent is handling is stored in an assigned contact ED field 825.
  • One or more fields 827 collectively record the history of the agent while he or she is logged into the iCC.
  • Each field 827 contains an agent state 829 and timestamp 831.
  • the agent states used by the iCC are shown in Table 2 below and it will be appreciated that more or fewer states may be used.
  • the iCC usues software-implemented ACD to manage the allocation of all contacts and agents.
  • the Soft ACD exists as a set of stored procedures in the contact center database that refer to special database tables used as the unordered lists of available agents and waiting contacts.
  • the unordered lists may be further logically subdivided, e.g., by classification.
  • the Soft ACD also loads business logic and provisioning information (described below) when required.
  • Each classification within the organization e.g., Sales, Support, Customer Service, etc.
  • Each classification within the organization e.g., Sales, Support, Customer Service, etc.
  • the Soft ACD is notified, it reloads this in ormat on, anu ieuiaioi applies the new information to the iCC. While it is running, the Soft ACD maintains the state (classification, requirements, and attributes) of each entry in the list.
  • the appropriate subsystem passes the request onto the Soft ACD as previously described.
  • the Soft ACD determines the best match for the agent or contact by filtering the opposite list on classification and in light of any requirements specified in the request, and prioritizing the filter entries using on or more "priority expressions".
  • Each priority expression contains a set of weighed contact/agent attributes that produce a priority from 0 to 100 when an entry is evaluated. The attributes and their weights exist as classes in the business logic sub-schema in the database unification layer and are described next. It should be noted that the Soft ACD dynamically performs the filtering and prioritizing anew for each request for a match.
  • a resource allocator While a contact or agent is waiting on a list, the requesting workflow is free to continue executing, but when an actual allocation occurs, a resource allocator notifies the corresponding subsystem, which then interrupts the requesting workflow to route the contact.
  • the business logic used by the iCC for a subscriber is defined through an email manager, a workflow editor, and an administrative interface.
  • the email manager is used to create email rules that route email contacts into various predefined mailboxes. These rules may reference text in the form, to subject and body of the message as well as make database queries.
  • Mailbox queues are separate message areas maintained by the email server. Agents retrieve messages from these queues. Individual queues can be set up e.g., for each agent or for separate products, and additions or deletions to the existing set of queues can be made necessary. For example, the subscriber would initially define one queue per'product per classification (SalesPrinters" or "SupportPrinters”) and add more as business grows.
  • the syste administrator grants Access to these queues on a per agent basis.
  • An additional queue is defined for escalated email messages as previously described.
  • the rules which route messages into those queues are defined. Rules can also be specified that demote certain email messages into self-service by routing them to the auto-responder function.
  • the workflow editor defines a workflow for handling a contact or an agnet.
  • a subscriber may define any number of agent and contact workflows through the workflow editor. For example, each agent might have a particular workflow based on the agents 's login identifier.
  • the workflows and their related invocation information are stored for reference by the workflow engine 201 in an LDAP directory server or other directory structure that defines hierarchy directory entries. For example, a subscriber might define the following hierarchy in which the entries at levels (a) and (b) are the invocation information for the workflows specified. 1) subscn er.com a) iCC i) configuration (1) wfVoice
  • the administrative interface uses the classes in the business logic sub-schema to define logins, passwords, agent skills and proficiencies, call center classification, service level objectives, email overdue/escalation thresholds, priority expressions, attributes, attribute weightings etc.
  • the administrative interface starts up, it reads the system and subscriber business logic from the database using the business logic classes. When entities are changed, the relevant data is written back to the database through these same business logic classes.
  • the administrative interface presents the subscriber with various graphical user interface (GUI) screen to assist the user in defining the subscriber business logic.
  • GUI graphical user interface
  • the subscriber sets up the call center classifications, which define gross distinctions between contacts or between agents. The same set of classifications is used both ontacts and agents.
  • the subscriber defines service level objectives for each media type. Service level objectives are defined as the percentage of contacts of a particular media type which must be handled in a specific time.
  • the GUI screen for defining service level objectives presents the user with a list of the media types, an input area for a percentage value, and an input area for an elapsed time value.
  • Each agent has a set of skills and a proficiency within each skill, which are specified and modified through the administrative interface.
  • certain skills/proficiencies may be specified as contact requirements.
  • the requirements may also include aging information doe relaxing those requirements after a certain amount of time has elapsed without the contact being helped. For instance, the aging information might say that or .e rst 3,0, secon s a pa icu ar voi ce ca wi accep a pr ⁇ o i Jerusalemc.iency o ⁇ r a parucuiai skill, after 30 seconds a proficiency of 2 will be acceptable. This is referred to as "aging" requirement.
  • the iCC comes pre-configured with a number of system defined attributes including:
  • Time iQueue the time a contact has been waiting for a resource (available through a database stored procedure and calculated on the fly by the Software ACD.)
  • Attribute characteristics include name, type (Call center, Agent, Contact), value type (numeric, symbolic), values, default values, value normalization, and corrsponding stored procedure.
  • the subscriber defines the set of attributes using a GUI screen that prompts the user for input by displaying permitted choices or through visual clues, such as a choice of normalization curves.
  • the stored procedure for an attribute calculates a value for the attribute when the attribute is used in a priority expression.
  • the stored procedures can have been previously created or may be created when the attribute is created.
  • the agent and contact priority expressions are created through a graphical user interface that allows an administrator to drag-and-drop desired attributes into an expression and set their weighting through slider bars.
  • a new priority expression is specified, a new stored procedure is generated in a database scripting language, such as PL/SQL, compiled, and added to the database.
  • PL/SQL database scripting language
  • the Soft ACD When the Soft ACD is prioritizing the waiting contacts for assignment to an agent, it evaluates the expression for each contact of the appropriate classification by calling the stored procedure associated with the BusinessValue attribute and multiplying the value returned by 0.2 for a Sales contact or 0.1 for Support contact. The weighted business value of the contact is then added to the appropriately weighted values of the system defined attributes to calculation the priority for the contact.
  • the Soft ACD can prioritize each agent/contact before deciding on the Appropriate match or alternately may employ an optimization scheme in which the first agent/contact that reaches a pre-determined priority value is chosen.
  • the underlying components of iCC must set up and configured before the center is ready for operation.
  • the email manager allows administrators to define agents, agent passwords, mailboxes, as well as the rules by which contacts are routed to these mailboxes.
  • An Administration interface to the collaboration server is used to define agents, agent passwords, and agent extensions.
  • the telephony server is set up by creating dial plans and associating phone numbers with applications, and agents with phone extensions.
  • the iCC uses workflows to process contact, manage agents, and control the overall contact center functions.
  • Workflow steps are the basic building blocks of control in the iCC workflow engine.
  • the workflow steps available to a designer depend on the type of workflow being developed. For example, voice workflow steps include answer, collects digits, and record.
  • Exemplary agent workflow steps include allow break, handle contact, and wrap up.
  • Some workflow steps are applicable to all contacts workflows, such as classify contact, request agent, and deliver contact.
  • Control steps e.g., end, wait, and id, are available or a workiiows, along w a sen ema s ep. ona s eps or e couw ⁇ i auu ⁇ gcm workflows will be readily apparent to one of skill in the art.
  • the iCC workflow engine 900 dynamically creates a script for a workflow from two files as described in conjunction with FIG. 9A.
  • Definitions for prototype nodes 911, 913, 915, 917, 919 are stored in a template file 903.
  • Each node is associated with workflow code that implements a high-level, compound script action, such as "play menu with interruptible prompts" or "play music until an agent is available", that are available to the workflow engine 900.
  • the script actions are built from workflow steps. For ease of explanation, the script actions represented in FIG.
  • node A 911 represents the function "if(x boolean y)," where "x,” “boolean,” and “y” are parameters that will be replaced by values specified by an instance of the node A 911. It will be appreciated that the invention is not limited by the example or by the workflow steps shown herein.
  • the workflow engine 900 When in configuration mode 901, the workflow engine 900 (or a supporting application) enables a user, such as a system administrator, to create a workflow 905 by selecting the appropriate nodes from the template file 903, specifying the appropriate values for the parameters in the script command, and linking the nodes together to form a directed graph that represents the desire workflow.
  • a user such as a system administrator
  • the function "if(number ⁇ 10)" is evaluated, with a true result causing edge 933 to be followed to execute node C 925.
  • a configuration file 907 is created from the directed graph and specifies the structure for the workflow 905.
  • the configuration file 907 contains an identifier for each corresponding prototype node, along with the values, edge information and other settings (configuration data) associated with each node in the graph.
  • any of the common input methodologies used to obtain user input can be employed to create the directed graph for the workflow, including a graphical user interface that gives the user drag-to-drop capabilities to allow the placement an d rearrangment of nodes and edges, and dialog boxes that request the appropriate parameters.
  • the workflow engine 900 When the workflow 905 is to be executed by the workflow engine 900 in runtime mode 909, the workflow engine 900 references the configuration file 907 and reconstructs the directed graph for the workflow 905 in memory by merging the corresponding prototype node from the template file 903 with the configuration data associated with the nodes in the configuration of 907.
  • the workflow engine initiates a new thread of execution to execute the workflow script represented by the directed graph.
  • the workflow engine 900 abstracts out the code and connectors when the user creates a workflow and subsequently reconstructs the workflow from the abstractions when it is to be executed.
  • all iCC workflow steps can execute asynchronously by storing its results to a prioritized message queue in its thread of execution. Additionally, a step may spawn another execution thread to create a multithread workflow. Similar classes of steps may share one queue with one execution thread for all requests of that type from a single workflow or across workflows.
  • various workflow s eps request a service om a su sys em. e su sys ems n ec serv ce eve na miu i workflow by placing event notifications in the message queue.
  • the retrieval of messages from the queue is implemented using three special workflow steps: RegisterEvent, UnRegisterEvent, and GetMessage.
  • RegisterEvent and UnRegisterEvent modify handlers for events.
  • an event is handled-in-line in the node that caused the event.
  • RegisterEvent specifies a target node that will handle the event instead (referred to as "chaining").
  • Handlers are stacks when a handler is registered using RegisterEvent, the target node for the that event is pushed onto the stack; when UnregisterEvent is called, the stack is popped.
  • the GetMessage step fetches a message from the queue.
  • the workflow engine branches to the target node to handle the event. If the event was not explicitly registered, the current node is pushed onto the stack to handle the event.
  • a workflow 904 begins at node AA 941.
  • node AA 941 requests (arrow 951) that the database subsystem retrieve a record from the unified database 975.
  • the database subsystem stores (arrow 953) an event notification in a message queue 959.
  • the node AA 942 registers itself as the target node to handle the event.
  • the workflow continues processing, executing node BB 943 and node CC 945, before reaching node DD 947, which requests (arrow 955) messages from queue 959.
  • node AA 941 Assuming that the event notification is in the queue 959, it will be returned (arrow 955) to node DD 947, which in turns, returns (edge 967) the event notification to node AA 941 for handling. Once node AA 941 has received the record, it passes (edge 969) it onto node EE 949 for further processing.
  • the template and configuration files are XML documents with the nodes represented by XML elements and the code and configuration information stored as XML attributes for the corresponding XML elements.
  • the code and configuration information are written in the JPython scripting language.
  • a JPython aware execution proxy merges the information from the template and configuration files, and provides and interface between the thread of execution for the workflow and the actual workflow steps. Because the execution proxy insulates the thread of execution from the workflow steps, steps may use multiple scripting languages simultaneously, allowing the developer of the prototype nodes to chose the best code to perform a given function.
  • FIGs. 10A-B The following description of FIGs. 10A-B is intended to provide an overview of computer hardware and other operating components suitable for alternatively implementing the invention, but is not intended to limit the applicable environments.
  • One of skill in the art will immediately appreciate that the invention can be practiced with other computer system con igurations, includ ng an - e ev ces, mult processor systems, m croprocessor-uaseu or programmable consumer electronics, network PC's, minicomputers, mainframe computers, and the like.
  • the invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • FIG. 10A shows several computer systems 1 that are coupled together through a network 3, such as the Internet
  • a network such as the Internet
  • the term "Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web).
  • HTTP hypertext transfer protocol
  • HTML hypertext markup language
  • the physical connection of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art.
  • Access to the Internet 3 is typically provided by Internet service providers (ISP), such as the ISP's 5 and 7.
  • ISP Internet service providers
  • client systems such as client computer system 21, 25, 35, and 37 obtain access to the Internet through the Internet service providers, such as ISP's 5 and 7.
  • Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format.
  • documents are often provided by web servers, such as web server 9 which is considered to be "on" the Internet.
  • web servers such as web server 9 which is considered to be "on" the Internet.
  • these web servers are provided by the ISPs, such ISP5, although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art.
  • the web sever 9 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet.
  • the web server 9 can be part of an ISP which provides access to the Internet for client systems.
  • the web server 9 is shown coupled to the server computer system 11 which itself is coupled to web content 10, which can be considered a form of a media database. It will be appreciated that while two computer systems 9 and 11 are shown in FIG. 10A, the web server system 9 and the server computer system 11 can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system 11 which will be described further below.
  • Client computer systems 21, 25, 35, and 37 can each, with the appropriate web browsing software, view HTML pages provided byy the web server 9.
  • the ISP 5 provides Internet connectivity to the client computer system 21 through the modem interface 23 whih can be considered part of the client computer system21.
  • the client computer system can be a personal computer system, a network computer, a Web TV system, or other such computer system.
  • the ISP 7 provides Internet connectivity for client systems 24,35, and 37, although as shown in FIG. 10 A, the connections are not the same for these three computer systems.
  • Client computer system 25 is coupled through a modem interface 27 while client computer systems 35 and 37 are part of a LAN. While FIG.
  • each of these interfaces can be an ana og modem, IbD mo em, ca e mo em, sa e i e transmission m er ace ⁇ e.g. uneci PC", or other interfaces for coupling a computer system to other computer systems.
  • Client computer systems 35 and 37 are coupled to LAN 33 through network interfaces 39 and 41, which can be Ethernet network or other network interfaces.
  • the LAN 33 is also coupled to a gateway computer system 31 which can provide firewall and other Internet related services for the local area network.
  • This gateway computer system 31 is coupled to the ISP 7 to provide Internet connectivity to the client computer system.
  • the web server system 9 can be conventional server computer system.
  • a server computer systems 43 can be directly coupled to the LAN 33 through a network interface 45 to provide files 47 and other services to the clients 35,37, without the need to connect to the Internet through the gateway system 31.
  • FIG. 10B shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web computer system. It will also be appreciated that such a computer system can be used to perform many of the functions of an Internet service provider, such as ISP 105.
  • the computer system 511 interfaces to external systems through the modem or network interface 53. It will be appreciated that the modem or network interface 53 can be considered to be part of the computer system 51.
  • This interface 53 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling c computer system to other computer systems.
  • the computer system 51 includes processor 55, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor.
  • Memory 59 is coupled to the processor 55 by a bus 57.
  • Memory 59 can be dynamic random access memory 9DRAM) and can also include static RAM (SRAM).
  • the bus 57 couples the processor 55 to the memory 59 and also to non-volatile storage 65 and to display controller 61 and to the input/output (I/O) controller 67.
  • the display controller 61 controls in the conventional mamier a display on a display device 63 which can be a cathode ray tube (CRT) or liquid crystal display.
  • CTR cathode ray tube
  • the input/output devices 69 can included a keyboard disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device.
  • the display controller 61 and the I/O controller 67 can be implemented with conventional well known technology.
  • a digital image input device 71 can be a digital camera which is coupled to an I/O controller 67 in order to allow images from the digital camera to be input into the computer system 51.
  • the non- volatile storage 65 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 59 during execution of software in the computer system 51.
  • computer readable medium included any type of storage device that is accessible by the processor 55 and also encompasses a carrier wave that encodes a data signal.
  • the computer system 51 is one example of many possible computer systems which have different architectures.
  • personal computers based on an Intel microprocessor often ave mult ple buses, one o w ic can e an mpiu/ ⁇ iupui. (I/O) bus for the peripherals and one that directly connects the processor 55 and the memory x59 (often referred to as a memory bus).
  • the buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
  • Networks computers are another type of computer system that can be used with the present invention.
  • Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 59 for execution by the processor 55.
  • a Web TV system which is known in the art, is also considered to be a computer system according to the present inventions, but it may lack some of the features shown in FIG. 10B, such as certain input or output devices.
  • a typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
  • the computer system 51 is controlled by operating system software which includes a file management systems, such as a disk operating system, which is part of the operating system software.
  • a file management system such as a disk operating system
  • the file management system is typically stored in the non- volatile storage 65 and causes the processor 55 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non- volatile storage 65.
  • a preferred embodiment of the present invention includes a system and method of escalating non-realtime communications in a Contact Center 1100 having a hub and node architecture as incorporated by reference.
  • An alternative tiered service model providing escalation and de-escalation of contacts in a multimedia digital contact center has been described.

Abstract

A system and method of escalating non-realtime communications entering a Contact Center as demonstrated by Fig. 1. The present invention removes communications that may initially be viewed as requiring deferred assistance, such as those near missing their SLA or those determined to require immediate handling based on identifying a particular important customer.

Description

ESCALATED HANDLING OF NON-REALTIME COMMUNICATIONS
RELATED APPLICATIONS:
This Patent Application claims priority under 35 U.S.C. §119(e) of the co-pending United States Provisional Patent Application, Serial No. 60/404,076, filed August 16, 2002, and entitled "YOSEMITE ARCHITECTURE SPECIFICATION". The Provisional Patent Application, Serial No. 60/404,076, filed August 16, 2002, and entitled "YOSEMITE ARCHITECTURE SPECIFICATION" is also hereby incorporated by reference in its entirety.
This Patent Application claims priority under 35 U.S.C. §119(e) of the co-pending United States Provisional Patent Application, Serial No. 60/435,974, filed December 20, 2002, and entitled "YOSEMITE ARCHITECTURE SPECIFICATION II". The Provisional Patent Application, Serial No. 60/435,974, filed December 20, 2002, and entitled "YOSEMITE ARCHITECTURE SPECIFICATION II" is also hereby incorporated by reference in its entirety.
The co-pending and co-owned United States Patent Application, Serial No. 10/327,360, filed December 20, 2002, and entitled "REMOTE AGENT ACCESS METHOD TO A VOIP CONTACT CENTER WHERE HIGH QOS IS NOT SUPPORTED" is also hereby incorporated by reference in its entirety.
The co-pending and co-owned United States Patent Application, Serial No. 10/327,348, filed December 20, 2002, and entitled "SCHEDULED RETURN TO QUEUE WITH PRIORITY (SRQP)" is also hereby incorporated by reference in its entirety.
The co-pending, co-owned and co-filed United States Patent Application, Serial No. _
(NUASI00102 . filed , and entitled "HIGH AVAILABILITY VOIP
SUBSYSTEM" is also hereby incorporated by reference in its entirety.
The co-pending, co-owned and co-filed United States Patent Application, Serial No. _
(NUASIOOIOS^ . filed , and entitled "AUTOMATIC MANAGEMENT OF
THE VISUAL SPACE WHILE PERFORMING A TASK" is also hereby incorporated by reference in its entirety.
The co-pending, co-owned and co-filed United States Patent Application, Serial No. _
(NUASIOOlOyi . filed , and entitled "GRAPHICAL CONTROL FOR
SIMULTANEOUSLY EDITING AN ARRAY OF VALUES THAT SUM TO A FIXED VALUE" is also hereby incorporated by reference in its entirety.
FTELD OF THE INVENTION:
The present invention relates generally to the field of Contact Centers. More specifically, the present invention relates to the field of handling non-realtime communication with customers in a Contact Center that processes contacts having different media types.
COPYRIGHT NOTICE/PERMISSION: A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright © 1999-2002, NUASIS Corporation, All Rights Reserved
BACKGROUND OF THE INVENTION:
In Contact Centers, when a non-realtime communication such as fax, voicemail, email or callback request (hereinafter referred to collectively as "communications") may have already been handled by an automated system, and then must be subsequently handled by a real person, the communications may be distributed by letting the agents pick from shared file folders of these communications and work on those they choose. Alternatively, the work may be given one or more at a time to agents for them to complete. Both of these methods have advantages and disadvantages. Work that comes from shared file folders allows agents of varying skill levels to pick communications to answer that they are competent to handle. Presumably, the newer agents are instructed to answer what they can, and the experienced agents are told to leave the "easy ones" alone and work on the more complex communications. This method is very efficient in its use of an agent's available time. However, it can lead to a surplus of communications that no one handles and can cause customer dissatisfaction because of delayed responses.
Normally a service level agreement (SLA) exists that requires the Contact Center to meet a goal such as "all emails must receive a response within Vi of a business day," or "all callbacks must be completed within 2 hours and before the Contact Center is closed for the end of the day." When communications are presented one or more at a time to the agents, often work is presented that could be done more efficiently by others because either the agent is more experienced and could be leaving an easier email for another, or the agent is inexperienced and not competent to handle the communication presented, causing them to redirect the email to a supervisor for assistance. Therefore, the first method is more efficient but could lead to SLA violations and the second method controls the SLA but requires more labor overall to handle the workload.
Contact centers are typically used by organizations to service customers. Traditionally, customers called into a contact center using a telephone but more and more organizations are implementing other types of media access such as mail, voice mail, web browsing, etc. to expand the ways by which their customers may contact them. Current attempts to integrate the different media into a single call center have proved ineffective because of the complexity of the various media channels and because the adoption of their use occurred at different times, so most products were poorly integrated out of several different incompatible designs. Telephone oriented ACD is very different than an email or a we co a oration session. itiona y, t e response ime expec e y e cusiomer varieu depending on the media type used.
One approach processes a contact based on its media type. This approach ignores the fact that the same customer is treated differently based on their method of contact. For example, a customer that sends an email to a support group may have to wait for assistance longer than calling the same company's support telephone number. Another approach is to handle all contacts identically, regardless of media type in a "Universal Queue." This "Universal Queue" approach fails to account for the magnitude of contacts and different expected response times for a customer independent of the various media types. For example, tens or hundreds of phone contacts may be received in a day whereas thousands of email messages may be received for the same day. Thus, a call center that processes all contacts as requiring an immediate response quickly becomes overloaded with emails that could have been answered with off peak labor. Furthermore, both of these approaches involve extensive modifications to the systems that underlie the call center, such as the email system, the telephony system, etc., so that the many of the original features and benefits of the underlying systems are lost. Additionally, while some previous implementations appear to integrate analog contacts, such as voice calls, and digital contacts, such as email, the actual processing of the two types of contacts is separated.
What is needed is a system that processes and prioritizes non-realtime contacts and realtime contacts separately and in parallel. What is needed to accomplish this is a system and method of handling and distributing non-realtime communications in a Contact Center when agents of various skill levels are assigned communications from a group of communications of various types such as "sales," "accounts payable" or "service," in a "Universal Queue" for non-realtime communications based on customer requirements rather than routing based on media type.
SUMMARY OF THE INVENTION:
A system and method of escalating non-realtime communications entering a Contact Center. The present invention removes communications that may initially be viewed as requiring deferred assistance, such as those near missing their SLA or those determined to require immediate handling based on identifying a particular important customer, from its shared file folders and "escalating" them to be routed as live communications, for immediate response by a designated agent. An alternative tiered service model for a digital multimedia contact center assigns an entering contact to an initial immediate or deferred service tier based on routing criteria for the contact and may escalate or de-escalate the contact to a different service tier if the routing criteria changes. The service tier is initially determined based on a media type associated with the contact. The digital multimedia contact center contains a set of media servers, each of which passes a contact of a particular media type to a workflow engine (one for each service tier - immediate and deferred), which executes workflows to direct the processing of contacts at service tiers that require agent activity. For the immediate service tier contacts pass through a set of media routers, agents are then allocated to contacts by a dynamic automated contact distributor and the appropriate media router is used to route the contact to an agent. The workflow engines also execute workflows for agents to control the allocation of agents to contacts.
A method of escalating non-realtime communications in a contact center comprising the steps of extracting an aged communication from a plurality of shared file folders, wherein the plurality of shared file folders are configured in a central processing are of the contact center, and further wherein a communication is designated as aged based on predetermined escalation criteria, routing the aged communication with an escalation service to an immediate workflow such that the aged communication is routed by the immediate workflow for immediate response to a first designated agent, presenting the aged communication to the first designated agent such that the aged communication is displayed on a desktop of the first designated agent and responding to the aged communication, wherein the first designated agent answers the aged communication on the desktop, wherein a deferred workflow routes an immediate communication to the immediate workflow for routing to the first designated agent.
The method of the present invention also includes monitoring the aged communication displayed on the first designated agent's desktop, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to a second designated agent and prompting the first designated agent when the step of responding does not occur within a predetermined timeout period after the step of presenting, wherein the aged communication is routed to the second designated agent after the prompting step is unanswered by the first designated agent and the aged communication is routed to the second designated agent after the first designated agent answers the prompting step by declining to respond to the aged communication.
The method of the present invention also includes the predetermined escalation criteria being variable such that the predetermined escalation will change during the responding step, and further wherein the non-realtime communication is distributed to the central processing area, the first and second designated agents selecting non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged and an agent being designated based on predeteπnined designation criteria.
A system for escalating non-realtime communications in a contact center comprising means for extracting an aged communication from a plurality of shared file folders, wherein the plurality of shared file folders is configured in a central processing area of the contact center, and further wherein a communication is designated as aged based on predetermined escalation criteria, means for routing the aged communication with an escalation service to an immediate workflow such that the aged communication is routed by the immediate workflow for immediate response to a first designated agent, means for presenting the aged communica ion o the rs esigna e agen suc a e age communication is αispiayeu on a desktop of the first designated agent and means for responding to the aged communication, wherein the first designated agent answers the aged communication on the desktop, wherein a deferred workflow routes an immediate communication to the immediate workflow for routing to the first designated agent.
The system of the present invention also includes means for monitoring the aged communication displayed on the first designated agent's desktop, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to a second designated agent and means for prompting the first designated agent when the means for responding are not activated within a predeterniined timeout period after the means for presenting display the aged communication on the desktop of the first designated agent, wherein the aged communication is routed to the second designated agent after the means for prompting is unanswered by the first designated agent and the aged communication is routed to the second designated agent after the first designated agent answers the means for prompting by declining to respond to the aged communication.
The system of the present invention also includes the predetermined escalation criteria being variable such that the predetermined escalation will change when the means for responding are activated, the first and second designated agents selecting non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged and an agent being designated based on predetermined designation criteria.
A system of escalating a non-realtime communication in a contact center comprising a plurality of shared file folders where the non-realtime communication is received and stored, wherein the plurality of shared file folders are configured in a central processing area of the contact center, and further wherein an aged communication is extracted from the plurality of shared file folders based on predetermined escalation criteria, an escalation service coupled with the plurality of shared file folders such that the escalated service routes the aged communication to an immediate workflow and a plurality of designated agents such that the aged communication is displayed on a desktop of a first designated agent after receiving the aged communication from the immediate workflow, wherein the first designated agent provides an immediate response to the aged communication on the desktop, and further wherein a deferred workflow routes an immediate communication to the immediate workflow for routing to the first designated agent.
The system of the present invention also includes a second designated agent, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to the second designated agent and the first designated agent is prompted when the first designated agent does not respond within a predetermined timeout period after the aged communication is displayed on the desktop, wherein the aged communication is routed to the second designated agent after the first esigna e agen oes no answer e promp an e age communica ion is rυiueu ιυ me second designated agent after the first designated agent answers the prompt by declining to respond to the aged communication.
The system of the present invention also includes the predetermined escalation criteria being variable such that the predetermined escalation will change while the first designated agent responds to the aged communication, the first and second designated agents selecting non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non- realtime communications not designated as aged and an agent being designated based on predetermined designation criteria.
An apparatus for escalating non-realtime communications in a contact center comprising a storage media for storing a computer application, a processing unit coupled to the storage media and a user interface coupled to the processing unit such that a plurality of users can receive an aged communication from an immediate workflow through an escalation service, wherein the plurality of users can provide an immediate response to the aged communication, and further wherein the immediate workflow can receive an immediate communication from a deferred workflow for routing to the plurality of users.
A tiered service model for a digital multimedia contact center assigns an entering contact to an initial service tier based on routing criteria for the contact and may escalate or de-escalate the contact to a different service tier if the routing criteria changes. The routing criteria is initially deteπnined based on a media type associated with the contact. The digital multimedia contact center contains a set of media routers, each of which passes a contact of a particular type to a workflow engine. The workflow engine starts a workflow for the contact and calls a dynamic automatic contact distributor to allocate an agent to the contact if the service tier of the contact requires agent activity. The workflow engine returns an identifier for the allocated agent to the media router, which then routes the contact to an agent desktop for the agent. The agent desktop presents the contact to the agent for processing. The workflow engine also creates a workflow for an agent to control the allocation of the agents to contacts.
The digital multimedia contact center operates in conjunction with existing systems dedicated to a particular media type without requiring major modifications to those systems. For example, emails are generally handled at one service tier by the standard operations of a conventional email system unless specially marked in the email system as having been escalated to a higher service tier. Similarly, voice calls are initially assigned to a high service tier for handling by an agent but can be de-escalated to a lower service tier and routed to an existing interactive voice response system if appropriate. Thus, the digital multimedia contact center handles contacts in accordance with the contact's required level of service instead of relying primarily on the media type to determine the necessary processing. Furthermore, the digital multimedia contact center implements the most appropriate processing methodology for the number of contacts expected at each service tier. e present inven ion escri es sys ems, c ien s, servers, me o s, ana compiuei- readable media of varying scope, h addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS:
Figure 1 is a diagram illustrating a three-tiered service model for a digital multimedia contact center of the present invention. Figure 2 is a diagram illustrating an embodiment of a system architecture underlying the digital multimedia contact center model shown in Figure 1. Figures 3a-3c are diagrams illustrating the processing of media-specific contacts within the architecture of the digital multimedia contact center shown in
Figure 2. Figures 4a-4c are flowcharts of method s to be performed by voice components in the embodiment of the digital multimedia contact center shown in Figure 2. Figures 5a-5c are flowcharts of methods to be performed by by escalated email components in the embodiment of the digital multimedia contaact center shown in Figure 2. Figures 6a-6c are flowcharts of methods to be performed by collaboration components in the embodiment of the digital multimedia contact center shown in Figure 2. Figures 7a-7c are flowcharts of methods to be performed by agent components in the embodiment of the digital multimedia contact center shown in Figure 2. Figure 8a is a diagram of a contact detail data structure for use in an implementation of the invention. Figure 8b is a diagram of an agent data structure for use in an implementation of the invention. Figure 9a is a diagram of a workflow engine for use in an implementation of the invention. Figure 9b is a diagram of an asynchronous workflow executed by the workflow engine of Figure 9a. Figure 10a is a diagram of one embodiment of an operating environment suitable for practicing the present invention. Figure 10b is a diagram of one embodiment of a computer sytem suitable for use in the operating environment of Figure 10a. Figures 1 la-1 lc illustrate a graphical representation of a Contact Center architecture of the preferred embodiment of the present invention. Figure 12 illustrates a graphical representation of a Node architecture of the preferred embodiment of the present invention. _ i s ra es a ow c ar represen a ion o υuimcxn υi ιuc present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT:
The preferred embodiment of the present invention is a system and method of escalating communications in a Contact Center, preferably a Contact Center having a hub and node architecture. The details concerning the Contact Center of the preferred embodiment of the present invention are disclosed in a co-owned and co-pending U.S. patent application, Ser. No. fNUASIOOlon ■ entitled CONTACT CENTER ARCHITECTURE. The U.S. patent, application Ser. No. fNUASIOOlOl ■ entitled CONTACT CENTER ARCHITECTURE is also incorporated by reference in its entirety. Of course, it will be readily apparent to one skilled in the art that alternative embodiments of the present invention disclosed in the following specification can and will be utilized in VoIP networks other than the Contact Center incorporated by reference above.
In the preferred embodiment of the present invention, the Contact Center 1100 depicted in Figures 11 a- 11 c is preferably used to implement the present invention. Contacts 1101 access the Contact Center 1100 through the Internet 1104 using any type of personal computer or other personal internet interface 1102 connected to the Internet 1104. The Contacts 1101 are routed to appropriate Agents 1150 by the Hubs 1115, 1117 and Nodes (Node CHI, Node STL, Node HOU, Node B-l, Node B-2. Node B-3), so that the Agents 1150 may assist the Contacts 1101 with a variety of goods and services, depending on the particular Contact Center 1100. Likewise, other realtime customer contacts such as chat and web collaboration requests are also routed to the Agents 1150 in this manner. For simplicity in explanation, all of these possible contact types will be referred to as "communications" in describing the preferred embodiment of the present invention.
1 Referring again to Figures 1 la-1 lc, the preferred embodiment of the present invention is a hybrid approach that places incoming non-realtime communications in a deferred workflow, which will transfer communications having immediate service tier requirement such as communications from a preferred (e.g. "Platinum") customer or some other immediate service tier requirement to an immediate workflow, where the commumcation will be routed to designated Agents 1150. Those communications not having immediate assistance requirements are placed in shared file folders in the particular Hub (Hub-A, Hub- B) for which the communication is assigned for Agents 1150 to pick from, and when that communication is nearing it's SLA limits, e.g., a callback having a one hour SLA limit might be at fifty minutes, the commumcation is escalated to the immediate workflow. It should be noted that each media type, e.g., email, fax, voicemail callback request, etc., may have different SLA requirements, so the escalation could typically occur at different times depending on the media. Further, when an Agent 1150 is not actively interacting with a contact via a voice, video, or web collaboration call, they can be working on background actions such as responding to email, voicemail or FAX. In some cases this may happen c curren y unng a ive ca or we c a session; per ap r s lenginy wan periods during the contact session, such as a support desk waiting for a customer to reboot a PC, etc. This means that an Agent 1150 can be working on several things at once, and on work that is as difficult as they feel they are capable, while the operator of the Contact Center 1100 knows that if a communication ages to the point of nearing the SLA, it will be escalated.
Still referring to Figures 1 la-1 lc, when the communication is escalated, it is presented to the Agent 1150 as an exclusive piece of work to be completed immediately and will not be interrupted with any live contact. However, only certain Agents 1150 as designated by the operator of the Contact Center 1100, may be assigned such an escalated communication. The concept of designated Agents 1150 will be discussed in greater detail below. The Agent 1150 is expected to answer the communication immediately without accepting additional work, just as they would if a new live communication was presented to them. This permits the Contact Center 1100 to operate at the highest possible efficiency.
Still referring to Figures 1 la-1 lc, when a communication arrives it is marked in the E- mail Server 1114 as to indicate when it will be escalated allowing for an Agent 1150 to know which contacts are about to be escalated. The Agent 1150 is then notified by a visual indication on the desktop as to which contacts are about to be escalated and the date and time when the contacts will be escalated. This permits the Agents 1150 to manage workloads efficiently. When a communication that is being worked on becomes aged to the point where it is near the limit of missing the SLA, or perhaps when an escalated communication becomes aged further while an Agent 1150 is working on it, and for some reason is slow to complete a response, further action is taken to ensure the SLA is met. In both of these cases, the Contact Center 1100 monitors the age of all communications that are actively being worked on by Agents 1150, and after noticing it is in danger of not being completed in a timely manner, it presents a prompt to the Agent 1150 asking if the Agent 1150 is still working on the communication or whether the Agent 1150 is even presently working. If the Agent 1150 is present and the communication is being actively worked on, the Agent 1150 can indicate whether they wish to keep the communication or let it be escalated into an immediate workflow and be presented to another Agent 1150. If the Agent 1150 can complete the work, they may indicate that they want to keep the communication and continue to work on it. If the Agent 1150 can't complete it, they may indicate that it should be escalated to an immediate workflow for another Agent 1150 to handle. A timeout, i.e., if the Agent 1150 does not respond to the original prompt, will default, thereby escalating the commumcation to the immediate workflow and presenting the commumcation to another Agent 1150. This will keep communications that are in process with Agents 1150 who for some reason cease to actively work on them from failing to meet SLAs.
Referring now to Figure 12, a Central Processing Area 1200 of the preferred embodiment of the present invention is depicted to show the operation of escalated communications in the Contact Center 1100 of Figures 1 la-1 lc. It should be noted that igur e is a ot a ypi ca en ra rocessi ng rea a ,as een -umpnueu ιυ illustrate only the Shared File Folders 1202, the Deferred Workflow 1205, the Immediate Workflow 1204, the Escalation Service 1203 and the Dynamic Automatic Contact Distributor (ACD) 1210 of the preferred embodiment of the present invention. It should be understood that the CPA 1200 of the preferred embodiment of the present invention may and usually will include additional features and components. Further, the CPA 1200 of the present invention can be any Hub (Hub- A, Hub-B) in the Contact Center 100 as described in the patent application entitled CONTACT CENTER ARCHITECTURE as incorporated by reference.
Still referring to Figure 12, Non-Realtime Communications 1201 arrive in the CPA 1200 and enter a Deferred Workflow 1205. In the Deferred Workflow 1205, if the Non- Realtime Communications 1201 require immediate service, they are escalated to the Immediate Workflow 1204, where they will be routed to Designated Agents 1208 through the Dynamic ACD 1210. Such Non-Realtime Communications 1201 include such items as emails and voice messages from "Platinum" customers, etc. This will be discussed in greater detail below. The Non-Realtime Communications 1201 in the Deferred Workflow 1205 that are not required to have immediate service are placed in Shared File Folders 1202, where all Agents 1206, 1208 have access to them. There can be many Shared File Folders 1202 presorted with emails based on content of the "subject" field, "from" or "to" addresses, hidden "headers," etc. The Agents 1206, 1208 are able to access the Shared File Folders 1202 and answer communications of their choice or as assigned by the Dynamic ACD 1210. As discussed previously, this system allows for some of the communications to remain in the Shared File Folders 1202 until near their SLA limit, which in some cases could be several days. Because Agents 1206, 1208 tend to select commumcations that are better tailored to their expertise, interests or communications requiring a simple or short response, a number of the communications in the Shared File Folders 1202 are neglected and need to be answered when nearing their SLA limit. These communications then need to be escalated.
Also in Figure 12, the escalation service as described above allows for a maximum number to be set as a ceiling to limit the number of immediate escalated workflows that may run simultaneously. This limit takes into account the large numbers of contacts that may threaten to flood the agents handling immediate contacts. In such situations an outgoing message may be sent to reset customer expectations for the delay in processing the original message. It thus enables a manageable solution for the system administration of the Contact Center 1100.
Still referring to Figure 12, when a communication becomes an aged communication as defined by its proximity to missing its SLA, the aged communications are removed from the Shared File Folders 1202 and are delivered by the Escalation Service 1203 to the Immediate Workflow 1204. All data collected before the communication is escalated is retained and sent by the Escalation Service 1203 to the Immediate Workflow 1204. The Dynamic ACD 1210 routes the escalated communication to a Designated Agent 1208. Designated Agents 1208 are those Agents 1206, 1208 that are qualified and selected by the operator of the Contact Center 1100 (Figures 1 la-1 lc) to respon to commumcaπons wnicn become aged or, more generally, any communications with an Immediate Workflow 1204. Typically, the Designated Agents 1208 are those Agents 1206, 1208 that have more experience in handling all types of communications, perhaps have special skills such as additional languages or technical experiences or are specialized Agents 1206, 1208 that handle solely escalated communications from the Immediate Workflow 1204.
While either class of Agents (Designated or not Designated) 1206, 1208 are authorized to select and respond to communications from the Shared File Folders 1202, only the Designated Agents 1208 are available for receiving escalated communications from the Dynamic ACD 1210 as depicted in Figure 12. In addition to routing the escalated communications to the Designated Agents 1208 after a communication becomes aged while waiting in the Shared File Folders 1202 or is escalated directly from the Deferred Workflow 1205, the Dynamic ACD 1210 is also able to reassign escalated communications that were previously assigned to Designated Agents 1208, but need to be reassigned when the Designated Agent 1208 is unavailable or unable to respond to the escalated commumcation. hi such a case as described above, the escalated communication is monitored after being routed to the Designated Agent 1208. After a predetermined time of inaction in responding to the escalated communication, the CPA 1200 will prompt the Designated Agent 1208 assigned to the escalated communication to determine whether the Designated Agent 1208 is still working. If the Designated Agent 1208 is not currently available, the Immediate Workflow 1204 will re-route the escalated communication to another Designated Agent 1208. Likewise, if the first Designated Agent 1208 is unable to effectively respond to the escalated communication or does not want to respond to it, the Immediate Workflow 1204 will also re-route the escalated communication to another Designated Agent 1208.
Figure 13 is a flow chart depicting a preferred method of the present invention. Referring to Figure 13, the method begins at step 1300 when communications enter the central processing area (CPA) and are placed in a deferred workflow. In step 1302, the deferred workflow detennines whether the contact should be escalated for immediate assistance based on requests in the contact such as "Platinum" customer, etc. If the contact should not be escalated in step 1302, the contact is placed into a shared file folder in step 1303. Communications enter the shared file folders, which are configured in a CPA of the contact center of the present invention. In step 1304, after communications collect in the shared file folders in step 1303, it is determined whether any aged communications are in the shared file folders, i.e. whether any communications need immediate assistance based on reaching a SLA. If there is an aged communication in the shared file folders, the aged communication is escalated to start the immediate workflow in step 1305. This escalated communication is then routed to a designated agent as an immediate contact. Whether an agent is designated is predetermined by the operator of the contact center. Referring back to step 1302, if the deferred workflow determines that the communication should be escalated . . . based on business requirements, then step 1301 escalates that commumcation m step I^UD directly to the immediate workflow for routing to a designated agent.
Still referring to Figure 13, the escalated communication is monitored and it is determined in step 1306 whether the designated agent is available to respond to the escalated communication. If the designated agent is available, it is then determined in step 1307 whether the designated agent is able or even wants to respond to the high priority communication. If in either step 1306 or 1307, the designated agent is unavailable, unable or unwilling to respond to the escalated communication, then path 1308 returns the escalated communication to the immediate workflow in step 1305 for routing as an immediate contact to another designated agent. However, if the designated agent is able and willing to respond to the escalated communication, the designated agent will respond in step 1310, before the method is finished.
Step 1312 displays how agents, designated as well as non-designated, select communications from the shared file folders and respond to them as they wish while the preferred escalation method occurs in the present invention depicted in Figure 13.
The above detailed description describes a preferred embodiment of the present invention including a system and method of escalating non-realtime communications in a Contact Center 1100, preferably having a hub and node architecture as incorporated by reference. The detailed description contained in the remainder of this application describes alternative embodiments of the present invention including escalation and de-escalation of email in a three tier service model.
THREE TIER ESCALATION MODEL
In the following detailed description of alternative embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustrations specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and the logical, mechanical, electrical, functional and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
The detailed description of the alternative embodiment is divided into four sections and conclusion, hi the first section, a system level overview of the invention is presented. In the second section, methods for an embodiment of the invention are described with reference to flowcharts. In the third section, a particular Internet Contact Center (ICC) implementing of the invention is described, h the final section, an operating environment in conjunction with which alternative embodiments of the invention may be practiced is presented. System Level Overview
A system level overview of the operation of an alternative embodiment of the invention is described by reference to FIGs. 1 and 2.
FIG. 1 illustrates a tree-tiered service model 100 for a digital multimedia contact center. As shown, there and three service tiers: self-service tier 101, deferred service tier 103, ans immediate assistance tier 105. Contacts accessing the center at the self-service trier 101 do not require the assistance of an agent at the contact center, while contacts being serviced at the deferred tier 103 and the intermediate assistance tier 105 do require agent activity. A contact accessing the center at deferred tier 103 is present to an agent pulls a deferred contact for processing when there are no immediate assistance contacts to process. A contact at the immediate assistance tier 105 is presented in a "push" model as a foreground task. One immediate assistance contact is pushed to the agent's desk at any one time and in such a way that it is obvious to the agent that this contact must be handled immediately. As a particular contact is presented, any related customer information is also shown. The components for the different tiers are designed to handle different magnitude fo contacts. The self-service tier components will process orders of magnitude more contacts than the deferred tier components, which will process orders of magnitude more contacts than the immediate assistance tier components.
A contact entering the contact center is initially assigned to one of the three tiers based on the type of media used by the contact in accessing the contact center. The embodiment shown in FIG. 1 is further described with reference to three media types: voice calls, emails and World Wide Web, although the invention is not so limited. Voice calls are initially routed to the immediate assistance tier 105, emails are initially routed to the deferred tier 103, and Web contacts are initially routed to the self-service tier 101.
The subsequent routing may be preformed that escalates or de-escalates the contact to another tier (shown as arrows in FIG. 1). the subsequent routing can be based on one or more routing criteria, including factors defined by the contact center owner or subscriber, such as priority, access phone numbers, and time-out periods, and environmental factors such as contact activity. The routing criteria associated with a contact may change as the various components in the contact center process the contact. For example, if the routing criteria of a contact passes a pre-defined threshold, the contact may be escalated or de-escalated. Thus, an email is escalated (arrow 111) to the immediate assistance for 103 if it has not been answered when a "time-to-reply" period elapses. A voice call is initially routed to the immediate assistance tier 103 but is de-escalated (arrow 115) to the deferred tier 103 if the caller chooses to leave a voice-mail, or de-escalate (arrow 113) to the self service tier 103 if the contact is sent to an interactive voice response (IVR) system for more processing. A self service WEB contact can be escalated (arrow 107) into the immediate assistance tier 103 by through " Click and Talk" buttons available on the WEB site, or escalated (arrow 109) to the deferred tier 103 if the contact chooses to send an email instead. Details of the escalation and de- escalation of each media type is described in more detail in conjunction with the flowcharts in the next section. Furthermore, although the exemplary embodiments focus on voice, email, and WEB contacts for ease in understanding, it will be appreciated that the invention encompasses all potential analog and digital media types, including fax, "faxback", video, etc.. In the addition to being extensible to other WANs and to LANs. It will also be appreciated that the contact is not limited by its initial media type so, for example, the contact and agent in a collaboration session could be also talking by phone, an email message could generate a return fax or phone call, or the expiration of a time-out on a collaboration request generate an email message to the contact promising a response within a set time period.
The alternative embodiment three-tier service model 100 illustrated in FIG. 1 operates within a digital multimedia contact system, one embodiment of which is shown in FIG. 2. The system architecture for contact center 200 is based on a workflow engine 201 that directs the activities of the agents in the center using workflow steps. A contact workflow is initiated by events that are routed into one of a set of workflow subsystems 205 dedicated to a contact media type. An agent workflow is initiated by events routed into an agent subsystem 219 by an agent desktop component 229. Events that trigger a workflow include a new call arriving at the contact center or an agent logging in. The workflow for a contact remains active until the contact is terminated; the workflow for an agent remains active until the agent logs out of the contact center 200.
The workflows are executed by workflow logic 207. Events are passed between the workflow logic 207 and the workflow subsystems 205 by a message passing layer 203. The events can also modify the execution flow of existing contact or agent workflows.
When executed by the workflow logic 207, a workflow for an immediate assistance contact causes a dynamic ACD (automatic contact distributor) 241 to allocate an agent to the contact. The allocation is also reflected in the agents workflow. The operation of the dynamic ACD 241 is descried in further detail below.
A contact coming into the contact center 200 of this alternative embodiment is initially classified in accordance with a set of previously defined classifications, e.g., Sales, Customer Service, Support, etc., by the appropriate workflow subsystem 205. Additional information is also gathered to determine the optimal routing of the contact. Information that narrows down the set of agents to which a contact can be routed is referred to as "contact requirements". Examples of contact requirements include product knowledge, language fluency, and previous communication with the contact (each contact is considered a new one). Origin and destination information now is consistently collected from all media types, such as calling phone number and called phone number for voice calls. Subject information may also be collected from voice contacts based on responses to IVR menu options.
A voice router 223 provides an interface between a voice subsystem 213 and a conventional digital telephony system (voice server 222), that handles IP (Internet Protocol) calls. The voice subsystem 213 starts a workflow when a call arrives at the contact center es a re ue o voice mail or IVR) as determined by the workflow. The voice server 222 receives digital voice calls (referred to as voice-over IP or IVR) directly from a digital wide-area network (WAN) 220, such as the Internet, or via a gateway 251, that converts analog voice calls 253 to VoIP calls. The gateway 251 also converts VoIP calls from the digital telephony system 222 into analog voice originals for transmission back to the caller.
A conventional email system (email server 226), processes deferred contacts received from the WAN 220. The email system uses its own in-line rules engine for processing incoming email and placing it into mailboxes to be accessed by the agents as backgrounds tasks. The agents retrieve deferred contacts from these mailboxes explicitly. An email escalator 227 provides an interface between an email system 217 and the conventional email system for emails that are escalated from deferred to immediate assistance. The email escalator 227 periodically reviews the mailboxes for pending emails that meet pre-determined criteria for escalation, such as time-to-reply or customer value parameters. It then collects information about the email (customer, priority etc.) And passes this to the email subsystem 217. In one embodiment, the emails are evaluated in chronological order and the emails that meet the escalation criteria are further broken down by classification and within a particular classification, the email is passed to the email subsystem 217 on a first-in first-out basis.
The email subsystem 217 determines if the contact is entitled to be escalated to an immediate assistance contact based on the contact information and starts a contact workflow if it is. When the workflow succeeds in routing the email to an agent, the agent address is returned to the email escalator 227, which passes it to the email subsystem 217 for actual routing to the agent. In an embodiment in which voice mail is routed to an agent as an audio attachment to an email, the email escalator 227 also serves to escalate voice mails to the immediate assistance tier if appropriate.
A conventional Web server 224 processes self-service contacts that originates from the WAN 220. Such a server can offer browsing and searching capabilities for a knowledge base, or a set of FAQs (frequently asked questions). A collaboration router 225 provides an interface between a collaboration subsystem 215 and a conventional collaboration system, that executes on, or in conjunction with, the Web server 224. Web pages on the Web server 224 are modified to include "Click to Chat/Talk" buttons to connect to the collaboration system. When the button is clicked by a Web contact, the collaboration systems sends an event to the collaboration router 225, which in turns sends an event to the collaboration subsystem 215. The collaboration subsystem 215 determines if the contact is entitled to be escalated to an immediate assistance contact and initiates a contact workflow if so. Once the collaboration request has been assigned to an agent, the agent address is passed back to the collaboration router 225 for actual routing. Other agents may be included in the collaboration session if necessary.
An agent subsystem 219 provides an interface between one or more agent desktops 229 and the workflow logic 207 for agent events. When notified of an agent login by the co esp n gen es op , e agen su sys em va i eiu oeiυic -utuuug an agent workflow that describe the agent's work process until the agent logs out. The agent desktop 229 notifies the agent subsystem 219 of all agent state changes. The agent subsystem 219 is also responsible for watching the agent's phones for outbound call events. It passes this information to the workflow logic 207 to ensure the agent state is changed to "busy". In addition, when an agent initiates a call, the agent subsystem 218 sends an "outbound call" event to the agent's workflow so the agent initiated contacts can be tracked.
The agent desktop 229 controls the presentation of tasks on an agent's desktop. The tasks originate from the multiple conventional systems with which the contact center 200 interfaces as previously described, as well as from the workflow engine 201. Each of the conventional systems has its own user interface. Monitoring tools may also be available to certain agents, such as those providing statistics on the operation of the contact center and individual agents. The agent desktop 229 integrates the separate user interfaces into a single coherent interface that presents the agent with immediate assistance contacts as foreground tasks and deferred contacts as background tasks. Thus, for example, the foreground mode integrates the telephony interface, the collaboration interface. And the email interface (for escalated emails). Similarly, the background mode integrates the email interface (for non- escalated emails and other deferred contacts, such as oice mail, fax, forms, etc.) And the monitoring tools, for example. The agent desktop 229 also integrates with any existing customer relation management applications to provide customer information to the agent for the foreground and background tasks. The connection between the agent desktops 229 and the conventional systems 222, 224,226 are not shown in FIG.2 for clarity in illustration.
In the alternate embodiment shown, the agent desktops 229 do not communicate directly to the agent subsystem 219 but are managed through a desktop manager component that handles concurrent requests from desktops and routes responses. To concurrently handle multiple desktops, the desktop manager component communicates with a server portion that queues events arriving from the agent subsystem 219 and sends them to the appropriate desktop in response to polls from the desktops. Executing the server portion of the desktop manager on a machine separate from that executing the agent subsystem provided additional scaling capabilities to the contact center.
The relationship among the components of the contact center 200 described so far is most easily understood through an example. When an analog voice call 253 is received by the gateway 251, it is converted to a VoIP call and directed by the voice server 222 to a voice media router 223. The voice media router 223 informs the voice subsystem 213 of the incoming contact and the voice subsystem 213 creates a workflow for the contact. Assuming the contact is to remain at the immediate assistance tier 103, the workflow requests the dynamic ACD 241 allocate an agent to the contact. The dynamic ACD 241 passes the agent information back to the voice router subsystem 213, which then sends the agent and contact information to the voice router 2243. The voice router 223, in turn, sends the information to e voice server z∑i or rou ng. e vo ce server rans ers e con ac ιυ me a -u iicue agent desktop 229 as a foreground task.
Returning now to FIG. 2, the workflow engine 201 also contains a database 231 of contact 233 and agent records 235. A database unification layer 261 confines the information in the database 231 and information maintained by the voice 222, Web 224, and email 226 servers into a coherent view of the contact center. The contact and agent workflows query and update the database 231 through a database subsystem 211 that converts workflow requests into calls for the database unification layer 261. h an alternate embodiment not shown in FIG. 2, the contact and agent workflows query the database unification layer 261 directly. In yet another alternate embodiment, the database unification layer is incorporated into the database subsystem 211.
The database unification layer 261 has access to, and accessible by, all the other components of the contact center to allow reporting and analysis of the activities of the contact center regardless of the media type used by the contacts. The connections between the database unification layer 261 and the other components are not shown in FIG. 2 for clarity in illustration. The information can be retrieved through the database unification layer 261 by a monitoring tool (*not shown) to graphically and/or numerically illustrate the state of the contact center (number of contacts awaiting service, how many agents are on break, etc.). For instance, the monitoring tool may display the number of un-serviced contacts broken down by classification. Additionally, a conventional reporting application can be employed to obtain information through the database unification layer 261 for standardized reports. Agents, supervisors and managers may each have access to a set of such reports to gauge the efficiency of the contact cen5tr, a group, or individual agent.
The database unification layer 261 also provides for the collection of billing information and for the tracking of contacts through the contact center, both across media types.
In the alternative embodiment shown in FIG. 2 the dynamic ACD 241 uses unordered lists of waiting contacts 237 and available agents 239 to match a contact with an agent. The workflow engine 201 causes the dynamic ACD 241 to create and manage the unordered lists of contacts 237 and and agents 239. Although shown as separate from the database 231 in FIG. 2 it will be appreciated that the unordered lists 237, 239 may be database structures that are managed by the database subsystem 211 as instructed by the workflow engine 201 and the dynamic ACD 241.
As previously described, contact requirements (e.g., product knowledge, language fluency, previous communication) are used to determine the set of agents to which a contact can be routed. Information used to decided the appropriateness of an agent within the set is referred to as "agent attributes" and may include such parameters as seniority and length of time waiting for a contact. Furthermore, agents may be dedicated to one or more contact classifications. When an immediate assistance contact requests an agent, the dynamic ACD 241 searches for an appropriate agent from list 239 of available agents by filtering the agents against the contact classification and any requirements, and prio t zes t e resulting agents according to their attributes. If an agent is available, the dynamic ACD 241 passes the information for the agent back to the appropriate subsystem to route the contact to the agent and removes the agent from the available agent list 239. If no appropriate agent is available, the contact is entered into the waiting contact list 237 until an appropriate agent becomes available to take the contact. Similarly, when an agent requests a contact, the waiting contact list 237 is filtered by classification and "agent requirements" (e.g., media type, territory) and prioritized according to contact attributes such as time in queue and business value. The matching process is invoked by a step in the contact workflow for an immediate assistance contact or in the agent workflow for an available agent as explained further below.
As illustrated in Fig.2 there may be multiple instances of each of the media routers 221. There is also an instance of the agent desktop 229 running on each agent workstation in the contact center. Although only a single set of workflow subsystem 205 is shown, it will be appreciated that workflow engine 201 may obtain mulitple instances of one or more of the workflow subsystem 205 depending on workload. Additionally, multiple workflow engines 201 may be present witin a contact center 200.
Furthermore, the architecture permits distribution of the various components among multiple computers, thus enabling scalability of the contact center 200. As described previously, each component provides services for other components. For instance, the dynamic ACD 241 provides an agent allocation service and the collaboration subsystem 215 provides a collaboration workflow service. In one embodiment, a service manager (not shown) provides a central location for registration and discovery of the contact center service providers. When a component needs a service (such as the initialization of a workflow), it calls the service manager to find the location of that service. The service manager reviews a list of all registered providers of that service and selects the appropriate providers (e.g., shortest routing to requester). Finally it chooses the best provider based on the unused capacity of each service.
Thus, the contact center 200 may continue to start service on new or existing machine as necessary to deal with its workload.
The system level overview of the operation of the alternative embodiment of the invention has been described in this ection of the detailed description. A tiered service model that allows the escalation and de-escalation of a contact has been described, along with its operation within a digital multimedia contact center. The digital multimedia contact center handles contacts in accordance with the contact's required level of service instead of relying solely on the media type to determine the necessary processing. Because different levels of service incur different quantities of contacts, different processing methodologies are appropriate within the contact center. Thus, workflows are used to handle immediate assistance contacts regardless of media type because of workflow engine excels at processing relatively small numbers of contacts in real-time. A workflow engine also gives the subscriber fine-grained control over the handling of the high priority contacts that require m e ia e assistance. n e o er an , e erre con ac s n as a υiucx i magnitude greater than immediate assistant contacts and are handled most efficiently through an inline rule engine such as commonly implemented in an email (and/or voice mail). Finally, because the greatest number of contacts are self-service contacts which require no agent interventions, processing techniques such as interactive voice response, automatic email response, and knowledge base/FAQ logic on Web servers are used.
While the alternative embodiment of the present invention is not limited to any particular number of service tiers, this embodiment has been described in terms of a three tier model. The invention has further been described using An example that mixes voice calls, emails, and Web contacts within the same contact center but the invention is not so limited. Additionally, the invention can be practiced with any underlying architecture that allows the escalation and de-ecalation of contacts through a tiered service model.
Methods of Embodiment of the Invention
In the previous section, a system level overview of the operation of embodiments of the invention was described. In this section, the particular methods of one alternative embodiment of the multimedia copy contact center 200 are described in terms of computer software with reference with a series of flowcharts and also a series of tier diagrams. The flowcharts and tier diagrams are grouped according to related components within the contact center. Thus, FIG 3 A and flowcharts FIGs 4A-C illustrate the processing of the voice components. FIG.3B and flowcharts 5A-C illustrate the processing of the email escalator components. FIG.3C and flowcharts 6A-C illustrate the processing of the collaboration components. The processing of the agent components are illustrated only through flowcharts in FIGs. 7A-C.
The methods to be performed by a computer constitute computer programs made up of computer- executable instructions. Describing the methods by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the methods suitably figured computers (the processor of the computer executing the instructions from computer-readable media) acting as one or more of the components of the contact center 200 in FIG.2. The computer-executable instructions may be written in a computer programming language or may be embodied in firmware logic. If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to apeak of software, in one form or another (e.g., programs, procedure, process, application, module, logic...), as taking an action or causing a result. Such expressions are mere y a s or an way o saymg a execu ion o e so waic υy a computer causes the processor of the computer to perform an action pr a produce a result.
As shown in FIG. 3 A, the voice components receive a voice phone call and direct it to either an agent for immediate assistance 305 or to an interactive voice response system 301 for self-service. If directed initially to an agent 305, the workflow engine may de-escalate the contact (represented by arrow 311) voice mail 303 if an agent is not available within a given period of time, hi addition, the workflow engine may de-escalate an immediate assistance contact (represent by arrow 311) to interactive voice response (IVR) 301 if the call priority is less than a pre-determined amount or if the caller chooses self-service. A self-service contact may be escalated by a voice mail manager (represented by arrow 309) if the user chooses to leave voice mail.
Alternatively, when a self-service contact requests active assistance from an agent, the workflow engine 201 and the dynamic ACD 241 escalate the contact into the immediate assistance 305 as presented by arrow 307. h an embodiment in which the voice mail recording is attached to an email for subsequent processing by an agent, the email with the voice mail attachment may be escalate through a combination of the email escalator, the workflow engine, and the dynamic ACD (represented by arrow 315) as explained below in conjunction with FIGs. 3B and 5A-C.
Turning now to FIGs. 4A-C, the flowchart in FIG. 4A illustrates the acts performed by the voice router 223 component when executing a voice router method 400. The voice router method 400 receives notification of a call from the voice server 222 (block 401). As part of the information received from the gateway, the voice router method400 receives the originating and destination phone numbers for the call, which it then sends to the voice subsystem 213 (block 403). The voice subsystem determines how to route the call, as will be described further below, and sends the routing information to the voice router. The voice router method 400 receives the routing information (block 405) and then sends the routing information to the voice server 222 for routing (block 407).
Turning no to FIG. 4B, a voice subsystem method 420 executed by the voice subsystem component 213 is described. The voice subsystem method 420 receives the originating and destination phone numbers from the voice router (block 421), collects additional contact information and creates a contact record for the contact (block 423). The voice subsystem method 420 then evokes an appropriate voice workflow for the contact from the workflow engine 201 (block 425). One of the steps within the voice workflow will be the determination of service tier, i.e., immediate assistance ir a self-service. Assuming the contact is a self-service contact, the voice subsystem method 420 receives an IVR request from the voice workflow at block 427 and then sends the IVR information to the voice recorder at block 429 so that the voice router will route the voice call to interactive voice response. On the other hand, if the workflow determines that the contact is an immediate assistance contact (block 431), the voice subsystem method 420 receives an agent request from the workflow and requests an agent from the dynamic ACD (block 433) in response. e ynamic A L> a emp s o ma c an agen w e con ac as prev ous y ueswuucu. Assuming no agent is available within a pre-determined period of time, the workflow causes additional options to be presented to the contact. In one instance, the contact may choose to be routed to voice mail, at which point the workflow engine sends a remove-contact event to the subsystem method 420, which is received at block 435. response, the voice subsystem method 420 requests that the contact be removed from the list by the dynamic ACD (437). If, however, an agent is available, the dynamic ACD sends the agent information to the voice subsystem method 420, which in turn sends the agent information to the voice router (block 439) so that the voice router may appropriately route the contact to the chosen agent. The voice subsystem method 420 continues to monitor the contact to determine if the call is answered within a reasonable period of time (block 441). If it is, then the voice subsystem method 420 injects a handle-agent event into voice workflow at block 443 so that the workflow will continue to handle the contact as explained further below. Alternatively , if the call is not answered, the voice subsystem method 420 returns to block 433 and requests another agent from the dynamic ACD. In one embodiment, the voice subsystem method 420 generates events which create and update contact information regarding the voice call in the database 231.
FIG. 4C illustrates an alternative embodiment of a voice workflow 450 that is executed by the workflow logic 207 for a voice contact. When the voice workflow 450 is initiated, it obtains contact information through the IVR process at block 451 (shown in phantom) if it is unable to determine the contact information at block 453. A determination is made as to the level of service to be given to this contact (block 455). If the contact is not entitled to immediate assistance, the voice workflow 450 requests the contact be routed to the IVR system by the voice subsystem (block 477). The voice workflow 450 continues to monitor the contact because a contact at the IVR self-service tier 301 may choose to leave a voice mail or wait for an agent during the IVR sessions by inputting certain digits. The input digits are captured as events by the voice workflow 450 at block 479 and, depending on the event, the voice workflow 450 escalates the contact to the deferred assistance tier 303 by transferring the contact into the voice mail system (block 471) or to the immediate assistance tier 305 by requesting an agent for the contact (block 457). one embodiment, the email system manager serves as the voice mail manager and the processing represented by block 471 is performed by the workflow. The workflow records the contact message, attaches the recording to an email message addressed to general mailbox, and sends the email to the email subsystem 217 for transmission to the email server 226.
If the contact is entitled to immediate assistance, an agent is requested from the voice subsystem at block 457 and the caller is put on hold to wait for events from the voice subsystem (block 459). If a handle-agent event is injected into the voices workflow 450 by the subsystem because an agent allocated to this contact has answered the phone, the handle- agent event is detected at block 471 and contact information is sent to the voice subsystem (block 463). The voice workflow 450 loops waiting for events and responding appropriately to ose events, inclu ing up ating t e contac recor , unti t e ca is ermm cu. α& represented by block 465. Once the call is terminated, the voice workflow 450 sends a left- session event to the agent subsystem at block 467 that causes the agent to become available to receive a new contact.
If the contact chooses to be sent to voice mail prior to being routed to an agent (block 461), the voice workflow 450 sends a remove-contact event to the voice subsystem at block 469 to remove the contact from the list managed by the dynamic ACD. The voice workflow 4501 transfers the contact to the voice mail manager to record the message (block 471) and terminates the call after the message is recorded (block 473). The voice mail is then sent to a general mailbox to be acted upon by an agent at a later point (block 475). h one embodiment, the voice message is attached to an email message and place into the mailbox by the email system.
Referring now to FIG. 3B and FIGs. 5A-C, the email escalator component of the multimedia contact center 200 is described. As shown in FIGs. 3B, a deferred email 323 is escalated into high priority email 325 through a combination of the email escalator, the workflow engine, and the dynamic ACD (represented as arrow 327). Alternatively, an email message may be handled through an automatic response option in the conventional email system ans such an email is de-escalated by the email server 226 (represented as arrow 329) into an auto response contact 321 or transferred to a new classification as represented as arrow 328. As automatic response options are common in conventional email systems, the de-escalated process is not further described.
FIG. 5A illustrates an email escalator method 500 performed by the email escalator 227. The email escalator method 500 constantly reviews the email system mailboxes or queues (block 501) to determine if any pending emails should be escalated based on factors previously described. If an email is to be escalated (block 503), it is placed in a high priority queue (block 505) and the email information is sent to the email subsystem 217 at block 507. As will be explained in conjunction with FIG. 5B, the email subsystem 217 matches the contact to the agent and returns the agent identifier, which is received by the email escalator method 500 at block 509. The email escalator method 500 routes the email (via the email system) to the agent desktop (block 511) as a foreground task. In one embodiment, the email is presented on the desktop already opened. Once the agent has determined that he or she is ready to handle the email, the email escalator method 500 receives an agent-ready event from the agent desktop (block 513) and sends that event to the email subsystem at block 515. The agent workflow will not assign the agent to any other contacts until the email is handled. In another embodiment, the email escalator method 500 instructs the email subsystem to identify an email that is close to being escalated and to give the agent visual clue, such as color or special icon, that the email must be handled immediately.
A component acing as the email subsystem 217 executes a email subsystem method 520 to perform the functions illustrated in FIG. 5D. The email subsystem method 520 receives the email information from the email escalator at block 521 and invokes the workflow logic 207 at block 523. In one embodiment, when the email subsystem method 520 receives the email information at block 523, it creates the contact record for the email and marks it as escalated. In an alternative embodiment, the email manager creates a contact record for each email received at the contact center and the email subsystem method 520 marks the existing contact record as escalated at block 523. The email subsystem method 520 requests the agent from the dynamic ACD at block 527.
When an agent is allocated to the contact, the agent identifier is returned from the dynamic ACD to the email subsystem method 520, which, in turn, at block 529 returns the agent identifier to the email escalator to cause the contact to be routed to be identified agent. The email subsystem method 520 injects a handle-agent event into the email workflow at block 531 in response to receiving the agent-ready event from email escalator, hi one embodiment, the email subsystem method 520 generates events which create and update contact information regarding the escalated email in the database 231.
A method 540 for a contact workflow for an escalated email is illustrated in FIG. 5C. When the escalated email workflow 540 begins, it requests an agent from the email system at block 541, which causes the events previously described to occur. When the escalated email workflow 540 receives the handle-agent event at block 543, the workflow sends the email to the agent desktop at block 545 via the agent subsystem 219. As the agent is working with the escalated email message, the agent may generate events that cause the escalated email workflow 540 to perform certain functions, including updating the contact record, presented generally at block 547. When the agent is finished with the escalated email, the escalated workflow 540 sends a left-session event to the agent subsystem at block 549.
FIG.3C illustrates the escalation that is performed for a contact that initially appears at the contact center 200 through a self-service Web site 341. By choosing to send an email or callback, the contact can be escalated (represented by arrow 349) through the email manager into a deferred email contact 343. Alternatively, if the contact clicks on a collaboration/chat button, it is escalated by a combination of the workflow engine and the dynamic ACD (represented by arrow 347) into an immediate assistance contact 345. As the sending of emails is handled by the conventional email system, the escalation from a self-service contact 341 into a deferred email contact 343 is not further discussed.
Turning now to FIG. 6A-C, the escalation of a contact from self-service Web contact 341 to an immediate assistance collaboration contact 345 is described beginning with collaboration router method 600 performed by the collaboration router 325. The collaboration router method 600 receives the contact information from the Web server (block 601) and sends the contact information to the collaboration subsystem 215 (block 603) to have an agent allocated to the contact. When the collaboration router method 600 receives the agent identifier from the collaboration subsystem at block 605, it then routes the collaboration session to the contact desktop for the identified agent (block 607) via the collaboration server. collaboration su sys em me o execu e y e co a ora on suusysiem ^J is next described in conjunction with FIG. 6D. The collaboration subsystem method 620 receives the contact information from the collaboration router at block 621 an invokes a collaboration workflow for the contact at block 623. The collaboration subsystem method 620 receives an agent from the dynamic ACD (block 629) for routing the collaboration session to the appropriate agent's desktop. The collaboration subsystem method 620 also injects a handle-agent event into the collaboration workflow at block 623. Events resulting from the collaboration session are injected into the workflow by the collaboration subsystem method 620 when the session terminates (block 633). In one embodiment, the collaboration subsystem method 620 generates events which create and update contact information regarding the collaboration session in the database 231.
Turning now to FIG. 6C, a collaboration workflow method 640 that is executed by the workflow logic 208 as a collaboration workflow for a contact is described. When the collaborations workflow method 640 begins, it requests an agent from the collaboration subsystem at block 641. The collaboration workflow method 640 receives a handle-agent event from the collaboration subsystem at block 643. The handle-agent event informs the workflow that the agent is now ready for the collaboration session and collaboration workflow method 640 sends the contact information to the agent desktop (block 645) via the agent 219 system. The collaboration workflow method 640 updates the contact record with the events received from the collaboration subsystem when the session is terminated (block 647). The collaboration workflow method 640 also sends a left-session event into the agent subsystem at block 649.
The methods used by the multimedia contact center 200 for agents are now described with reference to the flowcharts in FIGs 7A-C. FIG. 7A illustrates an agent desktop method 700 that presents tasks on an agent desktop 229. The agent desktop method 700 receives a login event when an agent logs into the agent subsystem 219 at block 703. As part of their processing, the agent subsystem 219 and the agent workflow 207 make the agent available for contacts. The agent desktop method 700 waits for messages from the agent and the agent subsystem at block 705. If the agent desktop method 700 receives the routed contacts (block 707), it passes the contact information onto the appropriate underlying system(such as the email system and the collaboration system) at block 709. When the appropriate system has terminated the contact, the agent desktop method 700 receives a wrap-up event from the agent subsystem (block 711), which causes it to put the agent into a wrap-up state (block 713). The agent desktop method 700 sends an end-of-wrap up event to the agent subsystem at block 715 when the agent has finished the contact wrap up procedures.
The agent desktop method 700 also handles the transition of the agent into various states such as break, logout, etc. If the agent is requesting a break (block 717), the agent desktop method 7- sends the break request to the agent subsystem (block 719), which forwards it onto the agent workflow for a decision (as described further below). If the break request is allowed (block 712), the agent desktop method 700 waits for the agent to return om reak and sends o - rea even o e agen su sys em o in orm i a uic ; αgG ±. i again available (block 723).
If the agent is logging out (block 725), the agent desktop method 700 sends an agent- logout event into the subsystem at block 729. All other messages are sent to the agent subsystem at block 727. One of skill in the art will readily understand the processing necessary to transition the agent into other states without further illustration.
Referring now to FIG. 7B an agent subsystem method 730 executed by the component acting as the agent subsystem 219 is described. The agent information is received from the agent desktop at block 731 when the agent logs into the contact center. The agent subsystem method 730 invokes an agent workflow from the workflow engine 201 at block 733 and waits for events from the agent workflow and the agent desktop 229 (block 735). If the event is a contact request from the agent workflow (Block 736), the agent subsystem method 730 checks to see if there is a pending break request from the agent desktop (Block 737). If not, the agent subsystem method 730 requests a contact for the agent from the dynamic ACD at block 739. Once the dynamic ACD returns a contact, the agent subsystem method 730 injects a handle contact event io the agent workflow (block 740). When the agent or the contact terminates the call or the session, the agent subsystem method 730 receives a left-session event from the corresponding contact workflow, i.e., the voice workflow, the email workflow, the collaboration workflow, at block 741, and injects the event into the agent workflow at block 742. The agent subsystem method 730, in conjunction with the current session or call, also receives a wrap-up event from the agent workflow (block 743), which it sends to the agent desktop (block 745). When the agent desktop has determined that the agent has completely wrapped up the contact, the agent subsystem method 730 receives the end-wrap- up event from the agent desktop at block 746, and in turn, injects the event into the agent workflow at block 747. If a break request is pending (block 737), the agent subsystem method 730 waits until the agent workflow makes a decision on the break request (block 748). If allowed, the agent subsystem method 730 waits block 735 for an off-break event from the agent desktop. If not allowed, the agent subsystem method 730 requests a contact from the dynamic ACD at block 739.
If the agent subsystem method 730 receives a break request from the agent desktop (block 749), it sends an on-break event to the agent workflow (block 770) and waits for a response, which it forwards to the agent desktop at block 751. If the break is allowed by the agent workflow (block 752), the agent subsystem method 730 requests the agent be moved from the agent list by the dynamic ACD at block 753 and waits a block 735 for an off-break event from the agent desktop. When the off-break event is received (block 754), the agent subsystem method 720 injects the off-break event into the agent workflow at block 735 to cause the workflow to request a contact for the now available agent.
If a logout event is received (block 756), the agent subsystem method 730 requests the agent be removed from the agent list by the dynamic ACD (block 759) and injects a logout event into the agent workflow (block 760). The handling of other events is illustrated geneπcaiiy at bioc , w ere e even is injec e in o e agen wor ow, υ ><, 758, where the agent subsystem method 730 forwards any response received from the agent workflow to the agent desktop. One of skill in the art will readily understand the processing necessary to handle different types of events without further illustration.
An agent workflow method 770 for an agent workflow is now described in conjunction with FIG. 7C. The agent workflow method 770 begins by requesting a contact for the agent from the agent subsystem at block 771. The agent workflow methods 770 than waits for the agent events at block 773. If a handle-contact event is received (block 753), the agent has been allocated to a contact and the agent workflow methods 770 waits for a left- session event from the corresponding contact workflow that indicates the contact session has terminated (block 777). When the left-session event arrives, the agent workflow method 770 sends a wrap-up event to the agent subsystem at block 778 and waits for an end-wrap-up event that indicates the agent is now available (block 781).
The agent workflow method 770 loops back to block 771 to request a new contact for the agent.
If an on-break event is received by the agent workflow method 770 (block 761), the agent workflow method 770 determines if the break can be allowed based on the status of the call center (block 785). In either case, a message is sent to the agent subsystem to notify the agent desktop of the decision (block 785). If the break is allowed (block 785), the agent workflow waits for an off-break event to be received at block 786. If the break is not allowed, the agent workflow method 770 loops to block 773 to wait for a contact.
If an agent logout event is received by the agent workflow mentioned 770 (block 779), the agent workflow method 770 terminates, hi an embodiment not shown, the agent logout event is a request that can be denied based on the stat of the contact center, such as when the contact center is overloaded, or allowed at an appropriate time, such as when the agent workflow requests a new contact. All other events are handled by the agent workflow method 770 as generically illustrated by block 791. One of skill in the art will readily understand the processing necessary to handle different types of events with an agent without further illustration.
It will be appreciated that the workflow described in conjunction with the flow charts 4C, 5C, 6C and 7C are simplified examples of the actions available through the workflow logic 207 and are not intended to limit the invention to only those actions and sequences illustrated. A detailed description of the embodiment of the workflow logic 207 and the workflow actions is given in the next section.
In addition, one of skill in the art will readily conceive of alternate logic flows with more or fewer processes or different processes that achieve the results of these method and such alternatives are considered within the scope of the inventions. For example, instead of having the contact workflow inject the left-session events directly into the agent workflow, in one alternate embodiment, the contact workflow sends a contact-ended event to the contact subsystem and thence to the appropriate media router, which causes the router to send the e -session event to t e agent su system or injection into t e agen wor ow, JLU auuiuei alternative embodiment, the termination of the contact workflow causes the contact subsystem to send the contact-ended event to the appropriate media router, causing the router to send the left-session event to the agent subsystem and thence to the agent workflow.
The particular methods performed by components of the alternative embodiment of the digital multimedia contact center of the present invention have been described in terms of media-specific processing diagrams and flowcharts. The methods performed by a voice router, a voice subsystem, and workflow logic for a voice contact have been shown by reference to flowcharts 4A-C including all the acts from 401 until 407, from 421 until 443, and from 451 until 475, respectively. The methods performed by an email escalator, an email subsystem, and workflow logic for an escalated email contact have been shown by reference to flowcharts 5A-C including all the acts from 501 until 515, from 521 until 531, and from 541 until 549, respectively. The methods performed by a collaboration router, a collaboration subsystem, and workflow logic for a collaboration contact have ben shown by reference to flowcharts 6A-C including all the acts from 601 until 607, from 621 until 633, and from 641 until 649, respectively. The methods performed by an agent desktop, an gent subsystem and workflow logic for an agent have been shown by reference to flowcharts 7A-C including all the acts from 701 until 729,, from 731 until 760, and from 771 until 791, respectively.
Internet Contact Center (iCC) Implementation
In this section of the detailed description, a particular alternative implementation of the invention is described. Companies subscribe to the services of the iCC to manage their customer contacts. The iCC is located remotely from the agents for the subscribers, who may be at various locations. The agent desktops 229 are Web browser-based that connect to the agent subsystem(s) 219 in the remote iCC. The subscriber's customers contact the iCC directly through the Internet or POTS and are then routed to the appropriate agent desktop through a virtual private network. The browser-based agent desktops enables the use of various plug-in applets that extend the basic capabilities of the agent desktop without extensive re-programming. Additionally, a combination Java applet/serlet can be used to implement the desktop manager described previously.
Messaging
Communication between the workflow engine 201 and the media routers 221/agent desktop 229 is handled through a set of interfaces using Java RMI (remote method invocation). Three generic interfaces are provided in a messaging library. All contact workflow subsystems, e.g., voice subsystem 213, collaboration subsystems 215 and email subsystem 217, are required to implement at least a generic contact service interface, such as "ContactWorkflowService Interface" described below. All agent workflow subsystems, e.g., the agent subsystem 219, are required to implement at least a generic agent service uncn w, such as "AgentWorkflowServicelnterface" described below. Each media router 221 is required to implement at least a generic media router interface, such as "MediaRouterlnterface" described below. New interfaces specific to the service requested can be defined that inherit from existing interfaces. Thus, for example, a voice service interface implements generic contact services interface along with interface for telephone commands. Global variables pass information between the workflow subsystem 205 and the workflow logic 207. The global variables contain the values needed by the workflow logic 207. The global variables contain the values needed by the workflow logic 207 in the context of a particular workflow, and requests made by the workflow logic 207 to the workflow subsystems 205 through various workflow steps described further below.
A media router 221 uses the ContactWorkflowServicelnterface of a particular contact workflow subsystem to 1) start a contact workflow and receive a contact identifier for the workflow, 2) inject an event into an existing workflow identified by a contact identifier, and 3) determine if the contact workflow subsystem is handling a specified contact. To start a workflow for a contact, a media router 221 invokes a "startWorkflow" method in the ContactWorkflowServicelnterface of the desired contact workflow subsystems, passing in an identifier for the media router interface of the media router (client), and the attributes of the contact (attributes), and receives an identifier for the newly created contact worflow in return (contactTD),
startWorkflow(client, contactID, attributes).
To inject an event into an exisiting workflow, a media router 221 invokes an "injectEvent" method in the ContactWorkflowServicelnterface of the appropriate contact workflow subsystems, identifying the contact workflow (contact ID) and the event to be injected into the workflow (event) e.g.,
injectEvent(contactID, event).
To determine if a particular contact workflow subsystem is handling a specific contact, a media router calls a "handleContact" method in the contactWorkflowServiceinterface on the contact workflow subsystems, passing in the identifier of the contact workflow (contactID) and receives a boolean value in return, e.g.
handleContact(contactld) .
An agent desktop 229 uses the AgentWorkflowServicelnterface to 1) start an agent workflow and receive an agent identifier for the workflow, 2) inject an event into in existing workflow and receive an agent identifier by an agent identifier, and 3) determines if a part cular agent work ow su system is managing a speci e agent. s es iucu pievju uo± , when multiple agent workflow subsystem are present, an agent desktop is assigned to one of the agent workflow subsystems by a service manager. To start an agent workflow, an agent desktop invokes a "startWorkflow" method in the AgentWorkflowServicelnterface of the appropriate agent workflow subsystem, passing in the attributes of the agent (attributes), and receives an identifier for the newly created agent workflow in return (agenfJD), e.g.,
start Workflow(agentTD, attributes).
To inject an event into an existing workflow, agent desktop invokes an "injectEvent" method in the AgentWorkflowServicelnterface of the appropriate agent workflow subsystem, identifying the agent workflow (agentID) and the event to be injected into the workflow (event), e.g.,
injecfEvent(agenffD, event).
To detennine if a particular agent workflow subsystem is handling specific agent, an agent desktop calls a "handlesAgent" method in the AgentworkflowServiceh terface of the agent workflow subsystem, passing in the identifier of the agent workflow (agentID) and receives a boolean value in return, e.g.,
handle Agent(agentJD) .
The MedieRouterlnterface allows contact workflow subsystems to route contacts to the agents allocated by the dynamic ACD and to terminate a contact session. To route a contact to an agent, a contact workflow subsystem invokes an "assignContactToAgent" method in the MediaRouterlnterface of the appropriate media router, passing in the workflow identifier for the contact (contactID) and the workflow identifier for the agent (agentJJD) and receiving a boolean in return that indicates whether the routing was successful, e.g.,
assignContactToAgent(contactlTL), agentID).
To terminate a contact session, a contact workflow subsystem invokes a "teminateContact" method in the iCCMediaRouterfriterface of the appropriate media router, passing in the workflowidentifier for the contact (contactID), e.g.,
terminateContact(contactΙD) .
Database Unification Layer ase uni nsi ting υi information replicated from a number of different sources including the database used by the third-party systems, and the internal iCC database 231 as described previously.
Each different source is defined in a sub-schema including:
• Billing
• Customer Relationship Management (CRM)
• Entitlement (Billing option, maximum agents, maximum contacts,...)
• Provisions (Agents, User Ids, Passwords, Classifications, Skills, Proficiencies,...)
• Business Logic (Priority Expressions, Attributes, Stored Procedures,...) Active State (Agent State, Session State, Contact State, Contact Center State, Customer State).
The database unification layer provides access to the information in the various database through Java classes, such as CRM, Provisioning Entitlement, Rules, Contact Detail Record (CDR), Contact Center State.
The unified schema is synchronized with the vendor-specific sources by a set of database triggers. For instance, many conventional email systems use event handlers that watch for messages entering and changing state, and create and update CDR records as necessary, e.g. when an email message is responded to or forward to another agent. Updating one of the sources with information in the unified schema is accomplished through the Java classes.
One embodiment of a data structure 800 for CDR is illustrated in FIG 8 A. The contact represented by the CDR 800 identified through ID field 801. The media type through which the contact has been entered the iCC is specified in a media type field 803. Assuming the contact has been classified, the classification for the contact is stored in a contact class ID field 805. If the iCC is implemented in conjunction with a standard customer relationship management system, the CRM case identifiers is stored in a case ID field 807 to allow tracking of the contact. The agent assigned to handle the contact is identified through an assigned agent ED field 809. One or more fields 811 collectively record the history of the contact as it is process in the iCC. Each field 811 contains a contact state 813 and a timestamp 815. Thus, the change in state of the contact can be tracked chronologically for the life of the contact. Exemplary contact states used by the iCC are shown in Table 1 below and it will be appreciated that more or fewer states may be used.
Figure imgf000031_0001
Figure imgf000032_0001
Table 1: iCC Contact States
One embodiment of a data structure 820 for an agent record is illustrated in FIG. 8B. The agent represented by the agent record 820 is identified by an agent ID field 821.
Assuming the agent has been classified, the classification for the agent is stored in an agent class ID filed 823. The contact identifier for the current contact the agent is handling is stored in an assigned contact ED field 825. One or more fields 827 collectively record the history of the agent while he or she is logged into the iCC. Each field 827 contains an agent state 829 and timestamp 831. Thus, the change in state of the agent can be tracked chronologically during the workdays of the agent. The agent states used by the iCC are shown in Table 2 below and it will be appreciated that more or fewer states may be used.
Figure imgf000032_0002
Soft ACD
The iCC usues software-implemented ACD to manage the allocation of all contacts and agents. The Soft ACD exists as a set of stored procedures in the contact center database that refer to special database tables used as the unordered lists of available agents and waiting contacts. The unordered lists may be further logically subdivided, e.g., by classification.
The Soft ACD also loads business logic and provisioning information (described below) when required. Each classification within the organization (e.g., Sales, Support, Customer Service, etc.) Is associated with a particular set of business logic. If any of this information changes, the Soft ACD is notified, it reloads this in ormat on, anu ieuiaioi applies the new information to the iCC. While it is running, the Soft ACD maintains the state (classification, requirements, and attributes) of each entry in the list.
When running workflow requests as agent or contact, the appropriate subsystem passes the request onto the Soft ACD as previously described. The Soft ACD determines the best match for the agent or contact by filtering the opposite list on classification and in light of any requirements specified in the request, and prioritizing the filter entries using on or more "priority expressions". Each priority expression contains a set of weighed contact/agent attributes that produce a priority from 0 to 100 when an entry is evaluated. The attributes and their weights exist as classes in the business logic sub-schema in the database unification layer and are described next. It should be noted that the Soft ACD dynamically performs the filtering and prioritizing anew for each request for a match.
While a contact or agent is waiting on a list, the requesting workflow is free to continue executing, but when an actual allocation occurs, a resource allocator notifies the corresponding subsystem, which then interrupts the requesting workflow to route the contact.
Business Logic
The business logic used by the iCC for a subscriber is defined through an email manager, a workflow editor, and an administrative interface. The email manager is used to create email rules that route email contacts into various predefined mailboxes. These rules may reference text in the form, to subject and body of the message as well as make database queries. Mailbox queues are separate message areas maintained by the email server. Agents retrieve messages from these queues. Individual queues can be set up e.g., for each agent or for separate products, and additions or deletions to the existing set of queues can be made necessary. For example, the subscriber would initially define one queue per'product per classification (SalesPrinters" or "SupportPrinters") and add more as business grows. The syste administrator grants Access to these queues on a per agent basis. An additional queue is defined for escalated email messages as previously described. After defining the queues, the rules which route messages into those queues are defined. Rules can also be specified that demote certain email messages into self-service by routing them to the auto-responder function.
The workflow editor defines a workflow for handling a contact or an agnet. A subscriber may define any number of agent and contact workflows through the workflow editor. For example, each agent might have a particular workflow based on the agents 's login identifier. The workflows and their related invocation information are stored for reference by the workflow engine 201 in an LDAP directory server or other directory structure that defines hierarchy directory entries. For example, a subscriber might define the following hierarchy in which the entries at levels (a) and (b) are the invocation information for the workflows specified. 1) subscn er.com a) iCC i) configuration (1) wfVoice
(a) 1234
(i) Workflow "Salescontact, WFE"
(b) 1000
(i) Workflow "SupportContact, WFE'
(2) wfEmail
(a) sales@asubscriber.com
(i) Workflow "SalesContact.WFE" (b) support@asubscriber.com
(i) Workflow "SupportContact. WFE"
(3) wfWebCollaboration
(a) http://asubscriber.com/sales
(i) Workflow "SalesContact.WFE"
(b) http://asubscriber.com/support
(i) Workflow "supportContact.WFE"
The administrative interface uses the classes in the business logic sub-schema to define logins, passwords, agent skills and proficiencies, call center classification, service level objectives, email overdue/escalation thresholds, priority expressions, attributes, attribute weightings etc. The administrative interface starts up, it reads the system and subscriber business logic from the database using the business logic classes. When entities are changed, the relevant data is written back to the database through these same business logic classes. The administrative interface presents the subscriber with various graphical user interface (GUI) screen to assist the user in defining the subscriber business logic.
Through one of the GUI screens, the subscriber sets up the call center classifications, which define gross distinctions between contacts or between agents. The same set of classifications is used both ontacts and agents. Within a particular classification, the subscriber defines service level objectives for each media type. Service level objectives are defined as the percentage of contacts of a particular media type which must be handled in a specific time. Thus, the GUI screen for defining service level objectives presents the user with a list of the media types, an input area for a percentage value, and an input area for an elapsed time value.
Each agent has a set of skills and a proficiency within each skill, which are specified and modified through the administrative interface. When a contact requests an agent, certain skills/proficiencies may be specified as contact requirements. The requirements may also include aging information doe relaxing those requirements after a certain amount of time has elapsed without the contact being helped. For instance, the aging information might say that or .e rst 3,0, secon s a pa icu ar voi ce ca wi accep a pr Λo i„c.iency o ιυr a parucuiai skill, after 30 seconds a proficiency of 2 will be acceptable. This is referred to as "aging" requirement.
The iCC comes pre-configured with a number of system defined attributes including:
Time iQueue - the time a contact has been waiting for a resource (available through a database stored procedure and calculated on the fly by the Software ACD.)
IsEmail - is this contact an email?
Is Voice - is this contact a voice call?
IsCollaboration - is this contact a web collaboration?
MediaServiceLevel - percentage of contacts of this media type handled within the specified media-specific service objective.
LastAgent - User Id of last agent this customerr talked to.
Subscriber-defined attributes that determine a contact-agent match are specified through the administrative interface. Attribute characteristics include name, type (Call center, Agent, Contact), value type (numeric, symbolic), values, default values, value normalization, and corrsponding stored procedure. The subscriber defines the set of attributes using a GUI screen that prompts the user for input by displaying permitted choices or through visual clues, such as a choice of normalization curves. The stored procedure for an attribute calculates a value for the attribute when the attribute is used in a priority expression. The stored procedures can have been previously created or may be created when the attribute is created.
The agent and contact priority expressions are created through a graphical user interface that allows an administrator to drag-and-drop desired attributes into an expression and set their weighting through slider bars. There is one priority expression for agents and one for contacts within each classification. When a new priority expression is specified, a new stored procedure is generated in a database scripting language, such as PL/SQL, compiled, and added to the database. One exemplary priority expression is shown in the following pseudocode:
For each attribute:
Call the attribute's stored procedure passing ContactID and CustomerED;
If value returned is - 1, use the attribute's default value;
If the attribute is symbolic, convert to a normalized value;
Multiply results by specified weighting and add this to the accumulated total.
For a more specific example, assume a subscriber specified two classifications "Sales" and "Support" and contact a attribute called "BusinessValue" (i.e., the value of this con act to tne subscri er s us ness . or e a es c ass ica on, e su sciiυoi icα- u contact priority expression of:
BusinessValue*0.2 + TimehιQueue*0.1+ IsEmail*0.1+ IsVoice*0.4+ IsCollaboration* 0.2
and for the Support classification, a contact priority expression of:
BusinessValue*0. l+TimeInQueue*0. l+IsEmail*0.1+Is Voice* 0.6+ IsCollaboration*0.1
When the Soft ACD is prioritizing the waiting contacts for assignment to an agent, it evaluates the expression for each contact of the appropriate classification by calling the stored procedure associated with the BusinessValue attribute and multiplying the value returned by 0.2 for a Sales contact or 0.1 for Support contact. The weighted business value of the contact is then added to the appropriately weighted values of the system defined attributes to calculation the priority for the contact.
The Soft ACD can prioritize each agent/contact before deciding on the Appropriate match or alternately may employ an optimization scheme in which the first agent/contact that reaches a pre-determined priority value is chosen.
Provisioning Information
The underlying components of iCC must set up and configured before the center is ready for operation. The email manager allows administrators to define agents, agent passwords, mailboxes, as well as the rules by which contacts are routed to these mailboxes. An Administration interface to the collaboration server is used to define agents, agent passwords, and agent extensions. The telephony server is set up by creating dial plans and associating phone numbers with applications, and agents with phone extensions.
Workflow Engine
The iCC uses workflows to process contact, manage agents, and control the overall contact center functions. Workflow steps are the basic building blocks of control in the iCC workflow engine. The workflow steps available to a designer depend on the type of workflow being developed. For example, voice workflow steps include answer, collects digits, and record. Exemplary agent workflow steps include allow break, handle contact, and wrap up. Some workflow steps are applicable to all contacts workflows, such as classify contact, request agent, and deliver contact. Control steps, e.g., end, wait, and id, are available or a workiiows, along w a sen ema s ep. ona s eps or e couwυi auu αgcm workflows will be readily apparent to one of skill in the art.
Instead of hard-coded scripts typically used to implement workflows, the iCC workflow engine 900 dynamically creates a script for a workflow from two files as described in conjunction with FIG. 9A. Definitions for prototype nodes 911, 913, 915, 917, 919 are stored in a template file 903. Each node is associated with workflow code that implements a high-level, compound script action, such as "play menu with interruptible prompts" or "play music until an agent is available", that are available to the workflow engine 900. The script actions are built from workflow steps. For ease of explanation, the script actions represented in FIG. 9A are simple, single commands, e.g., node A 911 represents the function "if(x boolean y)," where "x," "boolean," and "y" are parameters that will be replaced by values specified by an instance of the node A 911. It will be appreciated that the invention is not limited by the example or by the workflow steps shown herein.
When in configuration mode 901, the workflow engine 900 (or a supporting application) enables a user, such as a system administrator, to create a workflow 905 by selecting the appropriate nodes from the template file 903, specifying the appropriate values for the parameters in the script command, and linking the nodes together to form a directed graph that represents the desire workflow. Thus, for example, when node A 921 is executed, the function "if(number<10)" is evaluated, with a true result causing edge 933 to be followed to execute node C 925. A configuration file 907 is created from the directed graph and specifies the structure for the workflow 905. The configuration file 907 contains an identifier for each corresponding prototype node, along with the values, edge information and other settings (configuration data) associated with each node in the graph. It will be appreciated that any of the common input methodologies used to obtain user input can be employed to create the directed graph for the workflow, including a graphical user interface that gives the user drag-to-drop capabilitis to allow the placement an d rearrangment of nodes and edges, and dialog boxes that request the appropriate parameters.
When the workflow 905 is to be executed by the workflow engine 900 in runtime mode 909, the workflow engine 900 references the configuration file 907 and reconstructs the directed graph for the workflow 905 in memory by merging the corresponding prototype node from the template file 903 with the configuration data associated with the nodes in the configuration of 907. The workflow engine initiates a new thread of execution to execute the workflow script represented by the directed graph. Thus, the workflow engine 900 abstracts out the code and connectors when the user creates a workflow and subsequently reconstructs the workflow from the abstractions when it is to be executed.
Unlike typical workflow implementations, all iCC workflow steps can execute asynchronously by storing its results to a prioritized message queue in its thread of execution. Additionally, a step may spawn another execution thread to create a multithread workflow. Similar classes of steps may share one queue with one execution thread for all requests of that type from a single workflow or across workflows. As previously described, various workflow s eps request a service om a su sys em. e su sys ems n ec serv ce eve na miu i workflow by placing event notifications in the message queue. The retrieval of messages from the queue is implemented using three special workflow steps: RegisterEvent, UnRegisterEvent, and GetMessage.
RegisterEvent and UnRegisterEvent modify handlers for events. By default, an event is handled-in-line in the node that caused the event. RegisterEvent specifies a target node that will handle the event instead (referred to as "chaining"). Handlers are stacks when a handler is registered using RegisterEvent, the target node for the that event is pushed onto the stack; when UnregisterEvent is called, the stack is popped.
The GetMessage step fetches a message from the queue. When the message is an event notification for which a registration (via RegisterEvent) has been made, the workflow engine branches to the target node to handle the event. If the event was not explicitly registered, the current node is pushed onto the stack to handle the event.
An example of the asychronous processing of the workflow steps is illustrated in FIG. 9B. A workflow 904 begins at node AA 941. As part of its codes, node AA 941 requests (arrow 951) that the database subsystem retrieve a record from the unified database 975. When the record is retrieved, the database subsystem stores (arrow 953) an event notification in a message queue 959. Instead of waiting for the database subsystem to retrieve the record, the node AA 942 registers itself as the target node to handle the event. The workflow continues processing, executing node BB 943 and node CC 945, before reaching node DD 947, which requests (arrow 955) messages from queue 959. Assuming that the event notification is in the queue 959, it will be returned (arrow 955) to node DD 947, which in turns, returns (edge 967) the event notification to node AA 941 for handling. Once node AA 941 has received the record, it passes (edge 969) it onto node EE 949 for further processing.
In one embodiment, the template and configuration files are XML documents with the nodes represented by XML elements and the code and configuration information stored as XML attributes for the corresponding XML elements. The code and configuration information are written in the JPython scripting language. A JPython aware execution proxy merges the information from the template and configuration files, and provides and interface between the thread of execution for the workflow and the actual workflow steps. Because the execution proxy insulates the thread of execution from the workflow steps, steps may use multiple scripting languages simultaneously, allowing the developer of the prototype nodes to chose the best code to perform a given function.
Operating Environment
The following description of FIGs. 10A-B is intended to provide an overview of computer hardware and other operating components suitable for alternatively implementing the invention, but is not intended to limit the applicable environments. One of skill in the art will immediately appreciate that the invention can be practiced with other computer system con igurations, includ ng an - e ev ces, mult processor systems, m croprocessor-uaseu or programmable consumer electronics, network PC's, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
FIG. 10A shows several computer systems 1 that are coupled together through a network 3, such as the Internet The term "Internet" as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web). The physical connection of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. Access to the Internet 3 is typically provided by Internet service providers (ISP), such as the ISP's 5 and 7. Users on client systems, such as client computer system 21, 25, 35, and 37 obtain access to the Internet through the Internet service providers, such as ISP's 5 and 7. Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format. These documents are often provided by web servers, such as web server 9 which is considered to be "on" the Internet. Often these web servers are provided by the ISPs, such ISP5, although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art.
The web sever 9 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server 9 can be part of an ISP which provides access to the Internet for client systems. The web server 9 is shown coupled to the server computer system 11 which itself is coupled to web content 10, which can be considered a form of a media database. It will be appreciated that while two computer systems 9 and 11 are shown in FIG. 10A, the web server system 9 and the server computer system 11 can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system 11 which will be described further below.
Client computer systems 21, 25, 35, and 37 can each, with the appropriate web browsing software, view HTML pages provided byy the web server 9. The ISP 5 provides Internet connectivity to the client computer system 21 through the modem interface 23 whih can be considered part of the client computer system21. The client computer system can be a personal computer system, a network computer, a Web TV system, or other such computer system. Similarly, the ISP 7 provides Internet connectivity for client systems 24,35, and 37, although as shown in FIG. 10 A, the connections are not the same for these three computer systems. Client computer system 25 is coupled through a modem interface 27 while client computer systems 35 and 37 are part of a LAN. While FIG. 10A shows the interfaces 23 And 27 as generically as a "modem" it will be appreciated that each of these interfaces can be an ana og modem, IbD mo em, ca e mo em, sa e i e transmission m er ace <e.g. uneci PC"), or other interfaces for coupling a computer system to other computer systems. Client computer systems 35 and 37 are coupled to LAN 33 through network interfaces 39 and 41, which can be Ethernet network or other network interfaces. The LAN 33 is also coupled to a gateway computer system 31 which can provide firewall and other Internet related services for the local area network. This gateway computer system 31 is coupled to the ISP 7 to provide Internet connectivity to the client computer system. Also, the web server system 9 can be conventional server computer system.
Alternatively, as well-known, a server computer systems 43 can be directly coupled to the LAN 33 through a network interface 45 to provide files 47 and other services to the clients 35,37, without the need to connect to the Internet through the gateway system 31.
FIG. 10B shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web computer system. It will also be appreciated that such a computer system can be used to perform many of the functions of an Internet service provider, such as ISP 105. The computer system 511 interfaces to external systems through the modem or network interface 53. It will be appreciated that the modem or network interface 53 can be considered to be part of the computer system 51. This interface 53 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling c computer system to other computer systems. The computer system 51 includes processor 55, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor. Memory 59 is coupled to the processor 55 by a bus 57. Memory 59 can be dynamic random access memory 9DRAM) and can also include static RAM (SRAM). The bus 57 couples the processor 55 to the memory 59 and also to non-volatile storage 65 and to display controller 61 and to the input/output (I/O) controller 67. The display controller 61 controls in the conventional mamier a display on a display device 63 which can be a cathode ray tube (CRT) or liquid crystal display. The input/output devices 69 can included a keyboard disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 61 and the I/O controller 67 can be implemented with conventional well known technology. A digital image input device 71 can be a digital camera which is coupled to an I/O controller 67 in order to allow images from the digital camera to be input into the computer system 51. The non- volatile storage 65 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 59 during execution of software in the computer system 51. One of skill in the art will immediately recognize that the term "computer readable medium" included any type of storage device that is accessible by the processor 55 and also encompasses a carrier wave that encodes a data signal.
It will be appreciated that the computer system 51 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often ave mult ple buses, one o w ic can e an mpiu/υiupui. (I/O) bus for the peripherals and one that directly connects the processor 55 and the memory x59 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
Networks computers are another type of computer system that can be used with the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 59 for execution by the processor 55. A Web TV system, which is known in the art, is also considered to be a computer system according to the present inventions, but it may lack some of the features shown in FIG. 10B, such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
It will also be appreciated that the computer system 51 is controlled by operating system software which includes a file management systems, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software in the Windows family of operating systems from Microsoft Corporation of Redmond, Washington, and the associated file management systems. The file management system is typically stored in the non- volatile storage 65 and causes the processor 55 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non- volatile storage 65.
Conclusion
A preferred embodiment of the present invention includes a system and method of escalating non-realtime communications in a Contact Center 1100 having a hub and node architecture as incorporated by reference. An alternative tiered service model providing escalation and de-escalation of contacts in a multimedia digital contact center has been described. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptions or variations of the present invention.
The terminology used in this application with respect to networks is meant to include all of network environments, including private wide-area networks and local-area networks. Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalent thereof.
The present invention has been described in terms of specific embodiments incorporating details to facilitate the understanding of the principles of construction and operation of the invention. Such reference herein to specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. For example, the system and -. .- me od ot the presen invenion may e impemene m a onac ener omoi mn uiuoc- incorporated by reference and described in this document. It will be apparent to those skilled in the art that modifications can be made in the embodiment chosen for illustration without departing from the spirit and scope of the invention.

Claims

C L A I M SWhat is claimed is:
1. A method of escalating non-realtime communications in a contact center, the method comprising: a. extracting an aged communication from a plurality of shared file folders, wherein the plurality of shared file folders are configured in a central processing area of the contact center, and further wherein a communication is designated as aged based on a set of predetermined escalation criteria; b. routing the aged communication with an escalation service to an immediate workflow such that the aged communication is routed by the immediate workflow for immediate response to a first designated agent; c. presenting the aged communication to the first designated agent such that the aged communication is displayed on a desktop of the first designated agent; and d. responding to the aged communication, wherein the first designated agent answers the aged communication on the desktop, wherein the escalation service escalates an immediate communication to the immediate workflow for routing to the first designated agent.
2. The method as claimed in claim 1 wherein the desktop includes a visual indicator, further wherein the visual indicator includes an expiration time for the aged communication in the plurality of shared file folders.
3. The method as claimed in claim 1 wherein the communication is designated as immediate based on the set of predetennined escalation criteria before the communication becomes aged.
4. The method as claimed in claim 1 wherein the escalation service checks a present threshold for a maximum number of immediate workflows and delays escalating the communications designated as immediate until the number of immediate workflows is below the threshold.
5. The method as claimed in claim 1 further comprising monitoring the aged communication displayed on the first designated agent's desktop, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to a second designated agent.
6. The method as claimed in claim 5 further comprising sending an acknowledgment message when the first and second designated agents are unavailable.
7. The method as claimed in claim 5 further comprising prompting the first designated agent when the step of responding does not occur within a predetermined timeout period after the step of presenting.
8. The method as claimed in claim 7 wherein the aged communication is routed to the second designated agent after the prompting step is unanswered by the first designated agent.
9. The method as claimed in claim 7 wherein the aged communication is routed to the second designated agent after the first designated agent answers the prompting step by declining to respond to the aged communication.
10. The method as claimed in claim 1 wherein the set of predetermined escalation criteria are variable such that the set of predetennined escalation criteria will change during the responding step.
11. The method as claimed in claim 1 wherein the first and second designated agents may select non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged.
12. The method as claimed in claim 1 wherein an agent is designated based on a set of predetermined designation criteria.
13. A system for escalating non-realtime communications in a contact center, the system comprising: a. means for extracting an aged communication from a plurality of shared file folders, wherein the plurality of shared file folders is configured in a central processing area of the contact center, and further wherein a communication is designated as aged based on a set of predetermined escalation criteria; b. means for routing the aged communication with an escalation service to an immediate workflow such that the aged communication is routed by the immediate workflow for immediate response to a first designated agent; c. means for presenting the aged communication to the first designated agent such that the aged communication is displayed on a desktop of the first designated agent; and d. means for responding to the aged communication, wherein the first designated agent answers the aged communication on the desktop, wherein the escalation service escalates an immediate communication to the immediate workflow for routing to the first designated agent.
14. The system as claimed in claim 13 wherein the desktop includes a visual indicator, further wherein the visual indicator includes an expiration time for the aged communication in the plurality of shared file folders.
15. The system as claimed in claim 13 wherein the communication is designated as immediate based on the set of predetermined escalation criteria.
16. The system as claimed in claim 13 wherein the escalation service checks a present threshold for a maximum number of immediate workflows and delays escalating the communications designated as immediate until the number of immediate workflows is below the threshold.
17. The system as claimed in claim 13 further comprising means for monitoring the aged communication displayed on the first designated agent's desktop, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to a second designated agent.
18. The system as claimed in claim 17 further comprising means for sending an acknowledgment message when the first and second designated agents are unavailable.
19. The system as claimed in claim 17 further comprising means for prompting the first designated agent when the means for responding are not activated within a predetermined timeout period after the means for presenting displays the aged communication on the desktop of the first designated agent.
20. The system as claimed in claim 19 wherein the aged communication is routed to the second designated agent after the means for prompting is unanswered by the first designated agent.
21. The system as claimed in claim 19 wherein the aged communication is routed to the second designated agent after the first designated agent answers the means for prompting by declining to respond to the aged communication.
. ne system as c a me n c a m w ere n e se o pre e erm ne csu iauυii uiicu. are variable such that the set of predetermined escalation criteria will change when the means for responding are activated.
23. The system as claimed in claim 13 wherein the first and second designated agents may select non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged.
24. The system as claimed in claim 13 wherein an agent is designated based on a set of predetermined designation criteria.
25. A system of escalating a non-realtime communication in a contact center, comprising: a. a plurality of shared file folders where the non-realtime communication is received and stored, wherein the plurality of shared file folders are configured in a central processing area of the contact center, and further wherein an aged i communication is extracted from the plurality of shared file folders based on a set of predetermined escalation criteria; b. an escalation service coupled with the plurality of shared file folders such that the escalation service routes the aged communication to an immediate workflow; and c. a plurality of designated agents such that the aged communication is displayed on a desktop of a first designated agent after receiving the aged communication from the immediate workflow, wherein the first designated agent provides an immediate response to the aged communication on the desktop, and further wherein the escalation service escalates an immediate communication to the immediate workflow for routing to the first designated agent.
26. The system as claimed in claim 25 wherein the desktop includes a visual indicator, further wherein the visual indicator includes an expiration time for the aged communication in the plurality of shared file folders.
27. The system as claimed in claim 25 wherein the communication is designated as immediate based on the set of predetermined escalation criteria before the communication becomes aged.
28. The system as claimed in claim 25 wherein the escalation service checks a present threshold for a maximum number of immediate workflows and delays escalating the commimicaxions esigna e as imme ia e un i e num er o imme is below the threshold.
29. The system as claimed in claim 25 further comprising a second designated agent, wherein when the first designated agent does not answer the aged communication, the immediate workflow routes the aged communication to the second designated agent.
30. The system as claimed in claim 29 further comprising sending an acknowledgment message when the first and second designated agents are unavailable.
31. The system as claimed in claim 29 wherein the aged communication is routed to the second designated agent after the first designated agent does not answer the prompt.
32. The system as claimed in claim 29 wherein the aged communication is routed to the second designated agent after the first designated agent answers the prompt by declining to respond to the aged communication.
33. The system as claimed in claim 25 wherein the first designated agent is prompted when the first designated agent does not respond within a predetermined timeout period after the aged communication is displayed on the desktop.
34. The system as claimed in claim 25 wherein the set of predetermined escalation criteria are variable such that the set of predetermined escalation criteria will change while the first designated agent responds to the aged communication.
35. The system as claimed in claim 25 wherein the first and second designated agents may select non-realtime communications from the plurality of shared file folders that are not designated as aged, and further wherein the first and second designated agents respond to those non-realtime communications not designated as aged.
36. The system as claimed in claim 25 wherein an agent is designated based on a set of predetermined designation criteria.
37. An apparatus for escalating non-realtime communications in a contact center, comprising: a. a storage media for storing a computer application; b. a processing unit coupled to the storage media; and c. a user interface coupled to the processing unit such that a plurality of users can receive an aged communication from an immediate workflow through an escalation service, wherein the plurality of users can provide an immediate response to the aged communication, and further wherein the immediate workflow can receive an immediate communication from the escalation service for routing to the plurality of users.
PCT/US2003/023897 2002-08-16 2003-07-31 Escalated handling of non-realtime communications WO2004017550A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003257054A AU2003257054A1 (en) 2002-08-16 2003-07-31 Escalated handling of non-realtime communications

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US40407602P 2002-08-16 2002-08-16
US60/404,076 2002-08-16
US43597402P 2002-12-20 2002-12-20
US60/435,974 2002-12-20

Publications (2)

Publication Number Publication Date
WO2004017550A2 true WO2004017550A2 (en) 2004-02-26
WO2004017550A3 WO2004017550A3 (en) 2004-06-10

Family

ID=31891421

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/US2003/024107 WO2004017584A1 (en) 2002-08-16 2003-07-31 Contact center architecture
PCT/US2003/023897 WO2004017550A2 (en) 2002-08-16 2003-07-31 Escalated handling of non-realtime communications
PCT/US2003/024125 WO2004017260A2 (en) 2002-08-16 2003-07-31 Automatic management of the visual space while performing a task
PCT/US2003/024124 WO2004017161A2 (en) 2002-08-16 2003-07-31 High availability voip subsystem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2003/024107 WO2004017584A1 (en) 2002-08-16 2003-07-31 Contact center architecture

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/US2003/024125 WO2004017260A2 (en) 2002-08-16 2003-07-31 Automatic management of the visual space while performing a task
PCT/US2003/024124 WO2004017161A2 (en) 2002-08-16 2003-07-31 High availability voip subsystem

Country Status (4)

Country Link
US (3) US7012888B2 (en)
EP (2) EP1546841A4 (en)
AU (4) AU2003263957A1 (en)
WO (4) WO2004017584A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007300642A (en) * 2006-05-01 2007-11-15 Agere Systems Inc High-throughput scheduler with guaranteed fairness for wireless network and other application
EP2517450A2 (en) * 2009-12-23 2012-10-31 24/7 Customer, Inc. Method and apparatus for optimizing customer service across multiple channels
US11645449B1 (en) 2020-12-04 2023-05-09 Wells Fargo Bank, N.A. Computing system for data annotation
US11790411B1 (en) 2019-11-29 2023-10-17 Wells Fargo Bank, N.A. Complaint classification in customer communications using machine learning models

Families Citing this family (386)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822188B1 (en) * 1999-04-01 2010-10-26 Callwave, Inc. Methods and apparatus for providing expanded telecommunications service
US7555110B2 (en) 1999-04-01 2009-06-30 Callwave, Inc. Methods and apparatus for providing expanded telecommunications service
CA2328335A1 (en) * 2000-01-24 2001-07-24 Avaya Technology Corp. Automated transaction distribution system and method allowing selection of agents by transaction initiators
WO2001075549A2 (en) * 2000-03-30 2001-10-11 Cygent, Inc. System and method for establishing electronic business systems for supporting communications services commerce
US7688958B2 (en) * 2000-03-31 2010-03-30 Callwave, Inc. Methods and apparatus for providing expanded telecommunications service
US6697858B1 (en) 2000-08-14 2004-02-24 Telephony@Work Call center
US7568001B2 (en) * 2001-01-30 2009-07-28 Intervoice, Inc. Escalated handling of non-realtime communications
US7254641B2 (en) * 2001-01-30 2007-08-07 Intervoice, Inc. Digital multimedia contact center with tier escalation and deescalation in response to changed criteria
US7143907B2 (en) * 2001-03-19 2006-12-05 Automated Equipment, Llc. Dispenser assembly including a rotating dispensing carousel
US7283519B2 (en) * 2001-04-13 2007-10-16 Esn, Llc Distributed edge switching system for voice-over-packet multiservice network
US7953219B2 (en) * 2001-07-19 2011-05-31 Nice Systems, Ltd. Method apparatus and system for capturing and analyzing interaction based content
US7728870B2 (en) * 2001-09-06 2010-06-01 Nice Systems Ltd Advanced quality management and recording solutions for walk-in environments
WO2003021927A2 (en) * 2001-09-06 2003-03-13 Nice Systems Ltd. Recording of interactions between a customer and a sales person at a point of sales
US7573421B2 (en) * 2001-09-24 2009-08-11 Nice Systems, Ltd. System and method for the automatic control of video frame rate
US7436887B2 (en) * 2002-02-06 2008-10-14 Playtex Products, Inc. Method and apparatus for video frame sequence-based object tracking
US20050128304A1 (en) * 2002-02-06 2005-06-16 Manasseh Frederick M. System and method for traveler interactions management
EP1472869A4 (en) * 2002-02-06 2008-07-30 Nice Systems Ltd System and method for video content analysis-based detection, surveillance and alarm management
US7761544B2 (en) * 2002-03-07 2010-07-20 Nice Systems, Ltd. Method and apparatus for internal and external monitoring of a transportation vehicle
US7372952B1 (en) 2002-03-07 2008-05-13 Wai Wu Telephony control system with intelligent call routing
US7962644B1 (en) 2002-03-18 2011-06-14 Oracle International Corporation Systems and methods for handling a plurality of communications
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
US7321773B2 (en) * 2002-03-28 2008-01-22 Telecommunication Systems, Inc. Area watcher for wireless network
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US7426380B2 (en) * 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US7957401B2 (en) 2002-07-05 2011-06-07 Geos Communications, Inc. System and method for using multiple communication protocols in memory limited processors
AU2003263957A1 (en) 2002-08-16 2004-03-03 Nuasis Corporation Contact center architecture
US7230946B2 (en) * 2002-08-16 2007-06-12 Nuasis Corporation Remote agent access method to a VoIP contact center where high QoS is not supported
US7274787B1 (en) 2002-08-16 2007-09-25 Intervoice, Inc. Scheduled return to queue with priority (SRQP)
US8171420B2 (en) * 2002-08-16 2012-05-01 Intervoice, Inc. Automatic management of the visual space while performing a task
US7844907B2 (en) * 2002-10-16 2010-11-30 William Watler System and method for dynamic modification of web content
US20070238455A1 (en) 2006-04-07 2007-10-11 Yinjun Zhu Mobile based area event handling when currently visited network doe not cover area
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US8775511B2 (en) * 2003-02-10 2014-07-08 Open Invention Network, Llc Methods and apparatus for automatically adding a media component to an established multimedia collaboration session
US7142840B1 (en) * 2003-02-20 2006-11-28 Sprint Spectrum L.P. Method and system for multi-network authorization and authentication
US7676034B1 (en) 2003-03-07 2010-03-09 Wai Wu Method and system for matching entities in an auction
US20060089837A1 (en) * 2003-04-09 2006-04-27 Roy Adar Apparatus, system and method for dispute resolution, regulation compliance and quality management in financial institutions
US9082156B2 (en) * 2005-08-17 2015-07-14 Jeffrey A. Matos Emergency management system
US7782838B2 (en) * 2003-06-24 2010-08-24 Hewlett-Packard Development Company, L.P. Intermediate packetizing of voice data for communication between circuit-switched network nodes
GB0315492D0 (en) * 2003-07-02 2003-08-06 Symbian Ltd A method of enabling a multitasking wireless information device to conserve battery power
US7606217B2 (en) 2003-07-02 2009-10-20 I2 Telecom International, Inc. System and method for routing telephone calls over a voice and data network
WO2005018097A2 (en) * 2003-08-18 2005-02-24 Nice Systems Ltd. Apparatus and method for audio content analysis, marking and summing
US7257214B2 (en) * 2003-08-22 2007-08-14 Hewlett-Packard Development Company, L.P. Low cost migration to a VoIP system
US7849103B2 (en) 2003-09-10 2010-12-07 West Services, Inc. Relationship collaboration system
US8520511B2 (en) * 2003-09-11 2013-08-27 Qualcomm Incorporated Automatic handling of incoming communications at a wireless device
US7460652B2 (en) * 2003-09-26 2008-12-02 At&T Intellectual Property I, L.P. VoiceXML and rule engine based switchboard for interactive voice response (IVR) services
US8094804B2 (en) 2003-09-26 2012-01-10 Avaya Inc. Method and apparatus for assessing the status of work waiting for service
US7770175B2 (en) 2003-09-26 2010-08-03 Avaya Inc. Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal
US20050071212A1 (en) * 2003-09-26 2005-03-31 Flockhart Andrew D. Method and apparatus for business time computation in a resource allocation system
US20050071208A1 (en) * 2003-09-29 2005-03-31 Danamichele Brennen Open architecture technology platform having front end administratively driven delivery management system
US7668093B1 (en) 2004-08-05 2010-02-23 Convergys Information Management Group, Inc. Architecture for balancing workload
US7447797B2 (en) * 2003-10-29 2008-11-04 International Business Machines Corporation Method and system for processing a service request associated with a particular priority level of service in a network data processing system using parallel proxies
AU2003276661A1 (en) * 2003-11-05 2005-05-26 Nice Systems Ltd. Apparatus and method for event-driven content analysis
JP4209758B2 (en) * 2003-11-20 2009-01-14 富士通株式会社 Detour communication route design method
US8155297B1 (en) * 2003-12-02 2012-04-10 Jpmorgan Chase Bank System and method for providing call-back options
US20080090546A1 (en) 2006-10-17 2008-04-17 Richard Dickinson Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging
US7356475B2 (en) * 2004-01-05 2008-04-08 Sbc Knowledge Ventures, L.P. System and method for providing access to an interactive service offering
US7848909B2 (en) * 2004-01-14 2010-12-07 Sap Aktiengesellschaft Computing prediction results during an unbroken online interactive session
DE102004002680A1 (en) * 2004-01-19 2005-08-11 Siemens Ag Adapter unit and method
US7676599B2 (en) * 2004-01-28 2010-03-09 I2 Telecom Ip Holdings, Inc. System and method of binding a client to a server
US7729490B2 (en) * 2004-02-12 2010-06-01 Avaya Inc. Post-termination contact management
US8457300B2 (en) 2004-02-12 2013-06-04 Avaya Inc. Instant message contact management in a contact center
US20050180435A1 (en) * 2004-02-17 2005-08-18 Hsu Hung H. Routing protocol device integrated with SIP call server
US7580419B2 (en) * 2004-02-17 2009-08-25 Zyxel Communications Corp Network system integrated with SIP call server and SIP agent client
US7418092B2 (en) * 2004-03-08 2008-08-26 Alto Ventures, Inc. Virtual call center
WO2005086046A1 (en) * 2004-03-10 2005-09-15 Nice Systems Ltd. Apparatus and method for generating a content-based follow up
US8804758B2 (en) 2004-03-11 2014-08-12 Hipcricket, Inc. System and method of media over an internet protocol communication
EP1733492A2 (en) * 2004-03-11 2006-12-20 i2Telecom International, Inc. DYNAMICALLY ADAPTING THE TRANSMISSION RATE OF PACKETS IN REAL-TIME VoIP COMMUNICATIONS TO THE AVAILABLE BANDWIDTH
US20070086584A1 (en) * 2004-03-19 2007-04-19 Pascal Rossini VoIP-Based Call-Center System and Method for Managing Communications in a Computer Network
US7953859B1 (en) 2004-03-31 2011-05-31 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US8078705B2 (en) * 2004-04-05 2011-12-13 Hewlett-Packard Development Company, L.P. Key-configured topology with connection management
US7995735B2 (en) * 2004-04-15 2011-08-09 Chad Vos Method and apparatus for managing customer data
US20050232408A1 (en) * 2004-04-15 2005-10-20 Hodson Jeffrey D System for contact system entities beyond end-points to track state availability and capabilites by implementing SIP presence technologies
US7519626B2 (en) * 2004-04-21 2009-04-14 Nortel Networks Limited Management of contacts in a network of contact centers
US7616742B2 (en) * 2004-05-06 2009-11-10 Intervoice, Inc. Bandwidth reduction in a VoIP network using music on hold
US7688963B1 (en) * 2004-05-21 2010-03-30 Avaya Inc Apparatus and method for processing call disconnects
US7428535B1 (en) * 2004-06-25 2008-09-23 Apple Inc. Automatic relevance filtering
US20060002403A1 (en) * 2004-06-30 2006-01-05 Glenayre Electronics, Inc. Distributed IP architecture for telecommunications system
US7701929B2 (en) 2004-06-30 2010-04-20 Movius Interactive Distributed telecommunications architecture providing redundant gateways and IP device integration
US7656861B2 (en) * 2004-07-09 2010-02-02 Cisco Technology, Inc. Method and apparatus for interleaving text and media in a real-time transport session
US8738412B2 (en) 2004-07-13 2014-05-27 Avaya Inc. Method and apparatus for supporting individualized selection rules for resource allocation
US8204884B2 (en) * 2004-07-14 2012-06-19 Nice Systems Ltd. Method, apparatus and system for capturing and analyzing interaction based content
US7936861B2 (en) * 2004-07-23 2011-05-03 At&T Intellectual Property I, L.P. Announcement system and method of use
US20060026049A1 (en) * 2004-07-28 2006-02-02 Sbc Knowledge Ventures, L.P. Method for identifying and prioritizing customer care automation
US8165281B2 (en) * 2004-07-28 2012-04-24 At&T Intellectual Property I, L.P. Method and system for mapping caller information to call center agent transactions
WO2006021943A1 (en) * 2004-08-09 2006-03-02 Nice Systems Ltd. Apparatus and method for multimedia content based
US7580837B2 (en) 2004-08-12 2009-08-25 At&T Intellectual Property I, L.P. System and method for targeted tuning module of a speech recognition system
US7782878B2 (en) * 2004-08-16 2010-08-24 I2Telecom Ip Holdings, Inc. System and method for sharing an IP address
US7602898B2 (en) * 2004-08-18 2009-10-13 At&T Intellectual Property I, L.P. System and method for providing computer assisted user support
US8724891B2 (en) * 2004-08-31 2014-05-13 Ramot At Tel-Aviv University Ltd. Apparatus and methods for the detection of abnormal motion in a video stream
US9552599B1 (en) * 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
JP2006087016A (en) * 2004-09-17 2006-03-30 Fujitsu Ltd Communication terminal, communication system and communication method
KR100602954B1 (en) * 2004-09-22 2006-07-24 주식회사 아이큐브 Media gateway
US20060062375A1 (en) * 2004-09-23 2006-03-23 Sbc Knowledge Ventures, L.P. System and method for providing product offers at a call center
US7949121B1 (en) * 2004-09-27 2011-05-24 Avaya Inc. Method and apparatus for the simultaneous delivery of multiple contacts to an agent
US8234141B1 (en) 2004-09-27 2012-07-31 Avaya Inc. Dynamic work assignment strategies based on multiple aspects of agent proficiency
US7657021B2 (en) * 2004-09-29 2010-02-02 Avaya Inc. Method and apparatus for global call queue in a global call center
US7366110B2 (en) * 2004-09-30 2008-04-29 Avaya Technology Corp. Method and apparatus for merging call components during call reconstruction
US7197130B2 (en) * 2004-10-05 2007-03-27 Sbc Knowledge Ventures, L.P. Dynamic load balancing between multiple locations with different telephony system
US7336654B2 (en) * 2004-10-20 2008-02-26 I2Telecom International, Inc. Portable VoIP service access module
US9781274B2 (en) * 2004-10-26 2017-10-03 Cisco Technology, Inc. Providing a proxy server feature at an endpoint
US7668889B2 (en) 2004-10-27 2010-02-23 At&T Intellectual Property I, Lp Method and system to combine keyword and natural language search results
US7657005B2 (en) * 2004-11-02 2010-02-02 At&T Intellectual Property I, L.P. System and method for identifying telephone callers
DE102004053928A1 (en) * 2004-11-05 2006-05-18 Tenovis Gmbh & Co. Kg Method and system control for establishing an IP telephony connection
US7590107B2 (en) * 2004-11-09 2009-09-15 Marshall Peltz TCP/IP transport interface for ISDN telephone
US7822803B2 (en) * 2004-11-12 2010-10-26 Empirix Inc. Testing using asynchronous automated virtual agent behavior
US8072909B2 (en) * 2004-11-15 2011-12-06 Applied Voice & Speech Technologies, Inc. Apparatus and method for notification of a party in a telephone conference
US7724889B2 (en) * 2004-11-29 2010-05-25 At&T Intellectual Property I, L.P. System and method for utilizing confidence levels in automated call routing
US8185590B2 (en) * 2004-12-02 2012-05-22 Microsoft Corporation System and method for replicating offline scheduling transactions from a client to a server
WO2006060744A2 (en) * 2004-12-03 2006-06-08 Convoq, Inc. System and method of initiating an on-line meeting or teleconference via a web page link or a third party application
US8107609B2 (en) 2004-12-06 2012-01-31 Callwave, Inc. Methods and systems for telephony call-back processing
US7242751B2 (en) 2004-12-06 2007-07-10 Sbc Knowledge Ventures, L.P. System and method for speech recognition-enabled automatic call routing
US7864942B2 (en) * 2004-12-06 2011-01-04 At&T Intellectual Property I, L.P. System and method for routing calls
US8494504B2 (en) * 2004-12-06 2013-07-23 Callwave Communications, Llc Methods and systems for telephony processing, including location based call transfers
US7856483B2 (en) 2004-12-10 2010-12-21 Microsoft Corporation Information management systems with time zone information, including event scheduling processes
US7406053B2 (en) * 2004-12-13 2008-07-29 Hewlett-Packard Development Company, L.P. Methods and systems for controlling the number of computations involved in computing the allocation of resources given resource constraints
US20060126808A1 (en) * 2004-12-13 2006-06-15 Sbc Knowledge Ventures, L.P. System and method for measurement of call deflection
US20060126811A1 (en) * 2004-12-13 2006-06-15 Sbc Knowledge Ventures, L.P. System and method for routing calls
US7206582B2 (en) 2004-12-27 2007-04-17 Newstep Networks Inc. Method, system and apparatus for call path reconfiguration
US8462637B1 (en) * 2005-01-04 2013-06-11 Sheridan Ross P.C. Dial plan routing for fragmented networks
US7751551B2 (en) 2005-01-10 2010-07-06 At&T Intellectual Property I, L.P. System and method for speech-enabled call routing
US7627096B2 (en) * 2005-01-14 2009-12-01 At&T Intellectual Property I, L.P. System and method for independently recognizing and selecting actions and objects in a speech recognition system
US7450698B2 (en) * 2005-01-14 2008-11-11 At&T Intellectual Property 1, L.P. System and method of utilizing a hybrid semantic model for speech recognition
CN1809059A (en) * 2005-01-21 2006-07-26 朗迅科技公司 Customer service conversation management method
JP4861713B2 (en) * 2005-02-01 2012-01-25 イーベイ コリア カンパニーリミテッド Intelligent customer service system, intelligent customer service method
US7627109B2 (en) * 2005-02-04 2009-12-01 At&T Intellectual Property I, Lp Call center system for multiple transaction selections
WO2006082591A2 (en) * 2005-02-07 2006-08-10 Nice Systems Ltd. Upgrading performance using aggregated information shared between management systems
US7688804B2 (en) * 2005-02-08 2010-03-30 Aspect Software, Inc. Method of providing fault tolerance in a SIP based contact handling environment
US20060188087A1 (en) * 2005-02-18 2006-08-24 Sbc Knowledge Ventures, Lp System and method for caller-controlled music on-hold
US8130936B2 (en) * 2005-03-03 2012-03-06 At&T Intellectual Property I, L.P. System and method for on hold caller-controlled activities and entertainment
US20070234279A1 (en) * 2005-03-03 2007-10-04 Wally Brill System and method for creating designs for over the phone voice enabled services
US8533473B2 (en) * 2005-03-04 2013-09-10 Oracle America, Inc. Method and apparatus for reducing bandwidth usage in secure transactions
US8005675B2 (en) * 2005-03-17 2011-08-23 Nice Systems, Ltd. Apparatus and method for audio analysis
US20060224710A1 (en) * 2005-03-18 2006-10-05 Price Dana L Hall monitor-method and apparatus for providing contact information and communications capability for an organization
US7933399B2 (en) * 2005-03-22 2011-04-26 At&T Intellectual Property I, L.P. System and method for utilizing virtual agents in an interactive voice response application
US8223954B2 (en) 2005-03-22 2012-07-17 At&T Intellectual Property I, L.P. System and method for automating customer relations in a communications environment
US8565721B2 (en) 2006-10-20 2013-10-22 T-Mobile Usa, Inc. System and method for rating an IP-based wireless telecommunications based on access point
US7792143B1 (en) 2005-03-25 2010-09-07 Cisco Technology, Inc. Method and apparatus for interworking dissimilar text phone protocols over a packet switched network
US10019877B2 (en) * 2005-04-03 2018-07-10 Qognify Ltd. Apparatus and methods for the semi-automatic tracking and examining of an object or an event in a monitored site
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US8565413B2 (en) * 2005-04-05 2013-10-22 Alpine Access, Inc. Softphone
US7852749B2 (en) * 2005-04-06 2010-12-14 Callwave, Inc. Methods and systems for routing telecommunications
US20060245577A1 (en) * 2005-04-27 2006-11-02 Rockwell Electronic Commerce Technologies, Llc System and method for providing agent directed automatic call backs
US8346862B2 (en) * 2005-04-28 2013-01-01 Nokia Corporation Mobile communication terminal and method
US8358774B2 (en) * 2005-05-12 2013-01-22 Aspect Software, Inc. Enterprise-wide occupancy based routing
US7636432B2 (en) * 2005-05-13 2009-12-22 At&T Intellectual Property I, L.P. System and method of determining call treatment of repeat calls
US20060265272A1 (en) * 2005-05-17 2006-11-23 Bosa Patrick A System and methods for re-evaluating historical service conditions after correcting or exempting causal events
US8885812B2 (en) * 2005-05-17 2014-11-11 Oracle International Corporation Dynamic customer satisfaction routing
US7386105B2 (en) * 2005-05-27 2008-06-10 Nice Systems Ltd Method and apparatus for fraud detection
US7657020B2 (en) 2005-06-03 2010-02-02 At&T Intellectual Property I, Lp Call routing system and method of using the same
US8005204B2 (en) * 2005-06-03 2011-08-23 At&T Intellectual Property I, L.P. Call routing system and method of using the same
US20060282530A1 (en) * 2005-06-14 2006-12-14 Klein Stephen D Methods and apparatus for end-user based service monitoring
US20070003050A1 (en) * 2005-06-15 2007-01-04 Ebling Maria R Method and system for call to role
US20070019617A1 (en) * 2005-06-30 2007-01-25 Dell Products L.P. Method, system and apparatus for maintaining ownership of service calls within an organization
US8369311B1 (en) 2005-07-01 2013-02-05 Callwave Communications, Llc Methods and systems for providing telephony services to fixed and mobile telephonic devices
US8503641B2 (en) 2005-07-01 2013-08-06 At&T Intellectual Property I, L.P. System and method of automated order status retrieval
US8855107B1 (en) 2005-07-01 2014-10-07 Callwave Communications, Llc Methods and systems for call routing via a telephone number
US8175253B2 (en) * 2005-07-07 2012-05-08 At&T Intellectual Property I, L.P. System and method for automated performance monitoring for a call servicing system
US8660573B2 (en) 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
US20070027868A1 (en) * 2005-07-28 2007-02-01 Warner Bros. Entertainment Inc. Database software program and related method for using it
CN100454849C (en) * 2005-08-05 2009-01-21 华为技术有限公司 Fault detecting method in next generation network
US8583466B2 (en) * 2005-08-09 2013-11-12 Oracle International Corporation System and method for routing workflow items based on workflow templates in a call center
US8155294B2 (en) * 2005-08-15 2012-04-10 Microsoft Corporation Associating a telephone call with a dialog based on a computer protocol such as SIP
US8526577B2 (en) * 2005-08-25 2013-09-03 At&T Intellectual Property I, L.P. System and method to access content from a speech-enabled automated system
US7933385B2 (en) 2005-08-26 2011-04-26 Telecommunication Systems, Inc. Emergency alert for voice over internet protocol (VoIP)
US8548157B2 (en) 2005-08-29 2013-10-01 At&T Intellectual Property I, L.P. System and method of managing incoming telephone calls at a call center
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7907551B2 (en) * 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8467320B2 (en) 2005-10-06 2013-06-18 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) multi-user conferencing
US8145190B2 (en) * 2005-10-12 2012-03-27 T-Mobile Usa, Inc. System and method for billing IP-based wireless telecommunications in a converged network
DE602005021113D1 (en) * 2005-10-17 2010-06-17 Hewlett Packard Development Co Communication system and method
US20070091870A1 (en) * 2005-10-20 2007-04-26 Samsung Electronics Co., Ltd. Method and system for releasing a TIF session for a SIP agent when a call process interface handler is interrupted
CN101627591A (en) * 2005-10-24 2010-01-13 格莱珀技术集团公司 System and method for facilitating VOIP communications
US7818662B2 (en) * 2005-11-04 2010-10-19 Microsoft Corporation Integrating line-of-business application data with documents
WO2007061790A2 (en) * 2005-11-18 2007-05-31 Telecommunication Systems, Inc. Voice over internet protocol (voip) mobility detection
US8027457B1 (en) * 2005-12-01 2011-09-27 Cordell Coy Process for automated deployment of natural language
US20070266162A1 (en) * 2005-12-07 2007-11-15 Microsoft Corporation Session initiation protocol redirection for process recycling
US20070140225A1 (en) * 2005-12-21 2007-06-21 Sooner Enhancing Cellular Telephone Capabilities Using a Multi-Channel Network
WO2007086042A2 (en) * 2006-01-25 2007-08-02 Nice Systems Ltd. Method and apparatus for segmentation of audio interactions
GB2434712A (en) * 2006-01-30 2007-08-01 Hewlett Packard Development Co Barring calls from a first network to a second network
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US9129290B2 (en) * 2006-02-22 2015-09-08 24/7 Customer, Inc. Apparatus and method for predicting customer behavior
US8396741B2 (en) 2006-02-22 2013-03-12 24/7 Customer, Inc. Mining interactions to manage customer experience throughout a customer service lifecycle
US7761321B2 (en) * 2006-02-22 2010-07-20 24/7 Customer, Inc. System and method for customer requests and contact management
US7996251B2 (en) * 2006-02-22 2011-08-09 24/7 Customer, Inc. System and method for customer requests and contact management
US8165572B1 (en) 2006-02-22 2012-04-24 Callwave, Inc. Methods and systems for call processing in a wireline and wireless network
US8059789B2 (en) 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US8494152B1 (en) 2006-02-28 2013-07-23 Allstate Insurance Company Systems and methods for automated call-handling and processing
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US9967129B1 (en) * 2006-03-09 2018-05-08 Cisco Technology, Inc. System and method for communicating call information in a sessions initiation protocol (SIP) environment
US8699384B2 (en) * 2006-03-15 2014-04-15 American Teleconferencing Services, Ltd. VOIP conferencing
US8300798B1 (en) 2006-04-03 2012-10-30 Wai Wu Intelligent communication routing system and method
US8055444B2 (en) * 2006-04-04 2011-11-08 Yahoo! Inc. Content display and navigation interface
US8270582B1 (en) 2006-04-05 2012-09-18 Callwave, Inc. Methods and systems for routing calls
US7747568B2 (en) 2006-04-07 2010-06-29 Microsoft Corporation Integrated user interface
US8156493B2 (en) * 2006-04-12 2012-04-10 The Mathworks, Inc. Exception handling in a concurrent computing process
US20070263837A1 (en) * 2006-04-21 2007-11-15 Bellsouth Intellectual Property Corporation Methods and systems for setting up a call center
US8725518B2 (en) 2006-04-25 2014-05-13 Nice Systems Ltd. Automatic speech analysis
US8532266B2 (en) 2006-05-04 2013-09-10 Telecommunication Systems, Inc. Efficient usage of emergency services keys
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
US8135125B2 (en) * 2006-05-10 2012-03-13 Microsoft Corporation Multi-party information analysis in a VoIP system
US8050255B2 (en) * 2006-05-10 2011-11-01 Microsoft Corporation Routing a VoIP call with contextual information
WO2007135656A1 (en) 2006-05-18 2007-11-29 Nice Systems Ltd. Method and apparatus for combining traffic analysis and monitoring center in lawful interception
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US7983247B2 (en) * 2006-05-31 2011-07-19 Microsoft Corporation Metadata collection
US8804694B2 (en) * 2006-06-08 2014-08-12 At&T Intellectual Property Ii, L.P. Method and apparatus for invoking multimodal interaction in a VOIP call
US8582750B2 (en) * 2006-07-31 2013-11-12 Cisco Technology, Inc. Connection recovery in a call center
US20080063178A1 (en) * 2006-08-16 2008-03-13 Sbc Knowledge Ventures, L.P. Agent call flow monitoring and evaluation
US9025587B2 (en) * 2006-08-16 2015-05-05 Microsoft Technology Licensing Auto answer in voice over internet protocol
US8780925B2 (en) 2006-08-17 2014-07-15 Fonality, Inc. Mobile use of a PBX system
US9548883B2 (en) * 2006-08-31 2017-01-17 Microsoft Technology Licensing, Llc Support incident routing
US8577916B1 (en) 2006-09-01 2013-11-05 Avaya Inc. Search-based contact initiation method and apparatus
US8855292B1 (en) 2006-09-08 2014-10-07 Avaya Inc. Agent-enabled queue bypass to agent
US20080086542A1 (en) * 2006-10-04 2008-04-10 Title Resource Group, Llc System and method for communicating document information
US8548447B1 (en) 2006-10-06 2013-10-01 Callwave Communications, Llc Methods and systems for blocking unwanted telecommunications
US7822605B2 (en) 2006-10-19 2010-10-26 Nice Systems Ltd. Method and apparatus for large population speaker identification in telephone interactions
US8351420B2 (en) 2006-10-23 2013-01-08 T-Mobile Usa, Inc. Maintenance of subscriber history for service support applications in an IP-based telecommunications system
US7631046B2 (en) * 2006-10-26 2009-12-08 Nice Systems, Ltd. Method and apparatus for lawful interception of web based messaging communication
US8630191B2 (en) * 2006-11-01 2014-01-14 Microsoft Corporation Device selection for broadcast messages
US7966013B2 (en) 2006-11-03 2011-06-21 Telecommunication Systems, Inc. Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC)
US8223953B2 (en) * 2006-11-17 2012-07-17 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for rule-based direction of customer service calls
JP4410236B2 (en) * 2006-11-28 2010-02-03 株式会社東芝 Telephone system and call control method thereof
US9332120B1 (en) * 2006-11-30 2016-05-03 Sprint Communications Company L.P. Dialing rule determining and application in a communication system
US20080130865A1 (en) * 2006-12-01 2008-06-05 International Business Machines Corporation Call hold enhancement for improved user feedback
US20080144800A1 (en) * 2006-12-13 2008-06-19 Robert Donnelly Interactive Application Call Center Method and System
US7577246B2 (en) * 2006-12-20 2009-08-18 Nice Systems Ltd. Method and system for automatic quality evaluation
US7694313B2 (en) * 2006-12-22 2010-04-06 Palm, Inc. Terminating device and a method of operating a terminating device configured to communicate availability status directly between terminating devices
US7685608B2 (en) * 2006-12-22 2010-03-23 Palm, Inc. Data processing apparatus and a method of operating data processing apparatus for generating representations of availability status for application programs
US7715859B2 (en) * 2006-12-22 2010-05-11 Palm, Inc. Presence engine and a method of operating a presence engine for encoding or decoding availability status into a signal representative of an audio signal
US20080153427A1 (en) * 2006-12-22 2008-06-26 Palm, Inc. Data Processing Apparatus and a Method of Operating Data Processing Apparatus for Setting a State of a User Application
ES2401975T3 (en) * 2006-12-29 2013-04-25 Telecom Italia S.P.A. Conference during which the mixing is subject to temporary control by a representation device
US20080189171A1 (en) * 2007-02-01 2008-08-07 Nice Systems Ltd. Method and apparatus for call categorization
WO2008097500A1 (en) * 2007-02-06 2008-08-14 Telecommunication Systems, Inc. Voice over internet protocol (voip) location based commercial prospect conferencing
US8571853B2 (en) 2007-02-11 2013-10-29 Nice Systems Ltd. Method and system for laughter detection
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
US9055150B2 (en) * 2007-02-28 2015-06-09 International Business Machines Corporation Skills based routing in a standards based contact center using a presence server and expertise specific watchers
US8098810B2 (en) 2007-03-09 2012-01-17 Fonality, Inc. Intelligent presence management in a communication routing system
US8693659B2 (en) * 2007-03-09 2014-04-08 Fonality, Inc. System and method for centralized presence management of local and remote users
US8107613B2 (en) * 2007-03-23 2012-01-31 Avaya Inc. Context recovery for call center agents
US8233492B1 (en) * 2007-03-27 2012-07-31 Cisco Technology, Inc. Voice gateway failure decoder
US8149269B2 (en) * 2007-04-10 2012-04-03 West Corporation Emergency services call delivery from a legacy communications device to a VoIP PSAP
US8379832B1 (en) 2007-05-03 2013-02-19 Fonality, Inc. Universal queuing for inbound communications
US20080288621A1 (en) * 2007-05-18 2008-11-20 Snell Dustin M Agent workflow system and method
US10097695B2 (en) 2007-08-10 2018-10-09 Fonality, Inc. System and method for providing carrier-independent VoIP communication
US8260619B1 (en) 2008-08-22 2012-09-04 Convergys Cmg Utah, Inc. Method and system for creating natural language understanding grammars
US9626647B2 (en) * 2007-08-31 2017-04-18 Red Hat, Inc. Providing a contact service
US20090063175A1 (en) * 2007-08-31 2009-03-05 Jason Hibbets Methods and systems for providing multiple support options
US20090077243A1 (en) * 2007-09-14 2009-03-19 Dinesh Garg Conversation recovery method
US20090077077A1 (en) * 2007-09-18 2009-03-19 Gerhard Geldenbott Optimal selection of MSAG address for valid civic/postal address
US8023637B2 (en) * 2007-10-01 2011-09-20 Convergys Cmg Utah, Inc. Method and system for hierarchy based contact routing
US9083722B2 (en) * 2007-10-05 2015-07-14 Qualcomm Incorporated Session initiation protocol registration with ping
US9049051B2 (en) 2007-10-10 2015-06-02 Microsoft Technology Licensing, Llc Techniques to access messaging services for branch offices
US8504048B2 (en) 2007-12-17 2013-08-06 Geos Communications IP Holdings, Inc., a wholly owned subsidiary of Augme Technologies, Inc. Systems and methods of making a call
US10540712B2 (en) 2008-02-08 2020-01-21 The Pnc Financial Services Group, Inc. User interface with controller for selectively redistributing funds between accounts
US8576991B2 (en) 2008-03-19 2013-11-05 Telecommunication Systems, Inc. End-to-end logic tracing of complex call flows in a distributed call system
US8401938B1 (en) 2008-05-12 2013-03-19 The Pnc Financial Services Group, Inc. Transferring funds between parties' financial accounts
US8751385B1 (en) 2008-05-15 2014-06-10 The Pnc Financial Services Group, Inc. Financial email
US7903587B2 (en) 2008-05-30 2011-03-08 Telecommunication Systems, Inc. Wireless emergency services protocols translator between ansi-41 and VoIP emergency services protocols
US20090307001A1 (en) * 2008-06-10 2009-12-10 Oracle International Corporation Crm client architecture conducive to interaction with other applications executing in the same client system
EP2139215A1 (en) * 2008-06-26 2009-12-30 Alcatel Lucent Method to route, to address and to receive a communication in a contact center, caller endpoint, communication server, document server for these methods
US20100010823A1 (en) * 2008-07-14 2010-01-14 Ebay Inc. Systems and methods for network based customer service
US8068587B2 (en) * 2008-08-22 2011-11-29 Telecommunication Systems, Inc. Nationwide table routing of voice over internet protocol (VOIP) emergency calls
US10467568B1 (en) * 2008-10-20 2019-11-05 Amazon Technologies, Inc. Scalable workflow processing
US7839801B2 (en) * 2008-12-12 2010-11-23 Verizon Patent And Licensing Inc. Distributing customer location access links across network provider nodes during network planning
US7778191B2 (en) * 2008-12-12 2010-08-17 Mitel Networks Corporation System and method for fast detection of communication path failures
WO2010074740A1 (en) * 2008-12-24 2010-07-01 Telecommunication Systems, Inc. Point of interest (poi) navigation search using business hours
US8719386B2 (en) * 2009-01-08 2014-05-06 Fonality, Inc. System and method for providing configuration synchronicity
US8159935B1 (en) * 2009-01-12 2012-04-17 Shoretel, Inc. Failover system and method for IP telephony
US10891036B1 (en) 2009-01-30 2021-01-12 The Pnc Financial Services Group, Inc. User interfaces and system including same
US8965798B1 (en) 2009-01-30 2015-02-24 The Pnc Financial Services Group, Inc. Requesting reimbursement for transactions
US9443244B2 (en) * 2009-03-16 2016-09-13 Fonality, Inc. System and method for utilizing customer data in a communication system
US10318922B2 (en) 2009-03-16 2019-06-11 Fonality, Inc. System and method for automatic insertion of call intelligence in an information system
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
US9285869B2 (en) * 2009-05-05 2016-03-15 Suboti, Llc System, method and computer readable medium for invoking applications
US20100287131A1 (en) * 2009-05-11 2010-11-11 Hartford Fire Insurance Company System and method for dynamic multi-platform handler assignment
US9124431B2 (en) * 2009-05-14 2015-09-01 Microsoft Technology Licensing, Llc Evidence-based dynamic scoring to limit guesses in knowledge-based authentication
US8856879B2 (en) 2009-05-14 2014-10-07 Microsoft Corporation Social authentication for account recovery
US8964958B2 (en) * 2009-05-20 2015-02-24 Avaya Inc. Grid-based contact center
US20100324961A1 (en) * 2009-06-23 2010-12-23 Verizon Patent And Licensing Inc. Method and system of providing service assistance using a hierarchical order of communication channels
US20110044320A1 (en) * 2009-08-21 2011-02-24 Avaya Inc. Mechanism for fast evaluation of policies in work assignment
US8306839B2 (en) * 2009-08-28 2012-11-06 Accenture Global Services Limited Labor resource decision support system
US8385533B2 (en) * 2009-09-21 2013-02-26 Avaya Inc. Bidding work assignment on conference/subscribe RTP clearing house
US8898317B1 (en) * 2009-12-02 2014-11-25 Adtran, Inc. Communications system and related method of distributing media
US20110145032A1 (en) * 2009-12-14 2011-06-16 William Nathan Stearns Workforce management system for forecasting and scheduling work items that cross intervals
EP2509272B1 (en) * 2009-12-25 2018-07-18 ZTE Corporation Method and system for implementing call by media gateway
US8306212B2 (en) 2010-02-19 2012-11-06 Avaya Inc. Time-based work assignments in automated contact distribution
US9609136B1 (en) * 2010-02-23 2017-03-28 West Corporation Call steering in a call center system
US20140254790A1 (en) 2013-03-07 2014-09-11 Avaya Inc. System and method for selecting agent in a contact center for improved call routing
US8780115B1 (en) 2010-04-06 2014-07-15 The Pnc Financial Services Group, Inc. Investment management marketing tool
US8791949B1 (en) 2010-04-06 2014-07-29 The Pnc Financial Services Group, Inc. Investment management marketing tool
US20110255682A1 (en) * 2010-04-14 2011-10-20 Avaya Inc. High performance queueless contact center
US8619968B2 (en) * 2010-04-14 2013-12-31 Avaya Inc. View and metrics for a queueless contact center
US9571654B2 (en) 2010-04-14 2017-02-14 Avaya Inc. Bitmaps for next generation contact center
US8634543B2 (en) * 2010-04-14 2014-01-21 Avaya Inc. One-to-one matching in a contact center
US8670550B2 (en) * 2010-04-14 2014-03-11 Avaya Inc. Automated mechanism for populating and maintaining data structures in a queueless contact center
CA2743680C (en) 2010-06-18 2015-09-29 Indosoft Inc. Method and system for fail-safe call survival
US8417614B1 (en) 2010-07-02 2013-04-09 The Pnc Financial Services Group, Inc. Investor personality tool
US11475524B1 (en) 2010-07-02 2022-10-18 The Pnc Financial Services Group, Inc. Investor retirement lifestyle planning tool
US11475523B1 (en) 2010-07-02 2022-10-18 The Pnc Financial Services Group, Inc. Investor retirement lifestyle planning tool
US8423444B1 (en) 2010-07-02 2013-04-16 The Pnc Financial Services Group, Inc. Investor personality tool
US8644487B2 (en) 2010-07-20 2014-02-04 Avaya, Inc. Routing of contacts based on predicted escalation time
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
US8942743B2 (en) 2010-12-17 2015-01-27 Telecommunication Systems, Inc. iALERT enhanced alert manager
US20130170637A1 (en) * 2010-12-27 2013-07-04 Avaya Inc. System and method for providing personalization badges for enhanced customer service experience
US20120278513A1 (en) * 2011-02-01 2012-11-01 Michel Prevost Priority scheduling for multi-channel context aware communication technology
US20120197678A1 (en) * 2011-02-01 2012-08-02 Herbert Ristock Methods and Apparatus for Managing Interaction Processing
US20120219144A1 (en) * 2011-02-25 2012-08-30 International Business Machines Corporation Virtualizing human agents across multiple locations
US8321316B1 (en) 2011-02-28 2012-11-27 The Pnc Financial Services Group, Inc. Income analysis tools for wealth management
US8374940B1 (en) 2011-02-28 2013-02-12 The Pnc Financial Services Group, Inc. Wealth allocation analysis tools
US9665908B1 (en) 2011-02-28 2017-05-30 The Pnc Financial Services Group, Inc. Net worth analysis tools
US9852470B1 (en) 2011-02-28 2017-12-26 The Pnc Financial Services Group, Inc. Time period analysis tools for wealth management transactions
US10733570B1 (en) 2011-04-19 2020-08-04 The Pnc Financial Services Group, Inc. Facilitating employee career development
WO2012160773A1 (en) * 2011-05-24 2012-11-29 日本電気株式会社 Communication processing system, communication processing method, communication processing device and control method and control program thereof
US9031223B2 (en) 2011-05-25 2015-05-12 Echopass Corporation Systems and methods for managing multi-tenant callback services
US8843851B1 (en) * 2011-07-28 2014-09-23 Intuit Inc. Proactive chat support
US9042265B1 (en) * 2011-09-16 2015-05-26 Advanced Messaging Technologies, Inc. Workload balancing technique for a telephone communication system
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
US9313637B2 (en) 2011-12-05 2016-04-12 Telecommunication Systems, Inc. Wireless emergency caller profile data delivery over a legacy interface
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9384339B2 (en) 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
US10169812B1 (en) 2012-01-20 2019-01-01 The Pnc Financial Services Group, Inc. Providing financial account information to users
US9310888B2 (en) 2012-03-16 2016-04-12 Microsoft Technology Licensing, Llc Multimodal layout and rendering
US8688684B2 (en) 2012-04-06 2014-04-01 Avaya Inc. Qualifier set creation for work assignment engine
US20130318533A1 (en) * 2012-04-10 2013-11-28 Alexander Aghassipour Methods and systems for presenting and assigning tasks
US9338153B2 (en) 2012-04-11 2016-05-10 Telecommunication Systems, Inc. Secure distribution of non-privileged authentication credentials
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
US20140156326A1 (en) * 2012-11-30 2014-06-05 Avaya Inc. System and method for automating and improving self service experience
US9148519B1 (en) 2013-01-02 2015-09-29 8X8, Inc. Intelligent media relay selection
US9473452B1 (en) * 2013-01-02 2016-10-18 8X8, Inc. NAT traversal in VoIP communication system
US10277741B2 (en) 2013-03-15 2019-04-30 Genesys Telecommunications Laboratories, Inc. System and method for transmitting signaling and media from a hybrid contact center operations environment
US9591137B2 (en) 2013-03-15 2017-03-07 Genesys Telecommunications Laboratories, Inc. System and method for providing contact center services in a hybrid operations environment
KR101971411B1 (en) * 2013-03-15 2019-08-13 그린에덴 유.에스. 홀딩스 Ii, 엘엘씨 Hybrid cloud architecture with optimized local delivery
US9948782B2 (en) 2013-03-15 2018-04-17 Genesys Telecommunications Laboratories, Inc. Hybrid cloud architecture with optimized local delivery
US10154143B2 (en) 2013-03-15 2018-12-11 Genesys Telecommunications Laboratories, Inc. System and method for dynamically selecting a dial plan
US9559939B2 (en) * 2013-03-15 2017-01-31 Genesys Telecommunications Laboratories, Inc. System and method for handling resource failure in a hybrid contact center operations environment
US20140324995A1 (en) * 2013-04-27 2014-10-30 Xiaolong ZHANG Notifying a public user in instant messaging
US9247064B2 (en) * 2013-07-12 2016-01-26 Verizon Patent And Licensing Inc. Tiered call routing
US9723075B2 (en) * 2013-09-13 2017-08-01 Incontact, Inc. Systems and methods for data synchronization management between call centers and CRM systems
CN105793923A (en) * 2013-09-20 2016-07-20 亚马逊技术股份有限公司 Local and remote speech processing
US9912636B1 (en) 2013-11-29 2018-03-06 8X8, Inc. NAT traversal in VoIP communication system
US9374468B2 (en) * 2013-12-09 2016-06-21 Avaya Inc. Inbound contact center call disconnect buffer
US9762533B2 (en) * 2013-12-20 2017-09-12 Futurewei Technologies, Inc. Method of IMS (SIP network) webRTC optimized P2P communication
US20150347421A1 (en) * 2014-05-29 2015-12-03 Avaya Inc. Graph database for a contact center
US9954770B2 (en) 2014-10-07 2018-04-24 At&T Intellectual Property I, L.P. Rerouting tunnel traffic in communication networks
AU2015343339A1 (en) 2014-11-03 2017-06-15 Genentech, Inc. Methods and biomarkers for predicting efficacy and evaluation of an OX40 agonist treatment
US9516169B2 (en) * 2014-12-05 2016-12-06 Avaya Inc. Automatic contact center expansion and contraction
US9298355B1 (en) 2015-03-23 2016-03-29 Dropbox, Inc. Content item templates
US10084919B2 (en) * 2015-08-20 2018-09-25 Avaya Inc. System and method for agent driven system training
US11824827B1 (en) 2016-04-13 2023-11-21 8X8, Inc. Region-based network address translation
US11157843B1 (en) * 2016-05-31 2021-10-26 United Services Automobile Association (Usaa) Pull-based routing for service sessions
US10484428B2 (en) 2016-06-09 2019-11-19 LGS Innovations LLC Methods and systems for securing VPN cloud servers
US10637890B2 (en) 2016-06-09 2020-04-28 LGS Innovations LLC Methods and systems for establishment of VPN security policy by SDN application
US10165114B1 (en) * 2016-06-23 2018-12-25 8X8, Inc. Intelligent call handling and routing
US11647087B1 (en) 2016-06-23 2023-05-09 8X8, Inc. Intelligent call handling and routing
US20180007102A1 (en) * 2016-07-01 2018-01-04 At&T Intellectual Property I, Lp System and method for transition between customer care resource modes
US9871922B1 (en) 2016-07-01 2018-01-16 At&T Intellectual Property I, L.P. Customer care database creation system and method
US10200536B2 (en) 2016-07-01 2019-02-05 At&T Intellectual Property I, L.P. Omni channel customer care system and method
US9876909B1 (en) 2016-07-01 2018-01-23 At&T Intellectual Property I, L.P. System and method for analytics with automated whisper mode
US10298752B1 (en) * 2016-09-29 2019-05-21 Fuze, Inc. Unified communication system
US10776755B2 (en) 2016-12-29 2020-09-15 Dropbox, Inc. Creating projects in a content management system
US10970656B2 (en) 2016-12-29 2021-04-06 Dropbox, Inc. Automatically suggesting project affiliations
US10402786B2 (en) 2016-12-30 2019-09-03 Dropbox, Inc. Managing projects in a content management system
US10439895B2 (en) 2017-01-31 2019-10-08 Salesforce.Com, Inc. Dynamic selection of channels for incoming communication
US10499250B2 (en) 2017-06-22 2019-12-03 William Turner RF client for implementing a hyper distribution communications protocol and maintaining a decentralized, distributed database among radio nodes
US10547916B1 (en) * 2017-06-23 2020-01-28 8X8, Inc. Customization of emergency notifications for telecommunications services
US10142476B1 (en) * 2017-09-08 2018-11-27 Ujet, Inc. Call reconnection
CN107968703B (en) * 2017-11-29 2019-12-24 清华大学 Transmission processing method, device, electronic equipment and storage medium
CN108093149A (en) * 2017-12-25 2018-05-29 平安科技(深圳)有限公司 Exclusive pond distribution method, electronic device and the computer readable storage medium of attending a banquet
US11226939B2 (en) 2017-12-29 2022-01-18 Dropbox, Inc. Synchronizing changes within a collaborative content management system
US11050658B2 (en) 2018-09-14 2021-06-29 Cisco Technology, Inc. IOAM-based quality of experience propagation to endpoints and seamless switchover to alternate call path
US20200234221A1 (en) * 2019-01-23 2020-07-23 International Business Machines Corporation Implementing individual customized task priorization based on real-time context
US20210117882A1 (en) * 2019-10-16 2021-04-22 Talkdesk, Inc Systems and methods for workforce management system deployment
US10897539B1 (en) * 2019-10-31 2021-01-19 Talkdesk Inc. Method for visual-based programming of self-service workflow
US11736615B2 (en) 2020-01-16 2023-08-22 Talkdesk, Inc. Method, apparatus, and computer-readable medium for managing concurrent communications in a networked call center
US11368588B1 (en) * 2020-05-20 2022-06-21 Amazon Technologies, Inc. Dynamic communication routing at contact centers
RU2755781C1 (en) * 2020-06-04 2021-09-21 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Intelligent workstation of the operator and method for interaction thereof for interactive support of a customer service session
US11442601B2 (en) 2020-06-18 2022-09-13 T-Mobile Usa, Inc. Computer desktop that dynamically adapts to a live multi-channel audio stream, such as for use with wireless telecommunications customer service agents
US11405506B2 (en) * 2020-06-29 2022-08-02 Avaya Management L.P. Prompt feature to leave voicemail for appropriate attribute-based call back to customers
US11405356B2 (en) * 2020-08-24 2022-08-02 Cisco Technology, Inc. Resolving media deadlocks using stun
JP2023547325A (en) * 2020-09-30 2023-11-10 ジェネシス クラウド サービシーズ インコーポレイテッド Method and system for dynamic adaptive routing of deferrable work in a contact center
US11677875B2 (en) 2021-07-02 2023-06-13 Talkdesk Inc. Method and apparatus for automated quality management of communication records
US11856140B2 (en) 2022-03-07 2023-12-26 Talkdesk, Inc. Predictive communications system
US11736616B1 (en) 2022-05-27 2023-08-22 Talkdesk, Inc. Method and apparatus for automatically taking action based on the content of call center communications
US11943391B1 (en) 2022-12-13 2024-03-26 Talkdesk, Inc. Method and apparatus for routing communications within a contact center

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188761B1 (en) * 1997-10-21 2001-02-13 Mci Communications Corporation System and method for providing operator and customer services
US6219648B1 (en) * 1997-03-31 2001-04-17 Sbc Technology Resources, Inc. Apparatus and method for monitoring progress of customer generated trouble tickets
US20030018702A1 (en) * 2001-01-30 2003-01-23 Justin Broughton Digital multimedia contact center
US20030195753A1 (en) * 2002-04-10 2003-10-16 Homuth Brandon Gabriel Systems and methods for providing priority customer service

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US195753A (en) * 1877-10-02 Improvement in portable hot-air or vapor baths
US5390A (en) * 1847-12-11 Improvement in sofa-tables
US18702A (en) * 1857-11-24 Shelving fob cubing and stobing cheese
US5282243A (en) 1990-07-03 1994-01-25 At&T Bell Laboratories Recording of automatic number identification to identify lost customers
US5483582A (en) * 1991-12-12 1996-01-09 Messager Partners Applications platform for a telephone system gateway interface
US5390295A (en) 1991-12-20 1995-02-14 International Business Machines Corporation Method and apparatus for proportionally displaying windows on a computer display screen
US6173052B1 (en) * 1992-06-25 2001-01-09 Apropros Technology Blending communications in a call center
US5325423A (en) * 1992-11-13 1994-06-28 Multimedia Systems Corporation Interactive multimedia communication system
CA2095448C (en) * 1993-05-04 1998-05-05 Phillip J. Beaudet Window management system utilizing icons and miniature windows
US5459780A (en) * 1994-01-31 1995-10-17 At&T Ipm Corp. Work at home agent ACD call distribution
US5488411A (en) * 1994-03-14 1996-01-30 Multimedia Systems Corporation Interactive system for a closed cable network
US5613068A (en) * 1994-06-17 1997-03-18 International Business Machines Corporation Method for transferring data between processors on a network by establishing an address space for each processor in each other processor's
US5530744A (en) * 1994-09-20 1996-06-25 At&T Corp. Method and system for dynamic customized call routing
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
US5612730A (en) * 1995-03-03 1997-03-18 Multimedia Systems Corporation Interactive system for a closed cable network
US5619631A (en) * 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
US5835126A (en) * 1996-03-15 1998-11-10 Multimedia Systems Corporation Interactive system for a closed cable network which includes facsimiles and voice mail on a display
US6377568B1 (en) * 1996-11-20 2002-04-23 Netspeak Corporation Method and apparatus for performing call matching for internet telephones in legacy call centers
US6263066B1 (en) 1997-02-06 2001-07-17 Genesys Telecommunications Laboratories, Inc. Multimedia managing and prioritized queuing system integrated with intelligent routing capability
US6046762A (en) * 1997-04-01 2000-04-04 Cosmocom, Inc. Multimedia telecommunication automatic call distribution system
US6094479A (en) * 1997-05-06 2000-07-25 Telefonaktiebolaget Lm Ericsson Computer telephony integration gateway
US6144667A (en) * 1997-08-07 2000-11-07 At&T Corp. Network-based method and apparatus for initiating and completing a telephone call via the internet
US6678718B1 (en) * 1997-08-29 2004-01-13 Aspect Communications Corporation Method and apparatus for establishing connections
US6188673B1 (en) * 1997-09-02 2001-02-13 Avaya Technology Corp. Using web page hit statistics to anticipate call center traffic
US6301480B1 (en) * 1997-09-05 2001-10-09 @Track Communications, Inc. System and method for communicating using a voice network and a data network
CA2304214C (en) * 1997-09-16 2006-05-23 Transnexus, Llc Internet telephony call routing engine
US5903642A (en) * 1997-09-24 1999-05-11 Call-A-Guide, Inc. Method for eliminating telephone hold time
US6337858B1 (en) * 1997-10-10 2002-01-08 Nortel Networks Limited Method and apparatus for originating voice calls from a data network
US6046741A (en) 1997-11-21 2000-04-04 Hewlett-Packard Company Visual command sequence desktop agent
US6122364A (en) * 1997-12-02 2000-09-19 Nortel Networks Corporation Internet network call center
US6225998B1 (en) * 1997-12-02 2001-05-01 Aspect Communications Visual design of workflows for transaction processing
US6430174B1 (en) * 1997-12-26 2002-08-06 Nortel Networks Ltd. Communication system supporting simultaneous voice and multimedia communications and method of operation therefore
US6704409B1 (en) * 1997-12-31 2004-03-09 Aspect Communications Corporation Method and apparatus for processing real-time transactions and non-real-time transactions
US6072486A (en) * 1998-01-13 2000-06-06 Microsoft Corporation System and method for creating and customizing a deskbar
US8130749B2 (en) * 1998-02-17 2012-03-06 Genesys Telecommunications Laboratories Inc., A Corp of California Telephone network interface bridge between data telephony networks and dedicated connection telephony networks
US6330326B1 (en) * 1998-03-27 2001-12-11 At&T Corp. Dynamic staffing of service centers to provide substantially zero-delay service
US6212565B1 (en) * 1998-08-26 2001-04-03 Sun Microsystems, Inc. Apparatus and method for improving performance of proxy server arrays that use persistent connections
US6266058B1 (en) * 1998-09-08 2001-07-24 Hewlett Packard Company Apparatus and method for linking browser bars with active documents for a browser
US6141341A (en) * 1998-09-09 2000-10-31 Motorola, Inc. Voice over internet protocol telephone system and method
US6529499B1 (en) * 1998-09-22 2003-03-04 Lucent Technologies Inc. Method for providing quality of service for delay sensitive traffic over IP networks
US6704412B1 (en) * 1998-09-24 2004-03-09 Bechtel Bwxt Idaho, Llc Systems configured to distribute a telephone call, communication systems, communication methods and methods of routing a telephone call to a service representative
GB2342529B (en) * 1998-10-05 2003-06-04 Hewlett Packard Co Call Centre
US6289001B1 (en) * 1998-10-15 2001-09-11 Telcordia Technologies, Inc. System and method for ATM proxy signaling
US6400804B1 (en) * 1998-12-10 2002-06-04 At&T Corp. On-hold activity selection apparatus and method
US6665395B1 (en) * 1998-12-11 2003-12-16 Avaya Technology Corp. Automatic call distribution system using computer network-based communication
US6744761B1 (en) 1998-12-28 2004-06-01 Nortel Networks Limited Workflow manager
US6445695B1 (en) * 1998-12-31 2002-09-03 Nortel Networks Limited System and method for supporting communications services on behalf of a communications device which cannot provide those services itself
US6298383B1 (en) * 1999-01-04 2001-10-02 Cisco Technology, Inc. Integration of authentication authorization and accounting service and proxy service
JP4137264B2 (en) * 1999-01-05 2008-08-20 株式会社日立製作所 Database load balancing method and apparatus for implementing the same
JP3689580B2 (en) * 1999-01-29 2005-08-31 株式会社日立製作所 Internet telephone connection method, bandwidth management device, and gatekeeper device
US6674713B1 (en) * 1999-02-23 2004-01-06 Cisco Technology, Inc. Method and apparatus for providing continuous voice and call communications between a data network and a telephony network
US6584191B1 (en) * 1999-08-27 2003-06-24 Aspect Communications Corporation Staffing-based percentage-allocation routing using real-time data
GB9905509D0 (en) * 1999-03-10 1999-05-05 Northern Telecom Ltd Label switched media gateway and network
US6590596B1 (en) * 1999-05-21 2003-07-08 Gateway, Inc. Right click for task bar content
US6574218B1 (en) * 1999-05-25 2003-06-03 3Com Corporation Method and system for spatially disjoint joint source and channel coding for high-quality real-time multimedia streaming over connection-less networks via circuit-switched interface links
US6404746B1 (en) * 1999-07-13 2002-06-11 Intervoice Limited Partnership System and method for packet network media redirection
US6615235B1 (en) * 1999-07-22 2003-09-02 International Business Machines Corporation Method and apparatus for cache coordination for multiple address spaces
US6611590B1 (en) * 1999-07-30 2003-08-26 Avaya Technology Corp. Enterprise-wide intelligent call center routing
US6542475B1 (en) * 1999-08-09 2003-04-01 At&T Corp. Method and system for providing enhanced call service features at remote locations
US6639982B1 (en) * 1999-08-12 2003-10-28 Six Sigma, Inc. Method and apparatus for agent forcing and call distribution for large team call servicing
US6493695B1 (en) * 1999-09-29 2002-12-10 Oracle Corporation Methods and systems for homogeneously routing and/or queueing call center customer interactions across media types
US6366577B1 (en) * 1999-11-05 2002-04-02 Mci Worldcom, Inc. Method for providing IP telephony with QoS using end-to-end RSVP signaling
US6434143B1 (en) * 1999-11-08 2002-08-13 Mci Worldcom, Inc. Internet protocol telephony voice/video message deposit and retrieval
WO2001035601A1 (en) * 1999-11-10 2001-05-17 Rainfinity, Inc. Distributed traffic controlling system and method for network data
US6687251B1 (en) 1999-12-08 2004-02-03 Nortel Networks Limited Method and apparatus for distributed MTP Level 2 architecture
US6771765B1 (en) * 1999-12-29 2004-08-03 Nortel Networks Limited Multimedia queuing in a customer contact or call center
US6633635B2 (en) * 1999-12-30 2003-10-14 At&T Corp. Multiple call waiting in a packetized communication system
US6678265B1 (en) * 1999-12-30 2004-01-13 At&T Corp. Local number portability database for on-net IP call
US6741698B1 (en) * 2000-01-27 2004-05-25 Avaya Technology Corp. Call management system using dynamic threshold adjustment
US6724884B2 (en) * 2000-01-27 2004-04-20 Avaya Technology Corp. Call management system using fast response dynamic threshold adjustment
US6421674B1 (en) * 2000-02-15 2002-07-16 Nortel Networks Limited Methods and systems for implementing a real-time, distributed, hierarchical database using a proxiable protocol
JP3691718B2 (en) * 2000-03-22 2005-09-07 ジヤトコ株式会社 Hybrid vehicle transmission unit
US6577726B1 (en) * 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US7225139B1 (en) * 2000-06-27 2007-05-29 Bellsouth Intellectual Property Corp Trouble tracking system and method
US6781959B1 (en) * 2000-07-31 2004-08-24 Cisco Technology, Inc. Method and apparatus for determining troubleshooting information for completed calls in a telecommunications network
US6697858B1 (en) * 2000-08-14 2004-02-24 Telephony@Work Call center
US6766377B1 (en) * 2000-08-24 2004-07-20 3Com Corporation Media gateway proxy
US6456711B1 (en) * 2000-12-12 2002-09-24 At&T Corp. Method for placing a call intended for an enhanced network user on hold while the enhanced network user is unavailable to take the call using a distributed feature architecture
EP1360826A2 (en) * 2000-12-27 2003-11-12 Citel Technologies Ltd. Gateway for using non-ip digital pbx telephone handsets with an ip call controller
US7568001B2 (en) * 2001-01-30 2009-07-28 Intervoice, Inc. Escalated handling of non-realtime communications
US6868059B1 (en) * 2001-04-24 2005-03-15 Cisco Technology, Inc. Clusters of devices, softwares and methods for improved handling of a gatekeeper load in VoIP communication
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
US6823382B2 (en) * 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US7082122B2 (en) * 2001-12-24 2006-07-25 Innomedia Pte Ltd. Method and system for connecting to a proxy server with the lowest workload through a load balancing proxy server
US7065043B2 (en) * 2001-12-24 2006-06-20 Innomedia Pte Ltd. Method and system for connecting to a proxy server with the lowest workload through querying a load monitor
US7050424B2 (en) * 2001-12-31 2006-05-23 Innomedia Pte Ltd. Method and system for automatic proxy server workload shifting for load balancing
US7085263B1 (en) * 2002-01-03 2006-08-01 Cisco Technology, Inc. Network telephony devices, softwares and methods for discontinuing transmitting music-on-hold
JP2003264646A (en) * 2002-03-08 2003-09-19 Sharp Corp Communication system and communication control unit
US7167899B2 (en) * 2002-03-26 2007-01-23 Matsushita Electric Industrial Co., Ltd. Web-content aware automatic call transfer system and process for mobile users and operators
AU2003263957A1 (en) 2002-08-16 2004-03-03 Nuasis Corporation Contact center architecture
US6937715B2 (en) * 2002-09-26 2005-08-30 Nortel Networks Limited Contact center management
US8140698B2 (en) * 2003-04-30 2012-03-20 International Business Machines Corporation Method and system for efficient data transmission in interactive networked environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219648B1 (en) * 1997-03-31 2001-04-17 Sbc Technology Resources, Inc. Apparatus and method for monitoring progress of customer generated trouble tickets
US6188761B1 (en) * 1997-10-21 2001-02-13 Mci Communications Corporation System and method for providing operator and customer services
US20030018702A1 (en) * 2001-01-30 2003-01-23 Justin Broughton Digital multimedia contact center
US20030195753A1 (en) * 2002-04-10 2003-10-16 Homuth Brandon Gabriel Systems and methods for providing priority customer service

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007300642A (en) * 2006-05-01 2007-11-15 Agere Systems Inc High-throughput scheduler with guaranteed fairness for wireless network and other application
EP2517450A2 (en) * 2009-12-23 2012-10-31 24/7 Customer, Inc. Method and apparatus for optimizing customer service across multiple channels
EP2517450A4 (en) * 2009-12-23 2013-04-10 24 7 Customer Inc Method and apparatus for optimizing customer service across multiple channels
US8565411B2 (en) 2009-12-23 2013-10-22 24/7 Customer, Inc. Method and apparatus for optimizing customer service across multiple channels
US10200420B2 (en) 2009-12-23 2019-02-05 [24]7.ai, Inc. Method and apparatus for optimizing customer service across multiple channels
EP3477928A1 (en) * 2009-12-23 2019-05-01 24/7 Customer, Inc. Method and apparatus for optimizing customer service across multiple channels
US11790411B1 (en) 2019-11-29 2023-10-17 Wells Fargo Bank, N.A. Complaint classification in customer communications using machine learning models
US11645449B1 (en) 2020-12-04 2023-05-09 Wells Fargo Bank, N.A. Computing system for data annotation

Also Published As

Publication number Publication date
AU2003273225A8 (en) 2004-03-03
AU2003257054A1 (en) 2004-03-03
AU2003272210A8 (en) 2004-03-03
WO2004017260A3 (en) 2004-06-17
WO2004017584A1 (en) 2004-02-26
WO2004017584B1 (en) 2004-05-06
US20040141508A1 (en) 2004-07-22
US7012888B2 (en) 2006-03-14
WO2004017550A3 (en) 2004-06-10
AU2003273225A1 (en) 2004-03-03
WO2004017161A2 (en) 2004-02-26
EP1546841A2 (en) 2005-06-29
US7664014B2 (en) 2010-02-16
US20040032862A1 (en) 2004-02-19
AU2003257054A8 (en) 2004-03-03
AU2003263957A1 (en) 2004-03-03
WO2004017260A2 (en) 2004-02-26
EP1546841A4 (en) 2006-03-01
US7382773B2 (en) 2008-06-03
AU2003272210A1 (en) 2004-03-03
WO2004017161A3 (en) 2004-05-06
EP1527581A1 (en) 2005-05-04
US20060109783A1 (en) 2006-05-25

Similar Documents

Publication Publication Date Title
US7568001B2 (en) Escalated handling of non-realtime communications
CA2434922C (en) Digital multimedia contact center
WO2004017550A2 (en) Escalated handling of non-realtime communications
AU2002235455A1 (en) Digital multimedia contact center
US7995740B2 (en) Automatic call distribution system using computer network-based communication
USRE46625E1 (en) Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives
EP1514400B1 (en) Customer communication service system
US7046789B1 (en) TracM-task and resource automation for call center management
US6978247B1 (en) Multimedia customer care center having a layered control architecture
US20070201674A1 (en) System and method for maintaining real-time agent information for multi-channel communication queuing
US20070204273A1 (en) Context-sensitive user interface
US20050271195A1 (en) Universal state-aware communications
US20090252320A1 (en) System and Method for Multi-Channel Communication Queuing
US10572879B1 (en) Agent driven media-agnostic work item grouping and sharing over a consult medium
US20130124246A1 (en) Category based organization and monitoring of customer service help sessions

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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 EC 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 NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

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 BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK 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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
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