System and method of providing voice communication

A method is presented of providing voice communication, including receiving at a set-top box device a selection of a first contact, receiving data indicating that a first call has been placed to a phone associated with the first contact, and sending data to a display device coupled to the set-top box device indicating that the first call has been placed to the phone associated with the first contact. The method may further include sending data identifying the first contact and the user phone to a communication server of an Internet Protocol Television system, wherein the communication server places the first call to the phone associated with the first contact and routes the first call to the user phone.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to providing voice communication.

BACKGROUND

Television viewing is part of daily life for many people. Individuals may prefer to make phone calls while watching television. Nonetheless, a caller may have to interrupt television viewing to look up a contact's phone number, for example, in a phone directory. Hence, there is a need for an improved system and method of providing voice communication.

DETAILED DESCRIPTION OF THE DRAWINGS

In an embodiment, a system to provide voice communication is disclosed, including a set-top box device having a processor and a memory device accessible to the processor, wherein the memory device includes instructions executable by the processor to receive a selection of a contact, to determine whether a call has been placed to a phone associated with the contact, and to send data to a display device coupled to the set-top box device, the data indicating that the call has been placed to the phone associated with the contact.

In an embodiment, a method of providing voice communication is disclosed, including receiving, at a set-top box device, a selection of a first contact, receiving data at the set-top box indicating that a first call has been placed to a phone associated with the first contact, and sending data to a display device coupled to the set-top box device, the data indicating that the first call has been placed to the phone associated with the first contact.

In another embodiment, a method of providing voice communication is disclosed, including receiving contact selection data from a set-top box device at a communication server of an Internet Protocol Television (IPTV) system, the contact selection data indicating a selection of a contact, placing a call to a phone associated with the contact and routing the call to a user phone, and sending call placement data to the set-top box indicating that the call has been placed to the phone associated with the contact.

In another embodiment, a computer-readable medium is disclosed, tangibly embodying a program of instructions to manipulate a computing platform to receive, at a set-top box device, a selection of a contact, receive, at the set-top box, a selection of a user phone, determine whether a call has been placed to a phone associated with the contact, and send data to a display device coupled to the set-top box device, the data indicating that the call has been placed to the phone associated with the contact, and that the call can be joined via the user phone.

Referring toFIG. 1, an illustrative embodiment of an Internet Protocol Television (IPTV) system that may be used to provide voice communication is generally designated100. As shown, the system100can include a client facing tier102, an application tier104, an acquisition tier106, and an operations and management tier108. Each tier102,104,106,108is coupled to a private network110; to a public network112, such as the Internet; or to both the private network110and the public network112. For example, the client-facing tier102can be coupled to the private network110. Further, the application tier104can be coupled to the private network110and to the public network112. The acquisition tier106can also be coupled to the private network110and to the public network112. Additionally, the operations and management tier108can be coupled to the public network112.

As illustrated inFIG. 1, the various tiers102,104,106,108communicate with each other via the private network110and the public network112. For instance, the client-facing tier102can communicate with the application tier104and the acquisition tier106via the private network110. The application tier104can communicate with the acquisition tier106via the private network110. Further, the application tier104can communicate with the acquisition tier106and the operations and management tier108via the public network112. Moreover, the acquisition tier106can communicate with the operations and management tier108via the public network112. In a particular embodiment, elements of the application tier104, including, but not limited to, a client gateway150, can communicate directly with the client-facing tier102.

The client-facing tier102can communicate with user equipment via an access network166, such as an Internet Protocol Television (IPTV) access network. In an illustrative embodiment, customer premises equipment (CPE)114,122can be coupled to a local switch, router, or other device of the access network166. The client-facing tier102can communicate with a first representative set-top box device116via the first CPE114and with a second representative set-top box device124via the second CPE122. One or more user phones176may be coupled to the Customer Premises Equipment (CPE)122. In a particular embodiment, the first representative set-top box device116and the first CPE114can be located at a first customer premise, and the second representative set-top box device124and the second CPE122can be located at a second customer premise. In another particular embodiment, the first representative set-top box device116and the second representative set-top box device124can be located at a single customer premise, both coupled to one of the CPE114,122.

