# Patent

## Title
Updating an electronic phonebook over electronic communication networks

## Abstract

A method of accessing and updating an electronic phonebook over electronic communications networks such as a telephone and computer networks is described. The creation of a voice portal is supported by the invention. Embodiments of the invention use telephone identifying information such as the calling party's number to identify, or create, user profiles for customization. The user profile can include personalized phonebook entries that include names and telephone numbers of relevance to the user. Additionally, the voice portal can connect the user to numbers contained in the personalized phonebook in response to spoken commands. The profile can also be updated with additional phonebook entries over the interne using a web browser.

## Background
RELATED APPLICATION
This application is a continuation-in-part of U.S. patent application Ser. No. 09/426,102, entitled “Method and Apparatus for Content Personalization Over a Telephone Interface” filed on Oct. 22, 1999.


BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of personalized electronic phonebooks. In particular, the invention relates to technologies for accessing and updating an electronic phonebook over electronic communications networks such as a telephone and computer networks.
2. Description of the Related Art
The following describes various techniques used in telephone systems to provide enhanced user features. First, telephone identifying information will be discussed. Many telephone systems that support enhanced user features use telephone identifying information as a basic component. Then, a variety of example systems will be discussed that use telephone identifying information to provide enhanced user features will be discussed.
1. Telephone Identifying Information
The advent of automatic number identification (ANI) and calling number identification (CNID, CLID, or CID) within the North American Numbering Plan (NANP) has supported the creation of a number of services that use these pieces of telephone identifying information. Comparable systems may be used in other numbering plans and countries to support similar services.
For example, when consumers receive credit cards in the mail, they have to call from their home telephone numbers to activate the cards. This is a typical use of ANI. In this instance, the credit card company matches the ANI information provided when the consumer calls to a previously provided telephone number. If the ANI matches the credit card company's records, the credit card company activates the card.
2. Examples of Telephone System Personalization
a. Personalization Generally
With the advent of widely available real-time delivery of telephone identifying information such as ANI, a number of systems have been developed to use that information. One of the most common uses of ANI is for credit card activation. However, previous systems have been single purpose and typically require reference to other information provided separately. For example, credit card activation lines require separately provided information, e.g. your home phone number from the application.
b. Building Personalized Content on the Web
Some systems allow a user to build personalized content over the web. One example is the myYahoo!TM service provided by Yahoo! of Santa Clara, Calif. at <http://my.yahoo.com/>. The personalized content pages developed on the web are delivered over the web to users accessing the pages with computers. These systems rely on a username and password type system to identify the user rather than telephone identifying information and the delivery mechanisms is different.
c. Interactive Personalization
Still other systems allow users to personalize the content without entering special editing modes. For example, Amazon.com, of Seattle, Wash., keeps track of your purchases and preferences using cookies stored on a customer's web browser.
Some telephone systems provide limited customization capabilities. For example, voice mail systems from Octel, a division of Lucent Technologies, allow a user to set preferences for prompt length, but those settings must be made explicitly by each user. Further, customization is limited to a few options like prompt length and outgoing message selection. The user can not redefine the way the voice mail system works for her/him beyond those narrow customization options. Further, these customizations do not affect the kinds of content and further the presentation is not selected based on telephone identifying information.
d. Locale Selection
Services such as Amtrak's 1-800-USA-RAIL reservation line use telephone identifying information to select an initial region. For example, if you call Amtrak's reservation number in the Northeastern United States, the system presents options relating to the Boston-Washington line. However, if you call from California, the system presents information about travel between San Francisco and Los Angeles.
This can be accomplished by using the calling party's area code and/or exchange included with the telephone identifying information to select a region. The area codes and/or exchanges can then be paired to different scripts or default selections. For example, the area codes for New York City, e.g. “212”, could be mapped to the Northeast Corridor while San Francisco, “415”, could be mapped to the San Francisco-Los Angeles line. However this does not change the kind of content presented and it is not user-selected.
e. Time Appropriate Information Presentation
Several services provide information through the telephone. That information may be adapted based on the time of day or date.
Some systems provide the information irrespective of the telephone identifying information. One example is MoviefoneTM, 777-FILM in most locales. MoviefoneTM uses the current time at the called number to present appropriate information. The called number can be obtained using the dialed number identification service (DNIS). Thus, if you call MoviefoneTM in the San Francisco Bay Area at 10 o'clock in the morning, only movies starting after 10 o'clock in the morning in the San Francisco Bay Area will be presented to you. However, if you call the Philadelphia MoviefoneTM, +1 (215) 222-FILM, from California, you will hear the Philadelphia movie times in Eastern Time. Thus, at 10 o'clock in the morning Pacific Time, a call to the Philadelphia MoviefoneTM will produce information for Philadelphia show times after one o'clock in the afternoon Eastern Time at Philadelphia area theatres.
f. Targeted Advertising
Some free long distance services provide customized advertising to support their services. One example is FreeWayTM offered by Broadpoint, of Landover, Md., <http://www.broadpoint.com/>. These services require an explicit user registration process, typically using a computer to access a web site, to provide the service with a profile. Once the profile is provided, the advertising is targeted to the particular person's explicitly provided demographic information. In some instances, the advertising may be targeted both based on the caller's demographics and their location. Thus, callers from the San Francisco Bay Area with a particular explicit demographic profile may be presented one ad, while callers from outside the San Francisco Bay Area may be presented with another ad. Another, similar, service is offered on by phone by UAccess, Inc., <http://www.uaccess.com/>, by calling +1 (800) UACCESS, and provides consumers targeted advertising based on profile information they enter.
g. Voice Character
Most telephone systems have a small number of voice actors. Continuing with the example of MoviefoneTM, one actor performs all of the menus and prompts. Other systems may use different voice actors for different subsystems.
These actors are typically selected on a system wide basis and as such, different voices, talents, speeds, characteristics, dialects, and other prosody aspects of the presentation are not user selectable.
h. Purchase Recommendations
Voice systems such as GALAXY from the Massachusetts Institute of Technology (MIT), Cambridge, Mass., have been adapted to provide information about purchasing decisions for used cars. For example, GALAXY has been used to allow for interactive browsing of automobile classified ads. These voice systems are problem domain specific. Further, the systems are designed to locate vehicles matching a particular set of criterion, rather than making actual recommendations.
Other systems are web based. For example, Amazon.com will make book suggestions for users connected to the web via a computer. However, those suggestions are limited to a particular site, e.g. Amazon.com.
i. Voice Login
Most telephone systems require a user to explicitly identify herself/himself by using a combination of a login identifier, e.g. credit card number, account number, etc., and a personal identification number (PIN). Some systems abbreviate this process by allowing a user calling from a particular phone to shortcut this process slightly. For example, callers using a phone number associated with a particular credit card might only be asked to enter the last four digits of their credit card number together with their billing zip code instead of all sixteen digits of the card number. Other products such as Nuance VerfierTM from Nuance Communications, Menlo Park, Calif., support voice login capabilities, e.g. you just speak instead of entering a password.
j. Initial Profile Generation from Database Lookups
Most systems that provide information over the telephone require users to explicitly answer one or more questions in one form or another, e.g. over the phone, the web, and/or in written form. These questions form a demographic and/or psychographic profile for the user. All of these systems require the user to explicitly provide her/his profile information.
SUMMARY OF THE INVENTION
A method and apparatus for updating an electronic phonebook over electronic communications networks is described. The voice portal uses telephone identifying information to select, or create, a user profile to associate with a particular piece of the telephone identifying information. The user profile includes or contains a pointer to the user's electronic phonebook, and in the latter case, the phonebook is still effectively a part of the user profile.
The phonebook can be intelligently updated by the voice portal, at the user's option, when the user specifies a number that does not correspond to an existing phonebook entry. Additionally, the user can use an email or button on a website to permit others to add the user's contact information to their phonebooks using only a single mouse click.
The personalized content presented during a telephone call is specific to that user based on the profile associated with her/his telephone identifying information. For example, if a user, John, has previously called from the telephone number 650-493-####, he may have indicated he prefers a Southern dialect. Then, upon subsequent calls to the system from his telephone John will be greeted in a Southern dialect based on the profile associated with his number.
Example personalizations provided by embodiments of the invention will now be described. The system may personalize the session based on the time and/or date as determined from the telephone identifying information. For example, based on the local time for the calling party, time and/or date appropriate options may be presented. For example, if a user calls from California at noon, a restaurant for lunch may be suggested. However, a caller from London at that same moment might be presented evening entertainment selections because of the eight hour time difference.
The system may personalize the session based on the caller's locale as determined from the telephone identifying information. For example, caller's from Palo Alto, Calif. may hear different selections and options than callers from Washington, D.C. This may include locale specific events, e.g. a county fair, locale specific announcements, e.g. flood watch for Santa Clara County, etc.
The system may target advertising based on the caller's demographic and/or psychographic profile. Additionally, the advertising may be targeted based on the telephone identifying information. For example, overall demographic information for a particular area code-exchange combination may be used, e.g. 650-493 corresponds to Palo Alto, Calif., with an average income of $X. On an international scale, this can be used to the extent that the particular numbering plan can be combined with relevant geographic/demographic/psychographic information about callers. Both types of targeted advertising allow the callers to be qualified, e.g. match the requirements of the advertiser. For example, a San Francisco jewelry store might only want to reach households in the Bay Area with an average household income exceeding $50,000 a year. The targeted advertising can ensure that callers presented with the ad are qualified.
The system may adapt the voice character, e.g. the speech patterns and dialect, of the system according to the caller's telephone identifying information and/or the caller's own voice character. Thus, for example, for callers who speak more slowly the system may reduce the speed at which the system speaks and/or increase the volume. This may be based on the telephone identifying information, e.g. hospital, an explicit request by the user, e.g. “Slow down”, and/or implicitly based on the caller's speech patterns and interactions with the system.
Based on the caller's profile—as retrieved through the telephone identifying information—and/or demographic information from other sources, e.g. locale based and/or reverse phone directory lookup, the system can make purchasing suggestions. For example, close to a holiday like Mother's day, the system may suggest a gift based on what other people in that locale, e.g. Palo Alto, are buying and or based on the user's own purchasing history, e.g. she/he bought flowers last year. Similarly, the voice portal can recommend the purchase of an audio CD based on previous audio CD purchases.
The system may use a voice password and/or touch-tone login system when appropriate to distinguish the caller or verify the caller's identity for specific activities.
These customizations may be combined in a variety of fashions. Thus, for example, the time, the locale, and a preferred dialect may be used to present a purchase recommendation.
Profiles can be constructed implicitly as the caller uses embodiments of the invention as well as through explicit designation of preferences. For example, the user might specify an existing personalized web site to use in building her/his profile for the voice system. Similarly, for a caller from New York who repeatedly asks for the weather in San Francisco, the system might automatically include the San Francisco weather in the standard weather report without explicit specification, or confirmation.
Additionally, new callers may have an initial profile generated based on one or more database lookups for demographic information based on their telephone identifying information.



BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 illustrates a system including embodiments of the invention used to provide personalized content to users of telephones according to telephone identifying information.
FIG. 2 illustrates the components of a voice portal supporting personalized content.
FIG. 3 is a process flow diagram supporting personalization and registration of and for users accessing a voice portal over a telephone interface.
FIG. 4 is a process flow diagram for personalizing a voice portal over a web based interface.
FIG. 5 is a process flow diagram for providing personalized content according to some embodiments of the invention.



DETAILED DESCRIPTION
A. Introduction
A voice portal for presenting personalized content over a telephone interface is described. The voice portal allows users of telephones, including cellular telephones, to access a voice portal by dialing a phone number to listen to personalized content. The information provided over the voice portal may come from the World Wide Web (WWW), databases, third parties, and/or other sources. In addition, the voice portal allows a user to maintain an electronic phonebook and to perform various telephony functions such as voice messaging, conferencing, and call forwarding.
The term voice portal refers to the capability of various embodiments of the invention to provide customized voice and/or audio content services to a caller. The voice portal can receive dual-tone multi-frequency (DTMF or touch-tone) commands as well as spoken commands to further control the voice and/or audio content presented and the manner of presentation.
Embodiments of the invention use telephone identifying information to personalize caller interactions with the voice portal. This allows the system to present highly customized information to each caller based on a personal profile the system associates with the telephone identifying information.
The invention will be described in greater detail as follows. First, a number of definitions useful to understanding the invention are presented. Then, the hardware and software architecture is presented in the System Overview. Then, a series of sections describe the various personalization features provided by different embodiments of the invention.
B. Definitions
1. Telephone Identifying Information
For the purposes of this application, the term telephone identifying information will be used to refer to ANT information, CID information, and/or some other technique for automatically identifying the source of a call and/or other call setup information. For example, ANI information typically includes a dialed number identification service (DNIS). Similarly, CID information may include text data including the subscriber's name and/or address, e.g. “Jane Doe”. Other examples of telephone identifying information might include the type of calling phone, e.g. cellular, pay phone, and/or hospital phone.
Additionally, the telephone identifying information may include wireless carrier specific identifying information, e.g. location of wireless phone now, etc. Also, signaling system seven (SS7) information may be included in the telephone identifying information.
2. User Profile
A user profile is a collection of information about a particular user. The user profile typically includes collections of different information as shown and described more fully in connection with FIG. 3. Notably, the user profile contains a combination of explicitly made selections and implicitly made selections.
Explicitly made selections in the user profile stem from requests by the user to the system. For example, the user might add business news to the main topic list. Typically, explicit selections come in the form of a voice, or touch-tone command, to save a particular location, e.g. “Remember this”, “Bookmark it”, “shortcut this”, pound (#) key touch-tone, etc., or through adjustments to the user profile made through the web interface using a computer.
In contrast, implicit selections come about through the conduct and behavior of the user. For example, if the user repeatedly asks for the weather in Palo Alto, Calif., the system may automatically provide the Palo Alto weather report without further prompting. In other embodiments, the user may be prompted to confirm the system's implicit choice, e.g. the system might prompt the user “Would you like me to include Palo Alto in the standard weather report from now on?”
Additionally, the system may allow the user to customize the system to meet her/his needs better. For example, the user may be allowed to control the verbosity of prompts, the dialect used, and/or other settings for the system. These customizations can be made either explicitly or implicitly. For example if the user is providing commands before most prompts are finished, the system could recognize that a less verbose set of prompts is needed and implicitly set the user's prompting preference to briefer prompts.
3. Topics and Content
A topic is any collection of similar content. Topics may be arranged hierarchically as well. For example, a topic might be business news, while subtopics might include stock quotes, market report, and analyst reports. Within a topic different types of content are available. For example, in the stock quotes subtopic, the content might include stock quotes. The distinction between topics and the content within the topics is primarily one of degree in that each topic, or subtopic, will usually contain several pieces of content.
4. Qualified
The term qualified as it is used in this application refers to whether or not a particular user being presented an advertisement, or other material, meets the demographic and/or psychographic profile requirements for that advertisement, or content. For example, a San Francisco-based bookstore might request that all listeners to its advertisement be located in a particular part of the San Francisco Bay Area. Thus, a user of the system would be qualified if she lived in the designated part of the San Francisco Bay Area.
Different embodiments of the invention may qualify users of the system according to different requirements. For example, in some instances advertising, or content, is qualified solely based on telephone identifying information. In other embodiments the telephone identifying information is used in conjunction with other information such as an associated user profile, a reverse telephone number lookup for locale demographics, and/or other information.
5. Locale
As used in this application, the term locale refers to any geographic area. The geographic area may be a neighborhood, a city, a county, a metropolitan region, a state, a country, a continent, a group of countries, and/or some other collection of one or more geographic areas, e.g. all United State major metropolitan areas.
For this reason, a single user of the system may be considered to be in several locales. For example, a caller from Palo Alto, Calif., might be in the Palo Alto locale, a Silicon Valley locale, a San Francisco Bay Area locale, a Northern California locale, a California state locale, and a United States locale.
Thus, the telephone identifying information for a single telephone number can be mapped to a number of system-defined locales.
6. Voice Character
The term voice character as it is used in this application refers to all aspects of speech pronunciation including dialect, speed, volume, gender of speaker, pitch, language, voice talent used, actor, characteristics of speech, and/or other prosody values. Users can adjust the voice character of the system by changing their voice character settings.
For example, an elderly user could select voice character settings that provide louder volume and slower speech. Similarly, a caller from the South could adjust the voice character settings to support a Southern dialect.
7. Demographic and Psychographic Profiles
Both demographic profiles and psychographic profiles contain information relating to a user. Demographic profiles typically include factual information, e.g. age, gender, marital status, income, etc. Psychographic profiles typically include information about behaviors, e.g. fun loving, analytical, compassionate, fast reader, slow reader, etc. As used in this application, the term demographic profile will be used to refer to both demographic and psychographic profiles.
C. System Overview
First, the hardware and software architecture of a system including an embodiment of the invention will be described with reference to FIGS. 1-2. FIG. 1 illustrates a system including embodiments of the invention used to provide personalized content to users of telephones according to telephone identifying information. The system of FIG. 1 can be used to allow users of standard telephones and cellular telephones to access a voice portal with personalized content from their telephones.
The following lists the elements of FIG. 1 and describes their interconnections. FIG. 1 includes a telephone 100, a cellular telephone 101, a computer 102, a telephone network 104, an Internet 106, a telephone gateway 107, a web server 108, a voice portal 110, a shared database 112 and a personalized site 130. The cellular telephone 101 and the telephone 100 are coupled in communication with the telephone network 104. The telephone network 104 is coupled in communication with the telephone gateway 107. The telephone gateway 107 is coupled in communication with the voice portal 110. The computer 102 is coupled in communication with the Internet 106. The Internet 106 is coupled in communication with the web server 108. The voice portal 110 and the web server 108 are coupled in communication with the shared database 112. The personalized site 130 is coupled in communication with the Internet 106.
The following describes each of the elements of FIG. 1 in greater detail. The use of each of the elements will be described further in conjunction with the sections describing the personalization features.
The telephone 100 and the cellular telephone 101 are two different telephone interfaces to the voice portal 110. The telephone 100 and the cellular telephone 101 may be any sort of telephone and/or cellular telephone. For example the telephone 100 or the cellular telephone 101 may be a land line phone, a PBX telephone, a satellite phone, a wireless telephone, and/or any other type of communication device capable of providing voice communication and/or touch-tone signals over the telephone network 104. However, any audio signal carrying interface could be used.
The telephone network 104 may be the public switched telephone network (PSTN) and/or some other type of telephone network. For example, some embodiments of the invention may allow users with a voice over Internet Protocol (IP) phone to access the voice portal 110. The telephone network 104 is coupled to the telephone gateway 107 that allows the voice communications and/or touch-tone signals from the telephone network 104 to reach the voice portal 110 in usable form. Similarly, the telephone gateway 107 allows audio signals generated by the voice portal 110 to be sent over the telephone network 104 to respective telephones, e.g. the telephone 100. The telephone network 104 generally represents an audio signal carrying network.
The computer 102 is a computer such as a personal computer, a thin client computer, a server computer, a handheld computer, a set top box computer, and/or some other type of visual web browsing device. The computer 102 is coupled in communication with the Internet 106, e.g. by a dial-up connection, a digital subscriber loop (DSL), a cable modem, and/or some other type of connection. This allows the computer 102 to communicate with the web server 108. The computer 102 typically provides a visual interface to the WWW and the web server 108 using web browsing software such as Internet ExplorerTM from Microsoft Corporation, Redmond, Wash.
Both the web server 108 and the voice portal 110 are capable of communicating with the shared database 112 to register users, build personal profiles implicitly and/or explicitly as will be described more fully below. The database 112 stores profiles for each user based on an association between one or more pieces of telephone identifying information and a particular user. Thus, the database may have a profile for a user Sarah Smith that is keyed to her home telephone number, e.g. 650-493-####. Additionally, Sarah could associate other numbers, e.g. work, cellular, etc., with her profile either implicitly, e.g. by repeatedly calling the voice portal 110 from those numbers, or explicitly, e.g. by adding those numbers to the system directly.
In some embodiments, an existing profile for a web-based portal is adapted for use by the voice portal 110 by associating one or more telephone numbers with the existing profile as stored in the shared database 112. In these embodiments, the existing profile may be further modified for use with the voice portal 110 to allow for different preferences between the web and the voice interfaces.
The call flow arrows 114-122 shown on FIG. 1 will be described in greater detail below.
FIG. 2 illustrates the components of a voice portal supporting personalized content. This could be used to support the voice portal 110 and provide personal content as described above.
The following lists the elements of FIG. 2 and describes their interconnections. The voice portal 110 is coupled in communication with the telephone gateway 107. The voice portal 110 includes a call manager 200, an execution engine 202, a data connectivity engine 220, an evaluation engine 222 and a streaming engine 224. Additionally FIG. 2 includes elements that may be included in the voice portal 110, or which may be separate from, but coupled to, the voice portal 110. Thus FIG. 2 also includes a recognition server 210, a text to speech server 214, an audio repository 212, the shared database 112, a database 226, the Internet 106, a database 228 and a web site 230. The call manager 200 within the voice portal 110 is coupled to the execution engine 202. The execution engine 202 is coupled to the recognition server 210, the text to speech server 214, the audio repository 212, data connectivity engine 220, the evaluation engine 222 and the streaming engine 224. The data connectivity engine 220 is coupled in communication with the shared database 112, the database 226 and the Internet 106. The Internet 106 is coupled in communication with database 228 and the web site 230.
The following describes each of the elements of FIG. 2 in greater detail. The use of each of the elements will be described further in conjunction with the sections describing the personalization features.
Typically, the voice portal 110 is implemented using one or more computers. The computers may be server computers such as UNIX workstations, personal computers and/or some other type of computers. Each of the components of the voice portal 110 may be implemented on a single computer, multiple computers and/or in a distributed fashion. Thus, each of the components of the voice portal 110 is a functional unit that may be divided over multiple computers and/or multiple processors. The voice portal 110 represents an example of a telephone interface subsystem. Different components may be included in a telephone interface subsystem. For example, a telephone interface subsystem may include one or more of the following components: the call manager 200, the execution engine, the data connectivity 220, the evaluation engine 222, the streaming subsystem 224, the audio repository 212, the text to speech 214 and/or the recognition engine 210.
The call manager 200 is responsible for scheduling call and process flow among the various components of the voice portal 110. The call manager 200 sequences access to the execution engine 202. Similarly, the execution engine 202 handles access to the recognition server 210, the text to speech server 214, the audio repository 212, the data connectivity engine 220, the evaluation engine 222 and the streaming engine 224.
The recognition server 210 supports voice, or speech, recognition. The recognition server 210 may use Nuance 6TM recognition software from Nuance Communications, Menlo Park, Calif., and/or some other speech recognition product. The execution engine 202 provides necessary grammars to the recognition server 210 to assist in the recognition process. The results from the recognition server 210 can then be used by the execution engine 202 to further direct the call session. Additionally, the recognition server 110 may support voice login using products such as Nuance VerifierTM and/or other voice login and verification products.
The text to speech server 214 supports the conversion of text to synthesized speech for transmission over the telephone gateway 107. For example, the execution engine 202 could request that the phrase, “The temperature in Palo Alto, Calif., is currently 58 degrees and rising” be spoken to a caller. That phrase would be translated to speech by the text to speech server 214 for playback over the telephone network on the telephone (e.g. the telephone 100). Additionally the text to speech server 214 may respond using a selected dialect and/or other voice character settings appropriate for the caller.
The audio repository 212 may include recorded sounds and/or voices. In some embodiments the audio repository 212 is coupled to one of the databases (e.g. the database 226, the database 228 and/or the shared database 112) for storage of audio files. Typically, the audio repository server 212 responds to requests from the execution engine 202 to play a specific sound or recording.
For example, the audio repository 212 may contain a standard voice greeting for callers to the voice portal 110, in which case the execution engine 202 could request play-back of that particular sound file. The selected sound file would then be delivered by the audio repository 212 through the call manager 200 and across the telephone gateway 107 to the caller on the telephone, e.g. the telephone 100. Additionally, the telephone gateway 107 may include digital signal processors (DSPs) that support the generation of sounds and/or audio mixing.
The execution engine 202 supports the execution of multiple threads with each thread operating one or more applications for a particular call to the voice portal 110. Thus, for example, if the user has called in to the voice portal 110, a thread may be started to provide her/him a voice interface to the system and for accessing other options.
In some embodiments of the invention an extensible markup language (XML)-style language is used to program applications. Each application is then written in the XML-style language and executed in a thread on the execution engine 202. In some embodiments, an XML-style language such as VoiceXML from the VoiceXML Forum, <http://www.voicexml.org/>, is extended for use by the execution engine 202 in the voice portal 110.
Additionally, the execution engine 202 may access the data connectivity engine 220 for access to databases and web sites (e.g. the shared database 112, the web site 230), the evaluation engine 222 for computing tasks and the streaming engine 224 for presentation of streaming media and audio. The streaming engine 224 may allow users of the voice portal 110 to access streaming audio content, or the audio portion of streaming video content, over the telephone interface. For example, a streaming media broadcast from ZDNetTM could be accessed by the streaming engine 224 for playback through the voice portal.
The data connectivity engine 220 supports access to a variety of databases including databases accessed across the Internet 106, e.g. the database 228, and also access to web sites over the Internet such as the web site 230. In some embodiments the data connectivity engine can access standard query language (SQL) databases, open database connectivity databases (ODBC), and/or other types of databases. The shared database 112 is represented separately from the other databases in FIG. 2; however, the shared database 112 may in fact be part of one of the other databases, e.g. the database 226. Thus, the shared database 112 is distinguished from other databases accessed by the voice portal 110 in that it contains user profile information.
Having described the hardware and software architecture supporting various embodiments of the invention, the various personalization features provided by different embodiments of the invention will now be described.
D. Telephone Driven Profile Building
Turning to FIG. 3, the process of creating a profile using a telephone interface will be described. This process will be described with reference to the call flow arrows shown on FIG. 1 as well.
The voice portal 110 is able to flexibly handle multiple callers from a single telephone, e.g. Tom and Dick are roommates and both call from 650-493-####. Similarly, the voice portal 110 is able to handle a single caller that uses multiple telephones, e.g. Tom has a cell phone 650-245-####, his home phone 650-493-####, and a work phone 408-301-####. The manner in which the voice portal 110 can handle some of the above situations will be discussed throughout. In the example used while describing FIG. 3, the process will be described using a caller Jane Smith as an exemplary caller who has never registered with the voice portal 110 from any telephone and an exemplary caller John Doe who has previously called the voice portal 110 from his telephone 100.
First, at step 300, telephone identifying information is received. This is shown in FIG. 1 by call flow arrow 114 representing the transfer of telephone identifying information through the telephone gateway 107 to the voice portal 110. This step occurs after a user has placed a call to the voice portal 110 with a telephone, e.g. the telephone 100.
Next, at step 302, a determination is made as to whether the telephone identifying information corresponds to a known profile, e.g. is the user registered? Some examples may be illustrative. If Jane Smith uses the cellular telephone 101 to call the voice portal 110 for the first time, her telephone identifying information will not be associated with any existing unique profile in the shared database 112. Therefore, at step 302, the determination would be made that she is not registered and the process would continue at step 304. In contrast, John Doe has previously called the voice portal from the telephone 100 and so his telephone identifying information will be associated with a profile in the shared database 112 and the process would continue at step 306.
If, the telephone identifying information is not associated with an existing profile in the shared database 112, a new profile is created at step 304. The new profile may be initialized using a variety of information derived from the telephone identifying information and/or predetermined values for the voice portal 110. Thus, for example, when Jane Smith calls for the first time from the cellular telephone 101, an initial profile can be created using the calling number, e.g. 650-493-####, included in the telephone identifying information to select initial profile settings. The call flow arrow 116 shows this process on FIG. 1. The use of the telephone identifying information to create an initial profile is discussed below in the section “Automatic Profile Initialization”.
In some embodiments, the profile is not initialized using the telephone identifying information. In other embodiments, the user may be explicitly queried by the voice portal 110 to create one or more components of the initial profile, e.g. “Please speak your first name”, to allow for more personalized prompting by the voice portal 110. Once a profile is created, the process continues at step 306.
At step 306, the profile is retrieved from the shared database 112 as shown by the call flow arrow 118. The profile can be updated throughout the call based on the user's behavior and actions—implicit preferences—as well as explicit requests from the user to customize the voice portal 110. Once a profile is selected at step 306, the personalized content can be presented to the user as shown by the call flow arrow 122 in FIG. 1.
For example, John Doe, who is calling from the telephone 100, already has a profile in the shared database 112. That profile may indicate that John prefers a southern dialect and likes to hear a quick stock market report immediately on call in. Thus, for John, his telephone identifying information serves to log him directly into the system and trigger the personalized behavior unique to him: a quick stock market report in a southern dialect. In contrast, a different caller, Sarah Brown, from a different telephone will be provided different personalized content based on that telephone identifying information.
The voice portal may support multiple callers from a single telephone. For example, Sarah Brown and John Doe may both use the telephone 100 to call the voice portal 110. In the case where two or more profiles are identified with the same telephone identifying information, the voice portal may prompt for a password or other unique identifier, either as voice or touch-tone, to select among the profiles.
However, as a general matter, the voice portal is configured to minimize the need for a caller to provide a password. Thus, during a single call session, the caller is typically only asked to provide her/his password a single time. However, some embodiments of the invention may require that a password always be used to complete commercial transactions and/or after the passage of a predetermined period, e.g. ten minutes since last password prompt. In some embodiments, the user may adjust her/his profile to allow login without a password for playback features.
Also, a single profile can be associated with multiple calling numbers. For example, the user Jane Doe could specify that both the telephone 100 and the cellular telephone 101 should be associated with her profile. Similarly, if Jane calls from a new telephone, e.g. pay phone, she can provide her existing telephone number and her password to access her profile. In some embodiments, whenever the user calls from a new telephone number, she/he is prompted as to whether to remember the number for future use. In some embodiments, additional telephone identifying information, e.g. this is a pay phone, is used so that the caller is not prompted to associated telephone numbers that are likely to be single time uses with her/his profile. Similarly, voice verification may be used to recognize a caller's voice instead of, or in addition to, using a password or other identification number.
Typical events that would require a password, or that the user be authenticated previously with a password, might include adding and removing items from the user profile through explicit commands as well as requests for specific personal information, e.g. that user's stock portfolio, bank account balances, etc.
It is not necessary for callers to the voice portal 110 to explicitly specify their preferences using this embodiment of the invention. The callers' behaviors and actions are used by the voice portal 110 to adopt implicit preferences, sometimes after receiving confirmation. For example, behaviors and actions reflecting repeated access to a content in a particular topic, or a particular topic, may cause the voice portal 110 to automatically include the repeatedly requested content in the default message.
For example, if a caller from New York City repeatedly asks for the weather in San Francisco, the system can add the San Francisco weather to the standard weather report. Alternatively, the system may request confirmation before adding the weather report, e.g. “Would you like me to include San Francisco in the standard weather report?” Similarly, at the level of topics, users who repeatedly ask for information about business related issues may find that the system will adjust the main menu to include business. Similarly, if that same user never asks for sports scores, that option may drop off the main menu. In some embodiments, the system may ask for confirmation before modifying the menu choices, or the system may notify the user of a modification and/or allow a user to review/change past modifications. As a result, the structure and content of the call may change, e.g. San Francisco weather will be announced at the beginning of future calls and sports information may be omitted.
Through the use of this process, the need for a specialized editing mode of the type seen on customizable web portals is reduced. The user's actions and behaviors shape the options presented to her/him. Thus, reducing the need to explicitly pick topics and/or content in an editing mode. However, some embodiments of the invention may allow for explicit profile creation in an editing mode over the web, see below, and/or over the telephone. Also, users are typically permitted to add and remove topics and/or items at will with explicit commands, e.g. “Remember this”, “Remove”, “Add to my stock list”, etc.
E. Web Driven Profile Building
Turning to FIG. 4, the process of modifying a profile for use over a telephone interface over the web will be described. This process will be described with reference to the call flow arrows shown on FIG. 1 as well.
The process shown in FIG. 4 assumes that a profile has already been created, e.g. by calling for the first time as described above. However, in some embodiments of the invention, users may create profiles using the web interface by providing the telephone identifying information for their primary calling phone number and a password. As is the case with the telephone registration process described in step 304, the telephone identifying information provided, here the primary calling phone number, can be used to create the initial profile.
Starting at step 400, the profile is accessed using a computer (e.g. the computer 102) via a web interface. The web interface is provided by a web server (e.g. the web server 108) and allows for access to the shared database 112 as shown by the call flow arrow 120.
Once the user has signed in to access her/his profile on the computer, she/he can manually identify content and topics to build her/his profile at step 404. This can be supported by allowing the user to specify topics from a list of topics and then specifying per topic content from a list of content. For example, the topics might include business, sports, news, entertainment, and weather, to name a few. The user could include weather, news, and business in her/his main menu and then further customize the specific content to be presented within those topics. For example, within weather, the user might select the specific cities she/he wants listed in her/his weather menu and/or the cities for which the weather is automatically played.
Alternatively, at step 402, the user can identify a web location with personalized content to use in building her/his profile, e.g. a uniform resource indicator (URI). For example, FIG. 1 includes the personalized site 130. The personalized site 130 could be a customized portal web page, e.g. myYahoo!, My Netscape, etc., a home page the user herself/himself has designed, and/or any other web page that includes content of interest to the user. The user can identify the personalized site with a uniform resource indicator (URI), including a login identifier and password if necessary, e.g. for myYahoo! The personalized site 130 can then be accessed and the pertinent user preferences, e.g. news, stocks, selected. Taking the example of a customized portal site, the main topics selected, e.g. horoscopes, and the content within, Sagittarius, could be adopted. However, the voice portal 110 may present its own content for that particular item, e.g. the version of the Sagittarius horoscope on the voice portal 110 not the version from the personalized site 130.
The processes of step 402 and step 404 can be used together allowing a user to quickly transfer preferences from a web portal to her/his voice portal while still supporting explicit personalization.
Alternatively, in some embodiments of the invention, an existing web portal profile is voice enabled for use by a voice portal through the association of telephone identifying information with the existing web portal. In this embodiment, at step 402, the telephone identifying information, e.g. the primary calling number, is associated with an existing web profile, e.g. myYahoo! profile, stored in the shared database 112 and that existing web profile is then usable from the voice portal 110 either using voice or touch-tone commands.
Additionally, web sites like the personalized site 130 may be accessed using the voice portal 110 in some embodiments of the invention through the use of the data connectivity engine 220 as shown in FIG. 2.
F. Profile Building Via Other Web Sites
Some embodiments of the invention may allow users of the voice portal 110 to add to their profile from other web sites. For example, if a user of the computer 102 is accessing a web site (e.g. the personalized site 130), the web site might include a link like “Add this to your voice portal.” Thus, for example, from a service such as MapQuestTM or AmeritradeTM, the user could click on a link to add a particular piece of content or a particular topic to their portal for the voice portal 110.
For example, a user could add her/his “QQQ” stock symbol to her/his profile on the voice portal 110 even though the voice portal 110 may be operated independently of the particular web site.
This type of web based profile building allows for widespread profile building for the voice portal 110 from a variety of Internet sites. Also, in some embodiments, the web browser software on the user's computer (e.g. the computer 102) can support an option to add a bookmark to the user's profile stored in the shared database 112 for the voice portal 110. For example, a menu option in the browser on the computer 102 might include “Add Page to Voice Portal Shortcuts” and upon selecting that menu option, the current web page would be added to the user's profile on the voice portal 110.
This would typically be accomplished by accessing a URI on the web server 108 that included the information to be added. At that point, the web server 108 might ask for a primary calling phone number and/or a password. In some embodiments, a cookie stored by the browser on the computer 102 may be used to obviate one or both of these steps. After the user provides the information, or it is accepted automatically, a confirmation page may be shown including a return link to the originating web page. Several example URI's for adding content are shown below:
<http://www.voiceportal.com/add.cgi?topic=stock%20quote&content=QQQ>
<http://www.voiceportal.com/add.cgi?shortcut=MapQuest&ref=www.mapquest.com/voice.vxml>
<http://www.voiceportal.com/add.cgi?shortcut=myYahoo&ref=my.yahoo.com/voice.vxml&login=jdoe>
These examples are illustrative of the various types of URI's that can be placed as links on web sites to allow users of the voice portal 110 to further customize their profile.
G. Locale Based Personalization
Turning to FIG. 5, the basic personalization framework used by several embodiments of the invention is presented. At step 500, a request is made for content, or a topic. Then one or more of steps 502-510 take place, in parallel or sequence, and then the content is presented at step 512. Which of steps 502-510 occur for a given request may be determined based on the topic or content requested. For example, step 504 can be omitted when non-time dependent information is presented.
Turning to step 502, the customization of content based on the calling locale. The telephone identifying information includes information about the caller's locale independent of any user provided registration information. This information can be derived from telephone routing tables that provide a descriptive name for each area code/exchange combination within the North American Numbering Plan (NANP). Thus, the phone number 650-493-#### would be associated with “Palo Alto, Calif.”. Similarly, 650-592-#### would be associated with “San Carlos, Calif.”.
This information may be directly present in the telephone identifying information provided to the voice portal 110, or may be ascertained from a local exchange routing guide (LERG). For international callers outside the NANP, similar types of telephone identifying information can be mapped to locales within countries to the extent permitted by the particular numbering plan.
The city-state combination may correspond to multiple locales for the purposes of the voice portal 110. For example, a county-wide or multi-city locale can be defined that encompasses multiple area code/exchange combinations. Thus, a single caller may be in multiple locales.
Locale information can be further refined through the use of additional databases, e.g. city/state to zip code databases, street address to five digit zip code databases, reverse lookup databases that map phone numbers to street addresses, longitude-latitude conversion databases, and/or other databases that provide locale related information from telephone identifying information. Thus, for example, V and H coordinates might be determined using the telephone identifying information. Those can be further converted to a longitude and latitude to determine the locale. Alternatively, a reverse phone number database could be used to find a specific street address for the telephone identifying information.
Examples of the uses for the locale information include: providing locale-appropriate lottery results, providing driving directions to a requested destination, providing locale-appropriate weather reports, providing locale-appropriate show times for movies other events, e.g. cultural, governmental, etc., traffic reports, yellow page listings, and/or providing other locale-related information.
H. Time/Date Based Personalization
Turning to step 504, the customization of content based on the time and/or date will now be described. The telephone identifying information includes information about the caller's locale independent of any user provided registration information. This information can be derived from telephone routing tables that provide a descriptive name for each area code/exchange combination within the NANP. Thus, the phone number 650-493-#### would be associated with “Palo Alto, Calif.” and thus the correct time zone, Pacific, could be selected as well.
This time zone may be directly present in the telephone identifying information provided to the voice portal 110, or may be ascertained from the LERG. For international callers outside the NANP, similar types of telephone identifying information can be mapped to locales within countries to the extent permitted by the particular numbering plan. Thus, callers from United Kingdom numbers would be mapped to British Standard Time.
The time zone information allows the voice portal 110 to customize the presentation of information based on the time in the caller's locale. Callers can use a single nationwide, or international, number to reach the voice portal 110, e.g. 800-###-####. The voice portal 110 will use the time zone information to adjust the content presented to each user.
Thus, during the lunch hour, the voice portal 110 might report a stock quote to the user while on a Friday evening, the voice portal 110 might suggest a movie. For example, “It is Friday night, would you be interested in seeing a movie?” A “yes” response by the caller will lead to the presentation of a list that is both time and date adapted and locale appropriate. For example, a caller from Palo Alto at six o'clock p.m. on a Friday would hear about show times after six o'clock p.m. in his local area.
If necessary, the voice portal 110 may connect the user to an appropriate transaction system to complete a user requested transaction such a the purchase of an airline ticket, a movie ticket, an audio CD, etc. However, in many instances, the voice portal 110 may be able to directly complete the transaction using the data connectivity engine 220 and access to the Internet 106 and/or one more databases (e.g. the database 226). This process can occur even if the caller has not explicitly provided the voice portal 110 her/his home location or the current time. For example, this personalized content might be presented immediately at after step 304 of FIG. 3 in step 306.
Similarly, other time sensitive information can be presented such as airline schedules, cultural and other events, etc. Thus, for example a caller asking for flight times to New York from a 650-493-#### telephone number might be prompted to select one of the three local airports: San Francisco International, San Jose International, and Oakland International, and then the flight times to New York after the current time in the Pacific time zone would be presented.
Some additional examples include customizing the presentation of business reports based on whether or not the market is open; modifying the greeting prompt based on the time of day; and providing traffic information automatically during commute hours, but not at other times.
I. Targeted Advertising
Embodiments of the invention support the presentation of targeted advertising, or other content, to callers of the voice portal 110 as shown at step 508. The two primary types of targeted advertising supported by embodiments of the invention will be described. The different types of targeted advertising can be combined as well.
1. Based Solely on Telephone Identifying Information
Telephone identifying information can be used to reference demographic information about callers from a particular area. For example, if the telephone identifying information includes the calling number 650-493-####, corresponding to Palo Alto, Calif., general demographic information about callers from that particular region can be used to target the advertising, or other content. Further, if a reverse lookup database is used, the phone number can, in some instances, locate specific demographic information for a given household, or caller.
This personalization allows the targeting of advertising to qualified callers by the voice portal 112. For example, an advertiser of expensive luxury vehicles might request that its callers be qualified based on their income, or a particular psychographic attribute, e.g. fun-loving. In that case, the demographic profile corresponding to the telephone identifying information can be used to qualify the caller. Thus, callers from the relatively affluent city of Palo Alto, Calif. might receive the advertising. Similarly, if a particular household meets the requirements based on a reverse lookup, those households can receive the advertising as well.
2. Based on Profile
Another source of information about the caller is the profile used by the shared database 112. This profile may indicate interests based on the explicit and implicit preferences, e.g. likes sports, and can be used in combination with the telephone identifying information to more closely tailor ads to the caller.
For example, if the caller has added movie and entertainment information to her/his profile, either explicitly or implicitly, advertising related to movies and entertainment could be favored over other qualified advertising based on the caller's profile. Other examples include providing brokerage, and other financial services, advertisements to callers who frequently check stock quotes and/or have a customized stock list.
J. Adaptive Voice Character
Turning to step 508, the customization of content through adaptive voice character will now be described. The telephone identifying information includes information about the caller's locale independent of any user provided registration information. The locales may be associated with one or more standard voice character settings, e.g. for dialect, and also idiomatic speech. Thus, callers from California may receive different prompts and a different dialect from the voice portal then callers from Florida.
Similarly, the telephone identifying information may include information about the type of phone, e.g. pay phone, hospital phone, etc., that can be used to adjust the voice character, e.g. louder and slower speech.
Additionally, the caller's speaking voice may be used to refine the voice character of the system. Thus, callers with speech patterns from a particular region of the country may find that after several verbal interactions with the voice portal, the content being presented at step 512 is being spoken using a voice character more suited to their own speech patterns. Similarly, in response to callers who request that information be repeated several times, the voice character for those callers may be slowed and played back louder. Additional examples include allowing users to select different voice actors, different background music and/or sound effects, control the verbosity of prompts, etc.
K. Purchase Recommendations
Turning to step 510, the customization of content through purchase suggestions. Based on the caller's profile—as retrieved through the telephone identifying information—and/or demographic information from other sources, e.g. locale based and/or reverse lookup, the system can make purchasing suggestions.
The suggestions could be based on the caller's locale and what others in that locale have purchased. In other embodiments, the suggestions may be based on the profile of the user relative to other user's purchases. In some embodiments, approaches such as collaborative filtering are used to generate recommendations.
Examples of recommendations may include particular goods and services, e.g. flowers for Mom a few days before Mother's Day. Further, the exact suggestion may vary based on the caller's past habits, e.g. in the past you bought chocolates so this year chocolates might be suggested again. Alternatively, if many people from your locale are buying a particular book that might be suggested as well. The particular purchase recommendation may relate to goods and services offered independently, by, and/or in affiliation with the operator of the voice portal 110.
L. Voice Login
As discussed above, the system may support the use of one or more passwords, either spoken or touch-tone for login and authentication purposes. The passwords provide for protection against modifications to a user's profile without authentication. Additionally, certain specific actions, e.g. making a purchase, listening to certain types of personalized content, etc., may require authentication.
Typically, the authentication system will support either a voice or a touch-tone password for users of the voice portal 110. This flexibility addresses situations where the voice password is not working due to line conditions and/or conditions of the calling telephone. Products such as Nuance VerifierTM and/or other voice login and verification products may be used to provide the voice login feature. In some embodiments, both types of authentication may be required.
Once logged in, or authenticated, embodiments of the invention may minimize the need for the user to re-authenticate herself/himself, as described above. Additionally, the password, either voice and/or touch-tone, used for authentication for telephone sessions may be the same or different as any passwords used for authentication for web access to the profile customization options described in conjunction with FIG. 4.
M. Automatic Profile Initialization
As discussed in conjunction with FIG. 3, it may be desirable to initialize the profile using the telephone identifying information. The telephone identifying information can be used to select an appropriate demographic profile and list of topics based on the calling locale. In other embodiments, a reverse lookup of the calling number provided with the telephone identifying information is used to obtain a specific demographic profile for a caller and/or her/his household.
Then the demographic information derived from the locale and/or the reverse lookup are used to set initial profile values. For example, the user's income might be estimated based on the average income for the calling locale, e.g. Palo Alto, Calif., or from demographic information from the reverse lookup. Similarly, the caller's initial topics might be selected based on commonly selected topics for her/his locale and/or the preferences available based on the demographic information retrieved by the reverse lookup.
These initial values may be revised based on a caller's later actions. For example, if the initial estimate of a caller's age is too high, later actions may cause that information to be revised. Similarly, callers may be permitted to explicitly provide certain types of demographic information as needed. For example, the user might provide her/his birth date to a horoscope feature provided by the voice portal 110, in that instance, the birth date might be incorporated into the profile.
N. Personalized Phonebook
Voice portal 110 can be used to create, manipulate, and update a distinct “phonebook” database for each caller or caller profile in shared database 112, where the phonebook can include, among other things, names, telephone numbers, and other data of relevance to the particular caller. Preferably, the phonebook should be implemented to support data formats such as “vCards.” The vCard specification was developed by the versit consortium founded by Apple, AT&T, IBM, and Siemens, which turned the specification over to an industry group, the Internet Mail Consortium (IMC) in 1996. The vCard specification makes use of the “person” object defined by the CCITT X.500 Series Recommendation for Directory Services and can be considered an extension of it. A vCard contains a name, address information, date and time, and optionally photographs, company logos, sound clips, and geo-positioning information.
The phonebook may be stored as an integral part of each caller's user profile or as a separate database associated with the caller's user profile. Preferably, the user profile and phonebook should be stored on shared database 112 so that it may be updated using a variety of other devices capable of interacting with the shared database through the internet, for example computer 102.
Voice portal 110 also facilitates the implementation of a user friendly mechanism that enables a first registered user (i.e., a “sender”) to permit others (i.e, the “recipient(s)”) to update their phonebooks with the sender's contact information by performing a simple action, such as a mouse click. To make use of this facility, the sender merely includes an appropriate link (i.e., a Uniform Resource Locator (“URL”), a type of URI) in emails sent to the recipients (e.g., included as part of the sender's .signature file) or alternatively by including the link (or a clickable button that sends an HTTP request equivalent to a click on the link) on a website. An example of such a link or URL is http://www.acme.com/phonebook/addentry?userid=012381765. In this example, the URL is set to reference a web application “addentry” for updating the phonebook information stored in shared database 112. The link should also specify a URL parameter that can be used to uniquely identify the sender's profile, and in this example the parameter is the sender's user-ID, as registered with voice portal 110. When the recipient clicks the provided link, an HTTP request is sent to the web site server to invoke the web application, which in turn uses the cookie facilities of the web site and the client browser combination to determine if the recipient has an extant profile and/or phonebook entry that can be identified based upon cookies stored on the recipient's computer.
A cookie is data that is stored on an end user's computer at the request of an accessed web site so that the site can, among other things, identify the user on each subsequent access request to the site or even on subsequent visits to the site. A stored cookie is sent along with each http request made by the user to the site that stored the cookie for so long as the cookie is valid. Cookies may be maintained on a session or persistent basis. Session cookies are no longer valid after the user exits the browser program, whereas persistent cookies may be maintained for an arbitrarily long period of time. Persistent cookies can therefore be used by a web site to associate information stored at the site to a particular user across multiple sessions.
In the present example, if the recipient's profile and/or phonebook can be identified from a received cookie, then the application uses the user-ID parameter specified in the URL to access selected information from the sender's profile and enters that information into the recipient's profile and/or phonebook in shared database 112. If the application cannot match the cookies received from the recipient to an existing profile and/or phonebook or if the application does not receive any relevant cookies, then the application can prompt the recipient to login or otherwise present authenticating information in order to update an extant profile and/or phonebook entry in shared database 112. Alternatively, the application can interactively create a new profile and/or phonebook entry for the recipient and then automatically populate it with selected information from the sender's profile in the manner previously described.
O. Messaging
In another embodiment of the invention, the voice portal 110 can be configured to store and forward messages recorded by a caller. In this application, the voice portal can also be considered to be an interactive voice response (“IVR”) system, which is an industry term of art for an interactive system that is capable of receiving input via voice and keypad and which is capable of audio and other response modes. For simplification, the following examples assume a caller who has previously registered using voice portal 110 and therefore has an existing user profile in the shared database 112. After the callers dials the telephone number to access the voice portal 110, the caller's telephone identifying information (e.g., ANI) is received by the portal, which can then be used to obtain the specific caller's profile using any of the methods described herein.
The caller may selectively launch the message forwarding application of voice portal 110 through a spoken command or through telephone keypad inputs, e.g., DTMF tones. The execution engine 202 switches the voice portal 110 into recording mode and the voice portal 110 then records a message from the caller in database 226. Voice portal 110 terminates the message recording process when it receives an escape keyword or keypad input from the caller, or alternatively, upon the expiry of a predetermined timeout period during which no further meaningful audio input has been received. The voice portal 110 can prompt the user for the message destination(s) and the caller can then instruct the voice portal 110 to forward the message to other registered users on the system by speaking their respective names (or other identifier that is associated with a target destination's entry in the caller's phonebook), by identifying the target destinations via DTMF sequences corresponding to the target destinations' name, or by entering a phone number that the voice portal 110 knows is mapped to a registered user. The destination input step can optionally be sequenced to occur prior to the message recording step. When the other registered users subsequently call in, the voice portal 110 notifies the respective users that they have a message waiting and prompts them to determine if they wish to play the recorded message or otherwise dispose of the message.
In an alternative embodiment, following (or prior to) the recording of the message, the voice portal 110 can prompt the caller for one or more destination numbers, which may entered directly or indirectly by speaking a name (if a corresponding entry exists in the phonebook), speaking a phone number sequence, or by using the telephone keypad to enter the numeric sequence directly. In this embodiment, the messages need not be directed to registered users of the voice portal 110. When a destination name or phone number input does not match any phonebook entry, the system can query the caller to determine if the caller wishes the system to remember the name and number and to update the caller's phonebook accordingly. After completion of destination inputs and phonebook updates, the voice portal dials the destination phone numbers and if the phone is answered, the voice portal can either play the message or prompt the call recipient with a query to determine if the recipient wishes to hear or otherwise dispose of the message. The actual message delivery by the voice portal can be handled asynchronously from the caller's interactive session with voice portal 110, so the caller can continue to access other information or terminate the call after having recorded the message and identifying the list of recipients. In an alternative embodiment, if additional telephone lines are available to the voice portal 110, it can initiate message delivery in one or more separate threads of execution at any time after message recording and destination input have been completed. The voice portal may be further programmed to recognize when a message delivery call made by it is answered by an answering machine, and in that case, the voice portal 110 can simply play the entire message into the answering machine or leave a concise statement indicating that the recipient has a message waiting from the caller, instead of prompting for message disposition.
For any of the described embodiments, the voice portal can optionally be configured to add additional audio content to the beginning or end of the recorded message (or to any related notice or prompt directed to the intended recipient in connection with the recorded message), which feature can be used, for example, to promote products, services, or brands. Preferably, the appended audio content should be relatively brief so as not to be intrusive to recipients. The appended content can be varied (i.e., rotated) and can also be selected (i.e., targeted to the recipient) based upon the recipient information contained in the recipient's phonebook, vCard entry, or profile (if the recipient is also a registered user of the voice portal), for example. More generally, any audio content suitable for telephone playback can be appended to the recorded message, including caller selected or caller customized content, e.g., sound effects, jokes, musical fragments, and the like.
The described messaging function can support a number of different revenue models. For example, an operator of a voice portal 110 can sell advertising time for placement of sound ads embedded in the delivered messages. Such ads can be fixed, varied, or customized based upon known attributes of the recipient. Alternatively, the messaging service can be provided on a fee basis and the placed messages can incorporate concise advertisements or brand identifier to promote the service.
P. Call Placement and Conferencing
Voice portal 110 is capable of interacting through a plurality of independent ports with telephone gateway 107, hence voice portal 110 can entertain multiple concurrent inbound and outbound calls, typically one per port. Accordingly, the voice portal may be configured to perform call placement for users, which may also be referred to as call “tromboning.” In one embodiment, the user can simply speak a name or enter an associated DTMF sequence, and the voice portal can look up the relevant phone number from the user's phonebook. Alternatively, the user can speak or enter a telephone number, and if there is no corresponding phonebook entry, the voice portal can prompt the user to update the phonebook, if desired. In either case, the voice portal 110 then connects the user to the appropriate other number. This type of call tromboning will occupy two ports, one for the direct connection with the user and a second port to make the outbound call to the other number. Once the second call has been terminated by the recipient, the initial caller, i.e., the user, may continue to interact with voice portal 110 in the usual mode.
This call tromboning capability may also be employed to effect multiple outbound calls, provided that sufficient ports are available, which permits the voice portal 110 to operate as a telephone conferencing system. Phone number entry is substantially the same as described in connection with the call placement functionality, except that the user can enter or be prompted to enter multiple call destinations. The voice portal can then dial the destination numbers and conference them together.
In both the call placement and call conferencing embodiments, voice portal 110 be configured to obtain and store information for billing the user, if appropriate, by accessing data stored in the user's profile or by interactively obtaining the user's credit card number, calling card number, personal identification number (“PIN”), or the like. The call placement and call conferencing functions can optionally be configured to add brief marketing or advertising material to be played to the user, the called parties, or both.
Q. Conclusion
Thus, a voice portal for presenting personalized content over a telephone interface has been described. The information provided over the voice portal may come from the World Wide Web (WWW), databases, third parties, and/or other sources. Telephone identifying information is used by embodiments of the invention to personalize caller interactions with the voice portal. This allows the system to present highly customized information to each caller based on a personal profile the system associates with the telephone identifying information.
A number of different personalization features provided by embodiments of the invention have been described, those features can be combined in a number of ways to provide personalized content.
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and equivalent arrangements will be apparent.

