WO1998038780A1 - System and method for monitoring calls parked on an automatic call distributor - Google Patents
System and method for monitoring calls parked on an automatic call distributor Download PDFInfo
- Publication number
- WO1998038780A1 WO1998038780A1 PCT/US1998/003487 US9803487W WO9838780A1 WO 1998038780 A1 WO1998038780 A1 WO 1998038780A1 US 9803487 W US9803487 W US 9803487W WO 9838780 A1 WO9838780 A1 WO 9838780A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- call
- parked
- leg
- status
- change
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 403
- 238000012544 monitoring process Methods 0.000 title claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 151
- 230000008859 change Effects 0.000 claims abstract description 81
- 230000004044 response Effects 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 238000010926 purge Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 47
- 230000006870 function Effects 0.000 abstract description 17
- 239000003795 chemical substances by application Substances 0.000 description 59
- 238000012546 transfer Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 12
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 206010066901 Treatment failure Diseases 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5166—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5237—Interconnection arrangements between ACD systems
Definitions
- the present invention relates generally to computer telephony. More particularly, the present invention relates to parked calls. Still more particularly, the present invention relates to calls parked on an automatic call distributor.
- Call centers have become a popular means for providing operator and customer services for businesses.
- a call center is typically a platform and location used by a business for customer services, operator services, telemarketing, or other such purposes.
- a call center is a focal point for receiving customer telephone calls and for providing services.
- a service may be operator services provided by a telephone company for special feature calls, or customer services provided by a manufacturing company for a product they offer, or customer services provided by a catalog company for placing orders. Callers commonly access a call center by dialing a "1-800" number, though any type of telephone number may be used.
- a call center is typically made up of one or more operator consoles, and one or more automated response units.
- An operator console is a work station staffed by one or more agents or human operators to provide live service and assistance to a caller.
- An automated response unit services the call in an automated fashion.
- a call center also typically includes an automatic call distributor (ACD) that is used to receive, queue and distribute calls among the various operator consoles and automated response units.
- ACD automatic call distributor
- the ACD offers the call to an available operator console or automated response unit for servicing.
- the receiving facility such as an operator console or automated response unit
- the receiving facility has responsibility for the call, and a voice channel is established with the receiving facility.
- the call is active, i.e., there is a party on the call with an established voice channel connected to the ACD.
- the call is monitored and maintained at the
- ACD ACD Once a call is parked at the ACD, it is no longer under control of the facility, i.e., the operator console or automated response unit, that parked the call.
- a parked call should be distinguished from a call placed "on-hold" by an operator console or automated response unit.
- the facility retains control ofthe call, and the voice channel is still connected to the facility where the call is on-hold.
- the ACD While a call is parked at the ACD, the ACD monitors the call to detect a change in its status. For example, the caller may hang up, or the caller may enter a dual-tone multiple frequency (DTMF) signal by pressing a key on the keypad.
- DTMF dual-tone multiple frequency
- the ACD does not act on the state changes unless it receives instructions from the parking facility, such as an automated response unit or an operator console.
- each automated response unit and operator console must be individually programmed to initiate an action or carry out a method in response to the changes in the status of a call parked on an ACD. Additionally, any time a new method or a new type of call status change is to be incorporated, each automated response unit or operator console must be modified to include such changes.
- the present invention is directed to a system and method for monitoring calls parked on automatic call distributors.
- a method or process for monitoring calls parked on one or more automatic call distributors, each parked call having at least one parked call-leg is provided.
- the process comprises: maintaining a call-leg information table, wherein the call-leg information table includes a record for each ofthe parked call-legs; determining when a change in status has occurred for the parked call-leg; determining whether the change in status requires the method to be executed; and if the change in status requires a method to be executed, then executing the method.
- the method can also comprise maintaining a method table of pre-determined methods that can be executed in response to the change in status of parked call-legs.
- each ofthe records in the call- leg information table comprises one or more ofthe following: a call identifier for a parked call-leg; an automatic call distributor (ACD) identifier for an ACD on which the parked call-leg is parked; a method identifier for identifying a method to be executed in response to a corresponding change in status ofthe parked call- leg, wherein the method identifier identifies one ofthe methods in a method table; a terminal identifier for identifying a facility that parked the parked call-leg; a flag identifying the parked call-leg as an originating call-leg or a terminating call-leg; and a time-out limit for defining how long the parked call-leg can remain parked at the ACD.
- ACD automatic call distributor
- a system for monitoring calls parked on one or more automatic call distributors, each parked call having at least one parked call-leg comprises: call-leg table means for maintaining a call-leg information table, wherein the call-leg information table includes a record for each ofthe parked call-legs; method table means for maintaining a method table of pre-determined methods that can be executed in response to the change in status of parked call-legs; status change means for determining when a change in status has occurred for the parked call- legs, and for determining whether the change in status requires a method to be executed; and method executing means for executing the method if the change in status requires the method to be executed.
- the method executing means comprises sequence means for controlling execution of a sequence of methods on a parked call-leg, the sequence of methods corresponding to a sequence of events that change the status ofthe parked call- leg.
- the sequence means ensures that the sequence of methods is executed in an order that is the same as an order of occurrence ofthe sequence of events.
- a computer program product comprises a computer-usable medium having computer program logic recorded thereon for enabling a processor in a computer system to monitor calls parked on one or more automatic call distributors, each parked call having at least one parked call-leg.
- the computer program logic comprises database means for enabling the processor to maintain a database.
- the database comprises a call-leg information table that includes a record for each of the parked call-legs.
- the database also comprises a method table of pre-determined methods that can be executed in response to a change in status ofthe parked call- legs.
- the computer program logic also comprises method executing means for enabling the processor to execute methods in response to changes in status of parked call-legs.
- a still further feature of the present invention is that it sequences the execution of methods so that they are carried out in the same order as the corresponding events that result in the change in status ofthe parked call-legs.
- a still further feature ofthe present invention is that it accommodates a primary and secondary architecture to facilitate data-redundancy and fail-over handling.
- the present invention maintains a call park server database on a primary and on a secondary call park server, but only executes methods if a primary call park server flag is set.
- An advantage of the present invention is that it can simply and cost effectively monitor the status of calls parked on one or more automatic call distributors and execute methods in response to status changes ofthe parked call- legs.
- a further advantage of the present invention is that a parking facility can
- program the call park server by selecting methods from the method table and instructing the call park server what methods, if any, get executed in response to various changes in status of parked call-legs.
- a still further advantage ofthe present invention is that new methods can be easily incorporated by adding them to the method table.
- a still further advantage of the present invention is that customized methods specific to a particular parking facility can also be incorporated into the method table.
- FIG. 1 shows a block diagram of one embodiment of a call center
- FIG. 2 shows a block diagram of one embodiment of a call-park server (CPS) platform of the present invention
- FIG. 3 shows a block diagram of one embodiment of a call-park server (CPS) database ofthe present invention
- FIG. 4 shows a block diagram of one embodiment of a dual call center architecture
- FIG. 5 shows a block diagram ofthe present invention with primary and backup call-park servers
- FIG. 6 shows a flow diagram for parking a call on an automatic call distributor (ACD);
- ACD automatic call distributor
- FIGS. 7A, 7B, and 7C show a flow diagram for monitoring parked call- legs, and for executing methods in response to a change in status ofthe parked call-legs; and FIG. 8 shows an exemplary computer system suitable for use with the present invention.
- the present invention is directed to a system and method for monitoring calls parked on one or more automatic call distributors (ACDs).
- An ACD is used to receive, queue, and distribute calls to operator consoles and automated response units (ARUs) in a typical call center.
- ARUs automated response units
- the present invention monitors calls parked on the ACD through use of a call park server (CPS) that maintains a relational database.
- the relational database comprises a call-leg information table and a method table.
- the call-leg information table includes a record for each parked call-leg.
- the call-leg information table is used to track and maintain the status of each parked call-leg.
- the method table includes pre-determined methods that can be executed in response to a change in status ofthe parked call- legs.
- the method table provides a suite of methods that can be selected by the parking facility, i.e., the ARU or operator console, to be applied to the parked call-leg when particular events occur.
- the parking facility i.e., the ARU or operator console
- a message in the form of an UPDATE request is sent to the call park server.
- the call park server queries the call-leg information table to determine what method, if any, is to be executed in response to the change in status that has occurred. If a method is to be executed, then the call park server executes the appropriate method.
- the method is accessed in the method table through the use of short and simple designators.
- the methods can include, for example, the application of treatment to the call by the ACD.
- the present invention provides a simple and cost-effective method for monitoring the status of calls parked on an ACD, and for executing various methods in response to a change in status.
- FIG. 1 a block diagram of one embodiment of a call center 110 is shown.
- Call center 110 is used to provide customer and operator services.
- a call originator 102 accesses call center 110 via a public switched telephone network (PSTN) 104.
- PSTN public switched telephone network
- ACD automatic call distributor
- RLT release line trunk
- 106 is provided by various digital switches in the telecommunications industry, and is commonly used to link automatic call distributors at call centers with switches in the PSTN.
- ACD 120 When ACD 120 receives a call, it is distributed to an automated response unit (ARU) 130 or an operator console 150.
- ARU 130 is connected to ACD 120 via a voice line 122.
- Operator console 150 is connected to ACD 120 via a voice line 124.
- Call distribution from ACD 120 to ARU 130 and operator console 150 is determined by an applications processor (AP) 140.
- AP 140 is a computer adjunct to ACD 120.
- AP 140 is used to perform call processing functions for ACD 120. The use of AP 140 allows ACD 120 to be dedicated to switching, thereby increasing the call capacity of ACD 120.
- AP 140 determines where a particular call should be routed based upon a variety of criteria, for example, the number dialed by call originator 102, the telephone number from which call originator 102 is placing the call, etc.
- AP 140 communicates with ACD 120 via a computer applications interface link 142.
- call center 110 shown in FIG. 1 is configured with one ARU 130 and one operator console 150
- call centers typically have a plurality of automated response units and a plurality of operator consoles.
- Each ARU 130 will generally be configured to perform the same service applications as operator console 150, but in an automated manner.
- Each operator console 150 is staffed with live operators.
- Communication between ARU 130, AP 140, and operator console 150 is via a common network, for example, an Ethernet network 170 as shown in FIG. 1.
- Various functions are performed using network 170. For example, when AP 140 receives a query for call routing from ACD 120, it uses network 170 to determine which operator console or ARU is available to take the call.
- operator console 150 and ARU 130 use network 170 to inform AP 140 when it has completed processing a call.
- Network 170 is also used by an operator console to query an ARU for call context information when a call is transferred from an ARU to the operator console.
- networks other than an Ethernet network can be used to perform the functions of network 170. For example, a
- DECNET network available from Digital Equipment Corporation, can also be used.
- FIG. 1 shows a typical architecture of a call center. It should be understood that the present invention is not limited to the call center architecture shown in FIG. 1, and can be used with other call center architectures.
- FIG. 1 also shows a call park server (CPS) 160 ofthe present invention in call center 110.
- Call park server 160 monitors calls parked on ACD 120 by maintaining a relational database. Information regarding the status of calls parked on ACD 120 is sent to call park server 160 by AP 140 via network 170.
- Call park server 160 communicates with network 170 via a communications link 162.
- Communications link 162 is preferably a TCP/IP communications link.
- a TCP/IP communications link is a transmission control protocol/Internet protocol communications link.
- Transmission control protocol is the major transport layer protocol in Internet that provides reliable virtual connectivity for communication between two Internet nodes.
- Internet protocol is the network-layer protocol that primarily provides for handling the Internet address.
- the IP layer passes the data packet to the transport layer on the resident host.
- the functions of call park server 160 are carried out through use of a call park server platform 260, as shown in FIG. 2.
- Call park server platform 260 comprises a plurality of processes or software modules that are used to carry out the functions of call park server 160.
- a communications/interface process 262 provides for external communications between CPS platform 260 and an external agency such as AP
- Communications/interface process 262 also provides for internal communications within call park server platform 260. External communications are preferably carried out by communications/interface process 262 by providing a UDP/IP communications interface for call park server platform 260.
- a UDP/IP interface is a user datagram protocol/Internet protocol interface.
- the user datagram protocol is a connectionless Internet user protocol, wherein a packet or datagram is sent to a specific IP address and port number. If a facility or agency is monitoring that specific IP address and port number, then the packet or datagram is received; otherwise, the packet or datagram is lost.
- the user datagram protocol does not require that a connection be first established with the sending facility or agency, as in TCP/IP protocol.
- Call park server database change requests and queries can be received through the UDP/IP interface provided by communications/interface process 262. Likewise, any responses required by the requesting agency can be also sent via UDP/IP.
- Communications/interface process 262 also provides for local or internal communication within call park server platform 260.
- communications/interface process 262 communicates locally with a database (DB) process 264.
- DB process 264 Such internal communication with DB process 264 is preferably carried out through the use of an inter-process communication manager.
- IPC manager A particularly preferred inter-process communication manager (IPC manager) is disclosed and described in co-pending application number 08/671,027, filed June 25, 1996, the entirety of which is incorporated herein by reference.
- DB process 264 functions as the custodian for a call park server (CPS) database 360 (see FIG. 3). DB process 264 exclusively expedites all changes to CPS database 360 (adds, updates, and deletes, as explained more fully below). DB process 264 also services queries executed against CPS database 360. DB process 264 provides instructions to a park select (PSEL) process 266.
- PSEL park select
- PSEL process 266 functions as a manager for a series of agent processes or tasks 268 that carry out the methods to be applied to the parked call-legs.
- PSEL process 266 is responsible for assigning methods to agent processes 268 in order to service changes in the status of parked call-legs.
- PSEL process 266 sequences or controls the execution of methods by agent processes 268 so that the methods are carried out in the same order as the corresponding events that result in the change in status ofthe parked call-legs.
- FIG. 3 shows a block diagram of one embodiment of CPS database 360.
- CPS database 360 comprises a call-leg information table 362 and a method table 364.
- CPS database 360 is preferably a relational database so that call-leg information table 362 and method table 364 can be linked, as shown by a dashed line 366 in FIG. 3.
- FIG. 3 shows only two tables in CPS database 360, the present invention is not limited to this embodiment. Additional tables or other information can be included in CPS database 360.
- CPS database 360 can also include a transfer information table to provide a nonvolatile repository for transfer records. Such transfer records would be used in the event that a call-leg parked by an ARU or operator console is transferred by CPS platform 260 to another ARU or operator console facility.
- Such a transfer information table could be provided so that the parking facility could deposit a transfer record for later access by the recipient facility ofthe call-leg at the time that the call-leg is transferred by the call park server.
- the purpose of call-leg information table 362 is to store information on call-legs currently parked on ACD 120.
- the contents of call-leg information table 362 are volatile and transient as the records stored in the table are likely to be added, updated, and deleted on a very frequent basis due to the dynamics of call- processing traffic.
- Each record (row) within call-leg information table 362 preferably relates to one and only one parked call-leg.
- each record of call-leg information table 362 is designed to allow the processes of CPS platform 260 to take the appropriate action when a change occurs in the status of the call-leg. This includes all of the information required by CPS platform 260 to manipulate the parked call-legs, such as to perform retrieve, transfer, and release operations, and any other functions called for in the method definitions. The foregoing functions and method definitions will be explained in more detail below.
- Each record in call-leg information table 362 preferably comprises data fields that incorporate the following information: 1. call identifier (CID) ofthe parked call-leg;
- the CID of the parked call-leg may be based on the telephone number of call originator 102, the dialed number, the ACD port to which the call has been routed, or any other suitable identifier.
- the CID is an integer value in call-leg information table 362.
- the ACD identifier identifies which ACD maintains the parked call-leg. As will be explained in more detail below with respect to FIGs. 4 and 5, a single call-park server 160 may support multiple ACDs. In a preferred embodiment, the ACD identifier is a site abbreviation that indicates the geographical location for the ACD at which the call-leg is parked.
- the TID identifies the specific ARU or operator console that parked the call-leg.
- the TID is an integer value that represents the identifier assigned to an ARU port or an operator console.
- TIDs that correspond to ARUs and operator consoles are grouped together into agent groups, each agent group having an agent group identifier or agent group ID. If a call is to be transferred, it will be transferred to another ARU or operator console within an agent group. When the call is actually transferred, CPS platform 260 will instruct ACD 120 to transfer the call to another ARU or operator console within the agent group having the agent group ID specified in the call-leg information table.
- call park server platform 260 needs sufficient information to instruct the ACD to effect the call transfer. This information is provided by the facility (ARU or operator console) that initially parks the call-leg. In some situations, it is necessary to instruct a parking facility to retrieve the parked call-leg. This can be carried out in the present invention through the use of an UNPARK function.
- the UNPARK function is carried out when the parking facility that parked the call-leg needs to be notified or reminded that it has to retrieve the parked call-leg and act on it.
- an agent process 268 comes across the UNPARK instruction token in its method instructions, a message is sent to the parking facility that parked the call-leg to retrieve the parked call-leg. Item 6.
- This item is the key by which the parking facility specifies what methods, if any, are carried out when an event occurs that changes the state or status of a parked call-leg.
- This information will include an indicator ofthe event or status change for the parked call-leg, along with a method identifier (to be explained more fully below) that indicates the method or methods to be carried out in response to the corresponding change in status ofthe parked call-leg.
- Item 7. This item is a flag that indicates whether the parked call-leg is an originating call-leg or a terminating call-leg. In a preferred embodiment, a value of 0 (zero) indicates an originating call-leg, and a value of 1 (one) indicates a terminating call-leg. Item 8.
- a time-out limit is provided that defines how long a parked call- leg can remain parked. In a preferred embodiment, the time-out limit is specified by minutes and seconds. In the process ofthe present invention, the expiration ofthe time-out limit is treated as a change in status of a parked call-leg.
- Method table 364 stores the definitions for the various methods that are carried out in response to status changes on a parked call-leg.
- Each method is a set of instructions in the form of character strings that agent processes 268 interpret to carry out the specified method.
- the methods are the instructions that agent processes 268 follow to process a parked call-leg when the ACD on which the call-leg is parked detects a change in status, such as a time-out, for that call-leg.
- Each record (row) in method table 364 relates to one and only one predetermined method.
- the methods themselves are identified by a unique method identifier (method ID).
- the method ID commences with the capital letter "M" followed by at least one, and at most two, alphanumeric characters.
- the instructions for each method ID are listed in the form of an ASCII text string composed of a limited set of string tokens, some followed by numeric arguments.
- the method ID serves as the primary key to method table 364, and uniquely identifies each individual record in method table 364.
- the method ID provides the relational link in CPS database 360 between call-leg information table 362 and method table 364.
- each method instruction is comprised of an ASCII text string constructed from a set of string tokens, some of which may be followed by numeric arguments.
- ASCII text string constructed from a set of string tokens, some of which may be followed by numeric arguments.
- instruction tokens are some examples of instruction tokens.
- ARGUMENT DTMF digit string (numbers, "*", or "#)
- ARGUMENT DTMF digit string (numbers, "*", "#)
- DESCRIPTION Check that the last monitored digit sequence matches the argument. If no match, abort the method execution; otherwise continue with the method execution.
- DESCRIPTION Applying audio treatment to the parked call-leg.
- the record for the parked call-le ⁇ will also include an audio treatment number that specifies what audio treatment is to be applied via this instruction token.
- ARGUMENT Number of seconds to delay
- DESCRIPTION Send an UNPARK message to the TID that parked the call-leg to retrieve the parked call-leg.
- the following is an example of methods that can be implemented in response to a status change on a parked call-leg.
- the methods include the method instruction tokens that have been explained above.
- Each of the following methods is identified by a method ID, and would comprise a single record or row in method table 364.
- DB process 264 is responsible for maintaining CPS database 360. After start-up processing has been completed, DB process 264 operates exclusively in interrupt mode. This process enters "hibernation” and performs its processing using interrupt processing based on VMS operating system AST (Asynchronous System Trap) interrupt routines.
- VMS operating system AST Asynchronous System Trap
- Changes in the status of parked call-legs are signaled to DB process 264 by AP 140 through the use of a call-leg information table UPDATE request.
- An UPDATE request indicates what event has occurred that has changed the status of a parked call-leg.
- DB process 264 determines from the record in call-leg information table 362 for that parked call-leg what method ID, if any, is to be carried out in response to the change in status communicated to it for that parked call-leg in the UPDATE request.
- a status-change notification is then sent from DB process 264 to PSEL process 266 to initiate execution of the method corresponding to the method ID by agent processes 268.
- a message is sent from AP 140 to call park server platform 260 to add a record to call-leg information table 362 that corresponds to the parked call-leg. This is accomplished through the use of an ADD request that is sent to CPS platform 260. Through the use of ADD request, a record corresponding to each parked call-leg is added to call-leg information table 362.
- DB process 264 is responsible for "timing" how long call-legs remain parked on an ACD.
- a call-leg is parked at an ACD, and a corresponding call-leg information table ADD request is sent to CPS platform 260, part ofthe information contained in the ADD request is a designation of a maximum time limit that the call-leg may remain parked.
- This time-out limit is included in the record (Item 8 described above) that is stored in call-leg information table 362 for that parked call-leg. If no time-out limit is provided in the record for a parked call-leg, a default time-out limit is assumed by DB process 264.
- DB process 264 activates a separate timer for each record in call-leg information table 362. If a timer for a parked call-leg expires, the call-leg has been parked for the maximum allowable time. At such time, DB process 264 selects the method ID (if any) specified by the parking facility that parked the call-leg that is to be executed in response to a time-out event. The method ID that is to be executed in response to a time-out event would have been specified by the parking facility at the time that the call-leg was parked at the ACD. This information would have been contained in the ADD request sent to CPS platform 260 at the time the call-leg was parked (Item 6 described above). If a method ID was specified to be executed at a time-out event, DB process 264 sends a status- change notification message to PSEL process 266 to instruct it to assign agent process 268 to execute the method specified by the method ID.
- DB process 264 also performs a "clean-up" or “purge” operation to eliminate records (rows) that have remained in CPS database 360 for an excessive period of time.
- DB process 264 purges call-leg information table 362 of "overdue" records at process start-up and periodically thereafter at pre-determined purge intervals.
- the pre-determined purge interval is one hour.
- An overdue record refers to those records that correspond to a parked call-leg that has been parked for a parked time period that is longer than a time-out limit that has been set for that parked call-leg, and that is longer than the pre-determined purge interval.
- records can be deleted from call-leg information table 362 that relate to call-legs that are no longer parked, and that have not been deleted by the normal execution of methods or in accordance with delete requests received by CPS database 360.
- PSEL process 266 functions as a manager for the various agent processes 268 operating on CPS platform 260.
- PSEL process 266 is responsible for assigning methods to agent processes 268 in order to service changes in the status of parked call-legs.
- PSEL process 266 receives a status-change notification message from DB process 264. The status-change notification messages signal
- PSEL process 266 that a change has occurred on a call-leg that is (or was) parked at an ACD serviced by CPS platform 260, and that a method is to be executed in response to the change in status on that parked call-leg.
- PSEL process 266 acquires the status-change notification from DB process 264 via a mailbox initialized during process startup. An AST routine assigned to the mailbox read operation is executed when a status-change notification message arrives in the mailbox. Status-change notifications are "one way" messages from DB process 264 to PSEL process 266; no response is sent from PSEL process 266 to DB process 264. PSEL process 266 selects one ofthe agent processes 268 to carry out or execute the method corresponding to the method ID specified in a status-change notification message received from DB process 264. PSEL process 266 selects the particular agent process 268 based upon what ACD the call-leg is parked on, and which agent process 268 associated with that particular ACD has the least pending method assignments.
- PSEL process 266 When agent process 268 is selected, PSEL process 266 reads method table 364 to determine the instruction text associated with the method ID. PSEL process 266 forms an agent work-order message that includes the method instruction text and the CID ofthe parked call-leg from the status-change notification message, and sends the agent work-order message to the selected agent process 268.
- the communication of the work-order message between PSEL process 266 and agent processes 268 is managed by communications/interface process 262, particularly the local or internal communications aspect.
- the communication between PSEL process 266 and agent processes 268 is handled using an inter- process communication manager disclosed in co-pending application number
- agent processes 268 there will be two agent processes 268 associated with each ACD served by CPS platform 260.
- PSEL process 266 will alternate task or method assignments between the two agent processes that serve each ACD.
- other numbers of agent processes 268 can be assigned or affiliated with each ACD.
- PSEL process 266 preferably maintains an array of addresses that identify each of agent processes 268 that are attached or affiliated with it. When an agent process starts up, it sends an agent-available message to PSEL process 266.
- Agent-available messages are also re-sent by agent processes 268 in the event that PSEL process 266 terminates and is re-started.
- the agent-available message identifies what agent processes 268 are available, and to what ACD the particular agent process is assigned.
- PSEL process 266 records the address of agent process 268, along with the ACD site identifier, for each agent process 268.
- Agent processes 268 carry out the method instructions that are assigned to it by PSEL process 266.
- a particular agent process 268 that is carrying out a method for a parked call-leg will be one ofthe agent processes that is associated with the ACD on which the call-leg is parked.
- the agent process sends an agent-done message to PSEL process
- the agent-done message notifies PSEL process 266 that the method has been completed.
- the agent-done message includes the CID of the call-leg for which the method has been carried out, and an indicator ofthe final result ofthe method.
- the final result has a value of one if the method was carried out and completed in a normal manner. For any other result, the final result has a value of zero.
- PSEL process 266 also sequences the execution ofthe methods to ensure that the methods are carried out in the order in which the triggering events occurred.
- PSEL process 266 accomplishes this sequencing function by tracking which agent has been assigned to carry out a method for that CID. If the same CID changes state, and the method for a previous state change on that CID is currently being executed (i.e., is not completed), then PSEL process 266 will route or assign the method corresponding to a subsequent state change for that CID to the same agent process
- An agent process 268 currently working on a method cannot begin a subsequent method until the previous or prior-in-time one is complete.
- the subsequent method cannot be completed before the prior-in-time method.
- agent process 268 by making a request of DB process 264.
- agent processes 268 instruct the ACD on which the call-leg is parked to actually carry out the treatment.
- agent process 268 sends a message to the ACD on which the call-leg is parked, and instructs it to provide the audio treatment.
- This message is sent from call park server 160 via communications link 162, and network 170 to AP 140.
- AP 140 sends the appropriate message to ACD 120 via link 142.
- the message that is sent from CPS 160 to AP 140 specifies an audio treatment number that corresponds to the type of audio treatment to be applied to the parked call-leg.
- the audio treatment number is obtained from the record in call-leg information table 362 that corresponds to the parked call-leg.
- the audio treatment number in the record is specified when the record is initially added to call-leg information table 362 by the parking facility.
- an agent process sends a message to AP 140.
- AP 140 sends an appropriate message to ACD 120 to release the parked call-leg.
- ACD 120 When a parked call-leg is released, a parameter is included in the message that gets passed by AP 140 to ACD 120 that indicates the release type.
- two parties are linked together at a bridging switch and the parking facility (ARU or operator console) is released from the call.
- the call-leg is disconnected, i.e., there is a hang-up ofthe parked call-leg.
- AP 140 When AP 140 receives a request from one of agent processes 268 to release a parked call-leg, it sends an appropriate message to ACD 120 on which the call-leg is parked to release the parked call-leg. AP 140 also sends a DELETE request to CPS platform 260 to delete the record corresponding to the released parked call-leg from call-leg information table 362. In this manner, call-leg information table 362 is updated so that it no longer contains a record for a call- leg which is no longer parked. When a call is retrieved by a parking facility, the parking facility regains control over the call. That is, the call-leg is no longer parked at an ACD, and the call-leg is under control and responsibility of an ARU or an operator console.
- AP 140 sends a DELETE request to CPS platform 260 to delete the record corresponding to the retrieved parked call-leg from call-leg information table 362.
- DB process 264 deletes the corresponding record from call-leg information table 362.
- call-leg information table 362 is updated to delete the record for a call-leg which is no longer parked. In this situation, the call-leg has been retrieved by the parking facility rather than being released as discussed above.
- call-leg information table 362 is updated to delete the records corresponding to the retrieved or released parked call-legs.
- FIG. 4 shows two call centers, call center A, identified as 410A, and call center B, identified as 410B.
- Network 170 in call center A is connected to network 170 in call center B via a router-based wide area network (WAN) 480.
- WAN wide area network
- WAN 480 provides a network so that communications can run from call center A to call center B.
- the architecture shown in FIG. 4 enables call park server 160 to support more than one ACD 120.
- call-leg information table 362 includes in the various records an ACD identifier that identifies the particular ACD on which a call-leg is parked.
- each CPS 160 is designated as a primary call park server for one ACD 120 and as a backup or secondary call park server 160 for the other ACD 120. Therefore, each ACD shown in FIG. 4 has a primary CPS 160 and a secondary or backup CPS 160.
- Method tables 364 in each CPS 160 shown in FIG. 4 are static, and are kept synchronized through the use of common order entry procedures.
- call-leg information table 362 in each CPS 160 are volatile, and change frequently with updates received from AP 140. Call-leg information table 362 of each CPS 160 shown in FIG.
- AP 140 is kept synchronized by having AP 140 associated with each ACD 120 send UPDATE requests to both the primary call park server and the secondary or backup call park server.
- the dual communication required to maintain synchronization is illustrated in FIG. 5.
- AP 140 simultaneously sends messages to a primary CPS 561 and a backup or secondary CPS 562.
- Each message that AP 140 sends to primary CPS 561 is also sent to backup CPS 562.
- call-leg information table 362 of primary CPS 561 is maintained to be the same as call-leg information table 362 of backup CPS 562. If one ofthe primary or backup call park servers should fail, the other call park server can take over with current information in the call-leg information table.
- Each message that AP 140 sends to primary CPS 561 and backup CPS 562 has a flag that indicates whether the call park server receiving the message is serving as a primary or as a backup call park server for that application processor (AP). This flag is referred to herein as a primary call park server flag.
- a call park server that receives an UPDATE request from AP 140 will only execute a method associated with the change in status if the primary call park server flag is set. If the primary call park server flag is not set, then the CPS that receives the UPDATE request from AP 140 will update and store the information in call-leg information table 362, but the method will not be executed. In this manner, the call-leg information tables on each of primary CPS 561 and backup
- CPS 562 are synchronized, but the method associated with a change in status is only being carried out by one call park server.
- each AP 140 has an assigned primary call park server and an assigned secondary or backup call park server.
- Such primary and secondary call park servers are preferably located in geographically separate locations so that they are in different time zones. This geographic separation facilitates maintenance in that both primary and secondary call park servers will not be taken down at the same time for scheduled maintenance.
- An example of fail-over handling will now be described.
- a call-leg is parked on an ACD
- a record is added by both the primary and secondary call park servers associated with that ACD.
- Both the primary and the secondary call park servers will add a record to their respective call-leg information tables that corresponds to the newly parked call-leg.
- the primary call park server goes down and drops out before a change in status occurs on the parked call-leg.
- the associated application processor When a change in status on the parked call-leg does occur, the associated application processor (AP) will get a message from the ACD on which the call-leg is parked, notifying it ofthe change in status (for example, the # key was hit by the originating party).
- the application processor upon receiving the message regarding the change in status will detect that its communication link with the primary call park server is down and is no longer there. It will then send an UPDATE message to the secondary call park server.
- This UPDATE message will have the primary call park server flag set indicating that the secondary call park server is now the primary call park server and responsible for executing methods in response to the change in status that has occurred on the parked call- leg.
- the application processor By setting the primary call-park server flag, the application processor is informing the secondary call park server that it is now the primary call park server and responsible for executing any methods that are required in response to the change in status on the parked call-leg.
- the primary call park server is down so that only the secondary call park server is available.
- the application processor will send a message to the primary and secondary call park servers to add a record to their respective call-leg information tables to reflect that a call-leg has been parked on the ACD.
- the primary call park server is down, so this record Is not being added to the call-leg information table on the primary call park server.
- the primary call park server later comes back on-line while the call-leg is still parked on the ACD, it will have no information about that parked call-leg. If a change in status occurs for the parked call-leg after the primary call park server is on-line, the application processor would send an UPDATE message to both the primary and secondary call park servers about the change in status on the parked call-leg.
- the primary call park server flag would be set for the primary call park server which is now back on-line. However, the primary call park server was down when the call-leg was initially parked on the ACD. The primary call park server in effect does not know that the parked call-leg exists.
- the primary call park server will forward the UPDATE request to the secondary call park server with a request that the secondary call park server act like a primary call park server with respect to the change in status for this parked call-leg. Therefore, the secondary call park server would act like a primary call park server and execute any method that is required in response to the change in status for this parked call-leg.
- a flow diagram 600 for parking a call on an automatic call distributor is shown.
- a call is originated by an originating party such as call originator 102.
- the call is conveyed to an ACD via PSTN 104.
- the call is then transferred from the ACD to an ARU or operator console in a step 606.
- a facility requests that the call be parked at the ACD.
- the facility can be the ARU or operator console.
- call-legs can be parked at the ACD any time that there is a transfer from an ARU to an operator console, or from an operator console to an ARU. While the call-leg is parked at the ACD, its status will be monitored by call park server 160.
- FIG. 7A shows flow diagram 700 that illustrates monitoring parked call-legs, and for executing methods in response to a change in status ofthe parked call-legs.
- an ADD request is sent from the application processor (AP) to the primary and secondary CPS to add a new record to the call-leg information table for the new parked call-leg.
- the DB process in each call park server adds the new record to the call-leg information table in a step 704.
- Each call park server then waits for a change in status on any parked call-leg that is contained in the call-leg information table, as shown in a step 706.
- Such events that are detected by the ACD on which the call-leg is parked can include one or more of the following: a caller hanging up; other means ofthe call being disconnected from the ACD; a caller entering a designated DTMF signal, such as "0" for an operator; and treatment failure (processing applied by the ACD such as playing a recorded message or a signal). It is to be understood that the present invention is not limited to the foregoing triggering events, and other events may be defined that trigger changes in status of parked call-legs.
- the AP sends an UPDATE request to the primary and secondary call park servers regarding the event that has occurred and the change in status ofthe parked call-leg, as shown in a step 710.
- DB process 264 updates the corresponding record in the call-leg information table for the affected parked call-leg to reflect the change in status, as shown in a step 712. Processing then continues in a step 714 shown in FIG. 7B by way of flowchart connector 700B.
- step 714 DB process 264 determines whether the primary call park server flag is set in the UPDATE request. If the primary call park server flag is not set, then processing returns to step 706 shown in FIG. 7A by way of flowchart connector 70A1.
- step 716 DB process 264 identifies the event that occurred from the UPDATE request.
- step 718 DB process 264 accesses the record in the call-leg information table for the affected parked call- leg to determine if there is a corresponding method ID specified for the event that has occurred.
- a step 720 it is determined whether a method ID has been specified for the affected parked call-leg for the event that has occurred. If a method ID has not been specified, then processing returns to step 706 by way of flowchart connector 70 Al.
- DB process 264 passes the method ID and the call identifier (CID) ofthe affected parked call-leg to PSEL process 266. Processing then continues in FIG. 7C at a step 724 by way of flowchart connector 700C.
- PSEL process 266 reads the method table to locate the method that corresponds to the method ID that has been passed to it by DB process 264. In order to sequence the execution of methods to ensure that they are carried out in the same order as the corresponding triggering events, PSEL process 266 must determine whether a method is currently being executed for the CID ofthe affected parked call-leg.
- PSEL process 266 determines whether a method is currently being executed for the CID of the affected parked call-leg. If a method is currently being executed, then PSEL process 266 routes the method to the same agent currently executing a method for the CID ofthe affected parked call-leg in a step 730. If a method is not currently being executed, then PSEL process 266 will route the method to an available agent for the ACD where the affected parked call-leg is parked in a step 728. After execution of step 728 or step 730, processing continues in a step 732.
- agent process 268 executes the method and sends a message to PSEL process 266 when execution ofthe method is complete.
- PSEL process 266 then updates its array of available agent processes in a step 734. Processing then returns to step 706 shown in FIG. 7 A by way of flowchart connector 70A1.
- the present invention may be implemented using hardware, software or a combination thereof, and may be implemented in a computer system or other processing system. In one embodiment, the present invention is directed toward a computer system capable of carrying out the functionality described herein.
- An exemplary computer system 802 is shown in FIG. 8.
- Computer system 802 includes one or more processors, such as processor 804.
- Processor 804 is connected to a communication bus 806.
- Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
- Computer system 802 also includes a main memory 808, preferably random access memory (RAM), and can also include a secondary memory 810.
- main memory 808 preferably random access memory (RAM)
- secondary memory 810 preferably random access memory (RAM)
- Secondary memory 810 can include, for example, a hard disk drive 812 and/or a removable storage drive 814, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
- Removable storage drive 814 reads from and/or writes to a removable storage unit 818 in a well known manner.
- Removable storage unit 818 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 814.
- removable storage unit 818 includes a computer usable storage medium having stored therein computer software and/or data.
- secondary memory 810 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 802.
- Such means can include, for example, a removable storage unit 822 and an interface 820. Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 822 and interfaces 820 which allow software and data to be transferred from removable storage unit 822 to computer system
- Computer system 802 can also include a communications interface 824.
- Communications interface 824 allows software and data to be transferred between computer system 802 and external devices. Examples of communications interface 824 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc.
- Software and data transferred via communications interface 824 are in the form of signals 826 that can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 824.
- Signals 826 are provided to communications interface via a channel 828.
- Channel 828 carries signals 826 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
- computer program medium and “computer usable medium” are used to generally refer to media such as removable storage device 818, a hard disk installed in hard disk drive 812, and signals 826. These computer program products are means for providing software to computer system
- Computer programs are stored in main memory 808 and/or secondary memory 810. Computer programs can also be received via communications interface 824. Such computer programs, when executed, enable computer system 802 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable processor 804 to perform the features ofthe present invention. Accordingly, such computer programs represent controllers of computer system
- the software may be stored in a computer program product and loaded into computer system 802 using removable storage drive 814, hard drive 812 or communications interface 824.
- the control logic when executed by processor 804, causes processor 804 to perform the functions of the invention as described herein.
- AP 140 is implemented on a DEC Alpha 2100 available from Digital Equipment Corporation, and ARU 130 is implemented on an RS6000 UNIX computer.
- CPS 160 is preferably implemented on a multi-user, multi-tasking platform configured to support a relational database.
- Preferred relational databases include Oracle Rdb and Oracle 7, available from Oracle in Redwood Shores, California.
- CPS 160 is implemented on a DEC Alpha computer with an Open/VMS operating system, available from
- CPS 160 can be implemented on a DEC VAX computer with a VMS operating system.
- CPS 160 is implemented as a logical component residing in AP 140, ARU 130 or operator console 150.
- communications/interface process 262 preferably provides a UDP/IP communications interface for CPS platform 260.
- communications/interface process 262 includes an IP- provider sub-system. Suitable IP-provider sub-systems include the "MultiNet” package available from TGV, Inc., or the "UCX" package available from Digital Equipment Corporation.
- a particularly preferred ACD for use with the present invention is a
- the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs).
- ASICs application specific integrated circuits
- the invention is implemented using a combination of both hardware and software.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU63355/98A AU6335598A (en) | 1997-02-26 | 1998-02-26 | System and method for monitoring calls parked on an automatic call distributor |
JP53134498A JP2002503406A (en) | 1997-02-26 | 1998-02-26 | System and method for monitoring calls stranded on an automatic call distributor |
CA002281557A CA2281557A1 (en) | 1997-02-26 | 1998-02-26 | System and method for monitoring calls parked on an automatic call distributor |
EP98907589A EP0966831A4 (en) | 1997-02-26 | 1998-02-26 | System and method for monitoring calls parked on an automatic call distributor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/805,520 | 1997-02-26 | ||
US08/805,520 US5970134A (en) | 1997-02-26 | 1997-02-26 | System and method for monitoring calls parked on an automatic call distributor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1998038780A1 true WO1998038780A1 (en) | 1998-09-03 |
Family
ID=25191786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1998/003487 WO1998038780A1 (en) | 1997-02-26 | 1998-02-26 | System and method for monitoring calls parked on an automatic call distributor |
Country Status (6)
Country | Link |
---|---|
US (1) | US5970134A (en) |
EP (1) | EP0966831A4 (en) |
JP (1) | JP2002503406A (en) |
AU (1) | AU6335598A (en) |
CA (1) | CA2281557A1 (en) |
WO (1) | WO1998038780A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2417642A (en) * | 2004-08-31 | 2006-03-01 | Rockwell Electronic Commerce | Call tracking using SIP presence mechanism |
US9065681B2 (en) | 2010-01-20 | 2015-06-23 | Microsoft Technology Licensing, Llc | Parking and un-parking of conversations in multiple modalities |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104802A (en) | 1997-02-10 | 2000-08-15 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US7031442B1 (en) | 1997-02-10 | 2006-04-18 | Genesys Telecommunications Laboratories, Inc. | Methods and apparatus for personal routing in computer-simulated telephony |
US6480600B1 (en) | 1997-02-10 | 2002-11-12 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
US6064667A (en) * | 1997-02-10 | 2000-05-16 | Genesys Telecommunications Laboratories, Inc. | Apparatus and methods enhancing call routing to and within call centers |
US6118861A (en) * | 1997-08-14 | 2000-09-12 | Nortel Networks Corporation | Calling party invoked held call monitoring |
US6782087B1 (en) * | 1997-09-19 | 2004-08-24 | Mci Communications Corporation | Desktop telephony application program for a call center agent |
US6711611B2 (en) | 1998-09-11 | 2004-03-23 | Genesis Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
US6490350B2 (en) | 1997-09-30 | 2002-12-03 | Mci Communications Corporation | Monitoring system for telephony resources in a call center |
US6985943B2 (en) | 1998-09-11 | 2006-01-10 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US6466663B1 (en) | 1997-09-30 | 2002-10-15 | Don Ravenscroft | Monitoring system client for a call center |
JP3953595B2 (en) * | 1997-10-14 | 2007-08-08 | 富士通株式会社 | Network automatic call distribution control method |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
US7907598B2 (en) | 1998-02-17 | 2011-03-15 | Genesys Telecommunication Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
US6332154B2 (en) | 1998-09-11 | 2001-12-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface |
US6473437B2 (en) * | 1998-07-02 | 2002-10-29 | Siemens Information And Communication Networks, Inc. | Network call park service |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
US6064731A (en) * | 1998-10-29 | 2000-05-16 | Lucent Technologies Inc. | Arrangement for improving retention of call center's customers |
US6724877B1 (en) * | 1999-06-11 | 2004-04-20 | Siemens Information And Communication Networks, Inc. | User specified hold recall treatment |
US7929978B2 (en) | 1999-12-01 | 2011-04-19 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
US6819755B2 (en) * | 2001-05-04 | 2004-11-16 | Siemens Information And Communication Networks, Inc. | Methods and apparatus for controlling call handling in a communications network |
US6819756B2 (en) * | 2001-05-04 | 2004-11-16 | Siemens Information And Communication Networks, Inc. | Methods and apparatus for controlling call pullback by an automatic call distribution (acd) system from an interactive voice response (ivr) system and for allowing an acd caller to complete a critical transaction while connected to the ivr |
US6940963B2 (en) * | 2001-05-04 | 2005-09-06 | Siemens Information And Communication Networks, Inc. | Methods and apparatus for automatically determining a call service request |
US6782083B2 (en) * | 2001-06-06 | 2004-08-24 | Mci, Inc. | ISN call interrupt |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
US7372952B1 (en) | 2002-03-07 | 2008-05-13 | Wai Wu | Telephony control system with intelligent call routing |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US7676034B1 (en) | 2003-03-07 | 2010-03-09 | Wai Wu | Method and system for matching entities in an auction |
US6970547B2 (en) * | 2003-05-12 | 2005-11-29 | Onstate Communications Corporation | Universal state-aware communications |
US7477893B2 (en) * | 2003-12-04 | 2009-01-13 | Motorola, Inc. | On hold call retrieval and routing |
US7440440B1 (en) * | 2003-12-12 | 2008-10-21 | 3Com Corporation | Method and system for device-based call park and pick-up |
US8462637B1 (en) * | 2005-01-04 | 2013-06-11 | Sheridan Ross P.C. | Dial plan routing for fragmented networks |
US7688804B2 (en) * | 2005-02-08 | 2010-03-30 | Aspect Software, Inc. | Method of providing fault tolerance in a SIP based contact handling environment |
US8144693B1 (en) | 2005-09-22 | 2012-03-27 | Verizon Services Organization Inc. | Method and system for providing telemetry, verification and/or other access in a SIP-based network |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US9473644B2 (en) * | 2006-08-11 | 2016-10-18 | Genband Us Llc | Methods, systems, and computer program products for hairpin condition elimination in a telecommunications network |
US20080037533A1 (en) * | 2006-08-11 | 2008-02-14 | Santera Systems, Inc. | Methods, systems, and computer program products for associating independent legs of a call in a telecommunications network |
US8358754B2 (en) * | 2007-04-18 | 2013-01-22 | Bce Inc. | Methods, apparatus and computer-readable media for providing a network-based call park feature |
CN101316435B (en) * | 2007-05-31 | 2012-08-08 | 华为技术有限公司 | Call control method and IMS circuit switching control device and terminal unit |
US8644298B1 (en) | 2007-09-12 | 2014-02-04 | Genband Us Llc | Adding a service control channel after session establishment |
US10750574B2 (en) * | 2009-05-08 | 2020-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Local switching |
US9083561B2 (en) | 2010-10-06 | 2015-07-14 | At&T Intellectual Property I, L.P. | Automated assistance for customer care chats |
US11902470B1 (en) * | 2021-11-19 | 2024-02-13 | 8X8, Inc. | Apparatuses and methods involving parking communications |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590186A (en) * | 1993-12-22 | 1996-12-31 | At & T | System and method for redirecting a telephone call with call merging |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271058A (en) * | 1989-11-27 | 1993-12-14 | Unifi Communications Corporation | Switchless automatic call distribution system used with a combination of networks |
JPH05507396A (en) * | 1990-11-20 | 1993-10-21 | テロケント コミュニケーションズ コーポレーション | call processing system |
US5528678A (en) * | 1993-12-27 | 1996-06-18 | At&T Corp. | Revertive calling automatic call distributor |
US5703935A (en) * | 1994-03-29 | 1997-12-30 | Mci Communications Corporation | Automated telephone operator services |
-
1997
- 1997-02-26 US US08/805,520 patent/US5970134A/en not_active Expired - Lifetime
-
1998
- 1998-02-26 AU AU63355/98A patent/AU6335598A/en not_active Abandoned
- 1998-02-26 EP EP98907589A patent/EP0966831A4/en not_active Withdrawn
- 1998-02-26 JP JP53134498A patent/JP2002503406A/en active Pending
- 1998-02-26 CA CA002281557A patent/CA2281557A1/en not_active Abandoned
- 1998-02-26 WO PCT/US1998/003487 patent/WO1998038780A1/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590186A (en) * | 1993-12-22 | 1996-12-31 | At & T | System and method for redirecting a telephone call with call merging |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2417642A (en) * | 2004-08-31 | 2006-03-01 | Rockwell Electronic Commerce | Call tracking using SIP presence mechanism |
GB2417642B (en) * | 2004-08-31 | 2007-06-06 | Rockwell Electronic Commerce | Call tracking using sip presence mechanism |
US7668303B2 (en) | 2004-08-31 | 2010-02-23 | Aspect Software, Inc. | Call tracking using SIP presence mechanism |
US9065681B2 (en) | 2010-01-20 | 2015-06-23 | Microsoft Technology Licensing, Llc | Parking and un-parking of conversations in multiple modalities |
Also Published As
Publication number | Publication date |
---|---|
EP0966831A4 (en) | 2002-10-30 |
CA2281557A1 (en) | 1998-09-03 |
AU6335598A (en) | 1998-09-18 |
US5970134A (en) | 1999-10-19 |
EP0966831A1 (en) | 1999-12-29 |
JP2002503406A (en) | 2002-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5970134A (en) | System and method for monitoring calls parked on an automatic call distributor | |
US5778060A (en) | Work at home ACD agent network with cooperative control | |
US7110524B2 (en) | Method and system for call queueing and customer application interaction | |
US5696809A (en) | Advanced intelligent network based computer architecture for concurrent delivery of voice and text data using failure management system | |
JP3313075B2 (en) | Call center system, receiving terminal setting method, and recording medium | |
US5274700A (en) | Methods of automatically rerouting an incoming telephone call placed over a network | |
JP2999818B2 (en) | Automatic telephone call distribution system and method | |
CA2268757C (en) | Multiple call handling in a call center | |
US5379337A (en) | Method and system for providing emergency call service | |
US5323444A (en) | Emergency call system with call capacity/last chance routing feature | |
US5271058A (en) | Switchless automatic call distribution system used with a combination of networks | |
US5359646A (en) | Testing of distributed communications networks | |
US5392345A (en) | Work at home ACD agent network | |
US6535585B1 (en) | System and method for notification upon successful message delivery | |
US4953204A (en) | Multilocation queuing for telephone calls | |
US6608887B1 (en) | Voice messaging system with ability to prevent hung calls | |
JP2000041107A (en) | Multimedia work processing method and device | |
JPH10150497A (en) | 800 number call-back | |
JP2002529968A (en) | System for processing data records and telephone calls | |
US5764728A (en) | Silent monitoring agent IDs | |
US6795542B1 (en) | Smart transfer for answer positions | |
US6289083B1 (en) | Method of identifying a location of a source of an emergency call in a call center environment | |
US5978462A (en) | Method and system for automating updates to subscriber service accounts to accommodate numbering plan area splits | |
CA2242092C (en) | System connecting remote agents over standard telephone lines | |
JP2001526864A (en) | Method and apparatus for overflow call address pointer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU CA CN JP KR MX |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2281557 Country of ref document: CA Ref country code: CA Ref document number: 2281557 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/1999/007828 Country of ref document: MX |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1998907589 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 1998 531344 Kind code of ref document: A Format of ref document f/p: F |
|
WWP | Wipo information: published in national office |
Ref document number: 1998907589 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1998907589 Country of ref document: EP |