The CPE114,122can include routers, local area network devices, modems, such as digital subscriber line (DSL) modems, any other suitable devices for facilitating communication between a set-top box device, the access network166, and the user phone(s)176, or any combination thereof. In an exemplary embodiment, the client-facing tier102can be coupled to the CPE114,122via fiber optic cables. In another exemplary embodiment, the CPE114,122can be digital subscriber line (DSL) modems that are coupled to one or more network nodes via twisted pairs, and the client-facing tier102can be coupled to the network nodes via fiber-optic cables. Each set-top box device116,124can process data received via the access network166, via an IPTV software platform, such as Microsoft® TV IPTV Edition.

The first set-top box device116can be coupled to a first external display device, such as a first television monitor118, and the second set-top box device124can be coupled to a second external display device, such as a second television monitor126. Moreover, the first set-top box device116can communicate with a first remote control120, and the second set-top box device124can communicate with a second remote control128. The set-top box devices116,124can include IPTV set-top box devices; video gaming devices or consoles that are adapted to receive IPTV content; personal computers or other computing devices that are adapted to emulate set-top box device functionalities; any other device adapted to receive IPTV content and transmit data to an IPTV system via an access network; or any combination thereof.

In an exemplary, non-limiting embodiment, each set-top box device116,124can receive data, video, or any combination thereof, from the client-facing tier102via the access network166and render or display the data, video, or any combination thereof, at the display device118,126to which it is coupled. In an illustrative embodiment, the set-top box devices116,124can include tuners that receive and decode television programming signals or packet streams for transmission to the display devices118,126. Further, the set-top box devices116,124can include a STB processor170and a STB memory device172that is accessible to the STB processor170. In one embodiment, a computer program, such as the STB computer program174, can be embedded within the STB memory device172.

In an illustrative embodiment, the client-facing tier102can include a client-facing tier (CFT) switch130that manages communication between the client-facing tier102and the access network166and between the client-facing tier102and the private network110. As illustrated, the CFT switch130is coupled to one or more data servers, such as D-servers132, that store, format, encode, replicate, or otherwise manipulate or prepare video content for communication from the client-facing tier102to the set-top box devices116,124. The CFT switch130can also be coupled to a terminal server134that provides terminal devices with a connection point to the private network110. In a particular embodiment, the CFT switch130can be coupled to a video-on-demand (VOD) server136that stores or provides VOD content imported by the IPTV system100. Further, the CFT switch130is coupled to one or more video servers180that send the video content to the set-top boxes116,124via the access network166. In a particular embodiment, the CFT switch130can be coupled to a video-on-demand (VOD) server136that stores or provides VOD content imported by the IPTV system100. Further, the CFT switch130is coupled to one or more multicast video servers180that receive video content and multicast the video content to the set-top boxes116,124via the access network166.

In an illustrative embodiment, the client-facing tier102can communicate with a large number of set-top boxes via the access network166, such as the representative set-top boxes116,124, over a wide geographic area, such as a neighborhood area, a metropolitan area, a viewing area, a statewide area, a regional area, a nationwide area or any other suitable geographic area, market area, or subscriber or customer group that can be supported by networking the client-facing tier102to numerous set-top box devices. In a particular embodiment, the CFT switch130, or any portion thereof, can include a multicast router or switch that communicates with multiple set-top box devices via a multicast-enabled network.

As illustrated inFIG. 1, the application tier104can communicate with both the private network110and the public network112. The application tier104can include a first application tier (APP) switch138and a second APP switch140. In a particular embodiment, the first APP switch138can be coupled to the second APP switch140. The first APP switch138can be coupled to an application server142and to an operation systems and support (OSS)/billing systems and support (BSS) gateway144. In a particular embodiment, the application server142can provide applications to the set-top box devices116,124via the access network166, which enable the set-top box devices116,124to provide functions, such as interactive program guides, video gaming, display, messaging, processing of VOD material and other IPTV content, etc. In a particular embodiment, the OSS/BSS gateway144includes operation systems and support (OSS) data, as well as billing systems and support (BSS) data. In one embodiment, the OSS/BSS gateway144can provide or restrict access to an OSS/BSS server164that stores operations and billing systems data.