## Claims

1. A method for enabling a second user to permit a first user to add to, an electronic phonebook of the first user, contact information of the second user, the method, comprising:
providing, by the second user, to the first user, a link or URL, clickable by the first user via a user device, the link or URL referencing a web application for updating the electronic phonebook;
wherein the link or URL includes a unique identifier uniquely associated with the second user and used for accessing the contact information of the second user;
detecting a selection or click of the link or URL via the user device;
in response to detection of the selection or click of the link or URL, invoking the web application for updating electronic phone book referenced by the link or URL;
requesting that the first user present authenticating information to identify the electronic phonebook of the first user;
identifying the electronic phonebook of the first user based on the authenticating information;
identifying the contact information of the second user based on the unique identifier that is uniquely associated with the second user;
adding the contact information of the second user to the electronic phonebook of the first user.

2. The method of claim 1, wherein the contact information comprises a name and a telephone number.

3. The method of claim 1, wherein the contact information is a vCard.

4. The method of claim 1, wherein the unique identifier comprises a user-ID corresponding to the second user.

5. The method of claim 1, wherein the unique identifier comprises telephone identifying information corresponding to the second user.

6. The method of claim 1, wherein the URL is comprised in a signature file of the sender attached in the email sent by the sender to the recipient.

7. The method of claim 1, further comprising:
creating a new user profile for the first user; and
adding the contact information of the second user to the new user profile of the first user.