# Patent

## Title
Device and method for providing enhanced telephony

## Abstract

Embodiments of the invention provide an enhanced communication device and a method for providing enhanced telephony. The enhanced communication device comprises a processor. The enhanced communication device further comprises a memory. The memory comprises a database. The database comprises one or more destination phone numbers. Further, the database comprises at least one property associated with the one or more destination phone numbers. Further, the memory comprises instructions executable by the processor for identifying a dialed phone number of a destination. The memory also comprises instructions for determining a location code associated with a current location of the communication device. Further, the memory comprises instructions for comparing the dialed phone number to the one or more destination phone numbers. Furthermore, the method comprises instructions for displaying the at least one property associated with the one or more destination phone numbers based on the comparison.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a Continuation-In-Part (CIP) of U.S. Non-Provisional application Ser. No. 12/699,618 entitled ‘Systems and methods for visual presentation and selection of IVR menu’ and filed on Feb. 3, 2010.


FIELD OF THE INVENTION
The invention relates to telecommunications and more specifically relates to providing enhanced telephony on a communication device.
BACKGROUND OF THE INVENTION
Generally, Interactive Voice Response (IVR) systems are allows a user to interact with an audio response system. The IVR systems can provide prompts to a user and receive touch tone and/or spoken responses on the prompts from the user. Through such IVR dialogue the system collects sufficient information about the user to direct the call to the most appropriate resource, information processing system or the like. Various organizations such as banks, insurance companies, and other service providers use IVR system to manage calls from their customers. Typically, IVR systems are used by organizations that have high call volumes. An objective for implementing the IVR systems is to provide the users or customers with a quick and good experience. Moreover, or the cost of providing the services is reduced.
Typically, in case of an audio IVR menu the user calling the destination may have to listen and follow instructions on the menu to get a desired response or a function performed. Therefore, the process can be time consuming. Moreover, in case the user provides an incorrect input, the complete process may have to be repeated. Furthermore, the IVR menu for an organization may be updated or changed regularly. For example, extension numbers inside an organization may be changed and correspondingly, the extension numbers associated with the IVR menu may be updated. As a result, a frequent user may not be able to reach a desired end by remembering a combination of numbers. Therefore, the user may become frustrated with the IVR systems.
Usually, the IVR menus are same for all the users. Therefore, the customer has to listen them carefully to select the appropriate option. Some existing techniques try to address this problem by providing visual form of IVR. U.S. Pat. No. 7,215,743 assigned to International Business Machines Corporation and a published U.S. patent application with Ser. No. 11/957,605, filed Dec. 17, 2007 and assigned to Motorola Inc., provides the IVR menu of the destination in a visual form to the user. Therefore, the user can select the options from the IVR menu without listening to the complete audio IVR menu.
Various service providers that implement IVR systems may have multiple stores or outlets in and around a particular geographical area. Further, each outlet may have a different phone number but have the same IVR menu. Therefore, the user may not be aware of all the phone numbers. Moreover, some outlets may be located relatively farther that other outlets from the geographical location of the caller. Further, some outlets may not provide the services desired by the user. Generally, more than one provider may provide similar products or services. For example, various banks may provide similar banking services, or various pizzerias may provide similar type of pizzas. Therefore, the user may prefer to call or use an outlet that is near for better services and time management.
In the light of the above discussion, techniques are desired for providing enhanced telephony.
SUMMARY
Embodiments of the invention provide an enhanced communication device. The enhanced communication device comprises a processor and a memory coupled to the processor. The memory comprises a database including one or more destination phone numbers and at least one property associated with the destination phone numbers. Further, the memory comprises instructions executable by the processor for identifying a dialed phone number of a destination, determining a location code associated with a current location of the communication device, comparing the dialed phone number to one or more destination phone numbers stored in a database, and displaying at least one property associated with the one or more destination phone numbers based on the comparison.
Embodiments of the invention provide an enhanced communication device. The enhanced communication device comprises a database including one or more destination phone numbers and at least one property associated with the destination phone numbers. Further, the enhanced communication device comprises means for identifying a dialed phone number of a destination, means for determining a location code associated with a current location of the communication device, means for comparing the dialed phone number to one or more destination phone numbers stored in a database, and means for displaying at least one property associated with the one or more destination phone numbers based on the comparison.
Embodiments of the invention provide a method for providing enhanced telephony. The method includes identifying a phone number of a destination dialed from a communication device; determining a location code associated with a current location of the communication device; and comparing the dialed phone number to one or more destination phone numbers stored in a database. The database may include at least one property associated with the destination phone numbers. Further, the method includes displaying, at the communication device, the at least one property associated with the one or more destination phone numbers based on the comparison.
An aspect of the invention is to provide a visual IVR menu of a destination according to the location of the communication device of a user and/or a location of the dialed destination phone number.
Another aspect of the invention is to provide the position based visual IVR menus in a communication network.