The second APP switch140can be coupled to a domain controller146that provides Internet access, for example, to users at their computers via the public network112. For example, the domain controller146can provide remote Internet access to IPTV account information, e-mail, personalized Internet services, or other online services via the public network112. In addition, the second APP switch140can be coupled to a subscriber and system store148that includes account information, such as account information that is associated with users who access the IPTV system100via the private network110or the public network112. In an illustrative embodiment, the subscriber and system store148can store subscriber or customer data and create subscriber or customer profiles that are associated with IP addresses, stock-keeping unit (SKU) numbers, other identifiers, or any combination thereof, of corresponding set-top box devices116,124. Further, the second APP switch140can communicate with phones168,169,178,186via the public network112, a plain old telephone service (POTS)179, data network182and wireless access point184, or any combination thereof. Moreover, the second APP switch140can be coupled to a subscriber and system store148that includes account information, such as account information that is associated with users who access the IPTV system100via the private network110or the public network112. The second APP switch140can be coupled to a communication server149that is adapted to establish communication between the phone168of a selected contact, and a user phone176. A communication server149can communicate with phones168,169over the public network112via the second APP switch140.

In an illustrative, non-limiting embodiment, phones168and169, which may be phones associated with a contact entry in a network address book or other address book, can communicate with the IPTV system100via the public network112. In another illustrative, non-limiting embodiment, wireless phone186, which may be a phone associated with a contact entry in a network address book or other address book, can communicate with the IPTV system100via a wireless access point184and data port182to the communication server149. In yet another illustrative, non-limiting embodiment, phone178, which may be a phone associated with a contact entry in a network address book or other address book, can communicate with the IPTV system100via a plain old telephone service (POTS)179to the communication server149.

In a particular embodiment, the application tier104can include a client gateway150that communicates data directly to the client-facing tier102. In this embodiment, the client gateway150can be coupled directly to the CFT switch130. The client gateway150can provide user access to the private network110and the tiers coupled thereto. In an illustrative embodiment, the set-top box devices116,124, or other devices coupled to the CPE114,122, can access the IPTV system100via the access network166, using information received from the client gateway150. User devices can access the client gateway150via the access network166, and the client gateway150can allow such devices to access the private network110once the devices are authenticated or verified. Similarly, the client gateway150can prevent unauthorized devices, such as hacker computers or stolen set-top box devices from accessing the private network110, by denying access to these devices beyond the access network166.

For example, when the first representative set-top box device116accesses the client-facing tier102via the access network166, the client gateway150can verify subscriber information by communicating with the subscriber and system store148via the private network110. Further, the client gateway150can verify billing information and status by communicating with the OSS/BSS gateway144via the private network110. In one embodiment, the OSS/BSS gateway144can transmit a query via the public network112to the OSS/BSS server164. After the client gateway150confirms subscriber and/or billing information, the client gateway150can allow the set-top box device116to access IPTV content and VOD content at the client-facing tier102. If the client gateway150cannot verify subscriber information for the set-top box device116, e.g., because it is connected to an unauthorized twisted pair, the client gateway150can block transmissions to and from the set-top box device116beyond the access network166.

As indicated inFIG. 1, the acquisition tier106includes an acquisition tier (AQT) switch152that communicates with the private network110. The AQT switch152can also communicate with the operations and management tier108via the public network112. In a particular embodiment, the AQT switch152can be coupled to a live acquisition server154that receives or acquires television content, movie content, advertisement content, other video content, or any combination thereof, from a broadcast service156, such as a satellite acquisition system or satellite head-end office. In a particular embodiment, the live acquisition server154can transmit content to the AQT switch152, and the AQT switch152can transmit the content to the CFT switch130via the private network110.

