COMPUTER TO TELEPHONE OR COMPUTER TO COMPUTER CALLBACK METHOD

Abstract: In a system including a computer user connected to a computer network via a computer and a telephone user connected to the computer network via a gateway, a callback method including the computer user transmitting a callback request to a callback server, where the callback request includes an identification of the computer user, and the callback server instructing the computer to initiate a communications link with the telephone user via the gateway.

Description: TITLE OF THE INVENTION COMPUTER TO TELEPHONE OR COMPUTER TO COMPUTER CALLBACK METHOD FIELD OF THE INVF-NTION The present invention relates to computer network-based telephony in general, and more particularly to callback methods and apparatus therefor. BACKGROUND OF THE INVENTION Computer network-based telephony systems are well known in the art. One such system is Applicant assignee's Surf&Call™ system, commercially available from VocalTec Communications Ltd., Herzliya, Israel, which provides real-time voice communications via Internet Protocol (IP) computer networks. In the Surf&Call™ system a computer user uses a Hypertext Markup Language (HTML) browser to download from the Internet a Surf&Call™- enabled HTML document ("web page") which contains a selectable hypertext link, such as a button, that may be used to initiate the Surf&Call™ service. Should the user wish to speak to an agent regarding the web page, the user may select the link, which causes software installed at the user's computer to request a voice communications session between the user's computer and a telephone-based agent via an IP network-to-Public Switched Telephone Network (PSTN) or IP network gateway-to-Private Branch Exchange (PBX). Surf&Call™ may be used with Automatic Call Distribution (ACD) call centers, in which case the user's call may be directed to an available agent. Another such system is Applicant assignee's Surf&Chat™ system which provides similar functionality as the Surf&Call™ system for data communications session between the user's computer and a computer-based agent. Unfortunately, when a computer user attempts to initiate a voice or data call to a telephone and/or computer user via a computer network, if the telephone user's line is busy, or if an agent is unavailable, then the computer user currently has no recourse other than to try again at a later time. A computer network-based telephony system that provides for automatic telephone-to-computer and/or computer-to-computer callback would, therefore, be advantageous. SUMMARY OF THE INVENTION The present invention seeks to provide a computer network-based telephony system that provides for automatic telephone-to-computer and/or computer-to-computer callback. There is thus provided in accordance with a preferred embodiment of the present invention in a system including a computer user connected to a computer network via a computer and a telephone user connected to the computer network via a gateway, a callback method including the computer user transmitting a callback request to a callback server, where the callback request includes an identification of the computer user, and the callback server instructing the computer to initiate a communications link with the telephone user via the gateway. Further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time at or after which the callback server may instruct the computer to initiate the communications link with the telephone user. Still further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time period during which the callback server may instruct the computer to initiate the communications Knlc with the telephone user. Additionally in accordance with a preferred embodiment of the present invention the method further includes the callback server requesting a telephone number of an available telephone user from an automatic call distribution system and where the instructing step includes providing the telephone number to the computer. Moreover in accordance with a preferred embodiment of the present invention the method further includes the callback server determining whether the telephone user is available for computer-to-telephone communications and where the instructing step includes instructing when the telephone user is available for computer-to-telephone communications. Further in accordance with a preferred embodiment of the present invention the method further includes the callback server determining whether the computer user is available for computer-to-telephone communications, and where the instructing step includes instructing when the computer user is available for computer-to-telephone communications. Still further in accordance with a preferred embodiment of the present invention the method further includes the callback server determining whether the telephone user is available for computer-to-telephone communications, whether the computer user is available for computer-to-telephone communications, and where the instructing step includes instructing when both of the user are available for computer-to-telephone communications. There is also provided in accordance with a preferred embodiment of the present invention in a system including a first computer user connected to a computer network via a first computer and a second computer user connected to the computer network via a second computer, a callback method including the first computer user transmitting a callback request to a callback server, where the callback request mcludes an identification of the computer user and the callback server instructing the first computer to initiate a communications link with the second computer via the computer network. Further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time at or after which the callback server may instruct the first computer to initiate the communications link with the second computer user. Still further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time period during which the callback server may instruct the first computer to initiate the communications link with the second computer user, Additionally in accordance with a preferred embodiment of the present invention the method further includes the callback server deterrnining whether the second computer user is available for computer-to-computer communications and where the instructing step includes instructing when the second computer user is available for computer-to-computer communications. Moreover in accordance with a preferred embodiment of the present invention the method further includes the callback server determining whether the first computer user is available for comptiter-to-computer communications, and where the instructing step mcludes instructing when the first computer user is available for computer-to-computer communications. Further in accordance with a preferred embodiment of the present invention the method further includes the callback server determining whether the first computer user is available for computer-to-computer communications, whether the second computer user is available for computer-to-computer communications, and where the instructing step includes instructing when both of the users are available for computer-to-computer communications. There is additionally provided in accordance with a preferred embodiment of the present invention a computer network-based callback system including a computer connected to a computer network a telephone connected to the computer network via a gateway and a callback server connected to the computer network, where the computer is operative to transmit a callback request to the callback server, the callback request includes an identification of the computer, and the callback server is operative to instruct the computer to initiate a communications link with the telephone- via the gateway. Further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time at or after which the callback server may instruct the computer to initiate the communications link with the telephone. Still further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time period during which the callback server may instruct the computer to initiate the communications link with the telephone. Additionally in accordance with a preferred embodiment of the present invention the callback server is operative to request a telephone number of an available telephone from an automatic call distribution system and provide the telephone number to the computer. Moreover in accordance with a preferred embodiment of the present invention the callback server is operative to determine whether the telephone is available for computer-to- telephone communications and instruct, the computer to initiate the communications link when the telephone is available for computer-to-telephone communications. Further in accordance with a preferred embodiment of the present invention the callback server is operative to determine whether the computer is available for computer-to- telephone communications and instruct the computer to initiate the communications link when the computer is available for computer-to-telephone communications. Still further in accordance with a preferred embodiment of the present invention the callback server is operative to determine whether the telephone is available for computer-to- telephone communications, whether the computer is available for computer-to-telephone communications, and instruct the computer to initiate the communications link when both the computer and the telephone are available for computer-to-telephone communications. There is also provided in accordance with a preferred embodiment of the present invention a computer network-based callback system including a first computer connected to a computer network a second computer connected to the computer network a callback server connected to the computer network, where the first computer is operative to transmit a callback request to the callback server, the callback request includes an identification of the first computer, and the callback server is operative to instruct the first computer to initiate a communications link with the second computer via the computer network. Further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time at or after which the callback server may instruct the first computer to initiate the communications link with the second computer. Still further in accordance with a preferred embodiment of the present invention the callback request includes an indication of a time period during which the callback server may instruct the first computer to initiate the communications link with the second computer. Additionally in accordance with a preferred embodiment of the present invention the system further includes the callback server deterrnining whether the second computer user is available for computer-to-computer communications and where the instructing step includes instructing when the second computer user is available for computer-to-computer communications. Moreover in accordance with a preferred embodiment of the present invention the callback server is operative to deteπnine whether the first computer is available for computer- to-computer communications and instruct the first computer to initiate a communications link with the second computer when the first computer is available for computer-to-computer communications. Further in accordance with a preferred embodiment of the present invention the callback server is operative to determine whether the first computer is available for computer- to-computer communications, whether the second computer is available for computer-to- computer communications, and instruct the first computer to initiate a communications link with the second computer when both of the users are available for computer-to-computer communications. The disclosures of all patents, patent applications, and other publications mentioned in this specification and of the patents, patent applications, and other publications cited therein are hereby incorporated by reference. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be understood and appreciated more fully from the foUowing detailed description taken in conjunction with the appended drawings in which: Fig. 1 is a simplified conceptual illustration of a computer network-based telephony callback system, constructed and operative in accordance with a preferred embodiment of the present invention; Fig. 2 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention; s Fig. 3 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention; Fig. 4 is a simplified conceptual illustration of a computer network-based telephony callback system adapted for use with the Surf&Call™ system, constructed and operative in accordance with a preferred embodiment of the present invention; and Fig. 5 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 4, operative in accordance with a preferred embodiment of the present invention. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS Reference is now made to Fig. 1 which is a simplified conceptual illustration of a computer network-based telephony callback system, constructed and operative in accordance with a preferred embodiment of the present invention. In the system of Fig. 1 a computer user 10 is shown in communication with a computer network 12, such as the Internet, via a computer 14. Computer 14 is preferably configured for voice communications in accordance with conventional techniques, including a microphone and other computer network-based telephony software and/or hardware as necessary (not shown). User 10 may thus establish a voice connection to a telephone user 16 at a telephone 17 via a gateway 18, such as a commercially- available VocalTec Series 120 or 2000 Voice-Over-IP to PSTN gateway system, connected to computer network 12. Additionally or alternatively, computer 14 is configured for real-time text-based or graphical communications with another computer via computer network 12, such as with Surf&Chat™, commercially available from VocalTec Cornmunications Ltd., Herzliya, Israel, or with any text-based Internet chat software and/or hardware. User 10 may thus establish a data connection to a computer 24 via computer network 12. A callback server 20 is likewise connected to computer network 12 for communicating with user 10 at computer 14 and, preferably, with telephone user 16 via gateway 18 and/or computer 24 via computer network 12. An optional ACD server 22 is shown in communication with callback server 20 and telephone user 16, which communication may be effected via computer network 12, via another network (not shown), or directly between ACD server 22 and callback server 20 and between ACD server 22 and telephone user 16. Reference is now made to Fig. 2 which is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention. In the method of Fig. 2, user 10 transmits a callback request to callback server 20 (step 200). The callback request may be made subsequent to unsuccessfully establishing a communications link with telephone user 16 or for any other reason. The callback request may be made using any conventional technique, such as via an HTML form, and preferably indicates to callback server 20 an identifier uniquely identifying user 10, and a telephone number of telephone user 16, a telephone number of a call center where telephone user 16 is located, or other identification that may be used to determine such telephone numbers. The callback request may also indicate a time at or after the callback is to be made, or a time period during which the callback is to be made. At the time designated by the callback request, or, where no such time is designated, at a predetermined time, callback server 20 may optionally deteπnine whether computer user 10 is available for computer-to- telephone communications (step 210) and/or whether telephone user 16 is available for telephone-to-computer communications (step 220). This may be done by deterrnining whether the user's browser is open and/or whether the user is connected to computer network 12. If one or both of users 10 and 16 are available, or irrespective of whether either of the users are available, callback server 20 transmits instructions to computer 14 via computer network 12 to initiate a communications link with telephone user 16 via gateway 18 (step 230). Callback server 20 may provide computer 14 with a telephone number for contacting telephone user 16. Computer 14 then automatically initiates a communications link with telephone user 16 via gateway 18 using conventional techniques (step 240). Reference is now made to Fig. 3 which is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention. In the method of Fig. 3, user 10 transmits a callback request to callback server 20 (step 300). At the time designated by the callback request, or, where no such time is designated, at a predetermined time, callback server 20 requests an available agent from ACD server 22 (step 310) and determines whether computer user 10 is available for network-to-telephone communications (step 320). If both computer user 10 and an agent, represented by telephone user 16, are available, callback server 20 transmits instructions to computer 14 via computer network 12 to initiate a communications link with telephone user 16 via gateway 18 (step 330). Callback server 20 may provide computer 14 with a telephone number for contacting telephone user 16 directly, or else gateway 18 may use conventional Computer Telephony Integration (CTI) techniques for establishing a communications link between computer 14 and telephone user 16 as provided by ACD server 22. Computer 14 then initiates a communications link with telephone user 16 via gateway 18 using conventional techniques (step 340). Reference is now made to Fig. 4 which is a simplified conceptual illustration of a computer network-based telephony callback system adapted for use with the Surf&Call™ system, constructed and operative in accordance with a preferred embodiment of the present invention. In the system of Fig. 4 a computer user 30 is shown in communication with a computer network 32, such as the Internet, via a computer 34, Computer 34 is preferably configured for voice communications in accordance with conventional techniques, cluding a microphone and other computer network-based telephony software and/or hardware as necessary (not shown). User 30 may thus establish a voice connection to a telephone user 36 at a telephone 37 via a gatekeeper 46 and a gateway 38 connected to computer network 32. Additionally or alternatively, computer 30 is configured for real-time text-based or graphical communications with a computer 44 via a data collaboration (DC) server 48 connected to computer network 32, or with any text-based Internet chat software and/or hardware. User 30 may thus establish a data connection to a computer 44 via computer network 32. A callback server 40 is likewise connected to computer network 32 for comnaunicating with user 30 at computer 34 and, preferably, with telephone user 36 via gateway 38 and/or computer 44 via computer network 32, An optional ACD server 42 is shown in communication with callback server 40 and telephone user 36, which communication may be effected via computer network 32, via another network (not shown), or directly between ACD server 42 and callback server 40 and between ACD server 42 and telephone user 36. Reference is now made to Fig. 5 which is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 4, operative in accordance with a preferred embodiment of the present invention. In the method of Fig. 5, user 30 uses browser software on computer 34 to download a Surf&Call™-enabled web page from a web server (not shown) connected to computer network 32 and view the web page (step 500). The web page preferably contains a selectable hypertext link, such as a button, that may be used to initiate the Surf&Call™ service. Surf&Call™ software is then downloaded to computer 34 and is manually or automatically installed, typically as a browser plug-in software module (step 510). The Surf&Call™ software, which typically mcludes a signaling interface, then preferably opens a communication connection from computer 34 to DC server 48 and/or to callback server 40 (step 520) by sending its unique identifier. User 30 then selects the Surf&Call hypertext link, causing the Surf&Call software to send the Universal Resource Locator (URL) of the downloaded web page as well as a Surf&Call ID associated with the web page to gatekeeper 46 (step 530). Gatekeeper 46 then verifies the URL and the ID against an authorization database and retrieves an associated telephone number (step 540). Gatekeeper 46 then sends the telephone number, preferably encrypted, and the network address of gateway 38 to computer 34 (step 550). Computer 34 then sends the telephone number to gateway 38 (step 560) which then attempts to establish a connection to telephone user 36 (step 570). Computer user 30 may additionally or alternatively establish a data collaboration session with user 36 at computer 44 by sending a request to DC server 48, also typically via hypertext link selection (step 580). At this point, DC server 48 ascertains from the ACD server 42 via CTT link or via any other conventional link, the destination of the data session, such as a network address of computer 44, and connects computer user 34 with agent computer 44 (step 590). Computers 34 and 46 then may synchronize web page retrievals, inputs, and interactions via transmissions to and from DC server 48 (step 600). Should telephone user 36 be unavailable for a voice and/or data collaboration session with user 30, or should user 30 desire for any reason to communicate with user 36 at a later time, user 30 may use computer 34 to transmit a callback request to callback server 40 (Fig. 2, step 200). The callback request may be made subsequent to unsuccessfully establishing a communications link with telephone user 36 or for any other reason. The callback request may be made using any conventional technique, such as via an HTML form, and preferably indicates to callback server 40 an identifier uniquely identifying user 30, and a telephone number of telephone user 36, a telephone number of a call center where telephone user 36 is located, or other identification that may be used to determine such telephone numbers. The callback request may also indicate a time at or after the callback is to be made, or a time period during which the callback is to be made. At the time designated by the callback request, or, where no such time is designated, at a predetermined time, callback server 40 may determine whether computer user 30 is available for computer-to-telephone communications (step 210) and/or whether telephone user 36 is available for telephone-to-computer communications (step 220). If computer user 30 is available, callback server 40 transmits instructions to computer 34 via computer network 32 via the Surf&Call™ software signaling link to initiate a communications link via the Surf&Call™ software with telephone user 36 via gatekeeper 46 and gateway 38 as described hereinabove (step 230). Callback server 40 may provide computer 34 with a telephone number for contacting telephone user 36. Computer 34 then automatically initiates a communications link with telephone user 36 via gateway 38 using conventional techniques (step 240). Agent selection may be performed in a call center environment via ACD server 42 in accordance with the method of Fig. 3 above. A data collaboration session callback may similarly be initiated between computer 34 and computer 44 (Fig. 3, steps 300 - 340). It is appreciated that one or more of the steps of any of the methods described herein may be omitted or carried out in a different order than that shown, without departing from the true spirit and scope of the invention. While the present invention as disclosed herein may or may not have been described with reference to specific hardware or software, the present invention has been described in a manner sufficient to enable persons of ordinary skill in the art to readily adapt commercially available hardware and software as may be needed to reduce any of the embodiments of the present invention to practice without undue experimentation and using conventional techniques. While the present invention has been described with reference to one or more specific embodiments, the description is intended to be illustrative of the invention as a whole and is not to be construed as limiting the invention to the embodiments shown. It is appreciated that various modifications may occur to those skilled in the art that, while not specifically shown herein, are nevertheless within the true spirit and scope of the invention.