BRIEF DESCRIPTION OF THE DRAWINGS
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1A illustrates an exemplary environment where various embodiments of the invention function;
FIG. 1B illustrates another exemplary environment where various embodiments of the invention function;
FIG. 1C illustrates yet another exemplary environment where various embodiments of the invention function;
FIG. 2 illustrates an exemplary representation of one or more destinations and their associated properties on the communication device;
FIG. 3 illustrates an exemplary visual IVR menu at a communication device corresponding to an audible IVR menu of the destination;
FIGS. 4A and 4B illustrates exemplary components of the communication device for implementing an Application, in accordance with an embodiment of the invention;
FIG. 5 illustrates exemplary components of the communication device for implementing the Application, in accordance with another embodiment of the invention; and
FIGS. 6A, 6B, and 6C illustrate a flowchart for providing enhanced telephony, in accordance with an embodiment of the invention;



DETAILED DESCRIPTION OF THE INVENTION
Illustrative embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
FIG. 1A illustrates an exemplary environment where various embodiments of the invention function. A user 106 may use a communication device 102a to connect to destinations 108a-n. The communication device 102a can be a telecommunication device that can connect directly to a Public Switched Telephone Network (PSTN) 110. A person skilled in the art will appreciate, that the communication device 102a can also connect to a private telephone exchange. Examples of the communication device 102a include, but are not limited to, a telephone, a mobile phone, a smartphone or any other device capable of voice or data communication. The user 106 connects to a destination from destinations 108a-n by dialing a phone number of a destination. The destinations 108a-n may include one or more audible Interactive Voice Response (IVR) menus. Further, the destinations 108a-n can have different audio IVR menus. For example, IVR menus of a hospital may be completely different from that of a bank. Typically, the audible IVR menu provided by destinations 108a-n comprises audible options or instructions. The user 106 may be required to select various options from the audio IVR menu to obtain the required resource/information or service from the dialed destination. Various types of destinations 108a-n that implement the audible IVR menu include, for example, banks, hotels, fast-food outlets, utility services providers, corporate offices, mobile phone service providers, hospitals and so forth.
The communication device 102a includes a Visuphone 104 that provides information regarding a phone number dialed from communication device 102a. For example, the information may include geographical information of the destinations and/or the user. Further, the Visuphone 104 may display a visual IVR menu on the communication device 102a corresponding to the audible IVR menu based of a phone number of the destination to be connected. The Visuphone 104 may be hardware, software, or a firmware implemented on the communication device 102a, or a combination thereof. The visual IVR menu may have one or more options. Thereafter, the user 106 can select the options of the audible IVR menu from the visual IVR menu display without the requirement to listen to the audible instructions. Exemplary audible IVR menu at the destination 108a and a corresponding visual IVR menu are explained in detail in FIG. 3.
In an embodiment of the invention, the communication device 102a can request for updates from a server through a communication network. The server may maintain the updated information of destinations and their associated properties. The communication network can include more than one communication devices. Examples of the communication network include, but are not limited to, the Network, PSTN, Local Area Network (LAN), Wide Area Network (WAN), and so forth.
FIG. 1B illustrates another exemplary environment where various embodiments of the invention function. As shown, a communication device 102b can be a communication device that can be connected directly to network 114. Examples of the communication device 102b include, but are not limited to, a personal computer, a laptop, a mobile phone, a smart-phone, a fixed line telephone, a Voice Over Network Protocol (VOIP) phone or other devices capable of voice or data communication. The communication device 102b may include various applications or computer programs that enable the user 106 to use the communication device 102b for connecting to destinations 108a-n through PSTN 110 over network 114 through a gateway 112. For example, the applications may be VOIP applications, such as but not limited to, Skype, Magic Jack, Google Talk and so forth. Examples of the network 114 include any wired or wireless network, such as but not limited to, LAN, WAN, a Wi-Fi network and so forth. As discussed with reference to FIG. 1A, destinations 108a-n presents the audible IVR to the user 106. The communication device 102b includes the Visuphone 104 that displays a visual IVR menu corresponding to the audible IVR menu based on a dialed destination phone number.
FIG. 1C illustrates yet another exemplary environment where various embodiments of the invention function. As shown, the communication device 102b can be connected to the PSTN 110 through the network 114 or through the cellular network 116. Various service providers provide multiple or overlapping services to customers. For example, cable television service provider may also provide phone and Network service, optical Network provider may also provide phone or television services, WiMax service providers that provide phone service and so forth. The network 114 may be any service provider that provides such services, for example, but not limited to, cell phone services, wireless services, Network services, cable television services, or various combinations of the above or other type of services. As discussed with reference to FIG. 1A, the destinations 108a-n includes one or more audible IVR menus. The communication device 102b includes the Visuphone 104 which displays geographical information corresponding to destination phone number dialed. Further, Visuphone 104 may display visual IVR menu corresponding to audible IVR menu of the destination phone number. The geographical information may be displayed before a connection is established between the communication device 102b and the destination. Moreover, the visual IVR menu is displayed after the user 106 selects one or more destinations based on the information displayed. In an embodiment of the invention, the Visuphone 104 displays information for destinations 108a-n based on a business category. For example, if the phone number dialed by the user 106 corresponds to a bank, then the information displayed may relate to the specific bank dialed and/or other banks. In another embodiment of the invention, the Visuphone 104 displays the information based on a relative geographical distance of the user 106 from that of dialed destination. The distance may be within a predefined range. For example, the pre-defined range can be 5 km, 500 m, a user defined value and so forth.
FIG. 2 illustrates an exemplary display of representations 202a-n of the destinations 108a-n on the communication device 102. The representations 202a-n may include properties associated with the destination 108a-n. Examples of the properties include but are not limited to an address, a location code, a branch code, rating, reviews, phone numbers, distance from the user 106 and so forth. In an embodiment of the invention, a user representation 204 corresponding to the user 106 is displayed on the communication device 102. Examples of the representation include, but are not limited to, graphical or text representations such as a table of rows and columns, icons, area maps and so forth. The representations 202a-n may also include the distance of the destinations 108a-n with respect to the location of the user 106. Thereafter, the user 106 may select a destination from the representation to connect. Subsequently, the visual IVR menu of the selected destination may be displayed on the communication device 102. In an embodiment, the display may include representation of a subset of destinations 108a-n based on one or more criteria. The one or more criteria include displaying destination based on business category of dialed destination phone number. In an embodiment, the one or more criteria may also include displaying destinations based on location of the communication device 102.
In an embodiment of the invention, the communication device 102 may be an in-car navigation system such as a Global Positioning System (GPS). Therefore, when the user 106 dials a phone number of a destination, the Visuphone 104 may provide a representation of one or more destinations on a map on the communication device 102a screen. Further, the properties like location, reviews, ratings etc. associated with the destination may be displayed on the map. The user interacts with the displayed maps and can select a destination from the map based on the one or more properties. Further, the user 106 can select a destination by clicking or scrolling on the map. In an embodiment of the invention, a route map from the user 106 to the selected destination may be displayed on the communication device 102a screen.
FIG. 3 illustrates an exemplary visual IVR menu 302 of the selected destination with added graphics for the nodes on the communication device 102. The visual IVR menu includes one or more options corresponding to every node in the destination. It is well known that graphics are easier to learn and are faster to recognize than words. Therefore, graphics are used in various computerized device interfaces. Various types of graphics can be displayed for example, animated icons, icons that highlight or animate when the node is highlighted, and so forth. The graphics may be displayed for each node or a few nodes based on the usability of the visual IVR menu 302. For example, for the node 310 an icon of a vegetable may be displayed to designate a vegetarian pizza, and for the node 316 of home delivery, an icon of house may be displayed. In an embodiment of the invention, the visual IVR menu 302 can be customized to display only the text, only the icons or both. Furthermore, the user 106 can suggest or use various icons based on his preferences. The visual IVR menu is specific to a destination. Further each of the destinations 108a-n may have more than one audio IVR menus. So different visual IVR menu corresponding to one or more audio IVR menus is possible.
FIGS. 4A and 4B illustrate exemplary components of the communication device 102a for implementing the Visuphone 104. The communication device 102a includes a system bus 426 to connect the various components. Examples of system bus 426 include several types of bus structures including a memory bus, a peripheral bus, or a local bus using any of a variety of bus architectures. As discussed with reference to FIG. 1A, the communication device 102a can be a communication device such as computer, a smart-phone and so forth. Device 102a may connect to Public Switched Telephone Network (PSTN) 110 through a radio interface 408 in a wired or wireless manner. For example, radio interface 408 may provide 2G, 3G, and/or 4G connectivity in case of device 102a being a mobile phone. Further, the communication device 102a can connect to PSTN 110 through a gateway 424, which is connected to Network 114 through a network interface 410. Input/Output (IO) interface 412 of the communication device 102a may be configured to connect external or peripheral devices such as a memory card 416, a keyboard 418, a Universal Serial Bus (USB) device 420 and a mouse 422. Although not shown, various other devices can be connected through IO interface 412 to the communication device 102a. In an embodiment of the invention, communication device 102a may be connected to a hub that provides various services such as voice communication, Network access, television services and so forth. For example, the hub may be a Home Gateway device that acts as a hub between the home environment and the Broadband Network.
The communication device 102a includes a display 402 to output graphical information to the user 106. In an embodiment of the invention, the display 402 may include a touch sensitive screen. Therefore, the user 106 can provide inputs to the communication device 102a by touching display 402 or by point and click using the ‘mouse’. Memory 406 of the communication device 102a stores various programs, data and/or instructions that can be executed by a Processor 404. Examples of the memory 406 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by the communication device 102a. The memory 406 may include Operating System (OS) (not shown) for the communication device 102a to function. Further, the memory 406 may include other applications that enable the user 106 to communication with the destinations 108a-n. Examples of other applications include, but are not limited to, Skype, Google Talk, Magic Jack, and so forth. Other applications may be stored as software or firmware on the communication device 102a. 
Further, the memory 406 includes Visuphone 104 for providing a visual representation of the destinations 108a-n. As discussed with reference to the FIG. 1A, the Visuphone 104 may be hardware, a software or a firmware stored on the communication device 102a. In an embodiment, the Visuphone 104 may be implemented as plug-in to other applications. The visual IVR menus are stored in a database 414 in memory 406 of the communication device 102a. The database 414 further stores phone numbers of destinations 108a-n, properties and business categories associated with the destinations 108a-n. The Visuphone 104 may determine a business category associated with the dialed phone number of a destination. Further, the Visuphone 104 searches the database 414 for destination phone numbers matching the business category of the dialed destination phone number. In an embodiment of the invention, the Visuphone 104 requests a server for updates when a phone number matching the business category of the dialed destination phone number is not found in the database 414. Further, the communication device may also request or receive updates from the server at a pre-defined time intervals. The pre-defined time interval may be for example, once a week, once a month, or any other interval predefined by the user 106 or the Visuphone 104.
Further, the Visuphone 104 may filter the results of the search based on a location code associated with the communication device 102a. The location code may be associated with the current location of the user 106 of the communication device 102. In an embodiment of the invention, the Visuphone 104 may also filter the results based on the location code of the communication device 102a and dialed destination phone number. The Visuphone 104 displays the visual IVR menu of the dialed destination phone number when a matching destination based on the location code is not found. When a matching destination is found, the Visuphone 104 displays a visual representation including one or more destinations with their associated properties on a display 402, as discussed with reference to FIG. 3. In an embodiment, the representation includes maps. The displayed one or more destinations includes properties associated with all the destinations operating in same business category and may be within a pre-defined range of distance from the communication device 102a. For example, if a user 106 has dialed a number of a pizzeria, then all the outlets serving pizza in a range of, for example; 5 km from the location of the user 106 will be displayed on the display 402, also including the details of other vendor outlets. So the representations shown to the user 106 includes that of the number dialed and also include information about other vendor outlets present within the pre-defined range. Therefore, the user 106 is presented with all the options available within a range from his/her present position, on the communication device 102a screen. In an embodiment of the invention, the Visuphone 104 displays at least one property associated with one or more destinations 108a-n based on the identified dialed phone number of a destination 108.
The user 106 can select a destination from the representation on the communication device 102a screen according to his/her preference. The user 106 can select a destination from the representation of one or more destinations. The user may prefer to select a destination which is near to his present location though it's not the one he/she dialed for. The user may also prefer to select a destination who has good reviews and is little far than the dialed destination. Subsequently, the visual IVR menu of the selected destination is presented on display 402. The visual IVR menu has one or more options. Thereafter, the user 106 can interact with the visual IVR menu accordingly.
The user 106 may dial a phone number corresponding to a destination using keyboard 418. The keyboard 418 may be a physical keyboard or a virtual keyboard displayed on a touch screen display 402. In an embodiment, the keyboard 418 is a keypad on the communication device 102a. Subsequently, after some processing by the Visuphone 104, the visual IVR menu 302 corresponding to dialed destination phone number is searched and displayed on display 402.
In an exemplary instance, if the user 106 dials a phone number of a destination, then a representation of one or more destinations is displayed on display 402. Thereafter, on selection by the user 106, a visual IVR menu corresponding to an audible IVR menu of the selected destination is displayed on the display 402. Similarly, if the user 106 receives a call from a destination phone number, then a visual IVR menu corresponding to audible IVR menu of destination is displayed on the display 402. Thereafter, the user 106 can interact with the visual IVR menu to select an option from the visual IVR menu. The representation of one or more destinations and the visual IVR menu is displayed before actual connection of the communication device 102a to destination. Therefore, the user 106 can select a desired action from the visual IVR menu before connecting to destination. In an embodiment of the invention, the visual IVR menu may be provided in real-time to user. In an embodiment of the invention, the visual IVR menu is provided by a messaging service such as a Short Messaging Service (SMS). Therefore, destinations may provide customized visual IVR menu to the user 106. The visual IVR menu may be customized based on the profile of user. In an embodiment of the invention, the profile may be generated based on access pattern of user or the data capture by a hub connected to the communication device 102a. 
User can interact with the visual IVR menu by pressing a desired button from the keyboard 418. For example, the user can press a ‘3’ key from the keyboard 418 to select a node 3 in the visual IVR menu 302. Further, the user 106 can directly select the node 3 of the visual IVR menu 302 from the display 402, in case of a touch sensitive screen. Depending on the complexity or size of destinations, visual IVR menu 302 may have various nodes. Moreover, display area of the display 402 may be limited or small. As a result, all the nodes of the visual IVR menu 302 may not be displayed together on the display 402. In such a case, the Visuphone 104 is configured to allow the user 106 to navigate by scrolling horizontally and/or vertically to view nodes on the visual IVR menu 302. Further, the Visuphone 104 may detect the capability of the communication device 102a before displaying the visual IVR menu 302. For example, in case the communication device 102a is a basic mobile phone with limited functionality of the display screen. Therefore, the Visuphone 104 may display the visual IVR menu in form of a simple list. Similarly, a list may be displayed in case of fixed line or wired telephones. Moreover, in case the communication device 102a includes a high capability screen, such as but not limited to an iPhone, then the visual IVR menu is displayed in form of graphics. Subsequently, after the user 106 selects a desired action from the visual IVR menu 302, a connection is established between the communication device 102a and the selected destination. In one embodiment, the Visuphone 104 is configured to detect and present an application or computer program available on the communication device 102a. 
In an embodiment, a user 106 may dial a phone number from a VOIP application 428 on the communication device 102b, as shown with reference to FIG. 4B. The phone number may correspond to any of destination from the destinations 108a-n. In an embodiment, the user 106 selects a pre-stored phone number from the VOIP application 428. Subsequently, the Visuphone 104 searches the database 114 for one or more destinations matching a business category of the dialed destination phone number. As discussed with reference to FIG. 2, the representation of the one or more destinations is provided on the display 402. Subsequently, after detecting selection from the user 106, the visual IVR menu of the selected destination is displayed on the display 402.
In an embodiment, the Visuphone 104 may include a VOIP plug-in that monitors the outgoing calls made from the VOIP application. Therefore, the VOIP plug-in may search each dialed number in the database 414. In case, the dialed number is found in database 414 and is associated with an audible IVR, then the VOIP plug-in may display the visual IVR menu corresponding to the audible IVR menu of the dialed destination phone number.
In one embodiment, the Visuphone 104 is configured to detect and present applications suitable to the user 106 for initiating the connection. For example, the Visuphone 104 may detect more than one VOIP applications present in the communication device 102b and present them to the user 106 on the display 508. Thereafter, the user 106 can select an application to be used or initiate the connection in a default configuration. The default configuration can be for example, a VOIP application 428 on which destination phone number was dialed. In another embodiment, the user 106 may select a phone number displayed in applications such as a browser, messenger, or a mail client. Subsequently, the Visuphone 104 detects and presents applications suitable to the user 106 for initiating the connection. Furthermore, the Visuphone 104 is configured to display the visual IVR menu 302 for the phone number selected from the applications.
In an embodiment, the communication device 102b may include a web browser to display web pages from the Network and/or other computer networks. Various websites provide a phone number on the web pages as a click-to-talk button. The clickable button can provide, for example, a contact number of executives of the organization. The clickable button may be programmed to display a phone number of the organization and/or display a user a form to provide his contact details, so that an executive from the organization can call back the user. The Visuphone 104 is configured to detect a connect button a webpage. Connect button may be used by the Visuphone 104 to initiate a connection to a destination. The Visuphone 104 detects and launches a VOIP application on the communication device 102b. In an embodiment, in case more than one application is available on the communication device 102, the Visuphone 104 selects a VOIP application preferred by the user 106. Moreover, the Visuphone 104 may be configured to automatically login into the VOIP application. In an embodiment, the user 106 stores the login details for the VOIP application in the Visuphone 104. Further, the Visuphone 104 displays a visual IVR menu corresponding to audible IVR menu of the destination connected once clicked on the connect tab. Therefore, the user 106 can connect to the destination from web browser automatically and may not be required to dial the phone number or provide call-back information.
FIG. 5 illustrates exemplary components of the communication device 102b for implementing the Visuphone 104, in accordance with another embodiment of the invention. The communication device 102b includes a system bus 524 to connect the various components. Examples of the system bus 524 include, but are not limited to, a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. As discussed with reference to FIG. 1B, the communication device 102b can be a computing device such as, but not limited to, a personal computer, a laptop, a mobile phone, a smart-phone, and so forth. In an embodiment, the communication device 102b is an in-car navigation system. In the navigation system, the Visuphone 104 provides the representation of one or more destinations on a map. The communication device 102b can connect to the Network 114 through a network interface 510. Further, the communication device 102b can connect to the PSTN 110 through the gateway 112 and the Network 114 through the network interface 510. An Input/Output (IO) interface 512 of the communication device 102b may be configured to connect external or peripheral devices such as a mouse 514, a keyboard 516, a speaker 518, a camera 520, and a microphone 522. Although not shown, various other devices such as a hard disk, a Universal Serial Bus (USB) device or others can be connected through the IO interface 512 to the communication device 102b. A person skilled the art will appreciate that although not described, various other types of devices capable of voice and/or data communication can be connected to the communication device 102b. 
The communication device 102b includes a display interface 502 to connect to a display 508. The display interface 502 can be for example, a video adapter. The display 508 outputs graphical information to the user 106. In an embodiment of the invention, the display 508 includes a touch sensitive screen. Therefore, the user 106 can provide inputs to the communication device 102b by touching display 508 or by scrolling and pointing with the mouse 514 and a click. Memory 506 of the communication device 102b stores various programs, data and/or instructions that can be executed by a processor 504. Examples of the memory 506 include, but are not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a hard disk, and so forth. A person skilled in the art will appreciate that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, and the like, may also be used by the communication device 102b. The memory 506 may include Operating System (OS) (not shown) for the communication device 102b to function. Further, the memory 506 may include other applications that enable user 106 to communication with destinations 108a-n. Examples of other applications include, but are not limited to, Skype, Google Talk, Magic Jack, and so forth. Other applications may be software or firmware stored on the communication device 102b. Further, the memory 506 includes the Visuphone 104 for searching and selecting one or more destination matching a business category of the dialed destination phone number. Further, the Visuphone 104 is capable of filtering the one or more destination based on the location code of the communication device 102b. The location code determines the current location of the communication device 102b. In an embodiment, the Visuphone 104 can filter the one or more destinations based on the current location of the dialed destination phone number. Further, the Visuphone 104 is capable of presenting a visual IVR menu corresponding to the audible IVR menu of a selected destination as discussed with reference to FIG. 3. The Visuphone 104 may be an application stored as a software or firmware on the communication device 102b. The memory 506 further includes a database 414. As discussed in FIGS. 4A and 4B, the visual IVR menus are stored in the database 414 in memory 506 of the communication device 102b. Further, the database 414 includes phone numbers of destinations 108a-n, one or more properties and business categories associated with the destinations 108a-n. 
In an exemplary instance, if user 106 dials a destination phone number. The user 106 is presented with representation of the one or more destinations with their associated at least one property. As discussed in FIGS. 2 and 3, the representation 202, 204, 206, 208 and the visual IVR menu 302 are displayed before actual connection of the communication device 102b with the destination. Therefore, the user 106 can select a desired option from the visual IVR menu 302 before establishing a connection to the destination. Depending on the complexity or size of the destinations, visual IVR menu 302 may have various nodes. For example, an organization with 50 departments may have more menu options or nodes than that of an organization with 10 departments. Further, the display area of display 508 may be limited. As a result, all the nodes of the visual IVR menu 302 may not be displayed together on display 508. In such a case, the Visuphone 104 is configured to allow the user 106 to navigate by scrolling horizontally and/or vertically to view nodes on the visual IVR menu 302. Moreover, the user 106 can search for a desired option from the visual IVR menu 302. Subsequently, after user 106 selects a desired option from the visual IVR menu 302, a connection is established between device 102b and a destination based on the selected action.
Another embodiment of the invention allows the user to select the visual IVR menu using car display like GPS display. Hands-free cell phone system is used in many cars as a separated device or as an integrated system in the car. These devices allow the user to talk with the cell phone without holding the cell phone in his hands. Some devices are using the car speakers for the phone call. In many cases, the hands-free system can use a display screen in the car like GPS screen or other display. Following voice menu while driving might not be the optimal way to use hands-free cell phone system. In some cases, selecting an option from a visual IVR menu is preferred. While driving or stopping in red light, it might be easier to use larger display like the GPS display in the car. The display can present the visual IVR menu and the user can select the option from the menu. The computing engine to support the visual IVR menu could be embedded in the car GPS system or in another controller that have access to the car display. Once the system recognizes a destination of a call to be an IVR it will access the database, and pull out the representation of one or more destinations and display. Accordingly all the other features of the Visuphone 104 could be incorporated.
FIGS. 6A, 6B, and 6C illustrate a flowchart for providing an enhanced telephony, in accordance with an embodiment of the invention. The user 106 may dial, select or receive one or more destination phone numbers to connect to a destination from the communication device 102. The destinations 108a-n may include an audible IVR menu for interaction with a user. Further, the communication device 102 may include the Visuphone 104 to display representation of one or more destinations and their associated properties on the communication device 102 screen. The Visuphone 104 also presents visual IVR menu corresponding to the phone number of the selected destination. Therefore, a user can directly interact with a visual IVR 302 of selected destination through the visual IVR menu 302 without listening to the audible IVR menu.
At step 602, the Visuphone 104 identifies a phone number of a destination dialed by the user 106 of the communication device 102. In an embodiment of the invention, the number is clicked according to the display of the communication device 102. The number is identified by the processor 404. In an embodiment of the invention, the Visuphone 104 displays at least one property associated with one or more destinations 108a-n based on the identified dialed phone number of the destination.
Further, at step 604, a location code associated with current location of the communication device 102 is determined. The location code determines the present location of the communication device 102. When the user 106 is in his/her home country or state, the location code of the communication device and location code of the dialed destination phone number is same. In an embodiment, the location code of the user 106 is different than the location code of the dialed destination phone number. This happens, in case when the user 106 is travelling and the communication device 102 is on roaming. The processor 404 determines the location code of the communication device 102. At step 606, the processor 404 determines a business category associated with the dialed destination phone number. The destinations 108a-n are categorized into various groups based on their associated business category. Various destinations are grouped into a business category based on the services and operations of the destinations.
At step 608, the processor 404 searches the database 114, for phone numbers of the destinations matching the business category of the dialed destination phone number. Further, at step 610, the processor 404 checks whether the destination phone numbers matching the business category are available in the database 414. In case the one or more destination phone numbers are available, then the process continues to step 612, else the process continues to step 628. At step 612, the processor 404 searches for at least one phone number from the one or more destination phone numbers based on the location code. The location code is associated with the communication device 102. The location code determines the present location of the communication device 102. In an embodiment, the processor 404 searches for at least one phone number from the one or more destination phone numbers based on the location code of the communication device 102b and a location code of the dialed destination phone number. At step 614, the processor 404 checks whether the at least one destination phone number matching the location code of the communication device is available in the database 414. In case the at least one destination phone number, based on the location code, is not available then step 626 is executed. At step 626, a visual IVR menu of the dialed destination phone number is displayed on the display 402, as shown with reference to FIG. 6C.
At step 614, when the at least one destination phone number matching the location code of the communication device 102 is available in the database 414, the process continues to step 616. At step 616, the at least one destination phone number with its associated properties are displayed. The processor 404 displays the at least one destination phone number and associated properties are displayed on the display 402 of the communication device 102. Further, at step 618, the user 106 selects a destination phone number from the displayed destinations. At step 620, a visual IVR menu of the selected destination is displayed on the communication device 102 screen. The processor 404 displays the visual IVR menu on the display 402. As discussed with reference to FIG. 3, the visual IVR menu 302 includes one or more options. At step 622, the user 106 selects an option from the visual IVR menu 302. Thereafter, at step 624, the communication device 102 connects to the selected option of the visual IVR menu. Then the user 106 can interact according to his/her preference with the destination through the visual IVR menu. Thereafter, the process terminates after step 624.
At step 610, when the one or more destination phone numbers matching the business category of the dial phone number, are not available in the database, the process continues to step 628, the communication device 102 requests for updates from the server. The updates include information of destinations 108a-n. The destination information includes destination phone number, and their associated properties. Further, at step 630, the updates are received from the server. The communication device 102 receives the updates. Then, at step 632, the received updates are stored in the database 414 on the communication device 102. Thereafter, the process continues to step 608. In another embodiment of the invention, electronic yellow pages directory allows the dialing the number directly from the directory and further provides representation of one or more destinations and the visual IVR menu of the destination. The user can select the exact destination before dialing or follow the visual IVR menu after dialing. For example, an airline company might have various option, menus and layers in the large organization. Selecting the exact department in the organization before dialing can save the user the time and overhead of listening to the menu and making decisions based on the voice menu. The yellow pages company can have a copy of the visual IVR menu database or can be connected to a visual IVR menu service in order to provide the menu to the user.
Alternatively an enhanced web based yellow page could be provided, wherein the user can first choose the provider he requires to contact. Thereafter, if that destination provides an IVR, then the enhanced yellow page will use the visual IVR menu database to present a visual IVR menu on the web page. Moreover, the user can click to choose the internal destination of that provider and the enhanced yellow page may accordingly initiate the call. The call could be made using the conventional telephone network or PSTN. In this case, the enhanced yellow page may need the user's telephone number to perform the connection. Alternatively, the enhanced yellow page could use a VOIP to connect the user over the web to the IVR of the destination.
In some IVR systems, the user may have to wait or hold on a queue of previous dialers until the specific department or agent is available. In another embodiment of the invention, the enhanced yellow page system will connect the user only after the specific agent is available, without waiting in a long waiting line queue. The system can recognize that the waiting queue message of the specific department, and to connect the user only after the agent is answering. Therefore, the waiting time of the user on the phone queue that sometimes may be very long, may be reduced. The system can park on the line for the waiting line on the specific entry in the menu, as soon as the agent is available the user gets a signal to start the conversation with the agent.
Additional advantage of the invention relates to users who are more proficient in foreign language. Application may provide the visual IVR menu in multiple languages. A user can than choose a language of his choice and download to his device database the menu in that language.
Another advantage of the invention is that it provides user with information about all the matching destinations available in his/her vicinity. So the user has more choices of destinations to choose from based on their one or more properties.
Yet another advantage of the invention relates to IVR that ask for voice commands. This IVR interface is for some user harder to use due to accent or other problems. The database could be provided with the option as been described before for the system to output voice command according to user selection of the menu options.
Embodiments of the invention are described above with reference to block diagrams and schematic illustrations of methods and systems according to embodiments of the invention. It will be understood that each block of the diagrams and combinations of blocks in the diagrams can be implemented by computer program instructions. These computer program instructions may be loaded onto one or more general purpose computers, special purpose computers, or other programmable data processing translator to produce machines, such that the instructions which execute on the computers or other programmable data processing translator create means for implementing the functions specified in the block or blocks. Such computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the block or blocks.
While the invention has been described in connection with what is presently considered to be the most practical and various embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The invention has been described in the general context of computing devices, phone and computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, characters, components, data structures, etc., that perform particular tasks or implement particular abstract data types. A person skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Further, the invention may also be practiced in distributed computing worlds where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing world, program modules may be located in both local and remote memory storage devices.
This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope the invention is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.