In an illustrative embodiment, content can be transmitted to the D-servers132, where it can be encoded, formatted, stored, replicated, or otherwise manipulated and prepared for communication from the video server(s)180to the set-top box devices116,124. The CFT switch130can receive content from the video server(s)180and communicate the content to the CPE114,122via the access network166. The set-top box devices116,124can receive the content via the CPE114,122, and can transmit the content to the television monitors118,126. In an illustrative embodiment, video or audio portions of the content can be streamed to the set-top box devices116,124.

Further, the AQT switch152can be coupled to a video-on-demand importer server158that receives and stores television or movie content received at the acquisition tier106and communicates the stored content to the VOD server136at the client-facing tier102via the private network110. Additionally, at the acquisition tier106, the video-on-demand (VOD) importer server158can receive content from one or more VOD sources outside the IPTV system100, such as movie studios and programmers of non-live content. The VOD importer server158can transmit the VOD content to the AQT switch152, and the AQT switch152, in turn, can communicate the material to the CFT switch130via the private network110. The VOD content can be stored at one or more servers, such as the VOD server136.

When users issue requests for VOD content via the set-top box devices116,124, the requests can be transmitted over the access network166to the VOD server136, via the CFT switch130. Upon receiving such requests, the VOD server136can retrieve the requested VOD content and transmit the content to the set-top box devices116,124across the access network166, via the CFT switch130. The set-top box devices116,124can transmit the VOD content to the television monitors118,126. In an illustrative embodiment, video or audio portions of VOD content can be streamed to the set-top box devices116,124.

FIG. 1further illustrates that the operations and management tier108can include an operations and management tier (OMT) switch160that conducts communication between the operations and management tier108and the public network112. In the embodiment illustrated byFIG. 1, the OMT switch160is coupled to a TV2 server162. Additionally, the OMT switch160can be coupled to an OSS/BSS server164and to a simple network management protocol (SNMP) monitor186that monitors network devices within or coupled to the IPTV system100. In a-particular embodiment, the OMT switch160can communicate with the AQT switch152via the public network112.

In an illustrative embodiment, the live acquisition server154can transmit content to the AQT switch152, and the AQT switch152, in turn, can transmit the content to the OMT switch160via the public network112. In this embodiment, the OMT switch160can transmit the content to the TV2 server162for display to users accessing the user interface at the TV2 server162.

In a particular embodiment, a set-top box124receives a selection of a first contact associated with the phone168, with the phone169, with the phone178, or with wireless phone186. The set-top box124may receive a selection of a user phone176. The selection(s) are communicated to the communication server149, which places a call to the phone associated with the first contact and routes the call to the user phone176. The communication server149sends data to the set-top box124indicating that a call has been placed to the first contact. The set-top box device124receives the data indicating that the call has been placed, and the set-top box device124sends data to a display device126indicating that the first call has been placed to the first contact at phone168. In an illustrative embodiment, the display device126can display a message indicating that the call can be joined at the user phone176.

In another illustrative embodiment, after the call has been placed, the set-top box device124can receive another selection of a second contact. The other selection can be communicated to the communication server149, which places a call to the second contact at, for example, phone178(via the POTS network179), and routes the call to the user phone176, forming a conference call with the phone168, for example, the user phone176, and the phone178. The communication server149sends data to the set-top box device124indicating that a call has been placed to the second contact. The set-top box device124receives the data indicating that the call has been placed, and the set-top box device sends data to the display device126indicating that the second call has been placed to the second contact. As a result of forming the conference call, three or more parties, such as the user, the first contact, and the second contact, can communicate with each other simultaneously.

Referring toFIG. 2, a second particular illustrative embodiment of a system to provide voice communication is illustrated and designated generally at200. The system200includes a set-top box device202that communicates with a communication server230via an access network220, such as a private access network of an Internet Protocol Television system. One or more user phones226,227, can also communicate with the communication server230via the access network220. In an illustrative embodiment, the set-top box device202and the user phones226,227can be coupled to network access Consumer Premises Equipment (CPE)224.

