WO2000052597A1 - Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions - Google Patents

Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions Download PDF

Info

Publication number
WO2000052597A1
WO2000052597A1 PCT/US1999/004607 US9904607W WO0052597A1 WO 2000052597 A1 WO2000052597 A1 WO 2000052597A1 US 9904607 W US9904607 W US 9904607W WO 0052597 A1 WO0052597 A1 WO 0052597A1
Authority
WO
WIPO (PCT)
Prior art keywords
telephony
data
computer terminal
web browser
instructions
Prior art date
Application number
PCT/US1999/004607
Other languages
French (fr)
Inventor
Gary E. Korzeniowski
William R. Lewis, Jr.
Ly K. Peang-Meth
Original Assignee
Microlog Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microlog Corporation filed Critical Microlog Corporation
Priority to CA002363725A priority Critical patent/CA2363725A1/en
Priority to AU29794/99A priority patent/AU2979499A/en
Priority to PCT/US1999/004607 priority patent/WO2000052597A1/en
Publication of WO2000052597A1 publication Critical patent/WO2000052597A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal

Definitions

  • the present invention relates to method and system for enabling a plurality of computer terminals in a call center environment to display and perform telephony related operations. More particularly, the present invention relates to a method and system which operates in conjunction with any Java-enabled web browser application installed in each of a plurality of computer terminals in a call center environment, to exchange with the computer terminals data having a format that can be used by the web browser to enable the computer terminals to receive and display information pertaining to telephony-related operations and to initiate telephony operations.
  • PBX private branch exchange
  • ACD automatic call distributor
  • a call center will typically have one or more telephone numbers, which may be toll-free numbers, that customers can call to place a purchase order, register a complaint, or conduct other business with an agent.
  • the telephony switch When the telephony switch receives an incoming call, the telephony switch searches for an extension number that is available, and transfers or switches the incoming call to that extension number. The phone assigned to that extension number rings, and when the receiver is taken off-hook by the agent, the agent is connected with the incoming call.
  • the agent can then take the caller's information over the phone, and manually enter that information into a computer terminal.
  • the information is then handled in the appropriate manner by the computer system assigned to the call center. For example, if the caller wishes to place an order, the agent may enter the information in a computer-generated order form which appears on the agent's computer display screen. Also, if the caller is a repeat customer, the agent can use the computer terminal to access the caller's profile or information, based on the caller's name, telephone number, credit card number, or the like.
  • the computer terminal displays the retrieved information on the computer display screen when the agent answers the incoming call.
  • the agent can receive information over the phone from the caller, and enter that information into the computer terminal at the appropriate positions on the display screen.
  • the agent can also use the information displayed on the display screen to assist the caller with a particular problem.
  • these types of software applications are "platform specific", meaning that they are only compatible with specific types of operating systems (e.g., Microsoft, UNIX or Macintosh compatible software). In this event, if the company switches from Microsoft to Macintosh systems, for example, the software becomes unusable on the new systems.
  • call center computer telephony systems are limited in the amount of information that they can be provided directly from the caller to the computer terminal, through voice responses or touch-tone entries.
  • many call centers use telephony switches which have either automated attendant or interactive voice response (IVR) capabilities that provide recorded menu messages to callers before transferring the caller to an agent.
  • IVR interactive voice response
  • a recorded message may ask the caller to say, or to enter via the caller's touch-tone telephone keypad, an account number, a credit card number, and so on, prior to transferring the call to an agent.
  • the call then may be transferred to an agent upon a request by the caller (e.g., by the entry of a particular character on the caller's touch-tone key pad).
  • the system may be incapable of transferring any or all of the information that the caller has already entered. Therefore, the agent must again ask the caller for an account number, credit card number, and so on, which increases the overall call servicing time and thus reduces the number of calls that the agent can handle per hour, while also causing customer aggravation.
  • An object of the present invention is to provide an efficient, non-platform specific method and system for enabling a plurality of computer terminals in a call center environment to display and perform telephony related operations.
  • a further object of the invention is to provide a method and system, for use with a plurality of computer terminals in a call center environment, which establishes a communication link between the computer terminals and a telephony switch to enable telephony data to pass efficiently between the computer terminals and the telephony switch so that the computer terminals can display and receive telephony information as well as initiate telephony activity.
  • a further object of the invention is to provide a method and system, for use with a plurality of computer terminals in a call center environment, which operates in conjunction with any Java-enabled web browser application servicing the computer terminals to exchange with the computer terminals telephony data in a format that can be used by the web browser application to enable the computer terminals to receive and display telephony information from a telephony switch and to initiate telephony activity.
  • a method and system for use with a plurality of computer terminals in a call center environment, which enables the computer terminals to receive and display telephony information as well as initiate telephony activity.
  • Each of the computer terminals is associated with a respective telephone connected to a telephony switch.
  • Each computer terminal also includes a display screen and a processor running or otherwise being serviced by a Java-enabled web browser application.
  • the system and method establishes with each computer terminal a communication connection over which telephony-related data is transferred between an application server and an applet, for example, a Java applet, which is an application that runs within the web browser and is being used by the web browser servicing the computer terminal.
  • telephony data is exchanged between a selected computer terminal and the application server over the respective communication connection.
  • the telephony data is in a format that can be used by the web browser application servicing the computer terminal to cause the computer terminal to control its display screen to display telephony-related information based on the telephony data.
  • the system and method when a computer terminal is controlled to perform a telephony-related activity, such as placing an outgoing call, the system and method enables the computer terminal to display a "virtual telephone" on the display screen to enable a user to enter telephony related data at the computer terminal.
  • a dial command is given
  • the entered telephony data is provided in a data packet over the communication connection to the application server, which in turn causes the switch to generate the telephone call.
  • the system and method can be used to control a computer terminal to perform other common telephony activities, such as dialing, answering, hanging-up, conference calling, call forwarding, and so on.
  • the system and method can further provide the computer terminal with data that is retrieved from a database based on data included in the telephony data, so that the web browser application can enable the computer terminal to display information pertaining to the retrieved data.
  • Fig. 1 is a schematic diagram of an example of a call center system operating in accordance with an embodiment of the present invention, to enable the computer terminals in the system to receive and display telephony-related operations and initiate telephony activity;
  • Fig. 2 is a block diagram of a plurality of activity layers in the system shown in Fig. 1;
  • Fig. 3 is a flowchart illustrating the operations performed by the system shown in Fig. 1 when an agent logs into the virtual phone server of the system;
  • Fig. 4 is an example of a screen display displayed on a computer terminal display screen in the system shown in Fig. 1 to enable an agent to log into the system ;
  • Fig. 5 is an example of a data packet transferred between the computer terminals and an application server in the system shown in Fig. 1;
  • Fig. 6 is an example of a toolbar displayed on a computer terminal display screen in the system shown in Fig. 1 to enable an agent to use the computer terminal to perform telephony-related operations;
  • Fig. 7 is a flowchart illustrating exemplary steps performed by the system of Fig. 1 in response to a telephony switch event
  • Fig. 8 is a flowchart illustrating exemplary steps performed by the system shown in Fig. 1 in response to an incoming call
  • Fig. 9 is an example of a display screen which is displayed on the display screen of a selected computer terminal of Fig. 1 in response to an incoming call handled by the system in the manner illustrated by the flowchart of Fig. 8;
  • Fig. 10 is an example of a virtual phone display generated on a display screen of a computer terminal in the system shown in Fig. 1;
  • Figs. 11 through 13 are examples of phone state symbols displayed on the virtual phone display shown in Fig. 10 when the virtual phone is on-hook, ringing, and off-hook, respectively;
  • Fig. 14 is an example of a speed-dial menu displayed in response to selecting the speed dial menu displayed on the virtual phone display shown in Fig. 10;
  • Fig. 15 is an example of a call forwarding menu displayed in response to selecting the call-forwarding menu option displayed on the virtual phone display shown in Fig. 10;
  • Fig. 16 is a flow chart illustrating exemplary steps performed by the system shown in Fig. 1 in response to a telephony request initiated via the virtual phone display shown in Fig. 10;
  • Fig. 17 is an example of an agent status display screen generated in response to an agent status button in the toolbar shown in Fig. 6 to initiate a log-out operation;
  • Fig. 18 is a flow chart illustrating exemplary steps performed by the system shown in Fig. 1 in response to a log-out request initiated, for example, via the agent status display screen shown in Fig. 17.
  • Fig. 1 is a schematic illustration of a system 100 for operating a call center employing virtual phone technology according to an embodiment of the present invention.
  • the call center includes a plurality of agent workstations 102-1, 102-2 . . . 102-n which are each operated by an agent, such as a customer service representative or the like.
  • Each agent workstation 102-1 through 102-n includes a respective keypad-type telephone station 104-1 through 104-n (hereinafter referred to as a "telephone") and a respective computer terminal 106-1 through 106-n.
  • the telephones 104-1 through 104-n can each include a standard telephone handset, or alternatively can include a headset including an earphone and a microphone.
  • a unique extension number is assigned to each telephone 104-1 through 104- n.
  • sequential three-digit extension numbers "100", "101" . . . "nnn” are assigned to telephones 104-1, 104-2. . . 104-n, respectively.
  • the extension numbers can be assigned in any manner, and can include any desired number of digits.
  • the computer terminals 106-1 through 106-n each include a respective display screen 108-1 through 108-n, and standard required hardware such as a CPU, ROM, RAM and so on.
  • each computer terminal 106-1 through 106-n should include, or otherwise have access to, a Java-enabled web browser with a Java Virtual Machine supporting version 1.1.4 or better of Java. Netscape 4.06 or better and Microsoft Internet Explorer 4.72.2106.8 or better both meet this requirement. Hot Java also can be a suitable web browser.
  • the telephones 104-1 through 104-n are connected to a telephony switch 110, such as an ACD known in the art.
  • the telephony switch 110 is connected to the public switched telephone network (PSTN) 112, which is in turn connected to residential, commercial and public telephones.
  • PSTN public switched telephone network
  • An exemplary telephone of the caller type is shown as a customer telephone 114.
  • the telephony switch 110 can include interactive voice response (IVR), or other automated attendant features, which provide a caller with voice instructions to enter information pertaining to the manner in which the call should be handled by the telephony switch 110.
  • IVR interactive voice response
  • the telephony switch 110 is further connected to computer telephony integration (CT1) server 116 by a CTI link, the functions of which are described below.
  • CT1 server 116 computer telephony integration
  • the computer terminals 106-1 through 106-n and CTI server 116, along with a virtual phone server 118, intranet/extranet www server 120 and customer record database 122 are coupled to a local area network (LAN) or wide area network (WAN) 124, and thus communicate with each other over the LAN/WAN 124.
  • LAN local area network
  • WAN wide area network
  • the functions of the CTI server 116, virtual phone server 118, www intranet/extranet server 120, and customer record database 112, and LAN/WAN 124 are described in detail below.
  • the virtual phone server 118 could include a Pentium II 266 MHz processor and at least 64 MB of RAM, although a Pentium II 450 MHz processor and 128 MB of RAM would be preferable.
  • the virtual phone server 118 in this example also includes, for example, at least one parallel port, a network interface card, at least 4 GB free hard drive space, and a Windows NT Server 4.0.
  • the CTI server 116 in this example can be embodied as Dialogic CT-Connect Version 2.0 software, which can be installed anywhere in the system 100 (e.g., in the same physical unit as the virtual phone server 118). Also, in this example, a database with a compliant JDBC Driver, and a Web server which is HTTP compliant, should be installed in the same physical machine (i.e., in the same computer) in which the virtual phone server 118 is installed.
  • the virtual phone technology enables the computer terminals 106-1 and 106-n to display on their respective display screens 108-1 through 108-n information pertaining to relevant telephony activity or events occurring at the telephony switch 110. Furthermore, the virtual phone technology enables the computer terminals 106-1 through 106-n to display on their respective display screens 108-1 through 108-n a simulated telephone keypad, as well as other features associated with a conventional touch-tone telephone, such as a hold button, call transfer button, and so on. This simulated telephone keypad display enables the agents to use their respective computer terminals 106-1 through 106-n both to handle incoming telephone calls and to initiate outgoing telephone calls.
  • Fig. 2 is a block diagram illustrating the relationship between the communication layers established in the system 100 by the virtual phone technology.
  • the system 100 includes a telephony layer in which telephony signals are transmitted between the telephony switch 110 and telephones 104-1 through 104-n of the agent workstations 102-1 through 102-n, respectively.
  • the system 100 also includes a data layer in which transmission control protocol/internet protocol (TCP/IP) socket connections are established over the LAN/WAN 124 between the virtual phone server 118 and the virtual phone applets (e.g., a Java applet) are resident in the respective web browser applications 107-1 through 107-n running on their respective computer terminals 106-1 through 106-n.
  • TCP/IP transmission control protocol/internet protocol
  • telephony data is transferred between the virtual phone server 118 and virtual phone applets over the socket connections in the form of data packets which can be used by the virtual phone applets to cause the computer terminals 106-1 through 106-n to perform operations based on the content of the data packets.
  • the system 100 further includes a synchronization layer in which the CTI server 116, working through the virtual phone server 118, helps coordinate the telephony switch 110 signals to and from the virtual phone applets 107-1 through 107-n.
  • Data pockets 128 representing the telephone signals are transmitted between the virtual phone server and the virtual phone applets 107-1 through 107-n resident in the web browser applications running on the computer terminals 106-1 through 106-n.
  • the virtual phone technology enables the agents to use their respective computer terminals 106-1 through 106-n both to control handle incoming telephone calls and to initiate outgoing telephone calls.
  • the flow of operations performed by the system 100 to accomplish these operations will now be described.
  • Fig. 3 illustrates the flow of operation that occurs when the log-on process is performed at any computer terminal 106-1 through 106-n.
  • agent workstation 102-1 which includes telephone 104-1, computer terminal 106-1 and its associated display screen 108-1, with the Java enabled web browser application being run on computer terminal 106-1.
  • a computer terminal e.g., computer terminal 106-1) running an operating system, such as Windows NT, capable of running a Java enabled web browser application (hereinafter "web browser"), such as Netscape, will be controlled by the Web browser to display a plurality of icons on its display terminal 108-1 when the Web browser is opened in step 1000.
  • the web browser can be configured to include among the icons a specific icon which, when "clicked" (i.e., pointed to and selected by the computer's mouse), causes the web browser to request an html page which contains virtual phone applet from, for example, the WWW server 120.
  • the virtual phone applet is a Java applet that runs within the Web browser and which can be used by the Web browser running on the computer terminal 106-1.
  • step 1010 When an agent instructs the Web browser to request a virtual phone applet by clicking on the appropriate displayed icon, the flow of operation proceeds to step 1010, during which the WWW server 120 downloads the virtual phone applet over the LAN/WAN 124 to the computer terminal 106-1. Once the virtual phone applet has been downloaded, the flow of operation proceeds to step 1020, where the applet is acted upon by the Web browser to open a log-in display 126 on display screen 108-1, as shown in Fig. 4. The processing then proceeds to step 1030 where the Web browser will await entry of log-in information by the agent.
  • the log-in display 126 enables an agent to enter information such as his or her username, a password, and the extension number assigned to the telephone (telephone 104-1 in this example) of the agent's workstation (workstation 102-1 in this example) in the appropriate fields in the log-in display 126.
  • the agent can click the "Log-in” button in the log-in display 126.
  • the agent can click the "Bypass” button in the log-in display 126, which causes the Web browser to bypass the log-in process.
  • Clicking of the Log-in button causes the Web browser to transmit the entered agent information over the LAN/WAN 124 to a security server which can be, for example, part of the WWW server 120, or can be located at any other appropriate place in the system 100.
  • a security server which can be, for example, part of the WWW server 120, or can be located at any other appropriate place in the system 100.
  • the security server in step 1040 verifies that the agent's username and password are correct, and recognizes that that agent is attempting to log onto workstation 102-1. However, if the security server determines that the username and password are incorrect, the security server will send data to the computer terminal 106-1, which will be used by the Web browser to display an appropriate message on the display screen 108-1.
  • step 1050 the virtual phone applet at the computer terminal 106-1 establishes a socket connection (as shown in Fig. 2) with the virtual phone server 118.
  • the virtual phone server 118 and the virtual phone applet communicate with each other over the LAN/WAN 124 via the socket connection.
  • step 1060 the virtual phone applet will send a log-in request to the virtual phone server 118 over the socket connection.
  • the log-in request is sent from the virtual phone applet to the virtual phone server 118.
  • An acknowledgement message (error or success data packet) is sent back to the virtual phone applet in the form of a data packet 128.
  • FIG. 5 shows an example of the information included in a data packet 128 which is transmitted from the virtual phone applet at the computer terminal 106-1 to the virtual phone server 118 and vice- versa over the socket connection.
  • a data packet 128 includes "Transld” data identifying the transaction, "Version” data representing the version of the data packet 128, and "CTIEvent# " data representing an event code.
  • an event code beginning with “0” meaning integer event codes, such as “0", "1", and so on
  • An event code beginning at "1000” e.g., "1000", “1001” and so on
  • An event code beginning at "2000” can represent a message being sent from the virtual phone applet at computer terminal 106-1 to the virtual phone server 118.
  • the data packet 128 further includes error code data "ErrCode” representing an error code for a telephony request, "EventTime” data representing the time stamp at which the event or request occurred, and "PhoneExt” data representing the particular one of the telephones 102-1 through 102-n associated with the computer terminal 106-1 through 106-n to or from which the data packet 128 is being sent. Additionally, a data packet 128 includes "NumberOfBuffers" data representing an integer count of the number of buffers in the data packet 128, and “Buffers” data representing the buffers in the data packet 128.
  • the data packet 128 sent to the virtual phone server 118 as a log-in request includes a CTIEvent# event code indicating that the agent is seeking to log into the system 100 to perform telephony operations, and also includes other information indicated above, such as the agent's phone extension number (in the PhoneExt data portion of the packet) and so on.
  • the virtual phone server 118 will then act on the log-in request, and create a server-side virtual telephony "device" in step 1070. In doing so, the virtual phone server 118 will recognize that the virtual phone applet at computer terminal 106-1 is associated with the phone extension of phone 104-1.
  • step 1080 determines in step 1080 that the creation of the server-side virtual phone device in step 1070 was not successful
  • the flow of operation proceeds to step 1090, during which the virtual phone server 118 sends notification that the log-in attempt has failed in the form of a data packet 128 to the virtual phone applet over the socket connection.
  • This data packet notification to the virtual phone applet causes the Web browser to display an appropriate message on display terminal 108-1.
  • the flow of operations then returns to step 1030, where the agent can re-enter the log-in information in the log-in display 126.
  • the virtual phone server 118 sends successful notification in a data packet to the virtual phone applet in step 1100.
  • the computer terminal 106-1 is then ready to handle switch events and perform telephony-related operations as will be discussed in more detail below.
  • Toolbar 130 includes a plurality of buttons 132 through 140 as indicated.
  • Virtual phone button 132 enables the agent to access the virtual telephone to perform telephone functions as described in more detail below.
  • the other tool buttons 134 through 140 which are not discussed in detail herein, are the call outcome button 134, wrap up button 136, agent status button 138, and help button 140.
  • Call outcome button 134 enables an agent to report on the outcome of a call, such as providing an indication whether the agent connected with a contact (i.e., successfully placed a call to a desired contact), and to record the results of the call.
  • Wrap up button 136 enables the agent to notify the system 100 that he or she is available to receive a call, and that the agent has finished a call and is completing any associated wrap-up activities.
  • Agent status button 138 allows the agent to log in or out of the system, and to change his or her password.
  • Help button 140 generates information on display screen 108-1 describing, for example, the operations of the tool buttons 132-140, and other useful information relating to the virtual phone and call center.
  • the toolbar 130 further includes a session time section 142, call time section 144, and talk time section 146.
  • the session time section 142 displays the total time that the agent has been logged into the system, and resets to zero when the agent logs out.
  • the call time section 144 displays the total amount of time that the agent has been on a call
  • the talk time section 146 displays the amount of time that the agent has been talking with the contact (calling or called party). For incoming calls, the time displayed in the call time section 144 will be the same as the time displayed in the talk time section 146.
  • switch events and telephony requests will now be described. As indicated in Fig. 3, the system 100 monitors for switch events and telephony requests in parallel, and will handle them as they occur. For exemplary purposes, the flow of operation that occurs in response to a switch event will first be discussed.
  • the system 100 and, in particular, the virtual phone server 118 will wait in step 1200 until a telephony switch event occurs at the telephony switch 110.
  • a telephony switch event occurs at the telephony switch 110.
  • the switch 100 receives an incoming call, which is a telephony switch event
  • the flow of operation will proceed to step 1210.
  • the virtual phone server 118 sends a data packet 128 to the virtual phone applet at the computer terminal in the workstation to which the switch 110 transferred the incoming call.
  • the flow of operations then proceeds to step 1220, during which the applet causes the web browser to process the event in the appropriate manner.
  • step 1300 when a customer telephone 114 places a call to the call center, the call is received at the telephony switch 110.
  • the telephony switch 110 answers the call, and preferably initiates an interactive voice response unit (IVR) or automated attendant.
  • the IVR or automated attendant provides the caller with voice instructions requesting further information that the caller can provide via, for example, the caller's touch-tone keypad. Such information can include the caller's social security number, an account number, a credit card number, and so on.
  • the IVR or automated attendant includes or has access to a data store which stores the information provided by the caller. Additionally, the IVR or automated attendant stores caller-ID (AN1) information indicating the caller's telephone number, and called number information (DNIS) indicating the telephone number assigned to the call center that the caller dialed.
  • AN1 caller-ID
  • DNIS called number information
  • the IVR or automated attendant may also provide the caller with a voice instruction enabling the caller to request a transfer to an agent; per the caller's request the call would be transferred to an agent.
  • the telephony switch 110 either transfers the call to a specific agent telephone extension (e.g., as designated by the caller), or to an ACD hunt group which searches for and transfers the call to an available agent.
  • the agent's telephone e.g., telephone 104-1 at workstation 102-1
  • the telephony switch 110 also provides data via the CTI link to the CTI server 116. That data signal includes data representing the extension (e.g., ext. 100) of the agent's telephone to which the telephony switch 110 transferred the call, as well as ANI and DNIS.
  • step 1320 the CTI server 116 interprets the data received from the telephony switch 110 as an inbound call transferred to the corresponding extension.
  • step 1330 the CTI server 116 then provides data via LAN/WAN 124 to the virtual phone server 118.
  • the data provided to the virtual phone server includes data representing the extension number, as well as the DNIS and ANI. It is noted that steps 1300 through 1330 are performed by the telephony switch 110 and CTI 116 while the virtual phone server 118 is in the "wait for telephony" mode of operation as shown in step 1200 in Fig. 7.
  • step 1340 of Fig, 8 the virtual phone server 118 sends inbound call event data to the computer terminal 106-1 in a data packet 128 (see Fig. 4) over the socket connection which was already established between the virtual phone server 118 and virtual phone applet at computer terminal 106-1 as described above.
  • the inbound call event data includes data representing the extension number, as well as the DNIS and ANI. This step in Fig. 8 essentially corresponds to step 1210 in Fig. 7.
  • the virtual phone applet at computer terminal 106-1 receives the inbound call event data packet 128.
  • the virtual phone applet uses the information contained in the parameters of the data packet 128 to obtain information entered by the caller in response to the IVR, which has been stored in the data store. Furthermore, the information contained in the buffers of the inbound call event data packet 128 is used by the virtual phone applet to trigger an event in the web browser (e.g., by calling a JavaScript function via LiveConnect, or by using Java Beans, and so on).
  • the virtual phone applet calls the JavaScript function that is used to perform operations relevant to an incoming call.
  • the JavaScript function associated with an incoming call telephony switch event requests a CGI program on the intranet/extranet WWW server 120, which can retrieve additional data from the customer record database 122 based on the data in the processed data packet 128.
  • the CGI program can request data pertaining to prior activity involving the caller.
  • the CGI program can request from the database 122 data pertaining to a customer order form. In this example, the data requested represents customer purchase history information about the caller.
  • the CGI program uses the retrieved data to create an HTML page.
  • the HTML page is received at the computer terminal 106-1.
  • the display screen 108-1 can display a caller information page 148 including information such as the caller's name and telephone number, address, the called number, and prior activity.
  • the virtual phone applet causes the computer terminal 106-1 to display the caller information page 148 on the display screen 108-1 prior to the agent answering the incoming call, which can be accomplished by the telephone 104-1 or via the virtual phone application as described in more detail below.
  • the agent can then handle the call as appropriate.
  • the agent can enter into the computer 106-1 additional information provided by the caller, such as purchase information, customer comments, and so on.
  • the agent can also transfer the caller to another extension, place the caller on hold, enter into a conference call between the caller and another party, and so on, through the use of the telephone 104-1 or the virtual phone application.
  • the agent can use the telephone 104-1 or virtual phone application to release the call and hang up. The agent is then ready to receive another call, or perform other telephony or call- related activity.
  • the virtual phone application enables an agent to use the computer terminal 106-1 to perform telephony functions such as initiating a call, transferring a call, placing a call on hold, and so on. This process will now be described.
  • toolbar 130 includes a telephone button 132 which the agent can click to perform telephony operations.
  • the toolbar 130 remains resident in the Web browser at the computer terminal 106-1 during the entire time that the agent is logged into the virtual phone applet. Therefore, even if the display screen 108-1 is displaying a received call display screen 148 as shown in Fig. 9, the toolbar 130 remains active.
  • the virtual phone display 150 appears on the display screen 108-1 as shown in Fig. 10.
  • the virtual phone display 150 can also be automatically displayed in response to an incoming call.
  • the virtual phone display 150 resembles a touch-tone telephone keypad in that it includes alphanumeric keys and command keys such as hold, do not disturb, call forwarding, call transfer, and so on.
  • the virtual phone display 150 also displays the agent's username and telephone extension, and a phone symbol 152 indicating the status of the virtual phone (onhook, offhook and ringing).
  • the virtual phone display 150 can be used in conjunction with the telephone 104-1 to enable the agent to perform telephony operations.
  • the telephone 104-1 must remain connected to the telephony switch 110 to enable the agent to transmit and receive voice communications to and from the telephony switch 110 via the telephone handset or headset.
  • the virtual phone is used to perform all telephony requests.
  • the phone symbol 152 resembles a phone that is on-hook.
  • the virtual phone application causes the phone symbol 152 to move as shown in Fig. 12, giving the appearance of a ringing phone.
  • the agent answers the incoming call or takes the virtual phone off-hook to place an outgoing call, the application causes the phone symbol 152 to resemble an off-hook phone as shown in Fig. 13.
  • the "Answer” button on the virtual phone display 150 enables an agent to answer an incoming telephone call.
  • the “Dial” button enables an agent to place a call after using the the numerical key pad on the virtual phone display or computer keyboard.
  • the agent can select the "Speed Dial” menu on the virtual phone display 150, which displays on the display screen 108-1 a list 156 of preprogrammed telephone numbers stored in a data store accessible by the virtual phone applet as shown in Fig. 14.
  • the agent selects a desired speed dial name, the corresponding number appears in the telephone number field 154, and can be dialed by clicking on the "Dial" button.
  • the agent By clicking the consultation call button (CNSLT), the agent can place a consultation call to a third party.
  • the original call is suspended (placed on hold) during the consultation call.
  • the agent can either return to the original call, or create a conference call between the agent, the caller and the third party by clicking the conference call button (CONF). Any participant, including the agent, can leave the conference call by hanging up.
  • CONF conference call button
  • the agent also can perform a blind transfer by clicking the blind transfer button (XFER), which transfers a call to a third party without initiating contact between the third party and agent.
  • XFER blind transfer button
  • the "Redial" button on the virtual phone display 150 automatically redials the last number dialed.
  • the indicator 158 next to the MSG button is lit if there are messages waiting.
  • the do not disturb (DND) button blocks calls from ringing at the agent's workstation. When the DND button is clicked, the adjacent indicator 158 becomes lit, indicating that the DND function has been set on. In that event, a caller calling the agent's extension receives a busy signal.
  • DND do not disturb
  • the agent can also forward calls by clicking the forward call button (FWD).
  • FWD forward call button
  • Call forwarding will be set according to settings entered into the call forwarding display 160 as shown in Fig. 15.
  • the call forwarding display 160 displays in the forward window 162 a choice box of codes representing the type of conditions for forwarding calls.
  • the code ALL is selected, all calls coming to the agent's extension are forwarded to the extension entered by the agent in the forward window 164. If the code EXTBUSY is selected, external calls are forwarded when the agent's extension is busy. If the code EXTNO ANSWER is selected, external calls are forwarded when there is no answer. If the code INTBUSY is selected, internal calls are forwarded when the agent's extension is busy. If the code INTNO ANSWER is selected, internal calls are forwarded when there is no answer. Finally, if the code NOANSWERBUSY is selected, all calls are forwarded when the agent's extension is either busy or there is no answer.
  • the indicator 158 adjacent to the FWD button is lit.
  • the agent can also click the "Hold” button to place a call on hold.
  • the Hold button is clicked and the call is placed on hold, the indicator adjacent the Hold button is lit.
  • FIG. 16 An example of the operations performed by the system 100 when any telephony request on the virtual phone display is requested are shown in the flowchart of Fig. 16. For instance, if the Dial button is clicked on the virtual phone display 150, the virtual phone applet sends a data packet 128 (Fig. 4) over the socket connection to the virtual phone server 118. As indicated in step 1400, if no telephony request (and likewise no telephony switch request as in Fig. 7) has been received by the virtual phone server 118, the virtual phone server 118 is in a wait state.
  • the virtual phone server 118 determines in steps 1410 and 1420 whether the information in the fields of the data packet 128 represents a telephony request or a log-out request. In step 1410, the virtual phone server 118 also validates whether the data packet 128 includes data representing a valid telephony request (e.g., a valid event code number).
  • a valid telephony request e.g., a valid event code number
  • step 1430 the virtual phone server 118 sends a data packet 128 including an error message to the virtual phone applet at the computer terminal 106-1.
  • the virtual phone applet can then processes this error message as appropriate in step 1440, such as by calling a JavaScript function which in turn can enable the Web browser to display an error message on the display screen 106-1.
  • the processing then returns to step 1400, where the virtual phone server 118 awaits another data packet.
  • step 1420 determines in step 1420 that the information in data packet 128 indicates a log-out request
  • processing continues in order to perform the log-out request as described below.
  • step 1410 determines in step 1410 that the data packet 128 indicates a telephony request, such as Dial, DND, or the like
  • the processing proceeds to step 1450 where the virtual phone server accesses the server side telephony device created during the log-in process discussed above with regard to Fig. 3.
  • the virtual phone server 118 then sends data to the CTI server 116 that causes the CTI server 116 to instruct the telephony switch 110 to perform the indicated telephony request. For example, in the case of a Dial request, the virtual phone server 118 sends data to the CTI server 116 that causes the telephony switch 110 to dial the telephone number requested by the agent.
  • step 1470 the processing proceeds to step 1480.
  • step 1480 the virtual phone server 118 sends a data packet 128 to the virtual phone applet at the computer terminal 106-1.
  • the data packet 128 includes information indicating that the telephony request has been completed successfully with the proper data for the event (e.g., FWD mode or FWD extension).
  • step 1490 the virtual phone applet then acts on the data packet 128 as appropriate (e.g., to call a JavaScript function) to cause the computer terminal 106-1 to provide the appropriate indication that the telephony request has been performed.
  • step 1470 determines in step 1470 that the telephony request was not successfully performed
  • the flow of operations proceeds to step 1430.
  • the virtual phone server sends a data packet 128 including an error message to the virtual phone applet at the computer terminal 106-1.
  • the virtual phone applet then processes the error message as appropriate to, for example, cause an error message to be displayed on display screen 108-1.
  • the virtual phone server determines in step 1420 whether the data packet 128 sent from the virtual phone applet at computer terminal 106-1 indicates a log-out request.
  • a log-out request is generated in the following manner.
  • the agent can click on the agent status button 138 in the toolbar 130 shown in Fig. 6.
  • the agent status button 138 is clicked, the virtual phone applet causes the computer terminal 106-1 to display an agent status display 168 on the display screen 108-1 as shown in Fig. 17. The agent can then change his or her password as appropriate, or log out of the virtual phone application.
  • the agent decides to log out of the virtual phone application, the agent clicks on the "LogOut” button. By doing so, the virtual phone applet sends to the virtual phone server 118 a data packet 128 including information indicating a logout request. If the virtual phone server 118 determines in step 1420 (Fig. 16) that a valid log-out request has been made, the flow of operations proceeds to step 1500 in Fig. 18, where the virtual phone server 118 will begin to process the log-out request. Specifically, in step 1510, the virtual phone server 118 will "destroy" the server side virtual telephony device created for that agent during the log-in request (See Fig. 3 above).
  • step 1530 the virtual phone server 118 sends a data packet 128 to the virtual phone applet at computer terminal 106-1, indicating that the log-out should be processed.
  • step 1540 the virtual phone applet then processes the logout operation by, for example, calling a JavaScript function which in turn enables the Web browser to display an appropriate log-out message.
  • step 1550 the virtual phone applet 106-1 then closes the socket connection with the virtual phone server 118. The agent is then completely logged out of the system 100.
  • step 1560 the virtual phone server 118 sends an error message in a data packet 128 to the virtual phone applet at terminal 106-1.
  • the virtual phone applet can then process this error message as appropriate in step 1570, such as by calling a JavaScript function which in turn enables the Web browser to display an error message on the display screen 106-1.
  • the processing can then return to step 1400, where the virtual phone server 118 awaits another data packet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A method and system, for use with a plurality of computer terminals in a call center environment, which enables the computer terminals (106-1 through 106-m) to receive and display telephony information as well as initiate telephony activity. Each of the computer terminals (106-1 through 106-m) is associated with a respective telephone station (104-1 through 104-m) connected to a telephony switch (110), and includes a display screen (108-1 through 108-m) and a processor running a web browser application (109-1 through 109-m). The system and method establishes with each computer terminal (106-1 through 106-m) a communication connection over which telephony-related data is transferred between an applet resident in and used by the web browser (109-1 through 109-m) running at the computer terminal (106-1 through 106-m), and an application server (118). When telephony-related activity is performed by the switch (110) or computer terminal (106-1 through 106-m), telephony data is exchanged between a selected computer terminal (106-1 through 106-m) and the application server (118) over the respective communication connection. The telephony data is in a format that can be acted upon by the web browser (109-1 through 109-m) to cause the computer terminal (106-1 through 106-m) to control its display screen (108 through 108-m) to display telephony-related information based on the telephony data.

Description

METHOD AND SYSTEM FOR ENABLING COMPUTER
TERMINALS IN A CALL CENTER ENVIRONMENT TO DISPLAY AND
PERFORM TELEPHONY RELATED FUNCTIONS
BACKGROUND OF THE INVENTION
Field of the Invention:
The present invention relates to method and system for enabling a plurality of computer terminals in a call center environment to display and perform telephony related operations. More particularly, the present invention relates to a method and system which operates in conjunction with any Java-enabled web browser application installed in each of a plurality of computer terminals in a call center environment, to exchange with the computer terminals data having a format that can be used by the web browser to enable the computer terminals to receive and display information pertaining to telephony-related operations and to initiate telephony operations. Description of the Related Art:
Many businesses, such as commercial retailers, financial institutions, banks, lending companies, credit card companies, telemarketing companies, and so on, employ customer service representatives or agents who assist customers by telephone. Generally, the agents are grouped together into what is commonly known as a "call center". Typically, each agent is assigned to a telephone having a particular extension number. The telephones are connected to a telephony switch, such as a private branch exchange (PBX), or to an automatic call distributor (ACD), which functions to distribute incoming calls to the agents.
A call center will typically have one or more telephone numbers, which may be toll-free numbers, that customers can call to place a purchase order, register a complaint, or conduct other business with an agent. When the telephony switch receives an incoming call, the telephony switch searches for an extension number that is available, and transfers or switches the incoming call to that extension number. The phone assigned to that extension number rings, and when the receiver is taken off-hook by the agent, the agent is connected with the incoming call.
The agent can then take the caller's information over the phone, and manually enter that information into a computer terminal. The information is then handled in the appropriate manner by the computer system assigned to the call center. For example, if the caller wishes to place an order, the agent may enter the information in a computer-generated order form which appears on the agent's computer display screen. Also, if the caller is a repeat customer, the agent can use the computer terminal to access the caller's profile or information, based on the caller's name, telephone number, credit card number, or the like.
In recent years, technology has evolved to enable computer terminals in call centers to display information in response to incoming calls being handled by the telephony switch. For example, a paper by Dialogic Corporation entitled "An Introduction to Computer Telephony", published in IEEE Communications Magazine in May 1996, describes a computer telephony system which controls an agent's computer terminal to display or "pop up" certain information in response to an incoming telephone call routed to that agent. That is, when the incoming call is received at the agent's telephone, the system also sends a corresponding telephony event message to the agent's computer terminal. The telephony event message is processed by a program running at the agent's computer terminal, which enables the program to retrieve desired data from a database. The computer terminal displays the retrieved information on the computer display screen when the agent answers the incoming call. The agent can receive information over the phone from the caller, and enter that information into the computer terminal at the appropriate positions on the display screen. The agent can also use the information displayed on the display screen to assist the caller with a particular problem.
Although some known computer telephony call centers provide some benefit in enabling the agent's computer terminals to more readily access certain caller information, the known computer telephony call centers have certain drawbacks. For example, these systems generally require that the software be installed at each of the agent computer terminals be compatible with the program interacting with the telephony switch. Accordingly, if the software or program is revised or updated, new software must be installed at each computer terminal. This process can become very time consuming and costly, especially in large call centers having several dozen or even hundreds of agents.
In addition, these types of software applications are "platform specific", meaning that they are only compatible with specific types of operating systems (e.g., Microsoft, UNIX or Macintosh compatible software). In this event, if the company switches from Microsoft to Macintosh systems, for example, the software becomes unusable on the new systems.
Furthermore, some known call center computer telephony systems are limited in the amount of information that they can be provided directly from the caller to the computer terminal, through voice responses or touch-tone entries. For example, many call centers use telephony switches which have either automated attendant or interactive voice response (IVR) capabilities that provide recorded menu messages to callers before transferring the caller to an agent. A recorded message may ask the caller to say, or to enter via the caller's touch-tone telephone keypad, an account number, a credit card number, and so on, prior to transferring the call to an agent.
If the automated attendant or IVR system can service the call, the call then may be transferred to an agent upon a request by the caller (e.g., by the entry of a particular character on the caller's touch-tone key pad). However, when the call is transferred to an agent, the system may be incapable of transferring any or all of the information that the caller has already entered. Therefore, the agent must again ask the caller for an account number, credit card number, and so on, which increases the overall call servicing time and thus reduces the number of calls that the agent can handle per hour, while also causing customer aggravation.
A need therefore exists for a computer telephony system for use, in particular, in a call center environment, which increases the overall efficiency of the call center, is not platform specific, and allows for convenient installation of revisions, upgrades and modifications.
SUMMARY OF THE INVENTION
An object of the present invention is to provide an efficient, non-platform specific method and system for enabling a plurality of computer terminals in a call center environment to display and perform telephony related operations.
A further object of the invention is to provide a method and system, for use with a plurality of computer terminals in a call center environment, which establishes a communication link between the computer terminals and a telephony switch to enable telephony data to pass efficiently between the computer terminals and the telephony switch so that the computer terminals can display and receive telephony information as well as initiate telephony activity.
A further object of the invention is to provide a method and system, for use with a plurality of computer terminals in a call center environment, which operates in conjunction with any Java-enabled web browser application servicing the computer terminals to exchange with the computer terminals telephony data in a format that can be used by the web browser application to enable the computer terminals to receive and display telephony information from a telephony switch and to initiate telephony activity.
These and other objects of the invention are substantially achieved by providing a method and system, for use with a plurality of computer terminals in a call center environment, which enables the computer terminals to receive and display telephony information as well as initiate telephony activity. Each of the computer terminals is associated with a respective telephone connected to a telephony switch. Each computer terminal also includes a display screen and a processor running or otherwise being serviced by a Java-enabled web browser application. The system and method establishes with each computer terminal a communication connection over which telephony-related data is transferred between an application server and an applet, for example, a Java applet, which is an application that runs within the web browser and is being used by the web browser servicing the computer terminal. When telephony-related activity is performed by the switch or computer terminal, telephony data is exchanged between a selected computer terminal and the application server over the respective communication connection. The telephony data is in a format that can be used by the web browser application servicing the computer terminal to cause the computer terminal to control its display screen to display telephony-related information based on the telephony data.
For example, when a computer terminal is controlled to perform a telephony-related activity, such as placing an outgoing call, the system and method enables the computer terminal to display a "virtual telephone" on the display screen to enable a user to enter telephony related data at the computer terminal. When a dial command is given, the entered telephony data is provided in a data packet over the communication connection to the application server, which in turn causes the switch to generate the telephone call. The system and method can be used to control a computer terminal to perform other common telephony activities, such as dialing, answering, hanging-up, conference calling, call forwarding, and so on. The system and method can further provide the computer terminal with data that is retrieved from a database based on data included in the telephony data, so that the web browser application can enable the computer terminal to display information pertaining to the retrieved data.
BRIEF DESCRIPTION OF THE DRAWINGS
The various objects, advantages and novel features of the invention will be more readily appreciated from the following detailed description when read in conjunction with the accompanying drawings, in which:
Fig. 1 is a schematic diagram of an example of a call center system operating in accordance with an embodiment of the present invention, to enable the computer terminals in the system to receive and display telephony-related operations and initiate telephony activity;
Fig. 2 is a block diagram of a plurality of activity layers in the system shown in Fig. 1;
Fig. 3 is a flowchart illustrating the operations performed by the system shown in Fig. 1 when an agent logs into the virtual phone server of the system;
Fig. 4 is an example of a screen display displayed on a computer terminal display screen in the system shown in Fig. 1 to enable an agent to log into the system ;
Fig. 5 is an example of a data packet transferred between the computer terminals and an application server in the system shown in Fig. 1;
Fig. 6 is an example of a toolbar displayed on a computer terminal display screen in the system shown in Fig. 1 to enable an agent to use the computer terminal to perform telephony-related operations;
Fig. 7 is a flowchart illustrating exemplary steps performed by the system of Fig. 1 in response to a telephony switch event; Fig. 8 is a flowchart illustrating exemplary steps performed by the system shown in Fig. 1 in response to an incoming call;
Fig. 9 is an example of a display screen which is displayed on the display screen of a selected computer terminal of Fig. 1 in response to an incoming call handled by the system in the manner illustrated by the flowchart of Fig. 8;
Fig. 10 is an example of a virtual phone display generated on a display screen of a computer terminal in the system shown in Fig. 1;
Figs. 11 through 13 are examples of phone state symbols displayed on the virtual phone display shown in Fig. 10 when the virtual phone is on-hook, ringing, and off-hook, respectively;
Fig. 14 is an example of a speed-dial menu displayed in response to selecting the speed dial menu displayed on the virtual phone display shown in Fig. 10;
Fig. 15 is an example of a call forwarding menu displayed in response to selecting the call-forwarding menu option displayed on the virtual phone display shown in Fig. 10;
Fig. 16 is a flow chart illustrating exemplary steps performed by the system shown in Fig. 1 in response to a telephony request initiated via the virtual phone display shown in Fig. 10;
Fig. 17 is an example of an agent status display screen generated in response to an agent status button in the toolbar shown in Fig. 6 to initiate a log-out operation; and
Fig. 18 is a flow chart illustrating exemplary steps performed by the system shown in Fig. 1 in response to a log-out request initiated, for example, via the agent status display screen shown in Fig. 17.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 1 is a schematic illustration of a system 100 for operating a call center employing virtual phone technology according to an embodiment of the present invention. The call center includes a plurality of agent workstations 102-1, 102-2 . . . 102-n which are each operated by an agent, such as a customer service representative or the like. Each agent workstation 102-1 through 102-n includes a respective keypad-type telephone station 104-1 through 104-n (hereinafter referred to as a "telephone") and a respective computer terminal 106-1 through 106-n. The telephones 104-1 through 104-n can each include a standard telephone handset, or alternatively can include a headset including an earphone and a microphone.
A unique extension number is assigned to each telephone 104-1 through 104- n. In this example, sequential three-digit extension numbers "100", "101" . . . "nnn" are assigned to telephones 104-1, 104-2. . . 104-n, respectively. However, the extension numbers can be assigned in any manner, and can include any desired number of digits. The computer terminals 106-1 through 106-n each include a respective display screen 108-1 through 108-n, and standard required hardware such as a CPU, ROM, RAM and so on.
To enable the virtual phone technology to operate properly in this example, each computer terminal 106-1 through 106-n should include, or otherwise have access to, a Java-enabled web browser with a Java Virtual Machine supporting version 1.1.4 or better of Java. Netscape 4.06 or better and Microsoft Internet Explorer 4.72.2106.8 or better both meet this requirement. Hot Java also can be a suitable web browser.
As further shown in Fig. 1, the telephones 104-1 through 104-n are connected to a telephony switch 110, such as an ACD known in the art. The telephony switch 110 is connected to the public switched telephone network (PSTN) 112, which is in turn connected to residential, commercial and public telephones. An exemplary telephone of the caller type is shown as a customer telephone 114. For purposes described below, the telephony switch 110 can include interactive voice response (IVR), or other automated attendant features, which provide a caller with voice instructions to enter information pertaining to the manner in which the call should be handled by the telephony switch 110.
The telephony switch 110 is further connected to computer telephony integration (CT1) server 116 by a CTI link, the functions of which are described below. The computer terminals 106-1 through 106-n and CTI server 116, along with a virtual phone server 118, intranet/extranet www server 120 and customer record database 122 are coupled to a local area network (LAN) or wide area network (WAN) 124, and thus communicate with each other over the LAN/WAN 124. The functions of the CTI server 116, virtual phone server 118, www intranet/extranet server 120, and customer record database 112, and LAN/WAN 124 are described in detail below.
For example, the virtual phone server 118 could include a Pentium II 266 MHz processor and at least 64 MB of RAM, although a Pentium II 450 MHz processor and 128 MB of RAM would be preferable. The virtual phone server 118 in this example also includes, for example, at least one parallel port, a network interface card, at least 4 GB free hard drive space, and a Windows NT Server 4.0.
Additionally, the CTI server 116 in this example can be embodied as Dialogic CT-Connect Version 2.0 software, which can be installed anywhere in the system 100 (e.g., in the same physical unit as the virtual phone server 118). Also, in this example, a database with a compliant JDBC Driver, and a Web server which is HTTP compliant, should be installed in the same physical machine (i.e., in the same computer) in which the virtual phone server 118 is installed.
As described in more detail below, the virtual phone technology enables the computer terminals 106-1 and 106-n to display on their respective display screens 108-1 through 108-n information pertaining to relevant telephony activity or events occurring at the telephony switch 110. Furthermore, the virtual phone technology enables the computer terminals 106-1 through 106-n to display on their respective display screens 108-1 through 108-n a simulated telephone keypad, as well as other features associated with a conventional touch-tone telephone, such as a hold button, call transfer button, and so on. This simulated telephone keypad display enables the agents to use their respective computer terminals 106-1 through 106-n both to handle incoming telephone calls and to initiate outgoing telephone calls.
Fig. 2 is a block diagram illustrating the relationship between the communication layers established in the system 100 by the virtual phone technology. As shown, the system 100 includes a telephony layer in which telephony signals are transmitted between the telephony switch 110 and telephones 104-1 through 104-n of the agent workstations 102-1 through 102-n, respectively. The system 100 also includes a data layer in which transmission control protocol/internet protocol (TCP/IP) socket connections are established over the LAN/WAN 124 between the virtual phone server 118 and the virtual phone applets (e.g., a Java applet) are resident in the respective web browser applications 107-1 through 107-n running on their respective computer terminals 106-1 through 106-n. As discussed in more detail below, telephony data is transferred between the virtual phone server 118 and virtual phone applets over the socket connections in the form of data packets which can be used by the virtual phone applets to cause the computer terminals 106-1 through 106-n to perform operations based on the content of the data packets.
The system 100 further includes a synchronization layer in which the CTI server 116, working through the virtual phone server 118, helps coordinate the telephony switch 110 signals to and from the virtual phone applets 107-1 through 107-n. Data pockets 128 representing the telephone signals are transmitted between the virtual phone server and the virtual phone applets 107-1 through 107-n resident in the web browser applications running on the computer terminals 106-1 through 106-n.
As discussed above, the virtual phone technology according to an embodiment of the present invention enables the agents to use their respective computer terminals 106-1 through 106-n both to control handle incoming telephone calls and to initiate outgoing telephone calls. The flow of operations performed by the system 100 to accomplish these operations will now be described.
In order for any computer terminal 106-1 through 106-n to utilize the virtual phone technology, the agent assigned to that computer terminal must start the web browser servicing that computer terminal, and log onto the virtual phone application. These steps are exemplified in the flowchart shown in Fig. 3, which illustrates the flow of operation that occurs when the log-on process is performed at any computer terminal 106-1 through 106-n. For exemplary purposes, the steps shown in the flowchart of Fig. 3 will be discussed with regard to agent workstation 102-1, which includes telephone 104-1, computer terminal 106-1 and its associated display screen 108-1, with the Java enabled web browser application being run on computer terminal 106-1.
A computer terminal (e.g., computer terminal 106-1) running an operating system, such as Windows NT, capable of running a Java enabled web browser application (hereinafter "web browser"), such as Netscape, will be controlled by the Web browser to display a plurality of icons on its display terminal 108-1 when the Web browser is opened in step 1000. The web browser can be configured to include among the icons a specific icon which, when "clicked" (i.e., pointed to and selected by the computer's mouse), causes the web browser to request an html page which contains virtual phone applet from, for example, the WWW server 120. As discussed above, the virtual phone applet is a Java applet that runs within the Web browser and which can be used by the Web browser running on the computer terminal 106-1.
When an agent instructs the Web browser to request a virtual phone applet by clicking on the appropriate displayed icon, the flow of operation proceeds to step 1010, during which the WWW server 120 downloads the virtual phone applet over the LAN/WAN 124 to the computer terminal 106-1. Once the virtual phone applet has been downloaded, the flow of operation proceeds to step 1020, where the applet is acted upon by the Web browser to open a log-in display 126 on display screen 108-1, as shown in Fig. 4. The processing then proceeds to step 1030 where the Web browser will await entry of log-in information by the agent.
As indicated, the log-in display 126 enables an agent to enter information such as his or her username, a password, and the extension number assigned to the telephone (telephone 104-1 in this example) of the agent's workstation (workstation 102-1 in this example) in the appropriate fields in the log-in display 126. Once the appropriate information has been entered, the agent can click the "Log-in" button in the log-in display 126. Alternatively, at any time, the agent can click the "Bypass" button in the log-in display 126, which causes the Web browser to bypass the log-in process.
Clicking of the Log-in button causes the Web browser to transmit the entered agent information over the LAN/WAN 124 to a security server which can be, for example, part of the WWW server 120, or can be located at any other appropriate place in the system 100. Upon receiving the agent information, the security server in step 1040 verifies that the agent's username and password are correct, and recognizes that that agent is attempting to log onto workstation 102-1. However, if the security server determines that the username and password are incorrect, the security server will send data to the computer terminal 106-1, which will be used by the Web browser to display an appropriate message on the display screen 108-1.
Once the username and password have been verified, the flow of operations proceeds to step 1050 during which the virtual phone applet at the computer terminal 106-1 establishes a socket connection (as shown in Fig. 2) with the virtual phone server 118. As discussed in more detail below, the virtual phone server 118 and the virtual phone applet communicate with each other over the LAN/WAN 124 via the socket connection.
When the socket connection has been established, the flow of operations proceeds to step 1060 where the virtual phone applet will send a log-in request to the virtual phone server 118 over the socket connection. The log-in request is sent from the virtual phone applet to the virtual phone server 118. An acknowledgement message (error or success data packet) is sent back to the virtual phone applet in the form of a data packet 128.
Fig. 5 shows an example of the information included in a data packet 128 which is transmitted from the virtual phone applet at the computer terminal 106-1 to the virtual phone server 118 and vice- versa over the socket connection. A data packet 128 includes "Transld" data identifying the transaction, "Version" data representing the version of the data packet 128, and "CTIEvent# " data representing an event code. For example, an event code beginning with "0" (meaning integer event codes, such as "0", "1", and so on) can represent a startup or shutdown message. An event code beginning at "1000" (e.g., "1000", "1001" and so on) can represent a message being sent from the virtual phone server 118 to the virtual phone applet at the computer terminal 106-1. An event code beginning at "2000" (e.g., "2000", "2001" and so on) can represent a message being sent from the virtual phone applet at computer terminal 106-1 to the virtual phone server 118.
The data packet 128 further includes error code data "ErrCode" representing an error code for a telephony request, "EventTime" data representing the time stamp at which the event or request occurred, and "PhoneExt" data representing the particular one of the telephones 102-1 through 102-n associated with the computer terminal 106-1 through 106-n to or from which the data packet 128 is being sent. Additionally, a data packet 128 includes "NumberOfBuffers" data representing an integer count of the number of buffers in the data packet 128, and "Buffers" data representing the buffers in the data packet 128.
Accordingly, the data packet 128 sent to the virtual phone server 118 as a log-in request includes a CTIEvent# event code indicating that the agent is seeking to log into the system 100 to perform telephony operations, and also includes other information indicated above, such as the agent's phone extension number (in the PhoneExt data portion of the packet) and so on. The virtual phone server 118 will then act on the log-in request, and create a server-side virtual telephony "device" in step 1070. In doing so, the virtual phone server 118 will recognize that the virtual phone applet at computer terminal 106-1 is associated with the phone extension of phone 104-1.
If the virtual phone server 118 determines in step 1080 that the creation of the server-side virtual phone device in step 1070 was not successful, the flow of operation proceeds to step 1090, during which the virtual phone server 118 sends notification that the log-in attempt has failed in the form of a data packet 128 to the virtual phone applet over the socket connection. This data packet notification to the virtual phone applet causes the Web browser to display an appropriate message on display terminal 108-1. The flow of operations then returns to step 1030, where the agent can re-enter the log-in information in the log-in display 126.
However, if creation of the server-side virtual phone in step 1070 was successful, the virtual phone server 118 sends successful notification in a data packet to the virtual phone applet in step 1100. The computer terminal 106-1 is then ready to handle switch events and perform telephony-related operations as will be discussed in more detail below.
Specifically, when the virtual phone applet at the computer terminal 106-1 receives a data packet sent from the virtual phone server 118 indicating that the server-side virtual telephony device has been successfully created, the virtual phone applet is acted upon by the Web browser so that the Web browser displays a toolbar 130 on display screen 108-1 as shown, for example, in Fig. 6. Toolbar 130 includes a plurality of buttons 132 through 140 as indicated. Virtual phone button 132 enables the agent to access the virtual telephone to perform telephone functions as described in more detail below. The other tool buttons 134 through 140, which are not discussed in detail herein, are the call outcome button 134, wrap up button 136, agent status button 138, and help button 140. Call outcome button 134 enables an agent to report on the outcome of a call, such as providing an indication whether the agent connected with a contact (i.e., successfully placed a call to a desired contact), and to record the results of the call. Wrap up button 136 enables the agent to notify the system 100 that he or she is available to receive a call, and that the agent has finished a call and is completing any associated wrap-up activities. Agent status button 138 allows the agent to log in or out of the system, and to change his or her password. Help button 140 generates information on display screen 108-1 describing, for example, the operations of the tool buttons 132-140, and other useful information relating to the virtual phone and call center.
The toolbar 130 further includes a session time section 142, call time section 144, and talk time section 146. The session time section 142 displays the total time that the agent has been logged into the system, and resets to zero when the agent logs out. The call time section 144 displays the total amount of time that the agent has been on a call, and the talk time section 146 displays the amount of time that the agent has been talking with the contact (calling or called party). For incoming calls, the time displayed in the call time section 144 will be the same as the time displayed in the talk time section 146.
The handling of switch events and telephony requests will now be described. As indicated in Fig. 3, the system 100 monitors for switch events and telephony requests in parallel, and will handle them as they occur. For exemplary purposes, the flow of operation that occurs in response to a switch event will first be discussed.
As shown in the flowchart of Fig. 7, the system 100 and, in particular, the virtual phone server 118, will wait in step 1200 until a telephony switch event occurs at the telephony switch 110. For example, if the switch 100 receives an incoming call, which is a telephony switch event, the flow of operation will proceed to step 1210. In step 1210, the virtual phone server 118 sends a data packet 128 to the virtual phone applet at the computer terminal in the workstation to which the switch 110 transferred the incoming call. The flow of operations then proceeds to step 1220, during which the applet causes the web browser to process the event in the appropriate manner.
Further details of the flow of operations in which the system 100 handles a telephony switch event will now be described in connection with the flowchart shown in Fig. 8. For exemplary purposes, the flow of operations is described with regard to an incoming call telephony switch event. However, it is noted that a similar flow of operations occurs for other telephony switch events, such as a telephone 104-1 through 104-n going off hook.
As shown in step 1300, when a customer telephone 114 places a call to the call center, the call is received at the telephony switch 110. In step 1310, the telephony switch 110 answers the call, and preferably initiates an interactive voice response unit (IVR) or automated attendant. The IVR or automated attendant provides the caller with voice instructions requesting further information that the caller can provide via, for example, the caller's touch-tone keypad. Such information can include the caller's social security number, an account number, a credit card number, and so on. The IVR or automated attendant includes or has access to a data store which stores the information provided by the caller. Additionally, the IVR or automated attendant stores caller-ID (AN1) information indicating the caller's telephone number, and called number information (DNIS) indicating the telephone number assigned to the call center that the caller dialed.
The IVR or automated attendant may also provide the caller with a voice instruction enabling the caller to request a transfer to an agent; per the caller's request the call would be transferred to an agent. The telephony switch 110 either transfers the call to a specific agent telephone extension (e.g., as designated by the caller), or to an ACD hunt group which searches for and transfers the call to an available agent.
When the telephony switch 110 transfers the incoming call to an agent, the agent's telephone (e.g., telephone 104-1 at workstation 102-1) will ring. The telephony switch 110 also provides data via the CTI link to the CTI server 116. That data signal includes data representing the extension (e.g., ext. 100) of the agent's telephone to which the telephony switch 110 transferred the call, as well as ANI and DNIS.
In step 1320, the CTI server 116 interprets the data received from the telephony switch 110 as an inbound call transferred to the corresponding extension. In step 1330, the CTI server 116 then provides data via LAN/WAN 124 to the virtual phone server 118. The data provided to the virtual phone server includes data representing the extension number, as well as the DNIS and ANI. It is noted that steps 1300 through 1330 are performed by the telephony switch 110 and CTI 116 while the virtual phone server 118 is in the "wait for telephony" mode of operation as shown in step 1200 in Fig. 7.
In step 1340 of Fig, 8, the virtual phone server 118 sends inbound call event data to the computer terminal 106-1 in a data packet 128 (see Fig. 4) over the socket connection which was already established between the virtual phone server 118 and virtual phone applet at computer terminal 106-1 as described above. The inbound call event data includes data representing the extension number, as well as the DNIS and ANI. This step in Fig. 8 essentially corresponds to step 1210 in Fig. 7.
In step 1350, the virtual phone applet at computer terminal 106-1 receives the inbound call event data packet 128. The virtual phone applet uses the information contained in the parameters of the data packet 128 to obtain information entered by the caller in response to the IVR, which has been stored in the data store. Furthermore, the information contained in the buffers of the inbound call event data packet 128 is used by the virtual phone applet to trigger an event in the web browser (e.g., by calling a JavaScript function via LiveConnect, or by using Java Beans, and so on). In this example, the virtual phone applet calls the JavaScript function that is used to perform operations relevant to an incoming call. It is noted that all of the JavaScript functions have previously been loaded into the computer terminal 106-1 with the html page containing the applet as discussed above with regard to step 1010 in Fig. 3. Hence, if a different telephony switch event had occurred, such as the phone 104-1 going off hook, the data packet 128 would have included information pertaining to the off hook occurrence. In this event, the virtual phone applet would have called the JavaScript function that performs operations relevant to an off hook event.
In step 1360, the JavaScript function associated with an incoming call telephony switch event requests a CGI program on the intranet/extranet WWW server 120, which can retrieve additional data from the customer record database 122 based on the data in the processed data packet 128. For example, the CGI program can request data pertaining to prior activity involving the caller. Also, if the call center is being used by a retailer or other commercial institution, the CGI program can request from the database 122 data pertaining to a customer order form. In this example, the data requested represents customer purchase history information about the caller.
Once the CGI program retrieves the appropriate data in step 1370, the CGI program uses the retrieved data to create an HTML page. In step 1380, the HTML page is received at the computer terminal 106-1. For example, as shown in Fig. 9, the display screen 108-1 can display a caller information page 148 including information such as the caller's name and telephone number, address, the called number, and prior activity. The virtual phone applet causes the computer terminal 106-1 to display the caller information page 148 on the display screen 108-1 prior to the agent answering the incoming call, which can be accomplished by the telephone 104-1 or via the virtual phone application as described in more detail below.
In step 1390 in Fig. 8, the agent can then handle the call as appropriate. For example, the agent can enter into the computer 106-1 additional information provided by the caller, such as purchase information, customer comments, and so on. As described in more detail below, the agent can also transfer the caller to another extension, place the caller on hold, enter into a conference call between the caller and another party, and so on, through the use of the telephone 104-1 or the virtual phone application. Also, once the call is completed, the agent can use the telephone 104-1 or virtual phone application to release the call and hang up. The agent is then ready to receive another call, or perform other telephony or call- related activity.
As discussed above, the virtual phone application enables an agent to use the computer terminal 106-1 to perform telephony functions such as initiating a call, transferring a call, placing a call on hold, and so on. This process will now be described.
As shown in Fig. 6, toolbar 130 includes a telephone button 132 which the agent can click to perform telephony operations. The toolbar 130 remains resident in the Web browser at the computer terminal 106-1 during the entire time that the agent is logged into the virtual phone applet. Therefore, even if the display screen 108-1 is displaying a received call display screen 148 as shown in Fig. 9, the toolbar 130 remains active.
If the agent clicks on the telephone button 132, the virtual phone display 150 appears on the display screen 108-1 as shown in Fig. 10. The virtual phone display 150 can also be automatically displayed in response to an incoming call. As indicated, the virtual phone display 150 resembles a touch-tone telephone keypad in that it includes alphanumeric keys and command keys such as hold, do not disturb, call forwarding, call transfer, and so on. The virtual phone display 150 also displays the agent's username and telephone extension, and a phone symbol 152 indicating the status of the virtual phone (onhook, offhook and ringing). The virtual phone display 150 can be used in conjunction with the telephone 104-1 to enable the agent to perform telephony operations. However, even if the virtual phone display 150 is used exclusively to perform telephony operations, the telephone 104-1 must remain connected to the telephony switch 110 to enable the agent to transmit and receive voice communications to and from the telephony switch 110 via the telephone handset or headset. For purposes of this explanation, it will be assumed that the virtual phone is used to perform all telephony requests.
As shown in Fig. 11, if the virtual phone is on-hook, meaning that the agent is not on a call, the phone symbol 152 resembles a phone that is on-hook. However, if a call is being received at the virtual telephone, the virtual phone application causes the phone symbol 152 to move as shown in Fig. 12, giving the appearance of a ringing phone. When the agent answers the incoming call or takes the virtual phone off-hook to place an outgoing call, the application causes the phone symbol 152 to resemble an off-hook phone as shown in Fig. 13.
The "Answer" button on the virtual phone display 150 enables an agent to answer an incoming telephone call. The "Dial" button enables an agent to place a call after using the the numerical key pad on the virtual phone display or computer keyboard. Alternatively, the agent can select the "Speed Dial" menu on the virtual phone display 150, which displays on the display screen 108-1 a list 156 of preprogrammed telephone numbers stored in a data store accessible by the virtual phone applet as shown in Fig. 14. When the agent selects a desired speed dial name, the corresponding number appears in the telephone number field 154, and can be dialed by clicking on the "Dial" button.
By clicking the consultation call button (CNSLT), the agent can place a consultation call to a third party. The original call is suspended (placed on hold) during the consultation call. When the agent is finished with the consultation call, the agent can either return to the original call, or create a conference call between the agent, the caller and the third party by clicking the conference call button (CONF). Any participant, including the agent, can leave the conference call by hanging up.
The agent also can perform a blind transfer by clicking the blind transfer button (XFER), which transfers a call to a third party without initiating contact between the third party and agent. The "Redial" button on the virtual phone display 150 automatically redials the last number dialed.
Also, the indicator 158 next to the MSG button is lit if there are messages waiting. The do not disturb (DND) button blocks calls from ringing at the agent's workstation. When the DND button is clicked, the adjacent indicator 158 becomes lit, indicating that the DND function has been set on. In that event, a caller calling the agent's extension receives a busy signal.
The agent can also forward calls by clicking the forward call button (FWD). Call forwarding will be set according to settings entered into the call forwarding display 160 as shown in Fig. 15. The call forwarding display 160 displays in the forward window 162 a choice box of codes representing the type of conditions for forwarding calls.
For example, if the code ALL is selected, all calls coming to the agent's extension are forwarded to the extension entered by the agent in the forward window 164. If the code EXTBUSY is selected, external calls are forwarded when the agent's extension is busy. If the code EXTNO ANSWER is selected, external calls are forwarded when there is no answer. If the code INTBUSY is selected, internal calls are forwarded when the agent's extension is busy. If the code INTNO ANSWER is selected, internal calls are forwarded when there is no answer. Finally, if the code NOANSWERBUSY is selected, all calls are forwarded when the agent's extension is either busy or there is no answer. When the call forwarding process has been set to on, the indicator 158 adjacent to the FWD button is lit. In addition, the agent can also click the "Hold" button to place a call on hold. When the Hold button is clicked and the call is placed on hold, the indicator adjacent the Hold button is lit.
An example of the operations performed by the system 100 when any telephony request on the virtual phone display is requested are shown in the flowchart of Fig. 16. For instance, if the Dial button is clicked on the virtual phone display 150, the virtual phone applet sends a data packet 128 (Fig. 4) over the socket connection to the virtual phone server 118. As indicated in step 1400, if no telephony request (and likewise no telephony switch request as in Fig. 7) has been received by the virtual phone server 118, the virtual phone server 118 is in a wait state. Once the virtual phone server 118 receives the data packet 128 from the virtual phone applet, the virtual phone server 118 determines in steps 1410 and 1420 whether the information in the fields of the data packet 128 represents a telephony request or a log-out request. In step 1410, the virtual phone server 118 also validates whether the data packet 128 includes data representing a valid telephony request (e.g., a valid event code number).
If the information in the data packet 128 does not indicate a valid telephony request or a log-out request, the flow of operations proceeds to step 1430 where the virtual phone server 118 sends a data packet 128 including an error message to the virtual phone applet at the computer terminal 106-1. The virtual phone applet can then processes this error message as appropriate in step 1440, such as by calling a JavaScript function which in turn can enable the Web browser to display an error message on the display screen 106-1. The processing then returns to step 1400, where the virtual phone server 118 awaits another data packet.
Alternatively, if the virtual phone server 128 determines in step 1420 that the information in data packet 128 indicates a log-out request, processing continues in order to perform the log-out request as described below. However, if the virtual phone server 128 determines in step 1410 that the data packet 128 indicates a telephony request, such as Dial, DND, or the like, the processing proceeds to step 1450 where the virtual phone server accesses the server side telephony device created during the log-in process discussed above with regard to Fig. 3.
The virtual phone server 118 then sends data to the CTI server 116 that causes the CTI server 116 to instruct the telephony switch 110 to perform the indicated telephony request. For example, in the case of a Dial request, the virtual phone server 118 sends data to the CTI server 116 that causes the telephony switch 110 to dial the telephone number requested by the agent.
If the virtual phone server 118 determines in step 1470 that the telephony request has been executed successfully, the processing proceeds to step 1480. In step 1480, the virtual phone server 118 sends a data packet 128 to the virtual phone applet at the computer terminal 106-1. The data packet 128 includes information indicating that the telephony request has been completed successfully with the proper data for the event (e.g., FWD mode or FWD extension). In step 1490, the virtual phone applet then acts on the data packet 128 as appropriate (e.g., to call a JavaScript function) to cause the computer terminal 106-1 to provide the appropriate indication that the telephony request has been performed.
However, if the virtual phone server 118 determines in step 1470 that the telephony request was not successfully performed, the flow of operations proceeds to step 1430. In this event, the virtual phone server sends a data packet 128 including an error message to the virtual phone applet at the computer terminal 106-1. The virtual phone applet then processes the error message as appropriate to, for example, cause an error message to be displayed on display screen 108-1.
As discussed above, the virtual phone server determines in step 1420 whether the data packet 128 sent from the virtual phone applet at computer terminal 106-1 indicates a log-out request. A log-out request is generated in the following manner.
When an agent is logged in and wishes to log out (or to change his or her password), the agent can click on the agent status button 138 in the toolbar 130 shown in Fig. 6. When the agent status button 138 is clicked, the virtual phone applet causes the computer terminal 106-1 to display an agent status display 168 on the display screen 108-1 as shown in Fig. 17. The agent can then change his or her password as appropriate, or log out of the virtual phone application.
If the agent decides to log out of the virtual phone application, the agent clicks on the "LogOut" button. By doing so, the virtual phone applet sends to the virtual phone server 118 a data packet 128 including information indicating a logout request. If the virtual phone server 118 determines in step 1420 (Fig. 16) that a valid log-out request has been made, the flow of operations proceeds to step 1500 in Fig. 18, where the virtual phone server 118 will begin to process the log-out request. Specifically, in step 1510, the virtual phone server 118 will "destroy" the server side virtual telephony device created for that agent during the log-in request (See Fig. 3 above).
If the virtual phone server 118 determines in step 1520 that the server side virtual telephony device was successfully destroyed, the flow of operations proceeds to step 1530. In step 1530, the virtual phone server 118 sends a data packet 128 to the virtual phone applet at computer terminal 106-1, indicating that the log-out should be processed. In step 1540, the virtual phone applet then processes the logout operation by, for example, calling a JavaScript function which in turn enables the Web browser to display an appropriate log-out message. In step 1550, the virtual phone applet 106-1 then closes the socket connection with the virtual phone server 118. The agent is then completely logged out of the system 100.
Alternatively, if the virtual phone server 118 determines in step 1520 that the server side virtual telephony device was not properly destroyed, the flow of operations proceeds to step 1560. In step 1560, the virtual phone server 118 sends an error message in a data packet 128 to the virtual phone applet at terminal 106-1. The virtual phone applet can then process this error message as appropriate in step 1570, such as by calling a JavaScript function which in turn enables the Web browser to display an error message on the display screen 106-1. The processing can then return to step 1400, where the virtual phone server 118 awaits another data packet. Although only certain exemplary embodiments of the invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of the invention. Accordingly, all such modifications are intended to be included within the scope of the invention as defined in the following claims.

Claims

What is claimed is:
1. A method for enabling at least one computer terminal to initiate and respond to telephony-related events, said computer terminal being controllable by a web browser application, and being associated with a telephony unit connected to a telephony switch, said method comprising the steps of: providing an applet to said web browser, said applet being usable by said web browser to enable said computer terminal to initiate and respond to said telephony-related events; and causing said web browser to use said applet to display information relating to a specific telephony-related event on a display screen associated with said computer terminal.
2. A method as claimed in claim 1, further comprising the steps of: establishing a communication connection over which telephony data is transferred in data-packet format between said applet and an application server; and transferring telephony-related data in said data-packet format over said communication connection between said applet and said application server in response to said specific telephony-related event.
3. A method as claimed in claim 1, further comprising the step of: generating said specific telephony-related event at said computer terminal.
4. A method as claimed in claim 3, further comprising the steps of: causing said application server to provide control data for controlling said telephony switch in response to said specific telephony-related event generated at said computer terminal.
5. A method as claimed in claim 2, wherein said transferring step transfers said telephony-related data from said applet to said application server when said specific telephony-related event is generated at said computer terminal.
6. A method as claimed in claim 1, further comprising the step of: generating said specific telephony-related event at said telephony switch.
7. A method as claimed in claim 2, wherein said transferring step transfers said telephony-related data from said application server to said applet when said specific telephony related event is generated at said telephony switch.
8. A method as claimed in claim 1, further comprising the step of: causing said applet to retrieve data from a data store based on said specific telephony-related event; and wherein said web browser causing step causes said web browser to display at least a portion of said information based on said retrieved data.
9. A method for enabling a plurality of computer terminals to perform telephony-related operations, each of said computer terminals being controlled by a web browser application with an applet resident therein, and being associated with a respective telephony unit connected to a telephony switch, said method comprising the steps of: when a telephony-related event occurs at said telephony switch, performing the following telephony event-related steps: selecting one of said computer terminals based on said telephony- related event; and causing said application server to provide a first data packet to the said applet resident in the web browser of said selected computer terminal, to cause said web browser to use said applet to display information relating to said telephony-related event; and when a telephony-related request occurs at any of said computer terminals, causing said applet resident in the web browser running of said computer terminal to provide a second data packet to the application server, to cause said application server to provide instruction to said telephony switch to perform a telephony- related operation based on said telephony-related request.
10. A method as claimed in claim 9, further comprising the steps of: prior to performing any of said telephony event-related steps, establishing a first communication connection between said application server and said applet resident in said web browser of said selected computer terminal over which said first data packet is transmitted; and prior to performing said second data-packet providing step, establishing a second communication connection between said application server and said applet resident in said web browser of said computer terminal over which said second data packet is transmitted.
11. A computer readable medium of instructions for enabling at least one computer terminal to intiate and respond to telephony-related events, said computer terminal being controllable by a web browser application, and being associated with a telephony unit connected to a telephony switch, said instructions comprising: a first set of instructions usable by said web browser to enable said computer terminal to initiate and respond to said telephony-related events; and a second set of instructions for causing said web browser to display information relating to a specific telephony-related event on a display associated with said computer terminal.
12. A computer readable medium of instructions as claimed in claim 11, further comprising: a third set of instructions for establishing a communication connection over which telephony data is transferred in data packet format between said medium of instructions and an application server; and a fourth set of instructions for transferring telephony-related data in said data-packet format over said communication connection between said medium of instructions and said application server in response to said specific telephony-related event.
13. A computer readable medium of instructions as claimed in claim 11, further comprising: a fifth set of instructions for generating said specific telephony-related event at said computer terminal.
14. A computer readable medium of instructions as claimed in claim 13, further comprising: a sixth set of instructions for causing said application server to provide control data for controlling said telephony switch in response to said specific telephony-related event generated at said computer terminal.
15. A computer readable medium of instructions as claimed in claim 12, wherein said fourth set of instructions transfers said telephony-related data from said medium of instructions to said application server when said telephony-related event is generated at said computer terminal.
16. A computer readable medium of instructions as claimed in claim 11, further comprising: a seventh set of instructions for causing said specific telephony-related event to be generated at said telephony switch.
17. A computer readable medium of instructions as claimed in claim 12, wherein said fourth set of instructions transfers said telephony-related data from said application server to said medium of instructions when said telephony-related event is generated at said telephony switch.
18. A computer readable medium of instructions as claimed in claim 11, further comprising: causing said applet to retrieve data from a data store based on said specific telephony-related event; and wherein said web browser causing step causes said web browser to display at least a portion of said information based on said retrieved data.
19. A data packet, embodied in a data transmission signal, for enabling a computer terminal associated with a telephone connected to a telephony switch to perform telephony-related operations, said data packet comprising: a first data segment including data which, when used by a web browser application in a computer terminal, enables said computer terminal to respond to and initiate telephony-related activities; and a second data segment including data which, when used by said web browser application in said computer terminal, causes said computer terminal to display information pertaining to said telephony-related activities on a display associated with said computer terminal.
PCT/US1999/004607 1999-03-02 1999-03-02 Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions WO2000052597A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002363725A CA2363725A1 (en) 1999-03-02 1999-03-02 Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions
AU29794/99A AU2979499A (en) 1999-03-02 1999-03-02 Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions
PCT/US1999/004607 WO2000052597A1 (en) 1999-03-02 1999-03-02 Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1999/004607 WO2000052597A1 (en) 1999-03-02 1999-03-02 Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions

Publications (1)

Publication Number Publication Date
WO2000052597A1 true WO2000052597A1 (en) 2000-09-08

Family

ID=22272284

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/004607 WO2000052597A1 (en) 1999-03-02 1999-03-02 Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions

Country Status (3)

Country Link
AU (1) AU2979499A (en)
CA (1) CA2363725A1 (en)
WO (1) WO2000052597A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002060161A2 (en) * 2001-01-23 2002-08-01 Ericsson Inc. Call center with ivr, whereby customer information and call control functions are presented to the agents in web documents
WO2003077139A1 (en) 2001-09-29 2003-09-18 Siebel Systems, Inc. Asynchronous message push to web browser

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2178705A1 (en) * 1995-09-25 1997-03-26 Thomas Howard Bateman Customer contact channel changer
US5870464A (en) * 1995-11-13 1999-02-09 Answersoft, Inc. Intelligent information routing system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2178705A1 (en) * 1995-09-25 1997-03-26 Thomas Howard Bateman Customer contact channel changer
US5870464A (en) * 1995-11-13 1999-02-09 Answersoft, Inc. Intelligent information routing system and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002060161A2 (en) * 2001-01-23 2002-08-01 Ericsson Inc. Call center with ivr, whereby customer information and call control functions are presented to the agents in web documents
WO2002060161A3 (en) * 2001-01-23 2002-10-10 Ericsson Inc Call center with ivr, whereby customer information and call control functions are presented to the agents in web documents
WO2003077139A1 (en) 2001-09-29 2003-09-18 Siebel Systems, Inc. Asynchronous message push to web browser
EP1430412A1 (en) * 2001-09-29 2004-06-23 Siebel Systems, Inc. Asynchronous message push to web browser
EP1430412A4 (en) * 2001-09-29 2008-08-06 Siebel Systems Inc Asynchronous message push to web browser

Also Published As

Publication number Publication date
CA2363725A1 (en) 2000-09-08
AU2979499A (en) 2000-09-21

Similar Documents

Publication Publication Date Title
CA2246472C (en) Virtual call center
CA2302678C (en) Home agent call center system and method
EP0821510B1 (en) Telecommunications routing apparatus and method
US6002760A (en) Intelligent virtual queue
EP1168791B1 (en) Callback to a call center
EP1882357B1 (en) System and method for return to agents during a contact center session
CA2111655C (en) Calling center employing unified control system
EP0936796A2 (en) Method of resource management at computer controlled telephony hardware
JP3510492B2 (en) A system for coordinating calls between ancillary equipment and the switching system
JPH1051549A (en) Work for home automatic call distribution substituting person network with cooperated control
JP5056443B2 (en) Call center equipment
JP4519962B2 (en) Communication control system
CN109831591A (en) Method of calling, device and the terminal of call center
JP3684222B2 (en) Contact center system
WO2000052597A1 (en) Method and system for enabling computer terminals in a call center environment to display and perform telephony related functions
US9544432B2 (en) Dynamic connection distributor
Cisco Peripheral-Specific Support
EP2025140B1 (en) A dynamic connection distributor
WO2007063275A1 (en) Computer telephony system
JP3758978B2 (en) Inbound bridge system
CA2282931C (en) A contact center system capable of handling multiple media types of contacts and method for using the same
JP2020036205A (en) Communication control device, communication control method, and program
JP2003348240A (en) Home agent system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2363725

Country of ref document: CA

Ref country code: CA

Ref document number: 2363725

Kind code of ref document: A

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase