APPARATUS AND METHODS FOR COORDINATING TELEPHONE AND DATA COMMUNICATIONS

Abstract: A system for coordinating telephone and data communication between a first and a second site is disclosed. A computer (114) in the first site (104) displays digital information originated from a server (132). The second site (102) has a plurality of agents. The second site also has a telephone switch (202) for directing incoming phone calls to these agents. The computer in the first site sends to the second site, via a digital communication network (106), a request to call the second site. The second site selects an agent and reserves a routing point of the telephone switch for this phone call. When the switch receives an incoming call having this telephone number, this incoming call is routed to the selected agent. The digital information originated from the server is also delivered to a computer (146) associated with the selected agent. As a result, the agent can immediately display the same digital information and maintain telephone communication with the first site.

Description: APPARATUS AND METHODS FOR COORDINATING TELEPHONE AND DATA COMMUNICATIONS Field of the Invention This invention relates to data and telephone communications, and particularly to coordinating data and telephone communications so that they can be routed to desired places. Background of the Invention Computer technology has improved drastically in the past thirty years. One of the results of the improvement is that the price of a computer having similar computation power dropped exponentially. For example, a microcomputer costing less than a thousand dollars today has more data processing power than a mainframe computer thirty years ago costing millions of dollars. Thus, computers become affordable to small companies and homes. As more and more companies and homes acquire computers, there is a desire to connect them together so as to share information. As a result, data communication technology (such as local and wide area networks) also underwent major development. The technology allows computer data to be easily transferred between computers. One of the most exciting development in data communication is the Internet, which is a worldwide interconnection of millions of computers, from low end personal computers to high-end mainframes. The Internet grew out of work funded by the U. S. government's Advanced Research Projects Agency. For a long time, Internet was used by scientists in universities and national laboratories to share information. As the existence of the Internet became more widely known, other people (such as employees of large corporations) started to use Internet to carry electronic mails. In 1989, a wide-area information system know as the World Wide Web ("the web") was developed. The web is a wide- area hypermedia information retrieval system aimed to give universal access to a large universe of documents. At that time, the web was known to and used by the academic/research community only. There was no easily available tool which allows a technically untrained person to access the web. The most exciting development in Internet is the development of web "browsers." These browsers have a simple but powerful graphic interface that allows a user to retrieve web documents and navigate the web using simple commands and popular methods such as point-and-click. Because the user does not have to be technically trained and the browser is easy to use, it has the potential of opening up the Internet to the masses. Internet can also be used as a communication medium for users to purchase services and products. In this application, "merchants" display product and ordering information as web documents. Customers can review the documents and place orders by clicking on (i.e., selecting) appropriate places on the documents. Information about an order (e.g., model number and quantity) and its associated customer (e.g., name and shipping address) may be transmitted electronically. It is anticipated that this form of electronic commercial transaction will grow in importance as more and more homes install computers and gain access to the Internet. Another technology that is gaining in popularity by the reduced costs of computers is the development of telephone call centers. In a call center, a large number of agents handle telephone communication with customers. The matching of calls between customers and agents is typically performed by software. A simple example is used here to describe a few of the many advantages of using call centers. When a call is made to a call center, the telephone number of the calling line is typically made available to the call center by a telephone carrier. Based on this telephone number, the software in the call center can access a database server to obtain information about the customer who has been assigned that phone number. The software can now route the call to an agent who can best handle the call based on predefined criteria (e.g., language skill, knowledge of products the customer bought, etc.). The software immediately transfers relevant information to a computer screen used by the agent. Thus, the agent can gain valuable information about the customer prior to receiving the call. As a result, the agent can more effectively handle the telephone transaction. As the price of computers decreases, the equipment costs of implementing a call center also decrease. Consequently, it is affordable for the "merchants" in electronic commerce to operate call centers. It is desirable to coordinate Internet communication of computer data with call center routing of telephone calls. For example, a customer using Internet to conduct electronic commerce may not wish to transmit his/her credit card information electronically because of security risks in the Internet. Thus, the customer may wish to orally give the credit card information to an agent of the "merchant." As another example, the customer may wish to ask an agent additional information about a product while viewing a web document describing the product. If the agent can have access to the web documents seen by the customer prior to receiving the call, the quality and efficiency of services provided by the agent can be improved tremendously. Even though both the data communication technology and call center technology are useful for business applications, coordinating data communication and telephone communications has been difficult. One of the reasons is that these two technologies follow different protocols and products designed for one technology cannot be communicate with products designed for the other technology. Summary of the Invention The present invention involves methods and systems for coordinating telephone and data communication between different sites. In a first embodiment of the present invention, a first site has at least a computer and a telephone. The computer in the first site displays a transaction (e.g., web pages originated from a server). A second site has a plurality of agents each associated with a computer and a telephone. The second site also has a telephone switch for directing incoming phone calls to these agents. The computer in the first site sends to the server, via a communication network, such as the Internet, data about the transaction and a request indicating an intention to call the second site. The request and the transaction data are delivered to a software module in the second site. Based on this transaction data, the second site can retrieve information about the intended caller in the first site (which has previously been stored in a database in the second site). A telephone number of a routing point of the telephone switch is reserved for this phone call, and the telephone number is sent to the first site via the digital communication network. When the switch receives an incoming call having this telephone number, this incoming call is routed to a telephone associated with a selected agent. The transaction originated from the server and the retrieved information of the first site are delivered to a computer associated with the selected agent. As a result, the agent can obtain information about the caller and immediately display the same information already displayed on the computer in the first site. In another embodiment of the present invention, the telephone call is initiated by the second site (whereas the above first embodiment involves a telephone call initiated by the first site). The computer in the first site sends to the server, via the communication network, a request to the second site indicating a desire to receive a phone call from the second site. The request includes information related to a telephone number associated with the telephone in the first site. This telephone number is stored in a file in the second site. The file also contains other outbound telephone numbers. The second site contains a device that can dial the telephone numbers stored in the file and monitor the status of telephone Iines carrying the dialed telephone numbers. After the telephone number corresponding to the telephone in the first site is dialed and upon determining it is able to receive the phone call (i.e., the line is not busy), an agent who is able to handle the phone call is selected. Information about the first site (which has previously stored in the second site) is retrieved. The retrieved information on the first site and the information originated from the server are delivered to a computer associated with the selected agent. As a result, the agent can obtain information about the first site and immediately display the same information already displayed on the computer in the first site. These and other features of the present invention will become apparent from the following description when read in conjunction with the accompanying drawings. Brief Description of the Drawings Fig. 1 is a block diagram of a voice and data communication system of the present invention. Fig. 2 is a block diagram of a computer-telephony-integration system of the present invention. Fig. 3 is a flow diagram showing the flow of events during an exemplary data and voice communication session conducted in accordance with the present invention. Fig. 4 is a block diagram of another computer-telephony-integration system of the present invention. Fig. 5 is a flow diagram showing the flow of events during another exemplary data and voice communication session conducted in accordance with the present invention. Detailed Description of the Invention The present invention comprises a novel system and related methods for coordinating telephone and data communications. The following description is presented to enable any person skilled in the art to make and use the invention. Description of specific applications is provided only as examples. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. Fig. 1 is a block diagram showing a voice/data communication system 100 operating in accordance with the present invention. System 100 comprises a provider site 102 and a customer site 104 connected by a data communication network 106, such as the Internet. It should be appreciated that the Internet is used here as an exemplary data communication network, and the present invention is not limited to be used in Internet. In this embodiment, provider site 102 and customer site 104 are engaged in electronic commercial transactions. Thus, provider site 102 sends (via Internet 106) product information, order forms, confirmation notices, etc. to customer site 104 and customer site 104 sends in (again via Internet 106) orders, shipping address, and payment information, etc. to provider site 102. In this system, provider site refers generally to a location which sells information, products or services and customer site refers to a location which requests such information, products or services. A plurality of others provider site, such as provider site 108, and a plurality of other customer sites, such as customer site 110, are also connected to Internet 106. It should be appreciated that the present invention relates to coordinating data and telephone communications between any two sites. The description of provider sites and customer sites pertains to an important (but not the only) application of the present invention envisioned by the inventor. The present invention can be applied to many applications. Customer site 104 comprises a client computer 114 running a browser 116 of the present invention. Client computer 114 is connected to a modem 122 which is coupled to a TCP IP connection 124. As a result, client computer 114 is able to gain access to the Internet 106. A user in customer site 104 use browser 116 to communicate with other computers connected to Internet 106. Customer site 104 also contains a telephone 128 which allows the user in customer site 104 to make telephone communication with a service agent in provider site 102. Telephone 128 is coupled to a public switched telephone network (PSTN) 160 via a telephone channel 162. In the prior art system, it is not possible for the system to coordinate voice (via PSTN 160) and data (via Internet 106) communication between the user and the service agent. One aspect of the present invention allows such coordination to take place. As a result, the user and the service agent can display the same data (e.g., the same web page) at their respective computer screens and communicate orally (or visually if picture-phones are installed in both sites) at the same time. Provider site 102 comprises a server 132 connected to Internet 106 through a TCP/IP connection 134. Server 132 supplies various web documents (e.g., product information, order forms, etc.) to browsers that request the documents. Provider site 102 contains a service assistance center 140 in which a number of service agents can take telephone calls from users in various customer sites. Service assistance center 140 contains a computer-telephony-integration (CTl) system 142 for accepting calls from PSTN 160 and routing calls to a plurality of telephones, one of them is shown as telephone 144. Service assistance center 140 also contains a plurality of computers, one of them is shown as computer 146. CTl system 142 is coupled to PSTN 160 via a high bandwidth telephone channel 164, such as a primary rate interface (PRI) as defined in the CCITT ISDN 1.431 standard. The service agents use both the computers and telephones to efficiently provide services to various users in the customer sites. It should be appreciated that the CTl system 142 is not limited to route voice communication. It can also route other types of communication. A CTl system that can route video calls has been disclosed in a copending patent application entitled "Video Telecommunication Routing Systems and Methods" filed October 25, 1995 in the names of Alec Miloslavsky and Jason Goecke. This copending patent application is hereby incoφorated by reference. It should also be appreciated that service assistance center 140 and provider site 102 can be in different physical locations, as long as they are electrically connected in the manner described below. The Internet side of the invention is first described. Browser 116 is a piece of software that can display information sent by server 132. A protocol for communication between customer site 104 and provider site 102 using Internet 106 is the HTTP or web protocol. One of the advantages of web protocol is that the display on browser 116 is a graphic document (commonly called a web page) containing text, images, and other information. Each web page has an address in a recognized format ~ the URL, or Uniform Resource Locator ~ that enables computers all over the world to access it. Browser 116 sends a request to the URL of a web page in server 132. Server 132 respond with a file encoded in a special language called the hypertext markup language (HTML). This language contains "tags" which allows a programmer to specify the appearance of the web page and set up hyperlinks to other HTML documents (located in the same or other servers). As a result, the user in customer site 104 is able to use browser 116 to access information in server 132. The web protocol also contains various mechanisms, e.g., common- gateway-interface (CGI), POST and GET methods, etc., for browser 116 and server 132 to communicate with each other. As a result, it is possible to design a system for the user in customer site 104 to place orders through the web page. For example, the user can click on an icon on a web page to order a product associated with the icon. Server 132 receives and processes the order. This is one of the methods for carrying out electronic commercial transactions. When the user in customer site 104 is reviewing information on browser 116 or is about to place an order, the user may request the attention of a service agent in service assistance center 140. For example, the user may want to ask additional information or provide confidential information (such as a credit card number) orally to the service agent. It is desirable for the service agent to display on his/her computer 146 the same web page displayed on browser 116 while interaction with the user through telephone. It is also desirable for the service agent to obtain as much information about customer site 104 as possible prior to commencing telephone communication with the user. In the prior art methods, the user has to look up the telephone number of the service assistance center and manually call the center. After connected to a service agent, the user has to explain his/her needs, and if necessary, describe to the agent the web page being displayed on the browser. The service agent needs to identify the user and may have to access the server to find the web page displayed on the user's computer. It can be seen that this method is very slow and ties up valuable time of a service agent. As a result, prior art service assistance centers require many service agents in order to provide adequate service to customers. One aspect of the present invention provides automatic coordination between the telephone communication and the Internet communication. As an example, when the telephone communication is established, the web page displayed by browser 116 is automatically displayed on computer 146 together with information about customer site 104. As a result, the service agent may anticipate the user's needs and immediately provides desired services to the user. It should be appreciated that telephone communication in the present system includes voice and/or video communication through PSTN 160. In the present invention, the web page originated from server 132 contains an icon, such as a button 118, positioned at a convenient location of the web page. This icon is displayed by browser 116. When the user wishes to initiate telephone communication with service assistance center 140, he/she can click on (i.e., select) button 118. There is no need for the user to look up the telephone number of service assistance center 140. One way for browser 116 to display a clickable button 118 is by embedding (at the appropriate place in the associated HTML document) a tag of the form: <A HREF="phone.html"><IMG src="HTTP://"button.gif ' ></A>. In this example, "button.gif is the URL addresses of a graphic file (in a popular graphic format called GIF) associated with the button icon and "phone.html" is the URL address of a file which can respond to the clicking. This tag tells a browser to display the "button" image (which is preferably stored in server 132), and to treat it as a clickable item that, whenever a user clicks on it with a mouse, triggers a connection to the file "phone.html" (also preferably stored in server 132). When button 118 is clicked, browser 116 sends a telephone service request to "phone.html" in server 132. Server 132 then sends the request and associated data (e.g., the identity of customer site 104 and the HTML document associated with the web page displayed on browser 1 16) to a service request process (SRP) 168. SRP 168 is a software module which could run on server 132 or on a separate data processing device. SRP 168 selects an available service agent in accordance with predetermined criteria (e.g., availability of agents, previous interaction between a certain agent and customer site 104). Assuming that the service agent associated with computer 146 is selected, the HTML document previously sent to customer site 104 is delivered to computer 146. Computer 146 contains a browser and can display the HTML document. As a result, the service agent who will interact with the user in customer site 104 is able to see the same web page the user is seeing. As explained below, other information about customer site 104 can also be sent to computer 146. This information is accessible by the service agent. One aspect of the present invention is a CTl system that can provide a telephone connection between the user and the service agent associated with computer 146. Fig. 2 shows a block diagram of CTl system 142 which works with SRP 168 to provide such a connection. Reference numerals in Fig. 2 that are the same as that for Fig. 1 refer to the same elements. CTl system 142 comprises a switching device 202 for accepting calls from PSTN 160. Examples of switching device 202 are (but not limited to) an automatic call distributor (ACD)/private branch exchange (PBX) and a PSTN switch. It should be appreciated that switching device 202 (hereinafter "PBX 202") can be a customer premise equipment or may be provided by a telephone communication carrier. PBX 202 contains a high bandwidth port 204 (for connecting to PSTN 104) and a plurality of low bandwidth ports (such as ports 206-209). Each of the low bandwidth ports is assigned one or more directory numbers. Some of these ports can be connected to telephones used by service agents (such as telephones 213 and 216). In order to facilitate the operation of service agents, each agent has easy access to a telephone and a computer. In Fig. 2, a telephone and a computer is set up as a station and assigned to a service agent. For example, telephone 213 and a computer 214 is grouped as a station 215 while telephone 216 and a computer 217 is grouped as a station 218. When a service agent logs in, he/she can enter his/her identification information to computers 214 and 217, respectively. As explained above, information on the service agents (such as language skill, knowledge of products, etc.) could be used by SRP 168 as some of the factors in selecting an appropriate service agent to interact with a particular user. PBX 202 is connected to a CTl server 222 through a CTl link 220. CTl system 142 also comprises a stat-server 224 and a routing server 226. Stat- server 224 stores all relevant activities of CTl system 142 (e.g., the current status and history of activities of all low bandwidth ports). Routing server 226 routes calls to appropriate low bandwidth ports based on factors such as the information contained in stat-server 224, the information delivered by PBX 202 and the status of various low bandwidth ports. CTl system 142 contains a database server 228 containing information of provider site 102, e.g., agent skills, and information pertaining to the customers of provider site 102, including information of customer site 104. CTl system 142 also contains an external router 230, working together with SRP 168, for reserving a specific telephone channel between customer site 104 and the telephone in the station of the selected service agent. The detail operation of external router 230 will be described below. One function of CTl server 222 is to act as a bridge between PBX 202 at one end and stat-server 224, external router 230 and routing server 226 at the other end. CTl server 222 is designed to interface with PBXs manufactured by different vendors and present a uniform application program interface (API) to stat-server 224, external router 230 and routing server 226. An advantage of this arrangement is that individual components in CTl system 142 could be replaced and enhanced separately. For example, substantially the same routing server, external router and stat-server could be used with PBXs from different manufacturers (e.g., AT&T, Northern Telecom or Ericsson) by changing CTl server 222. Specifically, different versions of a particular implementation of CTl server 222 can be designed to match with switches made by different manufacturers (provided that the switches have a CTl link). These versions communicate with the same routing server, external router and stat-server through a standard protocol which is switch-independent. In one embodiment of the present invention, stat-server 224, external router 230, routing server 226, external router 230, and computers 214 and 217 are connected to a communication network 234. In the present embodiment, the function of these servers and external router 230 are provided by software modules running in one or more computers. It should be appreciated that even though CTl server 222, routing server 226, stat-server 224, external router 230 and database server 228 are shown as separate components, they could be combined into one, two, three or four components residing on one or more data processing devices. SRP 168 is connected to external router 230 and communication network 234. After a user in customer site 104 clicks on button 118 and issues a request, SRP 168 determines the status of the agent computers (e.g., whether computers 214 and 217 have been turned on) and the identity of agents in the stations. SRP 160 may need to access database server 228 and stat-server 224 to obtain the necessary information. SRP 168 then selects an appropriate agent and notifies external router 230. External router 230 selects a telephone number of a routing point of PBX 202 and associate this telephone number with the directory number of PBX 202 which connects to the telephone of the selected service agent. The routing point is a component in PBX 202 which generates a CTl redirect request to CTl server 222 whenever a call reaches this component. This routing point could be a control directory number, virtual directory number, or a trunk/dial number identification system (DNIS). The exact nature of the telephone number is not important, as long as it is a number which can reach the routing point. Thus, the telephone number could be a private network number, a public network number or an international number. External router 230 notifies CTl server 222 and SRP 168 of this telephone number. SRP 168 causes server 132 to send this telephone number to browser 116 in customer site 104. Browser 116 can either display this number so that the user can dial it manually or dial the number electronically and notifies the user about the status of the telephone connection. When PBX 202 receives a call having this telephone number, it directs the call to CTl server 222. CTl server 222 sends the call to external router 230, which then delivers this call to the directory number associated with the selected service agent. PBX 202 keeps a number of such routing points specifically reserved to accommodate requests from SRP 168. These routing points are used as "semaphores" by SRP 168. They are allocated and deallocated as needed. Once a routing point is reserved by SRP 168 for a particular service agent, it is considered unavailable. Once the call is routed to the service agent, the routing point is again usable. Fig. 3 is a flow diagram showing the flow of events during an exemplary data and voice communication session using the CTl system shown in Fig. 2. In Fig. 3, operations are grouped under three columns 306-308 indicating the locations in which the operations take place: customer site, server/SRP and service assistance center. When a session starts, browser 116 in customer site 104 sends a URL to server 132 (operation 310). Server 132 responds by sending browser 116 a HTML document (operation 312). This document contains a tag causing browser 116 to display a clickable button. Browser 116 receives the HTML document and creates a web page based on the HTML document (operation 314). After reviewing the displayed web page, the user clicks on button 118. Browser 116 responses by sending a request for an agent (together with data identifying customer site 104, if needed) to server 132 (operation 316). Server 132 delivers the request and the data to SRP 168, which in turn delivers the information to external router 230 (operation 320). External router 230 selects a service agent. It reserves a telephone number and associates it with a telephone used by the selected service agent. This telephone number is sent to SRP 168 (operation 324). At this time, the service agent receives information regarding customer site 104 and the HTML documents previously sent to browser 116 (operation 325). The telephone number received by SRP 168 is sent to server 132, which in turn sends the number to browser 116 (operation 326). Browser 116 (or the user) then dials the telephone number so as to establish telephone connection to the selected service agent (operation 330). As pointed out above, this telephone number causes PBX 202 to route the call to the directory number associated with the selected service agent. The service agent receives the telephone call (operation 332). At this time, the service agent has already acquired a lot of information about customer site 104 and the web pages previously delivered thereto. Another embodiment of the present invention is now described. In this embodiment, call center 102 initiates the telephone call (in response to a request by a user in customer site 104) instead of customer site 104 initiates the telephone call. Referring now to Fig. 1, the user requests a telephone call by clicking on button 1 18 (which could be labeled a "call me" button). A dialog box appears. It asked the user to enter the telephone number of phone 128. Browser 116 then sends the telephone number of phone 128 to server 132 in provider site 102. Alternatively, the telephone number could have been previously stored in computer 114 (e.g., in the form of a persistent client state information commonly called the "cookies" in Internet technical literature). Server 132 then sends the telephone number and associated data (e.g., the identity of customer site 104 and the HTML document associated with the web page displayed on browser 116) to SRP 168. SRP 168 then requests service assistance center 140 to call this telephone number and select an agent to talk with the user. Browser 116 could send other identification information instead of the telephone number to server 132. For example, the name or Internet address of customer site 104 could be sent. Server 132 or SRP 168 could maintain a customer list associating the identification information with the telephone number of phone 128. As a result, service assistance center 140 could call telephone 128 based on information on this customer list. Other information can also be sent by browser 116. For example, the user can specify a certain time period on a certain date as an appropriate time for receiving calls from service assistance center 140. Fig. 4 is a block diagram of a CTl system 350 which can call telephone 128 in accordance with the present invention. Reference numerals in Figs. 2 and 4 that are the same refer to the same elements. It should be appreciated that a CTl system can be formed by combining elements in Figs. 2 and 4 so as to allow either provider site 102 or telephone 128 to initiate the telephone call. In Fig. 4, SRP 168 is connected to an outbound call controller 354, which is in turn connected to switching device 202 and communication network 234. After SRP 168 received the telephone number of phone 128, it deposits the number in a list server 356. This server is essentially a queue which contains all the telephones which needs to be dialed out by service assistance center 140. Typically, the queue is arranged in a first-in-first-out manner. However, it is possible to set up a different priority scheme for scheduling the calls. Outbound call controller 354 dials the telephone numbers in list server 356. The progress of the call is monitored by a call progression detector (CPD) 358. Detector 358 returns the status of the call (e.g., line busy, call received by a facsimile machine, call received by a modem, etc.). Outbound call controller 354 takes appropriate actions based on this status, e.g., it can dial another number in list server 356 if the telephone corresponding to a previously dialed number is busy. When the telephone number corresponding to phone 128 is dialed and CPD 358 determines that the line is not busy, outbound call controller 354 requests routing server 226 to find a free agent who is qualified to handle the call to customer site 104. SRP 168 can then send the digital data (e..g, the HTML document displayed on the user's computer) to the selected agent. As a result, an agent in service assistance center 140 is able to talk with a user in customer site 104 while reviewing the web page displayed on browser 116 in customer site 104. In a different version of this embodiment, SRP 168 can estimate the length of time for service assistance center 140 to call telephone 128 based on the number of telephone numbers already in list server 356 and the availability of agents. If this length of time is excessively long, SRP 168 may ask Internet server 132 to send a message to browser 116 informing the user of the estimated waiting time. The user has the freedom to request a rescheduling of the call. Fig. 5 is a flow diagram showing the flow of events during an exemplary data and voice communication session using the CTl system shown in Fig. 4. In Fig. 5, operations are grouped under three columns 406-408 (similar to that of Fig. 3) indicating the locations in which the operations take place: customer site, server/SRP and service assistance center. When a session starts, browser 116 in customer site 104 sends a URL to server 132 (operation 410). Server 132 responds by sending browser 116 a HTML document (operation 412). This document contains a tag causing browser 116 to display a clickable button. Browser 116 receives the HTML document and creates a web page based on the HTML document (operation 414). After reviewing the displayed web page, the user clicks on "call me" button 1 18. Browser 116 responses by sending a request for a phone call, together with telephone number and/or data identifying customer site 104, to server 132 (operation 416). Server 132 delivers the request and the telephone number to SRP 168, which in turn delivers the number to outbound call controller 354 (operation 420). The telephone number is placed in list server 354 (operation 424). Controller 354 dials outbound phone calls from number is list server 354 (operation 426). When the user in customer site 104 answers the call (operation 430), an agent in service assistance center 102 is assigned to handle the call (operation 432). Data related to customer site 104 and the web page viewed by the user is delivered to the agent The agent can then answer the call with all necessary information on hand (operation 434). The invention has been described with reference to specific exemplary embodiments thereof. Various modification and changes may be made thereunto without departing from the broad spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense; the invention is limited only by the provided claims.