The set-top box device202includes a processor204and a memory device206accessible to the processor204. In a particular embodiment, the memory device206can include a contact selection module208executable by the processor204to receive a selection of a contact. In an illustrative embodiment, selection of the contact may include selection of a name, phone number, email address, street address, photograph, or any combination thereof. For example, the contact may be chosen from any of a plurality of address books such as a network address book.

In a particular embodiment, the memory device206can include an Internet Protocol Television (IPTV) system communication module210executable by the processor204to determine whether a call has been placed to the contact, e.g., by receiving data from the communication server230indicating that the contact is available to be joined to a user phone.

In a particular embodiment, the memory device206can include a call prompt display module212executable by the processor204to send data to a display device coupled to the set-top box device202, the data indicating that the call has been placed to the contact. In a particular illustrative embodiment, the display device may be a television220coupled to the set-top box device202via a display interface218.

In a particular embodiment, the memory device206can include a user phone selection module213executable by the processor204to receive selection of a user phone, such as the phone226or the phone227.

In a particular embodiment the set-top box device202may also contain a remote interface214, operative to receive commands from a remote device216.

In an illustrative embodiment, the STB processor204can communicate with the communication server230via the network interface222. In a particular embodiment, network access customer premises equipment (CPE)224can facilitate communication, via access network228, between the network interface222and the communication server230. The network access CPE224can include a router, a local area network device, a modem, such as a digital subscriber line (DSL) modem, and any other suitable device or any combination thereof to facilitate communication between the network interface222of the set-top box device202and the communication server230.

The communication server230includes a communication server processor242and a memory device232accessible to the communication server processor242. In a particular embodiment, the memory device232can include a set-top box communication module234, executable by the communication server processor242to communicate with the set-top box device202to receive data indicating selection of a contact.

In a particular embodiment, the memory device232can include a dialer module236executable by the communication server processor242to place a call to a phone associated with a selected contact, and to route the call to the user phone226, the user phone227, or any combination thereof.

In a particular embodiment, the memory device232can include an address book access module238, executable by the communication server processor242to access an address book. The communication server230can send data from the address book to the set-top box device202so that a user can make a selection of a contact. In an illustrative embodiment, the address book may be a network address book containing a plurality of contacts from which a contact may be chosen.

In a particular embodiment, the memory device232can include an information editing module240, executable by the communication server processor242to receive edited information from the set-top box device202and to edit an entry residing in an address book. In an illustrative non-limiting embodiment, information editing module240can be executable by the communication server processor242to edit a field that is part of a contact entry within the network address book.

In an illustrative embodiment, the communication server230may receive data indicating selection of a contact and a selection of a user phone226from the set-top box device202. The communication server230then accesses an address book, such as a network address book, to retrieve contact information such as a telephone number for the chosen contact. The communication server230places a call to a phone associated with the contact and to the user phone226. The communication server230sends data to the set-top box device202via the access network228and the network access CPE224, indicating that the call has been placed to the phone associated with the contact, and is joined to the user phone226.

Referring toFIG. 3, a particular illustrative embodiment of a method of providing voice communication is shown. At block302, a selection of a contact is received at a set-top box device. Moving to block304, the set-top box device receives a selection of a user phone. In an illustrative, non-limiting embodiment, the user may choose one of a plurality of phones. Proceeding to block306, the set-top box device sends data to a communication server, the data indicating the contact and the user phone. Advancing to block308, the set-top box device receives data indicating that the call has been placed to the first contact.

At block310, the set-top box device sends a notification to a display device coupled to the set-top box device, indicating that the call can be joined at the selected user phone. In an illustrative embodiment, a selection of a call placement indicator can be received at the set-top box device before sending the data indicating the contact and user phone, to the communication server. In a particular non-limiting embodiment, the call placement indicator may be a “click-to-call” or similar graphic indicator.