## Claims

1. An enhanced communication device, comprising:
a memory coupled to a processor, the memory comprising:
a database comprising:
one or more destination phone numbers; and
at least one property associated with the one or more destination phone numbers; and

instructions executable by the processor for:
identifying a dialed phone number of a destination dialed from the communication device from a plurality of destinations;
determining a location code associated with a current location of the communication device;
comparing the dialed phone number to the one or more destination phone numbers; and
displaying the at least one property associated with the one or more destination phone numbers based on the comparison.

2. The enhanced communication device of claim 1, wherein the memory further comprises instructions executable by the processor for:
determining a business category associated with the dialed phone number, wherein the plurality of destinations are categorized into various business categories; and
selecting at least one destination phone number from the database based on the business category and said location code.

3. The enhanced communication device of claim 1, wherein the memory further comprises instructions executable by the processor for:
selecting, by a user, a destination phone number based on the displayed at least one property; and
displaying a visual Interactive Voice Response (IVR) menu associated with the selected destination phone number.

4. The enhanced communication device of claim 3, wherein the memory further comprises instructions executable by the processor for:
selecting an option from the displayed visual IVR menu; and
establishing a communication with the selected destination phone number based on the selection.

5. The enhanced communication device of claim 3, wherein the database further comprises the visual IVR menu associated with each of the destination phone numbers.