Claims: WHAT IS CLAIMED IS: 1. A method for coordinating telephone and data communication between a first site and a second site, said first site having a computer and a telephone, said second site having a plurality of agents each associated with a computer and a telephone, said second site further having a telephone switch for directing incoming phone calls to said agents, said computer in said first site displaying digital information originated from a server, said method comprising the steps of: sending, by said computer in said first site to said server via a digital communication network, a request indicating an intention to call said second site, said request containing information identifying said first site; delivering said request and said identification information to a software module in said second site by said server; retrieving, based on said identification information, information of said first site which has previously been stored in said second site; selecting an agent who is able to respond to a call from said first site; reserving a telephone number terminated at said switch; sending said telephone number to said first site via said digital communication network; connecting by said switch, upon receiving an incoming call having said telephone number, said incoming call to a telephone associated with said selected agent; and delivering said digital information originated from said server and said information of said first site to a computer associated with said selected agent. 2. The method of claim 1 wherein said digital communication network is Internet. 3. The method of claim 2 wherein said digital information comprises a HTML document, said HTML document being delivered by said server to said computer in said first site via said Internet. 4. The method of claim 3 wherein said sending step further comprises displaying an icon on said computer in said first site; and sending a HTML document indicating said request to said server when said icon is selected. 5. A method for coordinating telephone and data communication between a first site and a second site, said first site having a computer and a telephone, said second site having a plurality of agents each associated with a computer and a telephone, said second site further having a switch for directing incoming phone calls to one of said agents, said computer in said first site displaying digital information originated from a server, said method comprising the steps of: sending, by said computer in said first site to said server via a digital communication network, a request indicating a desire to receive a phone call from said second site, said request including information related to a telephone number associated with said telephone in said first site; storing said telephone number in a file in said second site, said file containing a plurality of outbound telephone numbers; dialing said outbound telephone numbers; monitoring status of telephone lines carrying said outbound telephone numbers; upon dialing said telephone number and determining said telephone in said first site is able to receive said phone call, select an agent who is able to handle said phone call; retrieving information on said first site which has previously been stored in said second site; and delivering said information on said first site and said digital information originated from said server to a computer associated with said selected agent. 6. The method of claim 5 wherein said digital communication network is Internet. 7. The method of claim 6 wherein said digital information comprises a HTML document, said HTML document being delivered by said server to said computer in said first site via said Internet. 8. The method of claim 7 wherein said sending step further comprises displaying an icon on said computer in said first site; and sending a HTML document indicating said request to said server when said icon is selected.

Inventors: MILOSLAVSKY ALEC, MILOSLAVSKY, ALEC
Applicants: GENESYS TELECOMM LAB INC, GENESYS TELECOMMUNICATIONS LABORATORIES
Application year: 1997
Main classification: H04M11
IPC codes: G06F13, G06Q30, H04L12, H04L29, H04M3, H04M7, H04M11, H04N7