The invention itself, as well as a preferred mode of use, further objects, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
The present invention provides a method, system, and computer program product for enabling a mobile phone to control the automatic activation/deactivation of the call waiting feature in real time through the use of customized, pre-set user preferences.
With reference now to
According to the illustrative embodiment, call waiting utility 120 is a software program that performs the functions of the present invention in order to enable a user of mobile phone 100 to control the implementation of the call waiting feature of mobile phone 100, as illustrated in
Within the descriptions of the figures, similar elements are provided similar names and reference numerals as those of the previous figure(s). Where a later figure utilizes the element in a different context or with different functionality, the element is provided a different leading numeral representative of the figure number (e.g., 1xx for
In one embodiment, and as further illustrated by
Priority number 215 is an integer used to represent the priority level of a particular record 200 within phone book 125 with respect to the other records 200 within phone book 125. According to the illustrative embodiment, priority number 215 is an integer on a scale of 1 to 10, with 1 representing the highest priority, and 10 representing the lowest priority. A user of mobile phone 100 may thus define a particular record 200 within phone book 125 as being a high priority record for the purpose of call waiting by assigning record 200 a priority number 215 that has a low value. If a user of mobile phone 100 decides that multiple entries should have an equal priority level, the user may assign the same priority number 215 to one or more records 200.
In an alternate embodiment, priority numbers 215 may utilize a scale other than 1 to 10 and/or may be arranged such that a low values represent low priorities and high values represent high priorities. In another embodiment, a user of mobile phone 100 may assign an equivalent priority number 215 to a user-defined group of phone numbers 210. For example, a user may wish to assign numbers from a specific area code an equivalent priority level. A user may also utilize a graphical user interface (GUI) and key pad 140 to select from several pre-defined priority options for entries within phone book 125. In such an embodiment, a user may use key pad 140 to scroll through a list of available priority levels comprised of a range of integers (e.g., 1 through 10), words (e.g., high, medium, low), or colors (e.g., red, yellow, green).
With reference now to
If mobile phone 100 has not received notification of an incoming call, a decision is made whether the current call is still in progress, as shown in block 310. In response to a determination that the current call is still in progress, the process returns to block 305. If an incoming call has not been received and the current call is no longer in progress, the process terminates at block 345.
In response to a determination in block 305 that mobile phone 100 has received notification of an incoming call, call waiting utility 120 looks up priority number 215 of the incoming call by accessing the pre-set priority number 215 in record 200 within phone book 125 that corresponds to phone number 210 of the incoming call, as depicted in block 315.
A determination is made at block 320 whether call waiting utility 120 is able to locate a pre-set priority number 215 within phone book 125 that corresponds to phone number 210 of the incoming call. A pre-set priority number 215 may not exist for a specific phone number 210 within phone book 125 if the user has not previously set priority number 215 for that phone number 210, or if phone number 210 is not included within phone book 125. If call waiting utility 120 is not able to locate a pre-set priority number 215 for the incoming call for the reasons described above, call waiting utility 120 assigns a user-defined default priority number (e.g., 4) to the incoming call, as shown in block 325. The user-defined default priority number may be a mid-level priority (i.e., not high or low priority) allowing the incoming call an equal opportunity of being signaled to the user. In another embodiment, calls that do not have a pre-set priority number 215 are automatically signaled to the user, who may then be able to manually set an appropriate priority. The process then proceeds to block 330, which is discussed below.
If call waiting utility 120 is able to locate a pre-set priority number 215 within phone book 125 that corresponds to phone number 210 of the incoming call, a determination is made by call waiting utility 120 whether priority number 215 of the incoming call is less than or equal to priority number 215 of the current call, as depicted in block 330. According to the illustrative embodiment, high priority levels are represented by priority numbers 215 with low integer values.
In response to a determination that priority number 215 of the incoming call is not less than or equal to priority number 215 of the current call, call waiting utility 120 directs the incoming call to the mobile phone user's voicemail system, as shown in block 335. The process then terminates at block 345 and the user is notified of the missed call after the current call ends.
If priority number 215 of the incoming call is less than or equal to priority number 215 of the current call, call waiting utility 120 executes a conventional call waiting function and notifies the user about the incoming call, as shown in block 340. The process then terminates at block 345. In an alternate embodiment, the present invention may be implemented within a programmable non-mobile phone, which may be connected to the public switched telephone network (PSTN), or any other type of phone that can be programmed by the user, such as a voice over internet protocol (VOIP) phone. In another embodiment, a high priority level may be represented by a high value of priority number 215. In such an embodiment, a determination would instead be made at block 330 whether priority number 215 of the incoming call was greater than or equal to priority number 215 of the current call. The present invention thus enables a user of mobile phone 100 to control the automatic activation/deactivation of the call waiting feature in real time through the use of customized pre-set user preferences.
It is understood that the use herein of specific names are for example only and not meant to imply any limitations on the invention. The invention may thus be implemented with different nomenclature/terminology and associated functionality utilized to describe the above devices/utility, etc., without limitation.
While an illustrative embodiment of the present invention has been described in the context of a fully functional computer system with installed software, those skilled in the art will appreciate that the software aspects of an illustrative embodiment of the present invention are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the present invention applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of signal bearing media include recordable type media such as thumb drives, floppy disks, hard drives, CD ROMs, DVDs, and transmission type media such as digital and analog communication links.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.