6. The enhanced communication device of claim 1, wherein the memory further comprises instructions executable by the processor for:
receiving updates from a server at a pre-defined time interval; and
requesting the server for updates when a destination phone number match is not found for the dialed phone number.

7. The enhanced communication device of claim 6, wherein the memory further comprises storing the received updates from the server.

8. The enhanced communication device of claim 1 wherein the location code of the communication device is determined by one of a Global Positioning system or a location service of a telephone service provider of the communication device.

9. The enhanced communication device of claim 1 wherein the location code of the communication device is determined based on a Internet Protocol (IP) address of the communication device.

10. A method for providing enhanced telephony, the method comprising:
identifying a phone number of a destination dialed from a communication device from a plurality of destinations;
determining a location code associated with a current location of the communication device;
comparing the dialed phone number to one or more destination phone numbers stored in a database, wherein a database comprises at least one property associated with the destination phone numbers; and
displaying, at the communication device, the at least one property associated with the one or more destination phone numbers based on the comparison.

11. The method of claim 10 further comprising:
determining, at the communication device, a business category associated with the dialed phone number, wherein destinations are categorized into various business categories; and
selecting, at the communication device, at least one destination phone number from the database based on the business category and said location code.

12. The method of claim 10 further comprising:
selecting a destination phone number based on the displayed at least one property, the user selects the destination phone number; and
displaying, at the communication device, a visual Interactive Voice Response (IVR) menu associated with the selected destination phone number, wherein the database comprises a visual IVR menu associated with each of the destination phone numbers.

