A method and apparatus for controlling administration of automatic call distributor (acd) queues of an acd or network of acds by a caller, and of communicating data to an acd agent. The caller receives information concerning the status of queues in one or a plurality of acds. If the caller wishes to communicate with a particular agent, wait time for that agent is provided to the caller. The caller can select a particular agent, and will be connected when that agent becomes available subject to other restrictions of the acd queue. The caller can prepare information for transmission to an answering agent while the caller waits. Advantageously, the caller can control which agent or which sub-group of Agents should respond to his/her call, taking into account the different waiting times associated with a particular agent or the first available agent when the caller reaches the top of the queue.
|
1. A method of establishing a telephone call from a caller station to an automatic call distributor (acd) agent position, comprising the steps of:
establishing a data connection between a caller terminal and a user controller of the acd; accessing queuing data of said acd over said data connection; a user at said caller station, responsive to receipt of said queuing data, transmitting commands from said caller terminal; combining said commands with said queuing data to select an agent position; and establishing a connection between said caller telephone and an agent position; said agent position selected in conformance with said commands and the queuing data.
11. Apparatus for establishing a telephone call from a caller station to an automatic call distributor (acd) agent position, comprising:
means for establishing a data connection between a caller terminal and a user controller of the acd; means for accessing queuing data of said acd over said data connection; means, responsive to input from a user at said caller station in response to receipt of said queuing data for transmitting commands from said caller terminal; means for combining said commands with said queuing data to select an agent position; and means for establishing a connection between said caller telephone and an agent position; said agent position selected in conformance with said commands and the queuing data.
2. The method of
said user controller providing wait time information to said caller terminal; and wherein a caller at said caller terminal, responsive to said wait time information, provides additional commands to said user controller.
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
12. The apparatus of
said user responsive to said wait time information for causing said means for transmitting to transmit additional commands to said user controller.
13. The apparatus of
wherein said user controller combines said user profile information with said commands and said queuing data for selecting said agent position.
14. The apparatus of
information for selecting a preferred agent; and wherein said user controller selects said preferred agent if said preferred agent is available.
15. The apparatus of
a plurality of queue entries, wherein ones of said queue entries identify a caller and provide additional data; said additional data for selecting a connection to specific ones of said agent positions.
16. The apparatus of
17. The apparatus of
18. The apparatus of
19. The apparatus of
a plurality of queues; and wherein a queue for this call is selected based in part, on user provider commands.
20. The apparatus of
a plurality of queues; and wherein a queue for this call is selected based in part, on user profile data.
|
This Application is relate to Applications entitled, "End User Automatic Call Distributor Network Control", Ser. No. 09/886,804, and "Communication of User Data to an Automatic Call Distributor Agent", Ser No. 09/886,790, by the inventors of this Anplication, and "Enhanced Agent Automatic Call Distributor Control", Ser. No. 09/886,877, by D. B. Smith and M. R. Smith, filed concurrently with this Application on Jun. 21, 2001 and assigned to the same Assignee as this Application.
This invention relates to the control of an Automatic Call Distributor (ACD) by a caller using control messages sent over the Internet.
An Automatic Call Distributor (ACD), is an arrangement for connecting a caller to one of a plurality of Agents served by that ACD. Many highly flexible arrangements for Automatic Call Distributors exist in the prior art. One highly flexible scheme is described in Gechter et al: U.S. Pat. No. 5,036,535, which discloses arrangements for routing an incoming call to the most appropriate Agent that is available. The selection of that Agent is carried out by an overall control system which is aware of the current status of all Agents, and of a user profile of callers. This system is also arranged as are many other ACDs, to accept input from callers, usually in the form of Dual-Tone Multi-Frequency (DTMF) signals, keyed in response to announcement queries from the ACD. A problem of the prior art is, that this type of control of the ACD gives very little opportunity for callers to interact with the ACD, and to select an optimum queue path for finding an appropriate Agent to serve their call, since, in the prior art, the selection process is handled almost entirely by the control of the ACD in a single tree-type selection process. Further, in the prior art, ACDs are viewed as stand-alone systems, not as part of an ACD network. Further, communication of data to an ACD Agent is inefficient and time-consuming, and may require the caller to hang up and restart the process.
The above problems are substantially alleviated and an advance is made over the teachings of the prior art in accordance with this invention, wherein an ACD is supplied with a User Controller such as a Personal Computer (PC), which interacts with a caller to provide information to the caller and to receive call direction information from the caller, and interacts with the Call Controller means of the ACD for establishing connections between the caller and a selected Agent, or between the caller and another ACD of an ACD network for completion by that other ACD. Advantageously, this allows the caller to control the selection of an appropriate Agent. In one preferred embodiment of the invention, a connection is established between the caller's PC or data terminal and the PC User Controller of the ACD. The PC User Controller has access to the queues in the ACD in order to estimate the time required to reach a particular Agent, a particular sub-group of Agents, or any of the group of Agents handling the type of request that the user is making. The actual physical connection is between a user station and an Agent position. An Agent position is the means to permit an Agent to send and receive control signals to and from the ACD, and to provide a voice connection for the Agent.
For an ACD Network, one ACD is usually required to act as a Control ACD. This Control ACD controls hand-offs among ACDs, and monitors communications among the ACDs.
In accordance with one feature of Applicants' preferred embodiment, many, if not most of the customer stations equipped to communicate with the Controllers of the ACD, are combined stations which communicate data for accessing queues and information storage of the ACD, and which also use the Internet querying connection for a talking connection to the Agent. Advantageously, the Internet can be used for both purposes.
When a caller wishes to make a call to some appropriate Agent position of the ACD, the caller establishes an Internet connection from the caller's PC (32) to a PC User Controller (2) of the ACD, or an ACD server in the case where multiple ACDs are interconnected. The PC User Controller has access to the information in the queues (5), . . . , (6), of the ACD, and has a connection to a Call Controller (3), which controls the establishment of connections within the ACD from inputs from the PSTN (21) via the Network (4), to a selected Agent position among Agent positions (35), . . . , (36). The Call Controller controls the ACD Agent position. The PC User Controller has access to user profile information in User Profile Data Block (7). This user profile information may contain information about the types of Agents that such a user would normally request, or might have indications, for example, that this user should be served from a VIP Queue. The PC User Controller has access to the queues (5), . . . , (6) of the ACD. For example, Queue 5, might be a VIP Queue, which is examined first before other queues. Alternatively, the queues can be used for functionally different purposes, such as Orders and Customer Service. A typical entry in a queue is Entry (10) in Queue (5), which includes information (11) for identifying the caller, and Data (12), describing the caller. This data can indicate, for example, that the caller wishes to be connected only to a particular Agent, or only to a particular sub-group of Agents. The data is used in examining entries in the queue to see if the caller identified in the queue can be connected to the Agent position which has most recently become available. In addition, the data can include a Pointer to a block of memory such as Call Data (13), which includes data supplied by the caller to describe the reasons for the call.
Many, if not most, of the callers will make use of the facility for inquiring about the status of the queues in the ACD, will have a Combined Caller Station (33). Such a Combined Caller Station can be used both for the data queries and data entry performed by Caller's PC (32), and the voice facilities of Caller Telephone (31). If a Combined Caller Station (33) is used, then the voice communication from the caller is transmitted via the Internet (20) without using the Public Switched Telephone Network (PSTN) (21).
Also, shown on
Also, shown on
The Agent can send an authorization code to the caller, and ask for the code to be returned with the caller's datagram.
If the ACD is in another network, (e.g., a separate company), the billing authorization would start over. The Caller would see billing information displays showing cumulative changes.
Also, shown on
If a conference connection is to be established between the original caller and the original Agent and the added Agent, then a connection to PSTN (21) is made from both of the ACDs since, at this time, no Internet conference circuits exist. Conference Circuit (37) is accessed via the PSTN (21).
The display for the caller web browser of an Agent icon can indicate multiple Agents supporting a single function, (e.g., "Sales Support"), or can display information for a specific Agent.
If an Agent of ACD (50) is added to the call, or if the call is transferred to such an Agent, then the Call Data, such as Call Data (13), entered by the caller, as well as User Data (12) entered from records from within ACD (1), is sent to the added or transferred-to Agent position. In transmitting this information between the ACDs, care is taken to make sure that private information, or information which, for other reasons, is not to be transmitted to ACD (50), is blocked. The program of the PC User Controller (2) which controls the transfer of such information, contains facilities for performing this filtering.
In order to preserve the privacy of the user (caller), and the ACD Agent, the server can keep the IP addresses of these two parties invisible one to another using techniques well known to Internet practitioners.
While
While
An ACD Group, such as ACDs (1), . . . , (102) can serve internal users, external users, or both. For example, the ACD Agents can be "Help" Agents of a software house, providing assistance to internal users (software developers), and external users, (customers). Accounting and billing information is collected for both internal and external users. Authentication of users is required if confidential files are to be transmitted and/or only selected, (i.e., paying), customers are to be served. Authentication techniques are well known in the prior art. Service parameters such as features, billing contract rates, and customer priority, are linked to customer verification and service profiles.
Adjustments in estimated wait time are made if the caller has selected more than one queue for service. Simple methods include not counting the caller in the selected queue with the longest wait time, or in any but the shortest wait time queue. When the caller hangs up prior to being served, the queue with the shortest time would be updated to remove the caller from the calculation of expected wait time.
The system periodically updates the queue displays to adjust the new wait time estimated at the ACD. Test (321) determines whether the caller has made a request for an alternative queue. If so, then the wait time for the alternative queue is estimated, Action Block (323), and reported to the caller. If the caller wishes, the caller can then be queued in the alternate queue, and the position in the original queue can either be maintained, or canceled. Following a negative result of Action Block (321), or following Action Block (325) or (327), a dialogue for added information is performed between the caller and the PC User Controller, Action Block (331). This is to save time when the Agent becomes available. This dialogue may indicate such items as the detailed reason for the call, and/or a history of previous calls on the same matter. It could also include responses to requests from the ACD for marketing or other data. Further, while in a specific queue, the caller can be asked to respond to directed questions, to gather important information to assist in serving the caller. Alternatively, or additionally, the user can use this opportunity to review and update information about the user, such as that maintained in the user profile. If desired, the dialog can be interrupted when the Agent answers, and can be resumed later.
The ACD can serve a business of the type which operates more efficiently if caller's send preliminary messages to the ACD. In this case, prior to making an attempt to connect the caller to an Agent, the ACD sends a message, possibly including a menu or a template to be filled out by the caller, so that the caller can supply data for the call to the ACD.
If a particular desired Agent is not available, the ACD server can be arranged to automatically page that Agent, or to attempt to reach the Agent at a cellular telephone number if the Agent is active in the system. Test (332) is used to determine whether the user wishes to be disconnected and called back when an appropriate Agent becomes available. The user can indicate this preference by means of a message or a keyed response to an announcement.
If the user wishes to stay on the line, then, subsequently, when an Agent becomes available, Action Block (333), the call is completed, Action Block (335), and user profile information and data added as a result of the dialogue, is presented to the Agent at the Agent position. When the Agent becomes available, the user can be notified on his/her screen and can then request the connection, or the voice connection can be automatically established. If the user wishes to be called back when an appropriate Agent becomes available, then the queue entry for the user is suitably marked to request the call-back, Action Block (337). The user is then disconnected, Action Block (339). Subsequently, when the queue entry for the user becomes active, Action Block (341), the user is called back Action Block (343). Test (345) is used to determine whether the user answers (within a reasonable period of time). If the user answers, the call is completed, Action Block (335), previously described. To make sure that the call-back reaches only the correct party of a residence serving several parties, the call-back can have a distinctive ring, a special message, or a unique called identification telephone number. If the user does not answer, the call is disconnected and cleared from the ACD, Action Block (345), or placed on a future call-back list.
Historical data concerning a user can be stored in the ACD and called up to the Agent when a connection is established.
While the caller is waiting for the ACD Agent to become available, the caller can send facsimile documents or E-Mail to his/her server so that these documents can be transmitted to the Agent when the Agent becomes available.
If an Agent is temporarily unavailable, but has indicated availability by a certain time, and if the user has requested this particular Agent, the user can be notified and, if the user is willing to wait, can have the call placed as an appropriate delayed queue entry. For this case, the call-back procedure is likely to be the most satisfactory. Similarly, when an Agent logs onto the system, the system can check whether that Agent had been requested and queue entries for that Agent, which might have been diverted to other queues, can be adjusted to request that Agent. Further, the Agent can review a log file to find out who requested service from that Agent, but was served by another Agent.
For the case of an Agent logging onto the system, the same basic steps are followed as for an Agent becoming available. In addition, for the case of a user who had requested that Agent, but had been placed on a different queue because that Agent was not available, that user can then be placed on a queue for that preferred Agent.
ACDs register with a Server when they are turned on, or when they are opened, (for example, in the morning or following a weekend). The registering ACD presents to the Server, a list of queues with type, authority, and restriction information. The individual ACDs continually update the Server with changes in their queue information so that the Server can allocate calls based on up-to-date information.
The great flexibility of data interconnections in an Internet can be further used to advantage in accordance with the principles of this invention. The basic requirements are that a user can get access to queue data and Agent data of the ACDs which the user is accessing. Within limits, the user can also affect the selection of an Agent by indicating a willingness to wait until that Agent is available, and, if necessary, waiting without jumping ahead of other users. For priority services, such as emergency services, the user can jump ahead of other callers, and, in some cases, interrupt other calls, possibly using a call waiting type of interruption.
The user, therefore, can select Agents in ACDs belonging to two or more organizations. For example, if the initiator of the call is trying to solve a customer problem, the initiator may wish to confer with Service Technicians of several vendors supplying key parts to the equipment that appears to be in trouble. The caller can queue up on several ACDs, and be notified when a call can be established. At that time, the caller can request the establishment of the connection to the selected Agent, (or any Agent of the ACD if no specific selection has been made), and can request that the connection be established. The ACD must be adapted to wait a reasonable time for the establishment of a call under the circumstances that the queue entry is one associated with an Internet request.
Not all of this may be displayable on a single screen, so the term "screen" as used herein includes a group of connected screenings which can be accessed, (for example, by simply lowering down on the data file representing the screen). After the user has selected one or more ACDs, such as ACD (503) and (509), and has requested data from these ACDs, the user screen will display an Agent identification profile and expected waiting time for each of the Agents currently logged on for an ACD. For example, for ACD (503), a series of individual Agent identification profiles and times for the Agents of ACD (503) are represented by Blocks (523), . . . , (525). Similarly, if the user has requested this kind of information for ACD (509), which as previously indicated is an ACD of Company "B", different from Company "A", then the user screen will contain Agent identification profiles and times for the Agents, (527), . . . , (529) of the Agents of ACD (509). While waiting for an Agent to become available, the user can fill the user screen (551) with process data (553) concerning the transaction for which an Agent has been called. When an Agent becomes available, and the user signals via the Internet that a connection to that Agent should be established, and when that connection is established, the contents of the process data Block (553) are transmitted to the connected Agent. This caller information can be linked to a specific Agent, a sub-group of Agents, or to all Agents associated with a call. The caller can limit which Agent receives what information.
While in the queue, the caller can leave a recorded message for a specific Agent or for a general service Agent, and can then disconnect. The ACD has a Message Recorder (14) (FIG. 1), for recording such messages. The recorded message would maintain the same position in the queue as that of the caller. When that queue entry is served, the Agent hears the recorded message, and can either call the caller back or act upon the recorded message to meet the caller's needs.
This arrangement can also be used for establishing a conference connection in case, for example, it is necessary for an Agent from Company "A" and an Agent from Company "B" to talk, in order to further identify the source of the problem. The user requests the establishment of the conference connection when the user is informed that the second Agent has become available.
In this arrangement, the data connections among the ACD Controllers, the ACD Agents, and the user are maintained and used as required during the call. Actual voice connections are only established at the request of the user when such voice connections, for example, between a user and an Agent, are required.
The various ACDs of any one company can be scattered geographically, and the ACDs of different companies can be scattered or concentrated, but need not be at the same locations as the ACDs of a first company.
Alternatively, the Agent may decide that a particular call is actually in a non-optimum queue, and may re-direct the call from the original queue to the optimum queue with permission from the caller, based on the caller's user profile or other caller data. In doing so, the Agent would normally insert the call into the optimum queue at a position dictated by the time of arrival of the call, and the caller is so notified. Additionally, an Agent can send a message to a waiting caller without being connected to that caller, in order to serve that caller better when the Agent is actually connected, or, for example, by asking the caller to obtain information or measurements that will be required to handle the call, or that may, in fact, be the answer that the caller is waiting for, which the Agent can deduce from the content of the message sent by the caller. Note that the billing rate for a data response may be different than the billing rate for a voice response.
Additionally, an Agent may recognize the need for consultation with another Agent, possibly in an ACD of another company, based on the message provided by the customer. Appropriate billing information for such cases can be sent from the other Agents to the original ACD for serving that call, and can be accumulated in the billing data file (9) of the original ACD. The system can bill for the time connected to an Agent and/or the service rendered, and/or the products ordered.
Details of billing options and the amounts for the bills can be transmitted to the caller as a data message prior to establishing the voice connection to an Agent.
Information from the billing file can be displayed periodically to the caller so that the caller has an indication of the size of the bill being accumulated.
If it is necessary to pass a credit or debit card number from one ACD to another, for example, in the case where the second ACD belongs to a company which prefers to send out its own bills rather than having customers billed by an initial contact that is not an Agent of their company, the credit or debit card identification can be sent from between ACDs using appropriate agreed upon permission and security arrangements.
The above description is of one preferred embodiment of Applicants' invention. Other embodiments will be apparent to those of ordinary skill in the art. The invention is only limited by the attached Claims.
Smith, David B., Johnson, John Andrew, Kampmeier, Eric Edward, Smith, Matthew Richard, Krause, Steven Robert
Patent | Priority | Assignee | Title |
10110744, | Dec 28 2010 | Amazon Technologies, Inc. | Followup of customer service agents |
10348903, | Nov 13 2007 | Amazon Technologies, Inc. | System and method for automated call distribution |
10445744, | Aug 25 2009 | Amazon Technologies, Inc. | Systems and methods for customer contact |
10489397, | Dec 16 2005 | AT&T Intellectual Property I, L.P. | Methods, systems, and products for searching interactive menu prompting systems |
7492888, | Sep 24 2002 | Wilmington Trust, National Association, as Administrative Agent | Method and apparatus for assigning priorities by applying dynamically-changeable business rules |
7577664, | Dec 16 2005 | AT&T Intellectual Property I, L.P. | Methods, systems, and products for searching interactive menu prompting system architectures |
7606360, | May 31 2006 | Cisco Technology, Inc. | Automated system and method for handling human and caller queues |
7702094, | Nov 30 2004 | ALVARIA CAYMAN CX | Method of storing information within an ACD |
7773731, | Dec 14 2005 | Microsoft Technology Licensing, LLC | Methods, systems, and products for dynamically-changing IVR architectures |
7961856, | Mar 17 2006 | AT&T Intellectual Property I, L. P. | Methods, systems, and products for processing responses in prompting systems |
8050392, | Mar 17 2006 | AT&T Intellectual Property I, L.P. | Methods systems, and products for processing responses in prompting systems |
8396195, | Dec 14 2005 | Microsoft Technology Licensing, LLC | Methods, systems, and products for dynamically-changing IVR architectures |
8687785, | Nov 16 2006 | Cisco Technology, Inc; Cisco Technology, Inc. | Authorization to place calls by remote users |
8713013, | Dec 16 2005 | AT&T Intellectual Property I, L.P. | Methods, systems, and products for searching interactive menu prompting systems |
8848898, | Nov 13 2007 | Amazon Technologies, Inc. | System and method for automated call distribution |
8855292, | Sep 08 2006 | AVAYA LLC | Agent-enabled queue bypass to agent |
8873735, | Dec 21 2010 | Amazon Technologies, Inc. | Selective contact between customers and customer service agents |
8958542, | Dec 28 2010 | Amazon Technologies, Inc | Followup of customer service agents |
8983055, | Dec 20 2010 | Amazon Technologies, Inc. | Quality review of contacts between customers and customer service agents |
9088649, | Aug 25 2009 | Amazon Technologies, Inc. | Systems and methods for customer contact |
9219818, | Dec 28 2010 | Amazon Technologies, Inc. | Followup of customer service agents |
9224113, | Nov 30 2012 | Bank of America Corporation | Preparing preliminary transaction work for a mobile banking customer |
9258416, | Dec 14 2005 | Microsoft Technology Licensing, LLC | Dynamically-changing IVR tree |
9501765, | Nov 30 2012 | Bank of America Corporation | Preparing preliminary transaction work for a mobile banking customer |
9769315, | Nov 13 2007 | Amazon Technologies, Inc. | System and method for automated call distribution |
Patent | Priority | Assignee | Title |
5036535, | Nov 27 1989 | MPL APPLICATIONS L L C , A DELAWARE LIMITED LIABILITY COMPANY | Switchless automatic call distribution system |
5657383, | Jun 06 1995 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | Flexible customer controlled telecommunications handling |
5884032, | Sep 25 1995 | Pragmatus Telecom, LLC | System for coordinating communications via customer contact channel changing system using call centre for setting up the call between customer and an available help agent |
6046762, | Apr 01 1997 | CosmoCom, Inc. | Multimedia telecommunication automatic call distribution system |
6212270, | Dec 19 1997 | WSOU Investments, LLC | Control of telemetry interface gateway for a voice call |
6366668, | Mar 11 1999 | AVAYA Inc | Method of routing calls in an automatic call distribution network |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 15 2001 | KRAUSE, S R | Lucent Technologies Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011954 | /0520 | |
Jun 18 2001 | JOHNSON, J A | Lucent Technologies Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011954 | /0520 | |
Jun 18 2001 | SMITH, D B | Lucent Technologies Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011954 | /0520 | |
Jun 19 2001 | KAMPMEIER, E E | Lucent Technologies Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011954 | /0520 | |
Jun 20 2001 | SMITH, M R | Lucent Technologies Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011954 | /0520 | |
Jun 21 2001 | Lucent Technologies Inc. | (assignment on the face of the patent) | / | |||
Jan 30 2013 | Alcatel-Lucent USA Inc | CREDIT SUISSE AG | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 030510 | /0627 | |
Aug 19 2014 | CREDIT SUISSE AG | Alcatel-Lucent USA Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 033950 | /0001 |
Date | Maintenance Fee Events |
Aug 31 2004 | ASPN: Payor Number Assigned. |
Mar 20 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 21 2012 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 22 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 28 2007 | 4 years fee payment window open |
Mar 28 2008 | 6 months grace period start (w surcharge) |
Sep 28 2008 | patent expiry (for year 4) |
Sep 28 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 28 2011 | 8 years fee payment window open |
Mar 28 2012 | 6 months grace period start (w surcharge) |
Sep 28 2012 | patent expiry (for year 8) |
Sep 28 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 28 2015 | 12 years fee payment window open |
Mar 28 2016 | 6 months grace period start (w surcharge) |
Sep 28 2016 | patent expiry (for year 12) |
Sep 28 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |