With the convergence of telecommunications and media services, there is increased competition among service providers to offer more services and features to consumers, and concomitantly develop new revenue sources. For instance, traditional telecommunication companies are entering the arena of media services that have been within the exclusive domain of cable (or satellite) television service providers. Television remains the prevalent global medium for entertainment and information. Unfortunately, little or no attention has been paid to the integration of telecommunications services with television. Consequently, user experience with respect to television viewing and engaging in telecommunications services (e.g., calling capabilities) are independent, and thus, uncoordinated and lacking integration. For instance, a user may receive a call during a television program, which requires the user to control two different devices to attend to the call. The user may need to pause the programming or at the very least reduce the volume to receive the call. Such coordination can be cumbersome, as the user may need to retrieve the phone station and the remote control of the set-top box.
Therefore, there is a need for an approach to provide coordination between media experiences over a set-top box and other telecommunications services.
Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:
A preferred apparatus, method, and system for providing telecommunications services via a set-top box are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the preferred embodiments of the invention. It is apparent, however, that the preferred embodiments may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the preferred embodiments of the invention.
Although various exemplary embodiments are described with respect to a set-top box (STB), it is contemplated that these embodiments have applicability to any device capable of processing audio-video (AV) signals for presentation to a user, such as a home communication terminal (HCT), a digital home communication terminal (DHCT), a stand-alone personal video recorder (PVR), a television set, a digital video disc (DVD) player, a video-enabled phone, an AV-enabled personal digital assistant (PDA), and/or a personal computer (PC), as well as other like technologies and customer premises equipment (CPE).
To address this problem, the system 100 of
In the example of
In the example of
STBs 103a-103n and/or terminal 104 can communicate using the packet-based network 105 and/or the telephony network 107. These systems can include: a public data network (e.g., the Internet), various intranets, local area networks (LAN), wide area networks (WAN), the public switched telephony network (PSTN), integrated services digital networks (ISDN), other private packet switched networks or telephony networks, as well as any additional equivalent system or combination thereof. These networks may employ various access technologies including cable networks, satellite networks, subscriber television networks, digital subscriber line (DSL) networks, optical fiber networks, hybrid fiber-coax networks, worldwide interoperability for microwave access (WiMAX) networks, wireless fidelity (Wi-Fi) networks, other wireless networks (e.g., 3G wireless broadband networks, mobile television networks, radio networks, etc.), terrestrial broadcasting networks, provider specific networks (e.g., a Verizon® FiOS® network, a TiVo network, etc.), and the like. Such networks may also utilize any suitable protocol supportive of data communications, e.g., transmission control protocol (TCP), internet protocol (IP), file transfer protocol (FTP), telnet, hypertext transfer protocol (HTTP), asynchronous transfer mode (ATM), socket connections, Ethernet, frame relay, and the like, to connect STBs 103a-103n to various sources of media content. Although depicted in
Mobile device 109 may communicate with wireless network 121, which may employ various technologies including, for example, code division multiple access (CDMA), enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), mobile ad hoc network (MANET), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., WiMAX), WiFi, satellite, and the like.
As discussed previously, media or programming content broadly includes any audio-visual content (e.g., broadcast television programs, VOD programs, pay-per-view programs, IPTV feeds, DVD related content, etc.), pre-recorded media content, data communication services content (e.g., commercials, advertisements, videos, movies, songs, images, sounds, etc.), Internet services content (streamed audio, video, or pictographic media), and/or any other equivalent media form. In this manner, a programming service provider 111 may provide (in addition to the provider's own programming content) content obtained from other sources, such as one or more television broadcast systems 123, one or more third-party content provider systems 125, content residing in a repository (not shown) or accessible via server (not shown), as well as available via one or more packet-based networks 105 or telephony networks 107, etc.
STBs 103a-103n may be used alone or in combination with one or more end terminal(s) 104 to implement various exemplary embodiments. Under the scenario of
In the example of
In one embodiment, a user profile and voicemail repository 209, shown in
In one embodiment, STBs 103a-103n can draw, receive, and/or transmit programming guide information and related content from (or to) multiple sources, thereby alleviating the burden on any single source, e.g., programming service provider 111, to gather, supply, or otherwise meet the content demands of any user or premise. Thus, particular embodiments enable authenticated third-party television broadcast systems 123, third-party content provider systems 125, and servers (not shown) to transmit programming content accessible over a data network to STBs 103a-103n either apart from, or in conjunction with, programming service provider 111. Such programming content may include content regarding traffic, news, sports, current events, breaking stories, commentary, headlines, advertisements, solicitations, financial advice, stocks, markets, events, schools, governments, blog entries, podcasts, and the like. Moreover, media content may be available from authenticated sources, including grassroots groups or individuals, non-profits, governmental organizations, public/private institutions, etc.
In various embodiments, service provider network 101 may include one or more video and/or audio processing modules (not shown) for acquiring and transmitting programming guide information and related content feeds (including content accessible over a data network) from programming service provider 111, the television broadcast systems 123, the third-party content provider systems 125, or servers (not shown) over one or more of the networks 101, 105, 107, to particular STBs 103a-103n. Accordingly, service provider network 101 may include facilities to support compression/decompression, coding/decoding, modulation/demodulation, optical/electrical conversion, and analog/digital conversion, as well as any other suitable signal processing and/or transmission operation. Further, service provider network 101 can optionally support end-to-end data encryption in conjunction with the exchange of information between one of the STBs 103a-103n and the telephony services system 129, programming guide creation and related content streaming services such that only authorized users are able to access personalized telephony services or programming guides.
Moreover, system 100 may include an authentication module configured to perform authorization/authentication services and determine whether users or content sources are indeed subscribers to STB based telephony services. The authentication module is part of the telephony services system, and will be described with reference to
The system 100 may also include a separate authorization module that can verify whether users are subscribers to other services such as the personalized programming guide service. For these purposes, an authentication schema may require a user name and password, a key access number, a unique machine identifier (e.g., media access control (MAC) address), etc., as well as a combination thereof. Once a subscriber has authenticated a presence on system 100, the user may bypass additional authentication procedures for executing later applications (e.g., programming content streaming instances). Data packets, such as cookies, may be utilized for this purpose. Thus, once an STB or content source is authenticated, connections between the STBs 103a-103n and the content sources may be established directly or through the programming service provider 111.
In other embodiments, authentication procedures on a first device (e.g., STB 103a) may identify and authenticate a second device (e.g., terminal 104) communicatively coupled to, or associated with, the first device. Further, the authentication module may grant users the right to receive programming guide information and related content from multiple sources by revoking existing sets of digital certificates associated with a particular provider, and issuing new sets of digital certificates mapped to a second provider. In this regard, an STB (e.g., STB 103a) may receive new programming content or guide information from a second source, whereas the previous session may be automatically closed when the “old” or prior certificates associated with the first source are revoked. This enables users to initiate secure sessions at any given STB 103a-103n (or end terminal 104) linked to system 100, whether or not the STB (or end terminal) belongs to that individual user. It is additionally contemplated that multiple rights sessions may exist concurrently.
In particular embodiments, programming service provider 111 may comprise an IPTV system configured to support the transmission of television video programs from the broadcast systems 123 as well as other content, such as content from the various third-party sources (e.g., 123, 125) utilizing internet protocol (IP). That is, the IPTV system 111 may deliver programming guide information, signals and/or streams, including programming content accessible over a data network, in the form of IP packets. Further, the transmission network (e.g., service provider network 101) may optionally support end-to-end data encryption in conjunction with the streaming services, as previously mentioned.
In this manner, the use of IP permits television services to be integrated with broadband Internet services, and thus, share common connections to a user site. Also, IP packets can be more readily manipulated, and therefore, provide users with greater flexibility in terms of control and offers superior methods for increasing the availability of programming guide information and related content. Delivery of video content, by way of example, may be through a multicast from the IPTV system 111 to the STBs 103a-103n. Any individual STB may tune to a particular content source by simply joining a multicast (or unicast) of the media content, utilizing an IP group membership protocol (IGMP). For instance, the IGMP v2 protocol may be employed for joining STBs to new multicast (or unicast) groups. Such a manner of content delivery avoids the need for expensive tuners to view media content, such as television broadcasts; however, other delivery methods, such as directly modulated carriers (e.g., national television systems committee (NTSC), advanced television systems committee (ATSC), quadrature amplitude modulation (QAM)), may still be utilized. It is noted that conventional delivery methods may also be implemented and combined with the advanced methods of system 100. Further, the programming content may be provided to various IP-enabled devices, such as those computing, telephony, and mobile apparatuses previously delineated.
An STB (e.g., STB 103a) may integrate telephony services with all the functions of an IPTV system and analog broadcast television, as well as combine the programming content and video asset management functions of the various online or off-line environments. For example, as will be described with reference to
Although the user equipment is described with respect to an STB 103a, it is contemplated that various embodiments have applicability to any device capable of processing video, audio, and/or multimedia streams. More generally, while system 100 is illustrated in
In step 153, the set-top box 103a presents an option to view an item corresponding to the voicemail. According to certain embodiments, the option can be presented using the graphical user interface (GUI) shown in
As shown in
The above process can be performed within system 100 of
The web portal 201 communicates with the STBs 103a-103n (
The application server 207 also receives voicemails for telephone numbers associated with the STBs 103a-103n from the external telephony server 221. The application server 207 stores these voicemails in the user profile and voicemail repository 209. The application server 207 also provides these voicemails to the transcoding server 213, which transcodes the voicemails and stores the transcoded voicemails in transcoded voicemail repository 215.
New voicemails are accessed directly in the transcoded voicemail repository by the HTTP server 211 upon receiving a voicemail request from the web portal 201. The transcoded voicemails are then streamed to the pertinent one of the STBs 103a-103n through the HTTP server 211 and the web portal 201.
According to exemplary embodiments, platform 301 may be configured to receive via, for example, communication interface 311, one or more requests from one of the STBs 103a-103n (
In an exemplary embodiment, STB authentication is performed when an end-user initiates a telephony services session at one of the STBs 103a-103n. The unique address of the STB to be authenticated is provided to the voicemail platform 301, which looks up the address in a valid user section of the user profile and voicemail repository 209. If the address is found, the STB in question, for example STB 103a, is successfully authenticated, and the voicemail platform 301 sends an appropriate message to the STB 103a.
According to exemplary embodiments, audio/video equipment and user interface 112 may include one or more displays 407, keypads 409, microphones 411, and/or speakers 413. Display 407 provides a graphical user interface (GUI) that permits a user of set-top box 103a to view dialed digits, call status, menu options, and other service information. The GUI, portions of which will be described with reference to
The controller 417, while referred to in the singular, may comprise a plurality of controllers, which may include, for example, both general purpose and special purpose controllers and digital signal processors. Controller 417 may interface with audio processing circuitry 415, which provides basic analog output signals to speaker 413 and receives analog audio inputs from microphone 411. Similarly, controller 417 may interface with video processing circuitry 419, which provides basic analog output signals to display 407. The controller 417 may interface with the receiver 429 to receive signals from keypad 409. The signals may be conveyed wirelessly through electromagnetic waves (e.g. radio-frequency, infrared) and/or through a wire (not shown) connecting the keypad 409 to the set-top box 103a.
Memory 323 may represent a hierarchy of memory, which may include both random access memory (RAM) and read-only memory (ROM). Computer program instructions and corresponding data for operation can be stored in non-volatile memory, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and/or flash memory. Memory 423 may be implemented as one or more discrete devices, stacked devices, or integrated with controller 417. Memory 423 may store information, such as a unique STB that serves to identify the STB 103a, one or more user profiles, one or more user defined policies, one or more contact lists, personal information, sensitive information, work related information, configurable telephony parameters, and the like.
Set-top box 103a also includes call services module 425 that is configured to receive, transmit, and/or process voice calls, voicemails, user settings and other information pertaining to telephony services. The call services module 425, in conjunction with the controller 417, video processing circuitry 419 and audio processing circuitry 415, is also configured to cause a telephony services GUI, described in more detail with reference to
Upon receiving a telephony services initiation request from the audio/video equipment and user interface 112, the controller 417 and call services module 425 cause the modem 427 to send the STB address and a telephony services initiation request to the web portal 201 (
In like manner, the modem 427, controller 417 and call services module 425 operate in conjunction to send user telephony services requests and telephony audio and/or video streams to the video call services system 129 through web portal 201, and to receive therefrom telephony services information, such as telephony logs, voicemail logs, voicemail content, and telephony audio and/or video streams. In turn, this information may be provided to the display 407 and/or speaker 413.
Next, step 503 is performed. Although
Next, according to step 505, the STB 103a receives user input, via for example keypad 409, indicating the selection of a particular voicemail that the user wishes to see/hear. In step 507, the voicemail platform 301 selectively transcodes the target voicemail and sends the transcoded voicemail, in the form of a media stream, to the STB 103a. In step 509, the STB 103a receives the media stream representing the voice mail, which may then be played/displayed on the audio/video equipment and user interface 112 (
If the user selects the call log feature, then an appropriate selection signal is received by the STB 103a according to step 523. Next, the call log selection is sent to the telephony services system 129, which then, in step 529, retrieves telephony detail information corresponding to a plurality of voice-calls associated with the user account, and sends this information to STB 103a. According to step 527, this information is received by the STB 103a, which then presents this information to the user according to step 531. An exemplary GUI associated with step 531 will be described with reference to
In step 605, the web portal receives the authentication request and the address of STB 103a. The web portal 201 forwards, as in step 607, the request to web server 205, through firewall 203, according to an authorization protocol. In step 609, the web server 205 searches for the address of STB 103a in the valid user section of the user profile and voicemail repository 209. Next, in step 611, the web server 205 determines whether the address was located, and therefore whether the authorization is successful. If so, in step 613, an authorization message is sent to the STB 103a through the web portal 201. Otherwise, the authorization is not successful, and an authorization failure routine is invoked in step 615. According to exemplary embodiments, the authorization failure routine may involve sending the STB 103a a message indicating that the authorization failed.
Returning to step 613, if the authorization succeeded, then in step 617, the STB 103a receives notification thereof. In step 619, the STB 103a causes display 407 (
In step 707, the request is forwarded to the web server 205 through firewall 203. In step 709, the web server 205 retrieves the pertinent data from the user profile and voicemail repository 209, and sends the data to the web portal 201. In step 711, the web portal 201 forwards the data to the STB 103, which, according to step 713, presents the data on the display 407. An exemplary GUI for displaying voice call logs and voicemail logs will be described with reference to
In step 807, the request is forwarded to the web server 205, through firewall 203, according to an authentication protocol. In step 809, the web server 205 forwards the request to the application server 207 (
In step 907, the request is forwarded to the HTTP server 211, through firewall 203. In step 909, the HTTP server 211 retrieves a transcoded version of the voice mail from the transcoded voicemail repository 215 and sends it to the web portal 201. New voicemails are transcoded and stored in the transcoded voicemail repository 215 according to the process described with respect to
In step 1003, the voicemail server 217 sends the voicemail to the application server 207 according to an HTTP protocol. The application server 207 stores, per step 1005, the voicemail in the user profile and voicemail repository 209, where it may be retrieved for later playback (if it becomes an “old” voicemail) in the manner described with reference to
In step 1107, the request is forwarded to the web server 205, through firewall 203. In step 1109, the web server 205 retrieves the voicemail from the user profile and voicemail repository 209, and sends it to the transcoding server 213. In step 1111, the transcoding server 213 transcodes the voicemail and stores the transcoded voicemail in the transcoded voicemail repository 215. The voicemail is then provided to the STB 103a according to steps 909-913 of
The GUI 1200 is provided to the display 407 by the video processing circuitry 419 (
Referring to
Selection of tab 1208 allows a user to view and alter various settings associated with telephony services. For example, as will be further described with reference to
Selection of tabs 1210 and 1212 result in the display of call history and voicemail logs, respectively. An exemplary GUI screen for the display of these logs will be described with reference to
Selection of tab 1214 results in the display of a GUI screen that allows the user to select various call service features, such as call forwarding and the like, as will be further described with reference to
Selection of tab 1216 results in the display of a GUI screen that allows the user to select various video call services, as will be further described with reference to
In other embodiments, menu panel 1206 may include one or more navigation trees, expandable table of contents, or, for example, FlashMedia presentations of selectable state identifiers, as well as other equivalent listings, menus, options, etc., for enabling a user to select various call services features.
In alternative embodiments, one or more navigational elements/fields may be provided and configured to indicate the existence of additional information, entries, fields, buttons, menus, etc., not displayed, but navigably available, as well as facilitate interface usability. Accordingly, the user may browse to additional information, entries, fields, etc., via, for instance, an input interface of a suitable device, e.g., keypad 409 in
Selection of the “SIMULTANEOUS RING” tab 1302 results in the display of a sub-menu, described further with reference to
Selection of the “CALL FORWARDING” tab 1304 enables a user to configure various call forwarding settings, e.g. the telephone numbers associated with the telephony devices whose calls are to be forwarded, the telephone numbers associated with the telephony devices that are to receive the forwarded calls, the number of unanswered rings before a call is forwarded, and time/date selection when call forwarding is to occur.
Selection of the “INCOMING CALL BLOCK” tab 1306 enables a user to configure various call blocking settings, e.g. the telephone numbers that are to be blocked and time/date selection when such blocking is to occur.
Selection of the “DO NOT DISTURB” tab 1308 enables a user to configure various settings that govern the rejection of outside messages and/or calls directed to various telephony devices and/or the audio/video equipment and user interface 112 (
In the case when a voicemail log is displayed, each of the entries 1602-1610 shows a variety of log data, which include, without limitation, the time and date of the voicemail, the telephone number of the device through which the voicemail was left, whether the voice mail is new or old, the telephone number and/or telephony device type (e.g., land line, cell phone) of the target telephony device, the duration of the message, the priority of the message, or any combination thereof. The user may highlight one of the log entries 1602-1608 by interacting with, e.g., the keypad 409 (
In the case when a call log is displayed, each of the entries 1602-1610 shows a variety of log data, which include, without limitation, the time and date of the call, the telephone number of the device through which the call was made, whether the caller left a voice mail, the telephone number and/or telephony device type (e.g. land line, cell phone) of the target telephony device, and whether the user has already responded to the call via the STB 103b. The user may highlight or otherwise activate one of the log entries 1602-1608 by interacting with, e.g., the keypad 409 (
The processes described herein for providing telephony services via a set-top box may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.
The computer system 1700 may be coupled via the bus 1701 to a display 1711, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device 1713, such as a keyboard including alphanumeric and other keys, is coupled to the bus 1701 for communicating information and command selections to the processor 1703. Another type of user input device is a cursor control 1715, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 1703 and for controlling cursor movement on the display 1711.
According to an embodiment of the invention, the processes described herein are performed by the computer system 1700, in response to the processor 1703 executing an arrangement of instructions contained in main memory 1705. Such instructions can be read into main memory 1705 from another computer-readable medium, such as the storage device 1709. Execution of the arrangement of instructions contained in main memory 1705 causes the processor 1703 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 1705. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The computer system 1700 also includes a communication interface 1717 coupled to bus 1701. The communication interface 1717 provides a two-way data communication coupling to a network link 1719 connected to a local network 1721. For example, the communication interface 1717 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. As another example, communication interface 1717 may be a local area network (LAN) card (e.g. for Ethernet™ or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 1717 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface 1717 can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface 1717 is depicted in
The network link 1719 typically provides data communication through one or more networks to other data devices. For example, the network link 1719 may provide a connection through local network 1721 to a host computer 1723, which has connectivity to a network 1725 (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network 1721 and the network 1725 both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link 1719 and through the communication interface 1717, which communicate digital data with the computer system 1700, are exemplary forms of carrier waves bearing the information and instructions.
The computer system 1700 can send messages and receive data, including program code, through the network(s), the network link 1719, and the communication interface 1717. In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an embodiment of the invention through the network 1725, the local network 1721 and the communication interface 1717. The processor 1703 may execute the transmitted code while being received and/or store the code in the storage device 1709, or other non-volatile storage for later execution. In this manner, the computer system 1700 may obtain application code in the form of a carrier wave.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 1703 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device 1709. Volatile media include dynamic memory, such as main memory 1705. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 1701. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the embodiments of the invention may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor.
In one embodiment, the chip set 1800 includes a communication mechanism such as a bus 1801 for passing information among the components of the chip set 1800. A processor 1803 has connectivity to the bus 1801 to execute instructions and process information stored in, for example, a memory 1805. The processor 1803 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 1803 may include one or more microprocessors configured in tandem via the bus 1801 to enable independent execution of instructions, pipelining, and multithreading. The processor 1803 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1807, or one or more application-specific integrated circuits (ASIC) 1809. A DSP 1807 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor 1803. Similarly, an ASIC 1809 can be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
The processor 1803 and accompanying components have connectivity to the memory 1805 via the bus 1801. The memory 1805 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to providing telephony services via a set-top box. The memory 1805 also stores the data associated with or generated by the execution of the inventive steps.
While certain exemplary embodiments and implementations have been described herein, other embodiments and modifications will be apparent from this description. Accordingly, the invention is not limited to such embodiments, but rather to the broader scope of the presented claims and various obvious modifications and equivalent arrangements.