13. The method of claim 12, further comprising:
selecting an option from the displayed visual IVR menu; and
establishing a communication with the selected destination phone number based on the selection.

14. The method of claim 10 wherein displaying the at least one property further comprises requesting a server for updates when a destination phone number match is not found for the dialed phone number.

15. The method of claim 14, further comprising receiving updates from the server at a pre-defined time interval, the updates being received at the communication device.

16. An enhanced communication device comprising:
a database comprising:
one or more destination phone numbers; and
at least one property associated with the one or more destination phone numbers;

means for identifying a dialed phone number of a destination dialed from a communication device from a plurality of destinations;
means for determining a location code associated with a location of the communication device;
means for comparing the dialed phone number to the one or more destination phone numbers; and
means for transferring to be displayed the at least one property associated with the one or more destination phone numbers based on the comparison.

17. The enhanced communication device of claim 16 further comprising:
means for determining a location code associated with a user current location of the communication device; and
means for comparing the dialed phone number to the one or more destination phone numbers.

18. The enhanced communication device of claim 16 further comprising:
means for determining a business category associated with the dialed phone number, wherein the plurality of destinations are categorized into various business categories; and
means for selecting at least one destination phone number from the database based on the business category and said location code.

19. The enhanced communication device of claim 16 further comprising:
means for selecting, by a user, a destination phone number based on the displayed at least one property; and means for displaying a visual Interactive Voice Response (IVR) menu associated with the selected destination phone number.

20. The enhanced communication device of claim 16 further comprising:
means for receiving updates from a server at a pre-defined time interval; and
means for requesting the server for updates when a destination phone number match is not found for the dialed phone number.