Continuing to decision node312, in a particular embodiment, the set-top box device can determine whether another contact is to be conferenced with the call. If the set-top box device determines that there is not another contact to be conferenced with the call, the method terminates at322. On the other hand, if the set-top box device determines that another contact is to be conferenced with the call, the method proceeds to block314and a selection of a second contact may be received at the set-top box device. Moving to block316, the set-top box device sends data to the communication server indicating the second contact. At block318, the set-top box device receives data indicating that a call has been placed to the second contact. At block320, the set-top box device sends a notification to the display device indicating that the call can be conferenced at the user phone. The method terminates at322.

Referring toFIG. 4, a second particular illustrative embodiment of a method of providing voice communication is illustrated. At block402, a communication server of an Internet Protocol Television (IPTV) system receives data from a set-top box device indicating a selection of a contact. In an illustrative embodiment, the communication server may receive a contact selected from one of a plurality of sources that may include but are not limited to a network address book, a call log, or a voice mail indicator, each of which may be stored at the IPTV system and communicated to the set-top box device for display. Moving to block404, the communication server places a call to the selected contact and routes the call to a user phone at block406. In a particular embodiment, the communication server can receive data indicating a selection of the user phone, which may be chosen from a plurality of user phones. Proceeding to block408, the communication server sends data to a set-top box device indicating that the call has been placed. The method terminates at410.

Referring toFIG. 5, an illustrative embodiment of a method of editing contact information is illustrated. At block502a set-top box device sends an address book to a display device. In a non-limiting illustrative embodiment, the address book may be a network address book. Moving to block504, the set-top box device receives a selection to edit the address book. At decision node506, the set-top box device determines whether a new entry or an entry currently within the address book is to be edited. If a new entry is to be edited, the method proceeds to block508, and a new record can be created. At block510, information related to the contact is received. Moving to decision node512, the set-top box device determines whether all new information has been received, e.g., the set-top box device can query the user to indicate whether data in all desired fields is entered. If additional data is to be entered, the method returns to block510and the set-top box device receives information related to the contact, until all of the data is received. At block514, the new information is stored as a new record. The record can be stored at the set-top box, at the communication server, or at both. The method terminates at524.

Returning to decision node506, if a current entry is to be edited, the method proceeds to block516, and a selection of a field to be edited can be received. At block518, the edited information related to the field is received. At decision node520, set-top box device determines whether all edited information has been received, e.g., the set-top box device can query the user to indicate whether data in all desired fields is entered. If additional edited information is to be received, the method returns to block516and proceeds to block518, the set-top box device receiving information related to the phone contact until all of the data is received. When edits are complete, at block522the edited information within the fields is stored. The record can be stored at the set-top box, at the communication server, or at both. The method terminates at524.

Referring toFIG. 6A, a diagram illustrating a particular illustrative embodiment of a graphical user interface to provide voice communication is illustrated. A graphical user interface (GUI)602includes an address book selection region603. The address book selection region603can include a prompt604to select an address book606from a plurality of address books. Address book “Charles” has been highlighted by a user, and clicking on the highlighted name can select the highlighted address book.

Referring toFIG. 6B, a diagram illustrating a particular illustrative embodiment of a graphical user interface to provide voice communication is illustrated. A heading608indicates that address book “Charles” is being presented on the screen display. An address book entry610“Smith, Jon” has been highlighted by a user, and can be clicked to be selected.

Referring toFIG. 6C, a diagram illustrating a particular illustrative embodiment of a graphical user interface to provide voice communication is illustrated. A prompt611asks the user to choose a user phone on which to complete the call. The user phone may be selected by clicking on a soft button612or a soft button614.

Referring toFIG. 6D, a diagram illustrating a particular illustrative embodiment of a graphical user interface to provide voice communication is illustrated. A prompt616asks to place the call by clicking on a soft button618entitled “Click to Call”. A prompt620advises the user to pick up the selected user phone when the line is ringing. In an illustrative embodiment, the ringing may be sent from a set-top box device to a display device for the user to hear.

Referring toFIG. 7A, a diagram illustrating a particular illustrative embodiment of a graphical user interface (GUI) to provide voice communication is illustrated. A graphical user interface (GUI)702includes an address book selection region703. The address book selection region703can include a prompt704to select an address book706from a plurality of address books. Address book “Charles” has been highlighted by a user, and clicking on the highlighted name can select the highlighted address book.

