The present invention relates to telecommunications systems and methods and, more particularly, to a method for allowing a computer icon and a voice assistant to set up a telephone call.
This invention addresses the problem of setting up a telephone call from email reader or a web site browser. An email recipient may reply to the email sender by typing a return email message, but there are times when a telephone conversation would be preferred, in which case the recipient must have access to the sender's telephone number, either from the email, a directory listing, or from the recipient's contact list. In addition, it is necessary for the recipient to dial the telephone number. Likewise, a visitor to a web site may wish to talk to a web site representative such as a sales agent or webmaster, in which case the visitor must find the telephone number on the web site or by some other means and then dial the number.
In this document we refer to the person who initiates the call, such as the email recipient or web site visitor, as the “client.” We refer to the person or machine receiving the call, such as the email sender or the web site representative, as the “host.”
Click-to-Talk systems exist that allow an icon to be attached to email or displayed on a web page that sets up a voice call between a client and a host. This system typically includes a software module that runs on the client's computer and a VoIP (Voice over Internet Protocol) gateway that converts voice packets to and from the client's computer to telephone signals that are sent to and from the host's telephone. When the client selects an icon on a computer screen by clicking on it with a mouse, whether the icon is attached to an email message or a web page, the icon sets up a voice call to the host at a telephone number associated with the icon so that the client can talk to the host. The action of placing the call uses software already on the client's computer or downloaded to the client's computer from a server in the network. Setting up the voice call may also require other network elements, such as a softswitch, session controller, SIP proxy, or VoIP gateway, using standard methods known in the art. Since the voice path goes through the computer, click-to-talk is only possible if the client's computer has a microphone and speaker or an audio headset.
While click-to-talk is a convenient way for the client to call the host, it is only partly useful if the host has several telephone numbers, since the host may not be available at the particular telephone number associated with the icon. In addition, the host may not wish to be disturbed when the client calls. Another shortfall of click-to-talk is it that cannot execute a transaction more complex than simply placing a telephone call. For example, the telephone number may be the main number for a business and the client may need to talk to a particular person at that business. The host telephone number may connect a machine that requires the client to provide more information before completing a call or desired transaction. The host telephone number may be to a transaction server at a bank that requires the client to input account numbers or other information. Network games, stock services, and information portals such as news reports often require input from the caller. Some of these limitations may be overcome by providing a means for the client to use a software dialpad that generates touch-tones, but a touch-tone interface may be cumbersome for many applications. What is needed is a method for providing additional click-to-talk options to overcome the limitations.
In accordance with one aspect of the invention, the aforementioned problem has been solved and a technological advance achieved by using a voice assistant equipped with service logic, network interfaces, a speech recognizer, a set of recorded prompts, and a text-to-speech synthesizer so that it can handle the call or transaction with the client and host. The voice assistant has a list of telephone numbers for the host and can try them in order or all at once. The assistant may also ask the client for the name of the person the client wishes to speak to. The assistant may ask for the client's name and record the result, then play the recording to the host so the host can decide whether to take the call. The assistant may recognize voice commands and interact with a transaction server such as news service or stock trading system. When this description of the current invention refers to a “telephone number,” it is understood that a telephone number may take different forms, depending the technology employed, and that a telephone number may be understood to include a digit string, a SIP address, an email address, a user name or handle, or other identifier used to specify a telephone, VoIP phone, video phone, softphone, telephone-enabled PDA or other device, Wi-Fi phone, Wi-Max phone, peer-to-peer phone, instant messaging software or device, or other device capable of enabling voice communication.
In the following description, numerous details are set forth to provide an understanding of the present invention. However, it is to be understood by those skilled in the art that the present invention may be practiced without these details and that numerous variations or modifications from the described embodiments may be possible.
In the preferred embodiment of the current invention, the client's voice path is via client computer 100 using speaker 140 and microphone 150. The client listens via speaker 140 and talks via microphone 150. In one embodiment of the invention, speaker 140 and microphone 150 are part of a telephone. In alternative embodiments, speaker 140 and microphone 150 constitute a headset, speakerphone, USB (Universal Serial Bus) audio device, or a microphone and speaker built into computer 100. In another alternative embodiment, client telephone 195 is used instead of speaker 140 and microphone 150. A first voice path is set up between client telephone 195 and voice assistant 170, and a second voice path is set up between client telephone 195 and host telephone 190. The first voice path is set up by a network entity such as voice assistant 170 placing a call to client telephone 195. When the client answers phone 195, a voice path is established. An alternative to voice assistant 170 placing a call to client telephone 195 is for the client to place a call by dialing a number provided by the email or website where icon 120 is attached.
Note that in a practical service, there may be multiple voice assistants or multiple hosts, so a means must be provided to connect a given client with the correct voice assistant and the correct host. In the preferred embodiment of the invention, the phone number of voice assistant 170 and the identity of the host and other host information are embedded in the definition of icon 120, i.e. the voice assistant phone number and host identity are sent together with icon 120 as part of an email attachment or are included as part of the code used to define icon 120 on a web site. The icon definition is a set of parameters that may include one or more URLs, IP addresses, telephone numbers, email addresses, HTML code or other software, user names or handles, host information, client information, or other data. In an alternate embodiment, an email address (for example the email address of the client or host), an IP address, or other identifier is embedded in the icon definition and mapped to a telephone number by referring to a database that associates icon identifiers with telephone numbers. In one illustrative example of the alternate embodiment, an email address belonging to the host is included in the HTML code that defines icon 120, so that when the client clicks icon 120, client software 130 searches a database and finds that the host email address is associated with a particular voice assistant 170 telephone number. The client software opens a voice path between the client and voice assistant 170 and sends the host email address to voice assistant 170. Voice assistant 170 uses the host email address to look up the host telephone number(s) in a database and then creates a voice path between the client and host telephone 190. In a second illustrative example, the voice assistant IP address or URL is embedded in icon 120. Client software opens a voice path between the client and voice assistant 170 at the embedded IP address or URL and transmits the IP address of client computer 100 to voice assistant 170. Voice assistant 170 checks a database and learns that the IP address of client computer 100 is associated with a particular host and is then able to set up a voice connection between the client and host.
In another alternate embodiment, the voice assistant or host telephone number is derived from cookies on client computer 100, the URL of the web site where icon 120 is found, the return email address or email address from which the email containing icon 120 is sent, the client computer's IP address, or information typed by the client.
Regardless of whether the voice assistant phone number is embedded in the icon or mapped from a database, there must be a means for populating the icon parameters or the database. The database is populated with mapping information by a service provider, by an automated configuration system, by the client, or by the host, where the host updates the database using a web site or a telephone interface. The host's telephone interface uses either speech recognition or touch-tone input to update the database.
It is to be understood that a phone number in the context of this invention may be a standard telephone number, an IP address or URL in a VoIP (Voice over Internet Protocol) system, a SIP address, a peer-to-peer handle, or any descriptor that specifies the network location of voice assistant 170, client telephone 195, or host telephone 190. Network 160 is network or combination of networks capable of carrying voice or data signals, such as a telephone network, a LAN or WAN, the Internet, a wireless network, a VoIP network, or a peer-to-peer network. Once the client is connected to voice assistant 170, voice assistant 170 determines what must be done to connect the client to host telephone 190. Only one telephone 190 is shown in
In the preferred embodiment of the invention, the first voice path between the client and voice assistant 170 lasts only as long as necessary; once a second voice path between the client and the host is established, the first voice path is torn down. In an alternative embodiment, the first voice path is maintained in a conference call arrangement or a hairpinned configuration so that voice assistant 170 remains on the call. This conference/hairpin alternative is useful where voice assistant 170 may contribute to the communication between the client and host (such as converting voice commands to touch-tones) or when it is desired to allow the host or client to perform another action such as placing another call or executing another transaction once the other party hangs up.
In one embodiment of the invention, the host is a single person with a single telephone number. In another embodiment of the invention, the host has several telephones or may be more than one person. The voice assistant may ask the client which telephone number to try or whom he/she wishes to speak to. A speech recognizer is used to recognize the client's voice sample. A database lookup converts the recognized voice sample to a telephone number corresponding to the recognized voice sample.
In response to the client's voice sample, an attempt is made to reach the host in step 450. If the host is determined to be reachable in block 460, the call is connected in step 470; otherwise, an announcement is played in step 480 and the call is terminated in step 490. In an alternative embodiment, steps 480 and 490 are replaced by a means for the client to leave voicemail. In other alternative embodiments, the client has an option of waiting on hold, trying to call a different number, or connecting to an IVR system.
In some cases, such as for privacy or because one or more of the host telephone numbers has voicemail, it is useful to ask the host to accept or reject the call. In one embodiment of the current invention, decision blocks 240, 340, or 460 judge the host to have been reached if any one of the host telephones are answered. In an alternative embodiment, additional security is provided by asking for the client's name and playing a recording of the client saying his/her name to the host so that the host can decide whether to accept. In other alternative embodiments, information regarding the client's identity is derived from from the client's caller ID, the client's name extracted from information on the client computer or from a caller ID reverse directory lookup, the client's email address, or other client identification information is provided to the host via an audio prompt or a visual display so that the host can decide whether to accept or reject the call.
In one embodiment of the current invention, the host may accept or reject the call by pressing a touch-tone button. In an alternative embodiment, the host may accept or reject the call by speaking a key word in response to a prompt. In another alternative embodiment, the host may click a region on a touch screen or a press a button. Note that if one of the host numbers tried by the voice assistant goes to voicemail and if the voice assistant is listening for a particular key word or touch-tone as a signal that the host has accepted the call, the voicemail system will advantageously not accept the call, and the voice assistant will try the next host telephone number. The system may alternatively be configured to allow one of the host numbers to accept voicemail from the client or a separate voicemail system may be set up to take voicemail from the client if the host is unreachable. Once the host is reached and the host accepts the call, the “yes” path is taken from the “Reach host?” decision block. If the host is not reached or does not accept the call, the “no” path is taken.
In one embodiment of the current invention, announcement blocks 280, 360, or 480 are audio prompts. In an alternative embodiment, blocks 280, 360, or 480 are replaced with visual feedback to inform the client of the call attempt status using a display such as a screen on a computer or handheld device.
In the embodiment of the current invention shown in
Note that the strategy of storing a callback number so that it need not be collected next time applies also to
In one embodiment of the invention, the icon is sent as an attachment to an email sent by the host. In this embodiment, we expect that the host has probably subscribed to a service that allows him/her to attach click-to-talk icons to outgoing email. In an alternative embodiment of the invention, the host, instead of sending email to the client, leaves voicemail for the client. (We might presume that the host is leaving voicemail for the client because the host attempted to call the client and was unsuccessful in reaching the client, thought he specific reason for the voicemail is unimportant for the purposes of this invention.) The voicemail is converted to email, with the voicemail audio transcribed into text or attached to the email as a wave file. The email is sent to the client, along with a click-to-talk icon, so that the client can call the host back. In this alternative embodiment, we expect that the client has probably subscribed to a service that converts incoming voicemail to incoming email and attaches a click-to-talk icon. The host's callback number may be collected from the host's Caller ID, ANI, SIP address, other automatically collected information identifying the host, or by asking the host to specify a callback number by either speaking the number, dialing the number, or typing the number. This alternative embodiment is illustrated in
Note that other variations described above for the embodiment where the host sends an email apply to the alternative embodiment where the host leaves voicemail that is converted to email. One of these variations is the option of connecting the client to a voice assistant first, then connecting the client to a host. Other variations include using speech recognition to control the process with voice input, find-me, and call blast.
It is to be understood that this application discloses a system and method for selecting an icon, connecting to a voice assistant, and setting up a call with between a client and a host. While the invention is particularly illustrated and described with reference to example embodiments, it will be understood by those skilled in the art that various changes in form, details, and applications may be made therein. For example, instead of clicking a single icon, the client may select two items such as a telephone number shown in the computer display and a click-to-talk icon. Although the disclosure here refers to voice calls and connections, it is to be understood that the invention applies also to video calls.