Claims: CLAIMS What is claimed is: 1. In a system comprising a computer user connected to a computer network via a computer and a telephone user connected to said computer network via a gateway, a callback method comprising: said computer user transrnitting a callback request to a callback server, wherein said callback request comprises an identification of said computer user; and said callback server instructing said computer to initiate a communications link with said telephone user via said gateway. 2. A method according to claim 1 wherein said callback request comprises an indication of a time at or after which said callback server may instruct said computer to initiate said communications link with said telephone user. 3. A method according to claim 1 wherein said callback request comprises an indication of a time period during which said callback server may instruct said computer to initiate said communications link with said telephone user. 4. A method according to claim 1 and further comprising said callback server requesting a telephone number of an available telephone user from an automatic call distribution system and wherein said instructing step comprises providing said telephone number to said computer. 5. A method according to claim 1 and further comprising said callback server determining whether said telephone user is available for computer-to-telephone communications and wherein said instructing step comprises instructing when said telephone user is available for computer-to-telephone communications. 6. A method according to claim 1 and further comprising said callback server determining whether said computer user is available for computer-to-telephone communications, and wherein said instructing step comprises instructing when said computer user is available for computer-to-telephone communications. 7. A method according to claim 1 and further comprising said callback server determining whether said telephone user is available for computer-to-telephone communications, whether said computer user is available for computer-to-telephone communications, and wherein said instructing step comprises instructing when both of said user are available for computer-to-telephone communications. 8. In a system comprising a first computer user connected to a computer network via a first computer and a second computer user connected to said computer network via a second computer, a callback method comprising: said first computer user fransmitting a callback request to a callback server, wherein said callback request comprises an identification of said computer user; and said callback server instructing said first computer to initiate a communications link with said second computer via said computer network. 9. A method according to claim 8 wherein said callback request comprises an indication of a time at or after which said callback server may instruct said first computer to initiate said communications link with said second computer user. 10. A method according to claim 8 wherein said callback request comprises an indication of a time period during which said callback server may instruct said first computer to initiate said communications link with said second computer user. 11. A method according to claim 8 and further comprising said callback server deterrnining whether said second computer user is available for computer-to-computer communications and wherein said instructing step comprises instructing when said second computer user is available for computer-to-computer communications. 12. A method according to claim 8 and further comprising said callback server determining whether said first computer user is available for computer-to-computer communications, and wherein said mstructing step comprises instructing when said first computer user is available for computer-to-computer communications. 13. A method according to claim 8 and further comprising said callback server deterrnining whether said first computer user is available for computer-to-computer communications, whether said second computer user is available for computer-to-computer communications, and wherein said instructing step comprises instructing when both of said users are available for computer-to-computer communications. 14. A computer network-based callback system comprising: a computer connected to a computer network; a telephone connected to said computer network via a gateway; and a callback server connected to said computer network, wherein: said computer is operative to transmit a callback request to said callback server, said callback request comprises an identification of said computer, and said callback server is operative to instruct said computer to initiate a communications link with said telephone via said gateway. 15. A system according to claim. 14 wherein said callback request comprises an indication of a time at or after which said callback server may instruct said computer to initiate said cornmunications link with said telephone. 16. A system according to claim 14 wherein said callback request comprises an indication of a time period during which said callback server may instruct said computer to initiate said communications link with said telephone. 17. A system according to claim 14 wherein said callback server is operative to request a telephone number of an available telephone from an automatic call distribution system and provide said telephone number to said computer. 18. A system according to claim 14 wherein said callback server is operative to determine whether said telephone is available for computer-to-telephone communications and instruct said computer to initiate said communications link when said telephone is available for computer-to-telephone cornrnunications. 19. A system according to claim 14 wherein said callback server is operative to determine whether said computer is available for computer-to-telephone communications and instruct said computer to initiate said communications link when said computer is available for computer-to-telephone communications. 20. A system according to claim 14 wherein said callback server is operative to determine whether said telephone is available for computer-to-telephone communications, whether said computer is available for computer-to-telephone communications, and instruct said computer to initiate said communications link when both said computer and said telephone are available for computer-to-telephone communications. 21. A computer network-based callback system comprising: a first computer connected to a computer network; a second computer connected to said computer network; a callback server connected to said computer network, wherein: said first computer is operative to transmit a callback request to said callback server, said callback request comprises an identification of said first computer, and said callback server is operative to instruct said first computer to initiate a communications link with said second computer via said computer network. 22. A system according to claim 21 wherein said callback request comprises an indication of a time at or after which said callback server may instruct said first computer to initiate said communications link with said second computer. 23. A system according to claim 21 wherein said callback request comprises an indication of a time period during which said callback server may instruct said first computer to initiate said communications link with said second computer. 24. A system according to claim 21 and f rther comprising said callback server determining whether said second computer user is available for computer-to-computer communications and wherein said instructing step comprises mstructing when said second computer user is available for computer-to-computer communications. 25. A system according to claim 21 wherein said callback server is operative to determine whether said first computer is available for computer-to-computer communications and instruct said first computer to initiate a communications link with said second computer when said first computer is available for computer-to-computer communications. 26. A system according to claim 21 wherein said callback server is operative to determine whether said first computer is available for computer-to-computer communications, whether said second computer is available for computer-to-computer cornmunications, and instruct said first computer to initiate a communications link with said second computer when both of said users are available for computer-to-computer communications.

Inventors: HERTZOG YUVAL, KORMAN DAVID, SHUFMAN-RABI OSNAT, HERTZOG, YUVAL, KORMAN, DAVID, SHUFMAN-RABI, OSNAT
Applicants: HERTZOG YUVAL, KORMAN DAVID, SHUFMAN RABI OSNAT, VOCALTEC COMM LTD, VOCALTEC COMMUNICATIONS INC, HERTZOG, YUVAL, KORMAN, DAVID, SHUFMAN-RABI, OSNAT, VOCALTEC COMMUNICATIONS LTD., VOCALTEC COMMUNICATIONS, INC.
Application year: 2000
Main classification: H04M3
IPC codes: H04M3, H04M7