Referring toFIG. 7B, a diagram illustrating a particular illustrative embodiment of a graphical user interface (GUI) to provide voice communication an embodiment is illustrated. A heading708indicates that address book “Charles” is being presented on the screen display. An address book entry710“Smith, Jon” has been highlighted by a user. (Alternatively, a new entry line712may be chosen via highlighting, enabling a user to enter a new contact into the address book.) A soft button714can be selected by the user to initiate editing of the highlighted address book entry710.

Referring toFIG. 7C, a diagram illustrating a particular illustrative embodiment of a graphical user interface (GUI) to provide voice communication an embodiment is illustrated. A region716displays an edited email address for Jon Smith. A soft button718may be selected via clicking, when editing of entry fields has been completed.

Referring toFIG. 7D, a diagram illustrating a particular illustrative embodiment of a graphical user interface (GUI) to provide voice communication is illustrated. The graphical user interface702displays the address book, wherein edits have been accepted.

In conjunction with the configuration of structure described herein, the system and method disclosed provides voice communication between two or more phones or other devices such as computers. In an illustrative embodiment, the user can select a contact by clicking on one or more soft buttons displayed via a graphical user interface. The set-top box device receives the selection data and sends the selection data to a communication server of an Internet Protocol Television (IPTV) system, which receives the data and places a call to the selected contact. The communication server sends data to the set-top box device indicating that the call has been placed. The set-top box device sends a notification that the call has been placed to the display device.

In a particular illustrative embodiment, a user phone is selected and input via the graphical user interface to the set-top box device. Data representing the user phone selected is sent to the communication server prior to dialing the phone number associated with the contact, and the communication server routes the connection between the selected contact and the selected user phone.

Referring toFIG. 8, an illustrative embodiment of a general computer system is shown and is designated800. The computer system800can include a set of instructions that can be executed to cause the computer system800to perform any one or more of the methods or computer based functions disclosed herein. The computer system800, or any portion thereof, may operate as a stand-alone device or may be connected, e.g., using a public network, such as the Internet, or a private network, to other computer systems or peripheral devices such as a set-top box device, communication server, or a phone, as depicted inFIGS. 1-2.

As illustrated inFIG. 8, the computer system800may include a processor802, e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the computer system800can include a main memory804and a static memory806that can communicate with each other via a bus808. As shown, the computer system800may further include a video display unit810, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, or a cathode ray tube (CRT). Additionally, the computer system800may include an input device812, such as a keyboard, and a cursor control device814, such as a mouse. Further, the computer system800can include a wireless input device815, e.g., a remote control device. When the computer system800, or any portion thereof, is embodied in a set-top box device, the cursor control device814can be a remote control device. The computer system800can also include a disk drive unit816, a signal generation device818, such as a speaker or remote control, and a network interface device820.

In a particular embodiment, as depicted inFIG. 8, the disk drive unit816may include a computer-readable medium822in which one or more sets of instructions824, e.g. software, can be embedded. Further, the instructions824may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions824may reside completely, or at least partially, within the main memory804, the static memory806, and/or within the processor802during execution by the computer system800. The main memory804and the processor802also may include computer-readable media.

The present disclosure contemplates a computer-readable medium that includes instructions824or receives and executes instructions824responsive to a propagated signal, so that a device connected to a network826can communicate voice, video or data over the network826. Further, the instructions824may be transmitted or received over the network826via the network interface device820.

In accordance with various embodiments, the methods described herein may be implemented as one or more software programs running on a computer processor. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.

It should also be noted that software that implements the disclosed methods may optionally be stored on a tangible storage medium, such as: a magnetic medium, such as a disk or tape; a magneto-optical or optical medium, such as a disk; or a solid state medium, such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories. The software may also utilize a signal containing computer instructions. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include a tangible storage medium or distribution medium as listed herein, and other equivalents and successor media, in which the software implementations herein may be stored.