Abstract:
An apparatus and methods are disclosed that enable a first user of a telecommunications terminal to receive, upon placing a call to a second user, a ringback signal that is based on information from one or more call logs. Such information might include: the number of times that the first user has attempted to call the second user during a particular time interval; the time of the most recent call from the second user to the first user; etc. A data-processing system (e.g., an originating switch, a terminating switch, a wireless base station, a server, etc.) that receives a call-setup signal consults one or more call logs and generates a ringback signal that is based on the contents of the logs. Such call logs might include a log for a telecommunications terminal, a log for a user, a log associated with a particular private branch exchange; etc.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to telecommunications in general, and, more particularly, to techniques for generating ringback signals.  
       BACKGROUND OF THE INVENTION  
       [0002]      FIG. 1  depicts telecommunications system  100  comprising originating telecommunications terminal  101  (e.g., a wireless telephone, a wireline telephone, a personal digital assistant [PDA], etc.), terminating telecommunications terminal  105 , data-processing system  102  (e.g., a switch, a router, a private branch exchange [PBX], etc.), data-processing system  104 , and network  103  (e.g., the Public Switched Telephone Network [PSTN], the Internet, a cellular wireless network, etc.) in accordance with the prior art. Telecommunications terminal  101  is capable of placing calls (e.g., voice calls, video calls, text messaging sessions, etc.) to other telecommunications terminals, and telecommunications terminal  105  is capable of receiving calls from other telecommunications terminals. When telecommunications terminal  101  places a call to telecommunications terminal  105 , the call is set up via data-processing system  102 , network  103 , and data-processing system  104 , as described below and with respect to  FIG. 2 .  
         [0003]      FIG. 2  depicts a message-flow diagram for the placing of a call from telecommunications terminal  101  to telecommunications terminal  105 . In this call scenario, telecommunications terminal  101  is known as the originating terminal, and telecommunications terminal  105  is known as the terminating terminal. Similarly, data-processing system  102  is known as the originating data-processing system, and data-processing system  104  is known as the terminating data-processing system.  
         [0004]     At event  201 , originating terminal  101  transmits a call-origination signal to originating data-processing system  102  via network  103 .  
         [0005]     At event  202 , originating data-processing system  102  receives the call origination signal.  
         [0006]     At event  203 , originating data-processing system  102  allocates one or more resources for the call. For example, if originating data-processing system  102  is a router, it might allocate a route in its route table and associate the route with the call. If originating data-processing system  102  is a switch, it might allocate a trunk, and associate the trunk with the call.  
         [0007]     At event  204 , originating data-processing system  102  transmits a call-setup signal to terminating data-processing system  104  via network  103 .  
         [0008]     At event  205 , terminating data-processing system  104  receives the call-setup signal.  
         [0009]     At event  206 , terminating data-processing system  104  allocates one or more resources for the call.  
         [0010]     At event  207 , terminating data-processing system  104  transmits an acknowledgment to originating data-processing system  102  via network  103 . The acknowledgment indicates that the resources have been allocated to handle the call.  
         [0011]     At event  208 , originating data-processing system  102  receives the acknowledgment transmitted at event  207 .  
         [0012]     At event  209 , terminating data-processing system  104  generates a ringback signal. The ringback is intended to let the user of originating terminal  101  know that terminating terminal  105  is alerting its user of the incoming call (i.e., that terminal  105  is “ringing”).  
         [0013]     At event  210 , terminating data-processing system  104  transmits the ringback signal to originating data-processing system  102  via network  103 .  
         [0014]     At task  211 , originating data-processing system  102  receives the ringback signal.  
         [0015]     At task  212 , originating data-processing system  102  transmits the ringback signal to originating terminal  101 , which receives the ringback at task  213 . The ringback signal is typically a periodic “ringing” sound. The ringback signal continues to “ring” until the call is answered (e.g., when the user of terminal  105  answers the call, when a voice mail system answers the call, etc.) or until the user of originating terminal  101  decides to end the attempted call (i.e., “hangs up”).  
         [0016]     In parallel with tasks  211  and  212 , terminating data-processing system  104  transmits at task  214  a ringtone to terminating terminal  105 , and terminating terminal  105  receives the ringtone at task  215 . The ringtone notifies the user of terminal  105  of the arrival of a call (e.g., via a “ringing” sound, via a tune, etc.).  
         [0017]     Some wireless telecommunications service providers offer a premium ringback service to their subscribers, in which the subscriber can associate with their phone a particular ringback (e.g., a song, a sequence of tones, etc.) that will be played to the calling party whenever the subscriber is called on the associated phone. As an option, the subscriber can also associate a different ringback with each of several calling party numbers that the subscriber identifies when programming the ringback service.  
         [0018]     Customizable ringbacks have become a popular feature with teenagers in some countries (e.g., Republic of Korea, etc.) because of its “cool factor” and because it enables subscribers to express their individuality. Telecommunications service providers also find such ringback services desirable because they are able to collect additional fees for the service, and they can lure customers away from service providers that do not offer the service. Furthermore, customizable ringbacks can potentially improve what callers experience while waiting for the called subscribers to answer the calls.  
       SUMMARY OF THE INVENTION  
       [0019]     The present invention enables a user U 1  of a telecommunications terminal to receive, upon placing a call to a remote user U 2 , a ringback signal that is based on information from one or more call logs, which are records of call activity. Such information might include: the number of times that user U 1  has attempted to call user U 2  during a particular time interval; the time of the most recent call from user U 2  to user U 1 ; etc.  
         [0020]     For example, when user U 1  calls user U 2 , user U 1  might hear the Beatles song “Don&#39;t Bother Me” as the ringback when a call log indicates that user U 1  has called user U 2  ten times in the last two days. Furthermore, one or more properties of a particular ringback song might be set based on the contents of a call log. For example, the song might be: 
        i. at a faster tempo for each successive call to a particular user on the same day,     ii. at a louder volume when a prior call from user U 1  to user U 2  was missed and has not yet been returned;     iii. an instrumental version for the first email of the day received from a given person,     iv. with a higher pitch instead of a lower pitch when no messages have been received in the last two hours, or     v. with a lively rhythm when receiving a call from a particular caller for the first time.        
 
         [0026]     In accordance with the illustrative embodiments of the present invention, a data-processing system (e.g., an originating switch, a terminating switch, a wireless base station, a server, etc.) that receives a call-setup signal consults one or more call logs and generates a ringback signal that is based on the contents of the logs. Such call logs might include: a log for a telecommunications terminal at which a user places calls; a log for a user to whom a call is directed; a log associated with a particular private branch exchange (PBX); etc.  
         [0027]     In accordance with the illustrative embodiments of the present invention, a ringback signal might comprise any combination of an audio clip (e.g., a tune, a sound effect, speech, etc.), an image, a text string, and a video clip. The data-processing system generates the ringback signal by one or both of: 
        i. selecting a particular song, image, etc. based on the contents of the call log(s), and     ii. setting the value of a particular property of a ringback signal (e.g., the tempo of a song, the size of an image, the font of a text string, etc.) based on the contents of the pertinent call logs.        
 
         [0030]     As will be appreciated by those skilled in the art, modifying the values of properties such as volume and tempo does not change the fundamental identity of the song. In other words, the melody of the song is independent of these properties and, therefore, the song remains recognizable. Similarly, the semantic content of an image, text string, or video clip is independent of the values of properties such as brightness, size, resolution, etc.  
         [0031]     In accordance with the illustrative embodiments of the present invention, call logs might include logs for types of communications other than telephone calls. Other types of communications might include email, instant messaging, video calls, short message service (SMS) messages, and so forth.  
         [0032]     An illustrative embodiment of the present invention comprises: generating at a data-processing system a ringback signal that is based on the contents of a call log. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0033]      FIG. 1  depicts telecommunications system  100  in the prior art.  
         [0034]      FIG. 2  depicts a flow diagram of the tasks associated with generating a ringback in the prior art.  
         [0035]      FIG. 3  depicts telecommunications system  300 , in accordance with the illustrative embodiments of the present invention.  
         [0036]      FIG. 4  depicts near data-processing system  302 , in accordance with the illustrative embodiments of the present invention.  
         [0037]      FIG. 5  depicts far data-processing system  304 , in accordance with the illustrative embodiments of the present invention.  
         [0038]      FIG. 6  depicts information database server  308 , in accordance with the illustrative embodiments of the present invention.  
         [0039]      FIG. 7  depicts a block diagram of how information is stored and organized in memory  603  of information database server  308 , in accordance with the illustrative embodiments of the present invention.  
         [0040]      FIG. 8  depicts the first portion of a flow diagram of the salient tasks associated with generating, transmitting, and receiving a ringback signal, in accordance with the first illustrative embodiment of the present invention.  
         [0041]      FIG. 9  depicts the second portion of a flow diagram of the salient tasks associated with generating, transmitting, and receiving a ringback signal, in accordance with the first illustrative embodiment of the present invention.  
         [0042]      FIG. 10  depicts a flow diagram of the salient tasks associated with providing a ringback, in accordance with the first illustrative embodiment of the present invention.  
         [0043]      FIG. 11  depicts a flow diagram of the salient tasks associated with generating a ringback, in accordance with the first illustrative embodiment of the present invention.  
         [0044]      FIG. 12  depicts the first portion of a flow diagram of the salient tasks associated with generating, transmitting, and receiving a ringback signal, in accordance with the second illustrative embodiment of the present invention.  
         [0045]      FIG. 13  depicts the second portion of a flow diagram of the salient tasks associated with generating, transmitting, and receiving a ringback signal, in accordance with the second illustrative embodiment of the present invention.  
         [0046]      FIG. 14  depicts a flow diagram of the salient tasks associated with providing a ringback, in accordance with the second illustrative embodiment of the present invention.  
         [0047]      FIG. 15  depicts a flow diagram of the salient tasks associated with generating a ringback, in accordance with the second illustrative embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0048]     The terms appearing below are given the following definitions for use in the specification and appended claims.  
         [0049]     For the purposes of the specification and claims, the term “ringback signal” is defined as a signal that (i) is received by a caller after placing a call, and (ii) indicates that the called terminal is ringing, or is about to ring. The ringback signal might be an audible signal, a visual signal, or a tactile stimulus.  
         [0050]     For the purposes of the specification and claims, the term “call log” is defined as a record of call activity that comprises at least one of: 
        i. Calls made and completed (i.e., “incoming calls”) to one or more telecommunications terminals;     ii. Calls originating (i.e., “outgoing calls”) from one or more telecommunications terminals; and     iii. Calls made, but not completed (i.e., “missed calls”) to one or more telecommunications terminals.        
 
         [0054]     For the purposes of the specification and claims, the term “musical composition” is defined as either a piece of music or a sound effect (e.g., one or more beeps, etc.).  
         [0055]     For the purposes of the specification and claims, the term “calendrical time” is defined as indicative of one or more of the following: 
        (i) a time (e.g., 16:23:58, etc.),     (ii) one or more temporal designations (e.g., Tuesday, November, etc.),     (iii) one or more events (e.g., Thanksgiving, John&#39;s birthday, etc.), and     (iv) a time span (e.g., 8:00 PM to 9:00 PM, etc.).        
 
         [0060]      FIG. 3  depicts telecommunications system  300  in accordance with the illustrative embodiments of the present invention. Telecommunications system  300  comprises telecommunications terminals  301  and  305 , near data-processing system  302 , network  303 , far data-processing system  304 , and information database server  308 , interrelated as shown. The terms “near” and “far” are meant to indicate the relative positions of near data-processing system  302  and far data-processing system  304  with respect to telecommunications terminal  301 . Telecommunications terminal  301  is associated with user  306  (also referred to as “user U 1 ”), and telecommunications terminal  305  is associated with user  307  (also referred to as “user U 2 ”).  
         [0061]     Telecommunications terminals  301  and  305  communicate with each other via near data-processing system  302 , network  303 , and far data-processing system  304  in well-known fashion. Telecommunications terminal  301  is capable of placing a call to telecommunications terminal  305 , and telecommunications terminal  305  is capable of receiving a call from telecommunications terminal  301 . It will be clear to those skilled in the art how to make and use telecommunications terminals  301  and  305 .  
         [0062]     Data-processing systems  302  and  304  enable terminals  301  and  305  to communicate with each other by connecting (e.g., electrically, optically, etc.) one terminal to the other terminal and by passing signals between the terminals in well-known fashion. In particular, near data-processing system  302  receives call-setup signals that originate from terminal  301  and passes call-setup signals to far data-processing system  304 . Far data-processing system  304  notifies terminal  305  of the incoming call via a ringtone signal, in well-known fashion. Data-processing systems  302  and  304  further provide selectable and changeable connectivity from one or more inputs to one or more outputs by accommodating the necessary control signaling and traffic handling capabilities. In accordance with the illustrative embodiments of the present invention, data-processing systems  302  and  304  are telecommunications switches. As will be appreciated by those skilled in the art, in some other embodiments one or both of data-processing systems  302  and  304  might be servers, routers, etc.  
         [0063]     As will further be appreciated by those skilled in the art, although in illustrative telecommunications system  300  near data-processing system  302  is an originating data-processing system with respect to telecommunications terminal  301  (i.e., there are no other data-processing systems between terminal  301  and data-processing system  302 ), in some other embodiments there might be an originating data-processing system between terminal  301  and near data-processing system  302 . Similarly, in illustrative telecommunications system  300 , far data-processing system  304  is a terminating data-processing system with respect to telecommunications terminal  305 , but in some other embodiments there might be a terminating data-processing system between terminal  305  and far data-processing system  304 .  
         [0064]     In accordance with first illustrative embodiment of the present invention, far data-processing system  304  also monitors its associated telecommunications terminals and users (e.g., terminal  305 , user  307 , etc.), exchanges information with information database server  308 , and generates a ringback signal for the calling telecommunications terminal (e.g., terminal  301 , etc.) based on the information received from server  308 , as described in detail below and with respect to  FIGS. 8 through 10 . Further in accordance with the first illustrative embodiment, near data-processing system  302  passes the ringback signal along to terminal  301 .  
         [0065]     In accordance with the second illustrative embodiment of the present invention, near data-processing system  302  also monitors its associated telecommunications terminals and users (e.g., terminal  301 , user  306 , etc.), exchanges information with information database server  308 , and generates a ringback signal to the calling telecommunications terminal (e.g., terminal  301 , etc.) based on the information received from server  308 , as described in detail below and with respect to  FIGS. 11 through 13 . Further in accordance with the second illustrative embodiment, near data-processing system  302  might receive a ringback signal generated by far data-processing system  306 . If this is the case, near data-processing system  302  might ignore the ringback signal.  
         [0066]     Although near data-processing system  302  is depicted in  FIG. 3  as the data-processing system closest to terminal  301 , it will be clear to those skilled in the art, after reading this specification, how to make and use other embodiments of telecommunications system  300  in which one or more networking elements are located between terminal  301  and near data-processing system  302 .  
         [0067]     It will be clear to those skilled in the art, after reading this specification, how to make and use data-processing systems  302  and  304 .  
         [0068]     Network  303  provides connectivity between data-processing system  302  and data-processing system  304 , in well-known fashion. As is well-known in the art, network  303  typically comprises one or more networking elements such as switches, routers, hubs, etc. In some embodiments network  303  might comprise one or more of: the Public Switched Telephone Network (PSTN), the Internet, a local area network (LAN), a cellular network, etc. It will be clear to those skilled in the art how to make and use network  303 .  
         [0069]     User  306  (i.e., user U 1 ) and user  307  (i.e., user U 2 ) are the users of telecommunications terminals  301  and  305 , respectively. In some embodiments of the present invention, one or both of telecommunications terminals  301  and  305  might be associated with a unique user, while in some other embodiments, one or both of telecommunications terminals  301  and  305  might be available to a plurality of users. As will be appreciated by those skilled in the art, in the latter case a user might identify himself or herself to a terminal by a variety of methods, such as initially logging in to the terminal, inserting a personalized Single In-line Memory Module (SIMM) card into a memory slot of the terminal, etc. Furthermore, in some embodiments a user might use a plurality of telecommunications terminals.  
         [0070]     Information database server  308  stores dynamic information pertaining to telecommunications terminals and their users in well-known fashion. Such information might include one or more of the following: 
        i. the geo-locations of terminals,     ii. call logs associated with terminals, users, or both,     iii. user schedules,     iv. environmental parameters at terminals (e.g., temperature, ambient sound pressure, ambient luminosity, etc.), or     v. physiological parameters of terminal users (e.g., heart rate, respiration rate, body temperature, brain activity, etc.).        
 
         [0076]     In addition, information database server  308  also stores dynamic information that is extrinsic to telecommunications system  300 , in well-known fashion. Such information might include one or more of the following: 
        i. a stock ticker,     ii. updated sports scores, or     iii. updated election results.        
 
         [0080]     Information database server  308  receives this information from 
        i. elements that are part of telecommunications system  300  (e.g., data processing system  304 , telecommunications terminals  301  and  305 , etc.), and     ii. sources that are extrinsic to telecommunications system  300  (e.g., weather services, stock tickers, etc.), 
 
 and provides the information to one or both of data-processing systems  302  and  304 , in well-known fashion. As will be appreciated by those skilled in the art, in some embodiments the information might be transmitted from information database server  308  to data-processing systems  302  and  304  via additional networking elements of telecommunications system  300 . 
       
 
         [0083]     It will be clear to those skilled in the art, after reading this specification, how to make and use information database server  308 . In addition, although  FIG. 3  depicts data-processing systems  302  and  304  as separate elements that are both connected to information database server  308 , it will be clear to those skilled in the art, after reading this specification, how to make and use telecommunications system  300  with a single data-processing system that serves both telecommunications terminals  301  and  305 .  
         [0084]      FIG. 4  depicts near data-processing system  302 , in accordance with the illustrative embodiments of the present invention. Near data-processing system  302  comprises receiver  401 , processor  402 , memory  403 , and transmitter  404 , interconnected as shown.  
         [0085]     Receiver  401  receives signals from telecommunications terminal  301 , network  303 , and information database server  308 , and forwards the information encoded in these signals to processor  402 , in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use receiver  401 .  
         [0086]     Processor  402  is a general-purpose processor that is capable of receiving information from receiver  401 , of executing instructions stored in memory  403 , of reading data from and writing data into memory  403 , of executing the tasks described below and with respect to  FIGS. 8, 9 ,  11 , and  12 , and of transmitting information to transmitter  404 . In some alternative embodiments of the present invention, processor  402  might be a special-purpose processor or might comprise a switching fabric. In either case, it will be clear to those skilled in the art, after reading this specification, how to make and use processor  402 .  
         [0087]     Memory  403  stores data and executable instructions, as is well-known in the art, and might be any combination of random-access memory (RAM), flash memory, disk drive memory, etc. It will be clear to those skilled in the art how to make and use memory  403 .  
         [0088]     Transmitter  404  receives information from processor  402  and transmits signals that encode this information to telecommunications terminal  301 , network  303 , and information database server  308 , in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use transmitter  404 .  
         [0089]      FIG. 5  depicts far data-processing system  304 , in accordance with the illustrative embodiments of the present invention. Far data-processing system  304  comprises receiver  501 , processor  502 , memory  503 , and transmitter  504 , interconnected as shown.  
         [0090]     Receiver  501  receives signals from telecommunications terminal  305 , network  303 , and information database server  308 , and forwards the information encoded in these signals to processor  502 , in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use receiver  501 .  
         [0091]     Processor  502  is a general-purpose processor that is capable of receiving information from receiver  501 , of executing instructions stored in memory  503 , of reading data from and writing data into memory  503 , of executing the tasks described below and with respect to  FIGS. 8, 9 ,  11 , and  12 , and of transmitting information to transmitter  504 . In some alternative embodiments of the present invention, processor  502  might be a special-purpose processor or might comprise a switching fabric. In either case, it will be clear to those skilled in the art, after reading this specification, how to make and use processor  502 .  
         [0092]     Memory  503  stores data and executable instructions, as is well-known in the art, and might be any combination of random-access memory (RAM), flash memory, disk drive memory, etc. It will be clear to those skilled in the art how to make and use memory  503 .  
         [0093]     Transmitter  504  receives information from processor  502  and transmits signals that encode this information to telecommunications terminal  305 , network  303 , and information database server  308 , in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use transmitter  504 .  
         [0094]      FIG. 6  depicts information database server  308 , in accordance with the illustrative embodiments of the present invention. Information database server  308  comprises receiver  601 , processor  602 , memory  603 , and transmitter  604 , interconnected as shown.  
         [0095]     Receiver  601  receives signals from near data-processing system  302  or far data-processing system  304 , or both, and forwards the information encoded in these signals to processor  602 , in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use receiver  601 .  
         [0096]     Processor  602  is a general-purpose processor that is capable of receiving information from receiver  601 , of executing instructions stored in memory  603 , of reading data from and writing data into memory  603 , of executing the tasks described below and with respect to  FIGS. 9, 10 ,  13 , and  14 , and of transmitting information to transmitter  604 . In some alternative embodiments of the present invention, processor  602  might be a special-purpose processor. In either case, it will be clear to those skilled in the art, after reading this specification, how to make and use processor  602 .  
         [0097]     Memory  603  stores data and executable instructions, as is well-known in the art, and might be any combination of random-access memory (RAM), flash memory, disk drive memory, etc. The manner in which information is stored and organized in memory  603  is described below and with respect to  FIG. 7 . It will be clear to those skilled in the art, after reading this specification, how to make and use memory  603 .  
         [0098]     Transmitter  604  receives information from processor  602  and transmits signals that encode this information to near data-processing system  302  or far data-processing system  304 , or both, in well-known fashion. It will be clear to those skilled in the art, after reading this specification, how to make and use transmitter  604 .  
         [0099]      FIG. 7  depicts a block diagram of how information is stored and organized in memory  603  of information database server  308 , in accordance with the illustrative embodiments of the present invention. The information that is stored in memory  603  comprises (i) information from other elements within telecommunications system  300 , and (ii) information from sources that are extrinsic to telecommunications system  300 .  
         [0100]     The information received by memory  603  is stored and organized into call log  701 , geo-location table  702 , and extrinsic data table  703 , in accordance with the illustrative embodiment of the present invention. As will be appreciated by those skilled in the art, in some other embodiments, the information contained in call log  701  and tables  702  and  703  might be stored and organized in an alternative manner.  
         [0101]     Call log  701  is a record of call activity that comprises one or more of the following: 
        i. All of the calls made and completed (i.e., “incoming calls”) to telecommunications terminal  301 ;     ii. All of the calls originating (i.e., “outgoing calls”) from telecommunications terminal  301 ;     iii. All of the calls made, but not completed (i.e., “missed calls”), to telecommunications terminal  301 ;     iv. All of the calls made and completed to telecommunications terminal  305 ;     v. All of the calls originating from telecommunications terminal  305 ; and     vi. All of the calls made, but not completed, to telecommunications terminal  305 . 
 
 Furthermore, call log  701  comprises call log information for user  306  or user  307 , or both. For example, if user  306  uses more than one telecommunications terminal, call log  701  comprises information for the multiple telecommunications terminals of user  306 . 
       
 
         [0108]     Call log  701  as depicted in  FIG. 7  illustrates a record of telephone calls. It will, however, be clear to those skilled in the art, after reading this specification, how to make and use a call log that provides a record of message activity, where the record of message activity is either integrated with or segregated from the record of telephone call activity. Examples of such messages include email messages, Short Message Service [SMS] messages, Multimedia Message Service [MMS] messages, Instant Messaging [IM] messages, etc. A call log that provides a record of message activity is also known as a “message log.” 
         [0109]     The call log information in call log  701  is provided, in well-known fashion, by near data-processing system  302  or far data-processing system  304 , or both. Call logs are described in additional detail in co-pending U.S. patent application Ser. No. 10/881,908 and U.S. patent application Ser. No. 10/899,662, both of which are incorporated by reference.  
         [0110]     As will be appreciated by those skilled in the art, although this specification describes call logs for two telecommunications terminals and two users, it will be clear how to make and use call logs for different numbers of terminals and users.  
         [0111]     Geo-location table  702  is a record of the geo-location (i.e., the position in space) of each user or each telecommunications terminal of each user, or both. The geo-location of the user (or terminal) refers to the current location of the user. In accordance with the illustrative embodiments, information database server  308  receives geo-location data from data-processing systems  302  or  304 , or both, in well-known fashion, and stores the data in an appropriate format (e.g., latitude and longitude, Cartesian coordinates, etc.). As will be appreciated by those skilled in the art, in some other embodiments of the present invention, information database server  308  might receive geo-location data from other elements of telecommunications system  300  instead of data-processing systems  302  and  304 .  
         [0112]     Extrinsic data table  703  stores a variety of information that is independent of the state of telecommunications system  300 . Such information might include user schedules, environmental parameters or conditions at the terminals (e.g., temperature, ambient sound pressure, ambient luminosity, etc.), physiological parameters of terminal users (e.g., heart rate, respiration rate, blood pressure, body temperature, brain activity, etc.), and so forth.  
         [0113]     Schedule information comprises one or more time calendrical time indications of one user&#39;s schedule or multiple users&#39; schedules. The indications can be the time intervals during which a user (e.g., user  306 , user  307 , etc.) is occupied (e.g., by a meeting, a doctor&#39;s appointment, a vacation, etc.). For example, each interval is a time span such as “from 1:00 pm to 4:00 pm on Monday”, “from 8:00 am to 1:00 pm on Wednesday”, etc. A schedule might comprise periodic events (e.g., every Friday from 10:00 am to 11:00 am, etc.) in addition to individual time intervals, as is well known in the art. As will be appreciated by those skilled in the art, schedule information and entries can be received from a variety of extrinsic sources such as a groupware application (e.g., Lotus Notes®, etc.) hosted on a server, a calendar from a personal digital assistant (PDA), a desktop computer application, etc.  
         [0114]     Physiological parameters for terminal users (e.g., user  306 , user  307 , etc.) are obtained by one or more monitors (e.g., a heart rate monitor, a body temperature monitor, etc.) and are transmitted to information database server  308  in well-known fashion. In some embodiments, a monitor might receive input from a user via one or more sensors coupled to a part of a user&#39;s body (e.g., finger, forehead, etc.), wherein the sensor transmits data to the terminal either by a wire, or wirelessly. In some other embodiments, a monitor might receive input from a user via one or more sensors located within the user&#39;s terminal, wherein the sensor receives physiological signals from the user when the user is holding the terminal.  
         [0115]     Environmental parameters at a telecommunications terminal are obtained by one or more sensors embedded in the terminal (e.g., a thermometer, a sound-level meter, a photometer, etc.) and are transmitted to information database server  308  in well-known fashion.  
         [0116]     Physiological parameters and environmental parameters are described in additional detail in co-pending U.S. application Ser. No. 10/262,798, which is incorporated by reference.  
         [0117]     Additional extrinsic information such as user availability, user activity, real-time stock prices, portfolio balances, weather and sky conditions, etc. is received by information database server  308  in well-known fashion and stored in extrinsic data table  703  as “other parameters.” 
         [0118]     Memory  603  also stores and maintains, in well-known fashion, user identity information for user  306 , user  307 , and other users of telecommunications system  300 . Examples of user identity information are name, address, phone number, account information, and so forth. Furthermore, memory  603  stores and maintains, in well-known fashion, information about one or more telecommunications terminals in telecommunications system  300 . Examples of terminal information include capabilities present such as data rate and type, voice vocoders, text messaging, protocols, size of display, and so forth.  
         [0119]      FIGS. 8 and 9  depict first and second portions of a flow diagram of the salient tasks associated with generating, transmitting, and receiving a ringback signal, in accordance with the first illustrative embodiment of the present invention. In the flow diagram, originating terminal  301  originates a call that is directed to terminating terminal  305 . As described above, near data-processing system  302  is an originating data-processing system that directly supports terminal  301  with respect to call setup, and far data-processing system  304  is a terminating data-processing system that directly supports terminal  305 . In the first illustrative embodiment of the present invention, far data-processing system  304  generates the ringback signal that is to be transmitted to terminal  301 . It will be clear to those skilled in the art which tasks depicted in  FIGS. 8 and 9  can be performed simultaneously or in a different order than that depicted.  
         [0120]     At task  801  in  FIG. 8 , terminal  301  transmits, in well-known fashion, a signal that indicates a call origination. In this example, the call is directed to telecommunications terminal  305 .  
         [0121]     At task  802 , near data-processing system  302  receives the call origination signal from terminal  301 .  
         [0122]     At task  803 , near data-processing system  302  allocates resources for the call in well-known fashion. For example, if network  303  comprises T-1 lines, signaling transfer points, and circuit switches, near data-processing  302  signals to the infrastructure of network  303  to allocate the necessary T-1 transport resources and switching resources for the call.  
         [0123]     At task  804 , near data-processing system  302  transmits a signal that conveys call-setup information via network  303  to far data-processing system  304 , in well-known fashion. The information conveyed by the call-setup signal comprises the originating terminal identifier and the terminating terminal identifier.  
         [0124]     At task  805 , far data-processing system  304  receives the call-setup information from near data-processing system  302 .  
         [0125]     At task  806 , far data-processing system  304  allocates resources for the call in well-known fashion. For example, if terminal  305  is a cellular telephone, far data-processing system  304  allocates a trunk and a radio resource to handle the call at terminal  305 .  
         [0126]     At task  807 , far data-processing system  304  transmits an acknowledgment via network  303  to near data-processing system  302 , in well-known fashion. As is well-known in the art, such an acknowledgment indicates that the resources have been allocated successfully at the terminating end of the call routing path.  
         [0127]     At task  808 , near data-processing system  302  receives the acknowledgment.  
         [0128]     In parallel with task  808 , far data-processing system  304  obtains the information upon which the ringback signal is to be based at task  809  (depicted in  FIG. 9 ), in accordance with the first illustrative embodiment of the present invention. Far data-processing system  304  transmits a request for the appropriate information (e.g., call log entries, geo-location, user identity, user schedule, etc.) to information database server  308 . As will be appreciated by those skilled in the art, selecting the type of information upon which a ringback signal is to be based can be performed in a number of ways. For example, in some embodiments user  307  might specify ahead of time what type of information to consider in generating the ringback signals of subsequent incoming calls, while in some other embodiments the type of information might be specified by a network service provider.  
         [0129]     At task  810 , information database server  308  processes the request for information received from far data-processing system  304 . Task  810  is described in detail below and with respect to  FIG. 10 .  
         [0130]     At task  811 , far data-processing system  304  generates a ringback signal based on the information received from information database server  308 , in accordance with the first illustrative embodiment of the present invention. For example, if the ringback signal is based on the current weather at user  307 &#39;s geo-location, the generated ringback signal might be an audio track that imparts the information that it is sunny and 58 degrees in Chicago.  
         [0131]     As will be appreciated by those skilled in the art, selecting (i) the type of ringback signal (e.g., musical composition, image, etc.) and (ii) the properties of the ringback signal (e.g., volume, brightness, etc.) to consider at task  811  can be performed in a number of ways. For example, in some embodiments user  307  might specify ahead of time the type and properties to consider in generating the ringback signals of subsequent incoming calls, while in some other embodiments the type and properties might be specified by a network service provider.  
         [0132]     Task  811  is described in detail below and with respect to  FIG. 11 .  
         [0133]     At task  812 , far data-processing system  304  transmits the ringback signal to near data-processing system  302 . In accordance with the first illustrative embodiment of the present invention, the ringback signal is transmitted as a signal on the traffic path (e.g., an audio waveform, a data file comprising text or an image bitmap, etc.). In some alternative embodiments, the ringback is transmitted on a signaling path or data path (e.g., an Internet protocol network, etc.).  
         [0134]     At task  813 , near data-processing system  302  receives the ringback signal.  
         [0135]     At task  814 , near data-processing system  302  transmits the ringback signal to terminal  301 .  
         [0136]     At task  815 , terminal  301  receives the ringback signal.  
         [0137]     In parallel with tasks  814  and  815 , far data-processing system  304  transmits at task  816  a ringtone signal to terminal  305  to notify user  307  of the incoming call.  
         [0138]     At task  817 , terminal  305  receives the ringtone and plays it to user  307 .  
         [0139]      FIG. 10  depicts a flow diagram of the salient tasks associated with providing a ringback by information database server  308 , in accordance with the first illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted in  FIG. 10  can be performed simultaneously or in a different order than that depicted.  
         [0140]     At task  1001 , information database server  308  receives a request R for information from far data-processing system  304 , in well-known fashion.  
         [0141]     At task  1002 , information database server  308  retrieves location information from memory  603 , if requested by request R, in well-known fashion.  
         [0142]     At task  1003 , information database server  308  retrieves schedule information from memory  603 , if requested by request R, in well-known fashion.  
         [0143]     At task  1004 , information database server  308  retrieves call log information from memory  603 , if requested by request R, in well-known fashion.  
         [0144]     At task  1005 , information database server  308  retrieves user identity information or terminal information from memory  603 , if requested by request R, in well-known fashion.  
         [0145]     At task  1006 , information database server  308  retrieves extrinsic information from memory  603 , if requested by request R, in well-known fashion.  
         [0146]     At task  1007 , information database server  308  transmits the retrieved information to far data-processing system  304 , in well-known fashion.  
         [0147]      FIG. 11  depicts a detailed flowchart of task  811  in accordance with the first illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted in  FIG. 11  can be performed simultaneously or in a different order than that depicted.  
         [0148]     At task  1101 , far data-processing system  304  determines what musical composition, image, text, video, etc. to provide as a ringback signal to user  306  of terminal  301 . In some embodiments, all users who place a call to telecommunications terminal  305  might receive the same ringback, while in some other embodiments, each individual caller might have an associated musical composition, image, etc., while in still some other embodiments the ringback might be independent of the caller. In accordance with the first illustrative embodiment of the present invention, these ringback “rules” are specified by the user of telecommunications terminal  305  and uploaded to memory  503 .  
         [0149]     At task  1102 , far data-processing system  304  determines the volume of the musical composition based on the information provided at task  810 , in accordance with the first illustrative embodiment. Optionally, far data-processing system  304  also determines the volume based on one or more attributes of the call-setup message such as the identity of terminal  301 , the location of terminal  301 , and so forth. As will be appreciated by those skilled in the art, the logic by which data-processing system  304  sets the volume of the musical composition might be specified by a network service provider, by the user of telecommunications terminal  305  and uploaded to data-processing system  304 , etc.  
         [0150]     At task  1103 , far data-processing system  304  determines the tempo of the musical composition based on (i) the information provided at task  810  and (ii) optionally, one or more attributes of the call-setup message.  
         [0151]     At task  1104 , far data-processing system  304  determines the pitch (i.e., key signature) of the musical composition based on (i) the information provided at task  810  and (ii) optionally, one or more attributes of the call-setup message.  
         [0152]     At task  1105 , far data-processing system  304  determines the timbre (e.g., the musical instrument playing the composition, etc.) of the musical composition based on (i) the information provided at task  810  and (ii) optionally, one or more attributes of the call-setup message.  
         [0153]     At task  1106 , far data-processing system  304  determines (i) the values of additional properties of the musical composition and (ii) the values of properties of any image, text, or video selected at task  1101 . Additional properties of musical compositions might include harmony, rhythm, gender for vocal music, language for vocal music, and so forth. Image and video properties might include brightness, contrast, resolution, hue, saturation, position on a telecommunications terminal display, speed of animation, and so forth. Text properties might include font style (e.g., bold, italics, etc.), font size, text color, background color, position on the terminal display, dynamic behavior, speed of dynamic behavior, and so forth. The property values are based on (i) the information provided at task  810  and (ii) optionally, one or more attributes of the call-setup message.  
         [0154]     At task  1107 , far data-processing system  304  generates a ringback signal based on one or more of a musical composition, image, text, and video, and based on the determined property values. After task  1107 , execution continues at task  812 .  
         [0155]      FIGS. 12 and 13  depict first and second portions of a flow diagram of the salient tasks associated with generating, transmitting, and receiving a ringback signal, in accordance with the second illustrative embodiment of the present invention. In the second illustrative embodiment, near data-processing system  302  generates a ringback signal that is to be transmitted to originating terminal  301 . It will be clear to those skilled in the art which tasks depicted in  FIGS. 12 and 13  can be performed simultaneously or in a different order than that depicted.  
         [0156]     At task  1201  of  FIG. 12 , terminal  301  transmits, in well-known fashion, a signal that indicates a call origination. In this example, the call is directed to telecommunications terminal  305 .  
         [0157]     At task  1202 , near data-processing system  302  receives the call origination signal from terminal  301 .  
         [0158]     At task  1203 , near data-processing system  302  allocates resources for the call in well-known fashion. For example, if network  303  comprises T-1 lines, signaling transfer points, and circuit switches, near data-processing  302  signals to the infrastructure of network  303  to allocate the necessary T-1 transport resources and switching resources for the call.  
         [0159]     At task  1204 , near data-processing system  302  transmits a signal that conveys call-setup information via network  303  to far data-processing system  304 , in well-known fashion. The information conveyed by the call-setup signal comprises the originating terminal identifier and the terminating terminal identifier.  
         [0160]     At task  1205 , far data-processing system  304  receives the call-setup information from near data-processing system  302 .  
         [0161]     At task  1206 , far data-processing system  304  allocates resources for the call in well-known fashion. For example, if terminal  305  is a cellular telephone, far data-processing system  304  allocates a trunk and a radio resource to handle the call at terminal  305 .  
         [0162]     At task  1207 , which is depicted in  FIG. 13 , far data-processing system  304  transmits an acknowledgment to near data-processing system  302 , in well-known fashion. As is well-known in the art, such an acknowledgment indicates that the resources have been allocated successfully at the terminating end of the call routing path.  
         [0163]     At task  1208 , near data-processing system  302  receives the acknowledgment.  
         [0164]     At task  1209 , near data-processing system  302  obtains the information upon which the ringback signal is to be based, in accordance with the second illustrative embodiment of the present invention. Near data-processing system  302  transmits a request for the relevant information (e.g., call log entries, geo-location, user identity, user schedule, etc.) to information database server  308 . As will be appreciated by those skilled in the art, selecting the type of information upon which a ringback signal is to be based can be performed in a number of ways. For example, in some embodiments user  306  might specify ahead of time what type of information to consider in generating ringback signals, while in some other embodiments the type of information might be specified by a network service provider.  
         [0165]     At task  1210 , information database server  308  processes the request for information received from near data-processing system  302 . Task  1210  is described in detail below and with respect to  FIG. 14 .  
         [0166]     At task  1211 , near data-processing system  302  generates a ringback signal based on the information received from information database server  308 , in accordance with the second illustrative embodiment of the present invention. For example, if the ringback signal is based on user  306 &#39;s identity, the generated ringback signal might be an audio track of user  306 &#39;s favorite song. In some embodiments, user  306  might specify the content of the ringback signal, as well as one or more properties of the ringback signal (e.g., tempo, volume, etc.), via user preferences, rules, and so forth.  
         [0167]     As will be appreciated by those skilled in the art, selecting (i) the type of ringback signal (e.g., musical composition, image, etc.) and (ii) the properties of the ringback signal (e.g., volume, brightness, etc.) to consider at task  1211  can be performed in a number of ways. For example, in some embodiments user  306  might specify ahead of time the type and properties to consider in generating the ringback signals of subsequent incoming calls, while in some other embodiments the type and properties might be specified by a network service provider.  
         [0168]     Near data-processing system  302  also receives the ringback signal generated by far data-processing system  304 . The received ringback is generated as described below and with respect to task  1214 . Near data-processing system  302  can (i) mute the received ringback to prevent user  306  from hearing it or (ii) consider the received ringback for the purpose of generating the ringback signal at task  1211 . In some alternative embodiments, near data-processing system  302  generates its ringback signal only after receiving the ringback from far data-processing system  304 .  
         [0169]     Task  1211  is described in detail below and with respect to  FIG. 15 .  
         [0170]     At task  1212 , near data-processing system  302  transmits the ringback signal to terminal  301 . In some alternative embodiments, near data-processing system  302  also transmits to terminal  301  the ringback received from far data-processing system  304 . If near data-processing system  302  also transmits the received ringback, system  302  might transmit its generated ringback signal and the received ringback concurrently or at different times.  
         [0171]     At task  1213 , terminal  301  receives the ringback signal.  
         [0172]     In parallel with tasks  1209  through  1213 , far data-processing system  304  generates and transmits at task  1214  a ringback signal. As will be appreciated by those skilled in the art, far data-processing system  304  can generate and transmit the ringback signal by using either (i) a method well-known in the art or (ii) the method in accordance with the first illustrative embodiment of the present invention.  
         [0173]     At task  1215 , far data-processing system transmits a ringtone to terminal  305  to notify user  307  of the incoming call.  
         [0174]     At task  1216 , terminal  305  receives the ringtone and plays it to user  307 .  
         [0175]      FIG. 14  depicts a flow diagram of the salient tasks associated with providing a ringback by information database server  308 , in accordance with the second illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted in  FIG. 14  can be performed simultaneously or in a different order than that depicted.  
         [0176]     At task  1401 , information database server  308  receives a request R for information from near data-processing system  302 , in well-known fashion.  
         [0177]     At task  1402 , information database server  308  retrieves location information from memory  603 , if requested by request R, in well-known fashion.  
         [0178]     At task  1403 , information database server  308  retrieves schedule information from memory  603 , if requested by request R, in well-known fashion.  
         [0179]     At task  1404 , information database server  308  retrieves call log information from memory  603 , if requested by request R, in well-known fashion.  
         [0180]     At task  1405 , information database server  308  retrieves user identity information or terminal information from memory  603 , if requested by request R, in well-known fashion.  
         [0181]     At task  1406 , information database server  308  retrieves extrinsic information from memory  603 , if requested by request R, in well-known fashion.  
         [0182]     At task  1407 , information database server  308  transmits the retrieved information to near data-processing system  302 , in well-known fashion.  
         [0183]      FIG. 15  depicts a detailed flowchart of task  1211  in accordance with the second illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted in  FIG. 15  can be performed simultaneously or in a different order than that depicted.  
         [0184]     At task  1501 , near data-processing system  302  determines what musical composition, image, text, video, etc. to provide as a ringback signal to user  306  of terminal  301 . In some embodiments, all users who place a call to telecommunications terminal  305  might receive the same ringback, while in some other embodiments, each individual caller might have an associated musical composition, image, etc., while in still some other embodiments the ringback might be independent of the caller. In accordance with the second illustrative embodiment of the present invention, these ringback “rules” are specified by the user of telecommunications terminal  301  and uploaded to memory  403 .  
         [0185]     At task  1502 , near data-processing system  302  determines the volume of the musical composition based on the information provided at task  1210 , in accordance with the second illustrative embodiment. Optionally, near data-processing system  302  also determines the volume based on one or more attributes of the call-setup message such as the identity of terminal  301 , the location of terminal  301 , and so forth. As will be appreciated by those skilled in the art, the logic by which near data-processing system  302  sets the volume of the musical composition might be specified by a network service provider, by the user of telecommunications terminal  301  and uploaded to near data-processing system  302 , etc.  
         [0186]     At task  1503 , near data-processing system  302  determines the tempo of the musical composition based on (i) the information provided at task  1210  and (ii) optionally, one or more attributes of the call-setup message.  
         [0187]     At task  1504 , near data-processing system  302  determines the pitch (i.e., key signature) of the musical composition based on (i) the information provided at task  1210  and (ii) optionally, one or more attributes of the call-setup message.  
         [0188]     At task  1505 , near data-processing system  302  determines the timbre (e.g., the musical instrument playing the composition, etc.) of the musical composition based on (i) the information provided at task  1210  and (ii) optionally, one or more attributes of the call-setup message.  
         [0189]     At task  1506 , near data-processing system  302  determines (i) the values of additional properties of the musical composition and (ii) the values of properties of any image, text, or video selected at task  1501 . Additional properties of musical compositions might include harmony, rhythm, gender for vocal music, language for vocal music, and so forth. Image and video properties might include brightness, contrast, resolution, hue, saturation, position on a telecommunications terminal display, speed of animation, and so forth. Text properties might include font style (e.g., bold, italics, etc.), font size, text color, background color, position on the terminal display, dynamic behavior, speed of dynamic behavior, and so forth. The property values are based on (i) the information provided at task  1210  and (ii) optionally, one or more attributes of the call-setup message.  
         [0190]     At task  1507 , near data-processing system  302  generates a ringback signal based on one or more of: a musical composition, image, text, and video; the determined property values; and optionally, on the ringback signal received from far data-processing system  304  (i.e., the “far” ringback signal). In some embodiments, the ringback signal generated at task  1507  might comprise the far ringback signal and an additional signal (e.g., speech superimposed over instrumental music, etc.). In some other embodiments, the ringback signal generated at task  1507  might not include the far ringback signal—i.e., the far ringback signal is muted, or equivalently, a new ringback signal is substituted for the far ringback signal. After task  1507 , execution continues at task  1212 .  
         [0191]     It is to be understood that the above-described embodiments are merely illustrative of the present invention and that many variations of the above-described embodiments can be devised by those skilled in the art without departing from the scope of the invention. For example, in this Specification, numerous specific details are provided in order to provide a thorough description and understanding of the illustrative embodiments of the present invention. Those skilled in the art will recognize, however, that the invention can be practiced without one or more of those details, or with other methods, materials, components, etc.  
         [0192]     Furthermore, in some instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the illustrative embodiments. It is understood that the various embodiments shown in the Figures are illustrative, and are not necessarily drawn to scale. Reference throughout the specification to “one embodiment” or “an embodiment” or “some embodiments” means that a particular feature, structure, material, or characteristic described in connection with the embodiment(s) is included in at least one embodiment of the present invention, but not necessarily all embodiments. Consequently, the appearances of the phrase “in one embodiment,” “in an embodiment,” or “in some embodiments” in various places throughout the Specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments. It is therefore intended that such variations be included within the scope of the following claims and their equivalents.