CROSS-REFERENCE TO RELATED APPLICATION This present application is a continuation of, and claims the benefit under 35 USC 120 of, PCT Patent Application Serial Number PCT/CA2005/001768 entitled “METHOD, SYSTEM AND APPARATUS FOR ANNOUNCING CALLER INFORMATION OVER A TELEVISION LINK”, filed on Nov. 21, 2005, filed in the English language, designating the United States and hereby incorporated by reference herein.
FIELD OF THE INVENTION This invention relates generally to video delivery systems and more specifically to a method, system and apparatus for announcing caller information over a television link.
BACKGROUND OF THE INVENTION With recent developments in the telecommunications industry, customers are not only expecting basic telephony services (such as reliable voice connectivity from one point to another), but also expect to receive a number of augmented services. In particular, customers expect to have access to services such as voice mail, call forwarding, three-way calling and Caller Line ID (CLID) information announcements. By virtue of the CLID information announcement feature, customers can obtain information about a calling party before actually accepting a call. Generally, information about the calling party can comprise a telephone number of the calling party and/or a name of the calling party that is registered in association with the telephone number of the calling party. Obtaining CLID information prior to answering the call allows customers to make a decision how to treat the call, such as whether to answer or ignore the call. This service is particularly suitable for call screening, for instance screening calls from unknown or blacklisted parties. Several types of devices for announcing CLID information are known in the art. A first type of device is incorporated into a telephone set (whether wired or cordless), referred to herein below as a built-in device. Another type of device is a stand-alone device connected in-line between the telephone set and the telephone jack. Such stand-alone devices allow users of telephone sets that do not have the aforementioned built-in devices to nonetheless enjoy the benefits of CLID information announcement. Both types of devices are operable to extract CLID information from received SS7 network signalling information and to process this information to announce the CLID information to the user (typically by means of a display). Some stand-alone devices can display the CLID information on a television screen, allowing the viewers to see who is calling while they are watching the television.
Users who would like to receive CLID information announcement on the television screen while watching a particular program on their television screen find the afore-mentioned solutions unsatisfactory. In a specific case where the telephony link to the user's telephone is busy (for instance, when the user or someone else in the user's household is using the phone), and a second call destined for the user's telephone is originated, the user may not receive an announcement of the second incoming call on his or her television screen.
Thus, improvements in the convenience with which users may get CLID information announcement on their television screen would be welcomed.
SUMMARY OF THE INVENTION A first broad aspect of the present invention seeks to provide a method. The method comprises receiving, via a portion of a data network adapted for handling Voice-over-IP (VoIP) calls, Session Initiation Protocol (SIP) signalling information associated with an incoming call destined for a destination party, the SIP signalling information comprising a portion conveying information regarding an origin of the incoming call and information regarding an identity of the destination party. The method further comprises responsive to the receiving, attempting to establish a telephony link with a device associated with the destination party over a communication network. The method further comprises releasing the portion of the SIP signalling information to a processing entity to cause delivery of an indication of the origin of the incoming call over a television link associated with the destination party, the indication based on the information regarding an origin of the incoming call.
A second broad aspect of the present invention seeks to provide a method. The method comprises receiving Session Initiation Protocol (SIP) signalling information associated with an incoming call destined for a destination party; the SIP signalling information comprising a portion conveying information regarding an origin of the incoming call and information regarding an identity of the destination party; the SIP signalling information having been issued by a network element responsible for establishing a telephony link with a device associated with the destination party over a network in response to receipt of the SIP signalling information associated with the incoming call. The method further comprises responsive to the receiving, causing transmission of an announcement trigger over a television link associated with the destination party to cause an indication of the origin of the incoming call to be announced to the destination party, the indication based on the information regarding an origin of the incoming call.
A third broad aspect of the present invention seeks to provide a system. The system comprises at least one network element associated with a communication network and a processing entity. The at least one network element is operable: to receive, via a portion of a data network adapted for handling Voice-over-IP (VoIP) calls, Session Initiation Protocol (SIP) signalling information associated with an incoming call destined for a destination party, the SIP signalling information comprising a portion conveying information regarding an origin of the incoming call and information regarding an identity of the destination party; responsive to receiving the SIP signalling information, to attempt establishing a telephony link with a device associated with the destination party over a portion of the communication network; and to release the portion of the SIP signalling information to the processing entity. The processing entity is operable to receive the portion of the SIP signalling information to cause delivery of an indication of the origin of the incoming call over a television link associated with the destination party, the indication based on the information regarding an origin of the incoming call.
A fourth broad aspect of the present invention seeks to provide a network element comprising: means for receiving Session Initiation Protocol (SIP) signalling information associated with an incoming call destined for a destination party, the SIP signalling information comprising a portion conveying information regarding an origin of the incoming call and information regarding an identity of the destination party; means for attempting to establish a telephony link with a device associated with the destination party over a communication network responsive to the receiving, and means for releasing the portion of the SIP signalling information to a processing entity to cause delivery of the information regarding the origin of the call over a television link associated with the destination party.
Another broad aspect of the present invention seeks to provide an apparatus. The apparatus comprises a first interface operable to connect to a communication network and to receive Session Initiation Protocol (SIP) signalling information associated with an incoming call destined for a destination party; the SIP signalling information comprising a portion conveying information regarding an origin of the incoming call and information regarding an identity of the destination party; the SIP signalling information having been issued by a network element responsible for establishing a telephony link with a device associated with the destination party over a network in response to receipt of the SIP signalling information associated with the incoming call. The apparatus further comprises a second interface operable to connect to a television link associated with the destination party. The apparatus further comprises a processing unit coupled to the first and second interfaces; the processing unit operable to receive the SIP signalling information via the first interface and to cause transmission via the second interface of an announcement trigger to cause an indication of the origin of the incoming call to be announced to the destination party, the indication based on the information regarding an origin of the incoming call.
BRIEF DESCRIPTION OF THE DRAWINGS A detailed description of specific embodiments of the invention is provided herein below, by way of example only, with reference to the accompanying drawings, in which:
FIG. 1 is a conceptual block diagram showing various components of a system for extracting information indicative of an originator of an incoming call for announcement to a user on a television screen.
FIG. 2 depicts a flow chart of a method for extracting information indicative of an originator of an incoming call for announcement to the user on a television screen executable at a terminating network element depicted inFIG. 1.
FIG. 3 depicts a flow chart of a method for forwarding information indicative of an originator of an incoming call to the user, the method executable at a processing entity ofFIG. 1.
FIG. 4A and 4B depict a logical signal flow diagram that illustrates exchange of signals containing information associated with an originator of an incoming call between various elements of the system ofFIG. 1 while performing the method ofFIG. 2 in two embodiments of the present inventions.
FIG. 4C depicts a logical signal flow diagram that illustrates exchange of signals containing information associated with an originator of an incoming call between various elements of the system ofFIG. 1 while performing the method ofFIG. 3.
FIG. 5 depicts a conceptual block diagram of a database maintained by a processing entity ofFIG. 1.
In the drawings, the embodiments of the invention are illustrated by way of examples. It is to be expressly understood that the description and drawings are only for the purposes of illustration and are an aid for understanding. They are not intended to be a definition of the limits of the invention.
DETAILED DESCRIPTION OF EMBODIMENTS In the scenario to be described below with reference toFIG. 1 which depicts asystem100 for extracting information indicative of an originator of an incoming call for announcement to a user on a television screen, an originatingparty102A is desirous of placing an incoming call to adestination party102B. The originatingparty102A has access to a number of devices situated in originatingparty premises104A, including but not necessarily limited to acommunication device106A. It should be understood, that the originatingparty102A may have access to a number of other devices located in the originatingparty premises104A, such as one or more set-top boxes, one or more computing apparatuses, and one or more displays and the like.
Thedestination party102B can have access to a number of devices situated indestination party premises104B, such as acommunication device106B, a set-top box108B and adisplay110B. It should be understood that thedestination party102B may have access to a number of other devices located in thedestination party premises104B, such as one or more computing apparatuses, other set-top boxes and displays and the like.
Thedestination party102B may have a business relationship with a service provider (not depicted) who provides telephony and/or other services to thedestination party102B. The service provided can be a Competitive Local Exchange Carrier (CLEC), an Incumbent Local Exchange Carrier (ILEC), an Internet telephony service provider or the like. For instance, the service provider who has entered into a business relationship with thedestination party102B can be Bell Canada of 1050 Beaver Hall Hill, Montreal, Quebec, Canada. The service provider can deliver a number of telephony services to thedestination party102B, such as local calling, long-distance calling, as well as a number of augmented services, such as three-way calling, conference calling, call waiting and the like. The service provider can be further operable to deliver a CLID information announcement feature according to the teachings of this invention. It should be appreciated that the CLID information announcement feature can be delivered on a subscription basis (i.e. thedestination party102B needs to subscribe to the service and/or pay a subscription fee) or as part of a service package. It should be appreciated that the originatingparty102A may have a business relationship with the same or a different service provider.
Thecommunication device106A is connected to thecommunication device106B via acommunication network112. Thecommunication network112 can be under control and/or management of the service provider with whom thedestination party102B has a business relationship or, alternatively, under control and/or management of a different service provider or a third party. The nature of thecommunication network112 is not particularly limiting and, as such, thecommunications network112 can include a portion of the Public Switched Telephone Network (PSTN), a cellular network, a data network adapted for handling Voice-over-IP (VoIP) calls (such as the Internet), or a combination thereof It will be appreciated that the type of thecommunication network112 and the type of thecommunication devices106A and106B are interdependent. For example, if thecommunication devices106A and106B are POTS phones, then thecommunication network112 will comprise at least a portion of the PSTN. On the other hand, if thecommunication devices106A and106B are Voice-over-IP (VoIP) phones, than thecommunication network112 will comprise at least a portion of the data network adapted for handling Voice-over-IP (VoIP) calls (such as the Internet). In yet another example, if thecommunication device106A is a POTS phone and thecommunication device106B is a Voice-over-IP (VoIP) phone, then thecommunication network112 will comprise at least a portion of the PSTN and at least a portion of the data network (such as the Internet) with suitable media gateways for converting analog voice to IP packets and vice versa well known to those of skill in the art. Other variations will be apparent to those of skill in the art. As such, when the incoming call originates from thecommunication device106A, it passes through thecommunications network112 to reach thecommunication device106B.
Thecommunication network112 may comprises anetwork element114A, anetwork element114B and anetwork element140. The type ofnetwork elements114A,114B and140 is not particularly limiting and will depend on the type of thecommunication network112. To illustrate, in the case where thecommunication network112 comprises the PSTN, thenetwork elements114A,114B and140 can comprise switches, such as DMS-100 switches manufactured and distributed by Nortel Networks of 8200 Dixie Road, Brampton, Ontario L6T 5P6, Canada. As a further illustration, in the case where thecommunication network112 comprises the data network adapted for handling Voice-over-IP (VoIP) calls (such as the Internet), thenetwork elements114A,114B and140 can comprise so-called soft switches, such as a MCS 5200 Soft Switch manufactured by Nortel Networks of 8200 Dixie Road, Brampton, Ontario L6T 5P6, Canada. In some embodiments of the present invention, thenetwork elements114A,114B and140 can be embodied in a single soft switch. It should be understood that any other suitable network element can be deployed.
Irrespective of the type ofnetwork elements114A,114B or140 deployed, thenetwork elements114A,114B and140 are operable to route calls between various end-points. In particular, thenetwork elements114A and114B are operable to route the incoming call from thecommunication device106A to thecommunication device106B. Specifically, when the incoming call is originated from thecommunication device106A, it is first received at thenetwork element114A. The incoming call includes signalling information, which can be SS7 signalling information in case of thecommunication network112 comprising the PSTN and Session Initiation Protocol (SIP) messages in the case of thecommunication network112 comprising the data network adapted for handling Voice-over-IP (VoIP) calls. Responsive to receiving the signalling information, thenetwork element114A is operable to identify thenetwork element114B associated with thecommunication device106B and the appropriate route tosuch network element114B. As will be appreciated by those of skill in the art, where thecommunication network112 comprises the PSTN, this process comprises establishing a circuit between thenetwork element114A and thenetwork element114B. Where thecommunication network112 comprises the data network adapted for handling Voice-over-IP (VoIP) calls, this process comprises routing the packets from thenetwork element114A to thenetwork element114B.
Thenetwork element114B can comprise aprocessing database115. Theprocessing database115 can comprise a list of all the destination parties (such as thedestination party102B) which thenetwork element114B serves. For example, theprocessing database115 can comprise network identifiers associated with various destination parties (such as a telephone number associated with thecommunication device106B associated with thedestination party102B) whose telephony links terminate on thenetwork element114B. Theprocessing database115 can further comprise an indication of various augmented services that a particular destination party (such asdestination party102B) is subscribed to. For instance, if thedestination party102B subscribes to the CLID information announcement feature of this invention, theprocessing database115 can be provisioned with a CLID announcement flag in association with the network identifier of thedestination party114B. The CLID announcement flag can be a Termination Attempt Trigger, a simultaneous ring trigger or another suitable trigger. It should be appreciated thatnetwork elements114A and140 can have processing databases similar to theprocessing database115.
With continued reference toFIG. 1, there is also provided aprocessing entity120 coupled to thecommunication network112 via theaforementioned network element140. Theprocessing entity120 may be under the control and/or management of the service provider with whom thedestination party102B has a business relationship. Alternatively, theprocessing entity120 may be under control and/or management of a third party. Theprocessing entity120 is coupled to thenetwork element140 which is operable to process calls to/from theprocessing entity120 via thecommunication network112. Thenetwork element140 can be identical in structure to thenetwork elements114A and114B.
Theprocessing entity120 can comprise acall control portion122, avideo control portion126 and adatabase124. It should be appreciated that theprocessing entity120 may contain a number of other components used for other purposes than the purpose of this invention.
In one embodiment of the present invention, thecall control portion122 can comprise an HP Proliant DL380 G2 Telephony Server (Dual CPU 1.4 GHz Intel Pentium III, RAM 2 Gigs) manufactured by Hewlett-Packard Company of 3000 Hanover Street, Palo Alto, Calif., USA, and 2 NMS CG6000 card manufactured by NMS Communications of 100 Crossing Boulevard, Framingham, Mass., USA with the RedHatLinux Enterprise Edition 3 WS software distributed by RedHat Corporation of 1801 Varsity Drive, Raleigh, N.C. USA. Thecall control portion122 can further comprise call processing logic, the call processing logic being responsible for controlling various hardware components of the call control portion122 (for example, the HP Proliant DL380 G2 Telephony Server or other components of the call control portion122) and for receiving and processing signalling information. In some embodiments of the present invention, the call processing logic can comprise a Ubiquity Application Server, which can be provided by Ubiquity of 515 Legget Drive, Suite 400, Ottawa, Ontario, Canada. The Ubiquity Application Server can be operable to receive, unwrap and process SIP-based signalling information. In other embodiments, the call processing logic can comprise a Java-based software application for receiving, unwrapping and processing SS7-based signalling information. It should be understood that any other suitable call processing logic can be employed for the purposes of this invention and as one skilled in the art will appreciate, the call processing logic will depend on the type of the signalling information and the type of processing required. It should be recognized that thecall control portion122 can further comprise a number of other hardware, firmware and software components. For instance, in some embodiments of the present invention, thecall control portion122 can further comprise a media server, which can be used for DTMF signal detection and the like.
Thecall control portion122 is coupled to thenetwork element140 and, as such, is operable to receive an incoming call via thecommunication network112, to initiate an outgoing call via thecommunication network112, to detect DTMF tones via thecommunication network112 and to receive and process CLID information. Other functions performed by thecall control portion122 will become apparent to those skilled in the art having regard to the teachings of this invention. In some embodiments of the present invention, thenetwork element140 is connected to thecall control portion122 via an ISDN PRI (MegaLink).
Theprocessing entity120 further comprises theaforementioned database124, which is accessible by thecall control portion122 and may be used for storing a plethora of information, including a plurality of user profiles. With reference toFIG. 5, the content of thedatabase124 will now be described. Thedatabase124 comprises a number of records, such asrecords504,506,508 and510. Each record can be associated with a particular destination party, such as thedestination party102B or any other destination party that subscribes to the CLID information announcement feature of this invention. In this example, the exemplary depicted destination parties are USER_1 through to USER_4. A particular destination party's record within thedatabase124 maintains a relationship between a network identifier of the particular destination party's communication device (such ascommunication device106B) and an identifier of the particular destination party's television receiver (such as the set-top box108B). Thedatabase124 may comprise further records denoting various aspects of the destination party's business relationship with the service provider such as services subscribed to, channel packages subscribed to and the like.
In some embodiments of the present invention, there may be more that one telephony link associated with thedestination party premises104B and there may be more than onecommunication device106B, eachcommunication device106B associated with each separate telephony link. For instance, plural members of thedestination party premises104B may have their ownseparate communication device106B with associated network identifiers (i.e. separate telephone number). In these embodiments, a particular destination party record in thedatabase124 may further maintain an association betweenplural communication device106B identifiers and corresponding names of the members of thedestination party premises104B.
In some embodiments of the present invention, thedatabase124 can further comprise records associated with potential originating parties, such as the originatingparty102A. These records can be provisioned and/or modified by thedestination party102B during the subscription process for the CLID information announcement feature of this invention or at a later time. As such, the records associated with potential originating parties can be associated with eachparticular destination party102B. In some embodiments of the present invention, thedestination party102B can group the potential originating parties according to various categories, such as family, co-workers and the like. Thedestination party102B can further assign specific still or animated images to the groups and/or to a specific potential destination party that can be displayed along with or instead of the CLID information announcement as will be described in greater detail herein below.
Specifically, in one scenario for ahypothetical destination party102B denoted as USER_1 in therecord504, the network identifier of thecommunication device106B can be a telephone number (in this scenario, thecommunication device106B can be a POTS phone, a VoIP phone, a VoIP soft client and the like). The network identifier of the set-top box108B can be a MAC address. In this exemplary scenario, the identifier of thecommunication device106B can be “111-111-2222” and the identifier of the set-top box108B can be “13567891011”. Therecord504 can comprise further information about USER_1 generally depicted at504E.
In another scenario for ahypothetical destination party102B denoted as USER_2 in therecord506, the network identifier of thecommunication device106B can be a telephone number (in this scenario, thecommunication device106B can be a POTS phone, a VoIP phone, a VoIP soft client and the like) and the network identifier of the set-top box108B can be an IP address. In this exemplary scenario, the identifier of thecommunication device106B can be “555-333-4444” and the identifier of the set-top box108B can be “7.2.5.65”. It should be noted that the IP address can be either static or dynamic and in case of a dynamic IP address, thedatabase124 is operable to dynamically update the records (such as record506) in a manner known to those of skill in the art. Therecord506 can comprise further information about USER_2 generally depicted at506E.
In a further scenario for ahypothetical destination party102B denoted as USER_3 in therecord508, the network identifier of thecommunication device106B can be an IP address (in this scenario, thecommunication device106B can be a VoIP phone, a VoIP soft client and the like). The network identifier of the set-top box108B can be a pre-defined alpha-numerical or numerical address. In this exemplary scenario, the identifier of thecommunication device106B can be “8.5.6.75” and the identifier of the set-top box108B can be “3456_X”. Therecord508 can comprise further information about USER_3 generally depicted at508E. In this particular example, therecord508 can comprise a name associated with the particular member of thedestination party premises104B, such as “Andrea” or “mom”.
In a further scenario for ahypothetical destination party102B denoted as USER_4 in therecord510, the USER_4 may havemultiple communication devices106B and, as such, may have multiple network identifiers (telephone numbers, IP addresses, etc.) associated with respectivemultiple communication devices106B. For instance, thedestination party102B may have more than one telephone line, may have a VoIP phone and a PSTN phone, a combination of multiple POTS and VoIP phones, as well as a combination of wireline and wireless phones. In this scenario several network identifiers (such as telephone numbers, IP addresses, etc.) can be associated with a single identifier of the set-top box108B. For example, “111-222-3333” may be a telephone number associated with afirst communication device106B associated with USER_4 (for example, a PSTN or VoIP wireline phone). “111-333-5555” may be a telephone number associated with asecond communication device106B associated with USER_4 (for example, another PSTN or VoIP wireline phone or a wireless communication device), and “8.5.6.85” may be an IP Address associated with athird communication device106B associated with USER_4 (for example, a VoIP wireline phone). The network identifier of the set-top box108B can be a pre-defined alpha-numerical or numerical address. In this exemplary scenario, the identifier of the set-top box108B can be “3456_Y”. Therecord510 can comprise further information about USER_4 generally depicted at510E. In this particular example, therecord510 can comprise a name associated with each of the telephone numbers associated with the USER_4. For instance, the number “111-222-3333” can be associated with John Doe, the number “111-333-5555” can be associated with Jane Doe and the IP address “8.5.6.85” can be associated with Bob Doe.
Thedatabase124 can comprise a number of further user records associated withdestination parties102B other than USER_1, USER_2, USER_3 or USER_4 generally depicted as512. It should be appreciated that any other suitable identifiers for communication devices and set-top boxes can be used. Naturally, other combinations of network identifiers forcommunication devices106B or set-top boxes108B can be used. For example, plural network identifiers associated with plural set-top boxes108B can be associated with a single identifier of acommunication device106B.
Returning toFIG. 1, theprocessing entity120 further comprises the aforementionedvideo control portion126. Thevideo control portion126 may be managed and/or controlled by the same entity as thecall control portion122. Alternatively, thevideo control portion126 may be under management and/or control of a third party. Thevideo control portion126 can be located in the same physical location as thecall control portion122 or, alternatively, thevideo control portion126 can be located in a different physical location from the call control portion122 (such as another building, another city or another country for that matter).
Thevideo control portion126 is connected to a television receiver (such as the set-top box108B) via avideo distribution network142. The nature of thevideo distribution network142 is not particularly limiting and, as such, thevideo distribution network142 can include a portion of the direct-to-home satellite broadcasting network, a cable distribution network, an xDSL-based distribution network, a data network adapted for video-over-IP distribution or a combination thereof It should be appreciated that thevideo control portion126 can be further coupled to a number of other customers' set-top boxes, this being omitted from theFIG. 1 for the sake of simplicity.
In one specific non-limiting example, thevideo control portion126 comprises an HP Proliant BL20p G3 Blade Server manufactured by Hewlett-Packard Company of 3000 Hanover Street, Palo Alto, Calif., USA. As will be discussed in greater detail herein below, thevideo control portion126 is operable to receive messages from thecall control portion122, to process the so-received messages and to send messages to one or more set-top boxes (such as the set-top box108B) via thevideo distribution network142. It should be appreciated that thevideo control portion126 may be operable to perform a number of other functions, such as compiling a variety of content from various content sources, multiplexing various content streams, encoding the multiplexed content streams for distribution, transmitting the encoded content streams to a number of set-top boxes, billing, maintaining customer profiles and channel line-ups.
With reference toFIG. 2 and toFIGS. 4A and 4B, operation of thenetwork element114B in the context of extracting information associated with the incoming call arriving via thenetwork112 for thedestination party102B will now be described.FIG. 2 depicts a method for creating a replica of signalling information.FIGS. 4A and 4B depict a flow of signals, which are exchanged while performing the method ofFIG. 2 in two embodiments of the present invention.
In the first scenario, described with reference toFIG. 2 andFIG. 4A, it is assumed that thecommunication device106B is PSTN-based (such as a POTS phone, etc.). It will be appreciated that in this scenario, thecommunication network112 can comprise at least a portion of the PSTN and thenetwork elements114A and114B can comprise switches (such as DMS-100).
Atstep202, thenetwork element114B receives signalling information associated with the incoming call destined for thedestination party102B. Specifically, as part of the signal flow S1 between thenetwork element114A and thenetwork element114B exchanged during the establishment of the incoming call, signalling information is exchanged. A portion of the signal flow S1 comprises a CLID element402 (i.e. information associated with the originator of the incoming call, such as the telephone number of thecommunication device106A associated with the originatingparty102A, a name associated with the originatingparty102A or a combination thereof) and a DN element404 (i.e. information associated with the destination of the call, such as the telephone number of thecommunication device106B associated with thedestination party102B).
In this scenario, the signalling information can be embodied in an SS7 initial address message (IAM) message (i.e. a call set-up message known to those skilled in the art) comprising a telephone number associated with originatingparty102A or a combination of a telephone number and a name associated with the originatingparty102A. Various fields of the IAM message can be used for storing such information, such as a Personal Information Parameter (PIP) field or the Generic Name field. It should be appreciated that the signalling information or a portion thereof can be embodied in SS7 messages exchanged subsequent to the IAM message, such as but not limited to a call progress message, etc.
In alternative scenarios, the signalling information may only contain a telephone number associated with the originatingparty102A, but not the name associated with the originatingparty102A. In these scenarios, thenetwork element114B can determine the name of the originatingparty102A can be determined by accessing a name database (such as a Line Information Data Bases (LIDB) database) to perform a look-up based on a network identifier (ex. a telephone number, an IP address or the like) associated with the originatingparty102A. The accessing of the database can be performed by issuing a Transaction Capabilities Application Part (TCAP) query using the telephone number extracted from the signalling information.
Atstep204, thenetwork element114B can determine whether thedestination party102B is a party that subscribes to the CLID information announcement feature of this invention. Firstly, an identity of thedestination party102B is determined from the signalling information associated with the incoming call (ex. the telephone number associated with thedestination party102B contained in the SS7 IAM message or any other suitable SS7 message). Specifically, the information contained in theDN element404 can be used to determine identity of thedestination party102B. Thenetwork element114B consults theprocessing database115 and determines whether the extracted destination information has been provisioned with the CLID information announcement feature of this invention. In alternative embodiments of the present invention, the determination of whether thedestination party102B subscribes to the CLID information announcement feature of this invention can be performed by retrieving a specific CLID announcement flag, such as but not limited to a Termination Attempt Trigger, a simultaneous call trigger or the like.
If it is determined that the destination information has not been provisioned with the CLID information announcement feature of this invention (i.e. the “NO” branch of step204), then thenetwork element114B returns to step202 where it continues to monitor whether signalling information associated with another incoming call has been received.
For the purposes of the present example, it is assumed that thedestination party102B does indeed subscribe to the CLID information announcement feature (i.e. the “YES” branch of step204) and, as such, the telephone number associated with thedestination party102B has been provisioned as such in theprocessing database115 of thenetwork element114B. It should be noted thatstep204 is optional and may be omitted in some embodiments of the present invention.
Having determined that thedestination party102B subscribes to the CLID information announcement feature of this invention, thenetwork element114B proceeds to step206. Specifically, thenetwork element114B creates a replica of the signalling information associated with the incoming call. It should be further understood that the signalling information may comprise plural quanta of information and the so-created replica may contain a portion or the entirety of the plural quanta of information.
For the benefit of the reader it should be explained what information may be contained in theCLID element402. TheCLID element402 can contain a network identifier associated with the origin of the incoming call (i.e. the telephone number associated with thecommunication device106A). TheCLID element402 can further contain a registered name associated with the originatingparty102A. As such theCLID element402 may contain the following information: “613-111-6471; John Doe” denoting that the telephone number associated with thecommunication device106A associated with the originatingparty102A is “613-111-6471” and the registered name associated with the originatingparty102A is “John Doe”. It should be appreciated that theCLID element402 may comprise additional or alternative information, as will be apparent to those of skill in the art. In the particular example whereby theCLID element402 contains only the telephone number associated with thecommunication device106A, the name can be determined by performing a database look-up (such as by issuing a TCAP query to an LIDB database). The process for generating the telephone number information and the registered name is usually performed during the provisioning of a telephony link to the originatingparty premises104A. Thenetwork element114B is operable to create a replica of at least theCLID element402 andDN element404 contained in the signal flow S1.
Atstep208 thenetwork element114B sends the replica of the signalling information to thecall control portion122 of theprocessing entity120. Specifically, thenetwork element114B can attempt to establish a telephony link to thecall control portion122 to convey the replica of the signalling information to thecall control portion122. In one specific non-limiting example, thenetwork element114B uses a simultaneous ringing (sometimes referred to as a SIMRing) function of the DMS-100 switch that creates a call to more than one terminating number. In another specific non-limiting example, thenetwork element114B can send a TCAP query to thecall control portion122. No matter how the telephony link with thecall control portion122 is established, the telephony link can be established via thenetwork element140 associated with the processing entity220.
Specifically, thenetwork element114B creates a signal flow S2 destined for thenetwork element140. To create the signal flow S2, thenetwork element114B extracts theDN element404 and augments theDN element404 with a special routing code (depicted as SC element406). In one specific non-limiting example, theSC element406 comprises three (3) digits that signify to various network elements in thecommunications network112 to route the replica of the signalling information to thenetwork element140 associated with thecall control portion122 of theprocessing entity120. It should be understood that in other embodiments of the present invention, any other format of theSC element406 could be utilized which can be but is not limited to numerical codes, alpha-numerical codes or the like. TheSC element406 indicates to the various elements of the communication network112 (such as thenetwork element140 and the like) that the telephony link being established with thecall control portion122 should actually terminate at thecall control portion122. As such, the signal flow S2 comprises at least the CLID element402 (denoting the information associated with the originator of the incoming call, such as the originatingparty102A), and the augmented DN element comprising the DN element404 (denoting the information associated with the destination party, such as thedestination party102B) and theSC element406. The signal flow S2 is transmitted to thenetwork element140.
Thenetwork element140 receives the replica of the signalling information embedded in the signal flow S2 and extracts various components embedded therein, such as information associated with the origin of the incoming call (i.e. CLID element402) and the augmented destination information (i.e. theDN element404 and the SC element406). Responsive to receipt of the replica of signalling information embedded in signal flow S2, thenetwork element140 extracts the augmented destination information (i.e. theDN element404 and the SC element406) and deletes the special routing code (i.e. SC element406).
Thenetwork element140 then creates a signal flow S3 destined for thecall control portion122, effectively sending the destination information (i.e. DN element404) and the information associated with the origin of the incoming call (i.e. CLID element402) to thecall control portion122. It will be recalled that in some embodiments of the present invention, thenetwork element140 is connected to thecall control portion122 via an ISDN PRI (MegaLink). In these embodiments, theCLID element402 and theDN element404 are transmitted to thecall control portion122 as part of a Q.931 Setup Message.
It should now be clear that by virtue ofstep208 and the signal flows S2 and S3, thecall control portion122 becomes aware of the information representing the origin of an incoming call, as well as information associated with thedestination party102B. Put another way, thenetwork element114B is operable to extract signalling information associated with the incoming call and to transmit the extracted signalling information to theprocessing entity120 via thenetwork element140. The steps performed by thecall control portion122 will be described in detail herein below with reference toFIG. 3.
Atstep210, thenetwork element114B attempts to establish a telephony link with thecommunication device106B. Specifically, thenetwork element114B creates a signal flow S4 to thecommunication device106B using the DN element404 (i.e. destination information associated with thecommunication device106B). The signal flow S4 can comprise theCLID element402. In the above-discussed scenario of thecommunication network112 being the PSTN, the signal flow S4 can comprise an SS7 call set-up message known to those skilled in the art. It should be noted thatstep210 can be performed at the same time as thesteps206/208, before thesteps206/208 are performed or after thesteps206/208 have been performed.
With continued reference toFIG. 2 and with reference toFIG. 4B, in another scenario, it is assumed that thedestination party102B uses a VoIP-basedcommunication device106B (such as a Voice-over-IP (VoIP) phone or a Voice-over-IP (VoIP) soft client). It will be appreciated that in this scenario, thecommunication network112 comprises at least a portion of a data network adapted for handling Voice-over-IP (VoIP) calls, such as the Internet, and thenetwork elements114A and114B are soft switches. It should be understood, that thenetwork elements114A and114B can be embodied in a single soft switch. In this scenario, the signalling information comprises a Session Initiation Protocol (SIP) message (i.e. a Session Initiation Protocol (SIP) invite message known to those skilled in the art).
Atstep202, thenetwork element114B receives signalling information associated with the incoming call destined for thedestination party102B, depicted as signal flow F1. The signalling information may be received from thecommunication device106A as depicted inFIG. 4B, from another originating communication device or from thenetwork element114A. In this scenario, the signalling information depicted as the signal flow F1 comprises a Session Initiation Protocol (SIP) invite message. Among other information, the signal flow F1 comprises information associated with thecommunication device106A, including the network address and/or the registered name of the originatingparty102A (i.e. CLID element402) and the network identifier of thecommunication device106B (i.e. DN element404).
Atstep204, thenetwork element114B determines whether thedestination party102B is a party that subscribes to the CLID information announcement feature of this invention. Specifically, the identity of thedestination party102B can be determined from the signalling information associated with the incoming call (ex. theCLID element402 that contains the telephone number or another information associated with thedestination party102B, such as the IP address). Thenetwork element114B consults theprocessing database115 and determines whether the extracted destination information has been provisioned with the CLID information announcement feature of this invention. If it is determined that the destination information has not been provisioned with the CLID information announcement feature of this invention (i.e. the “NO” branch of step204), then thenetwork element114B returns to step202 where it continues to monitor whether signalling information associated with another incoming call has been received.
For the purposes of the present example, it is assumed that thedestination party102B does indeed subscribe to the CLID information announcement feature (i.e. the “YES” branch of step204) and, as such, the telephone number or another identifier (such as an IP address or the like) associated with thedestination party102B has been provisioned as such in theprocessing database115 of thenetwork element114B. Having determined that thedestination party102B subscribes to the CLID information announcement feature of this invention, thenetwork element114B proceeds to step206 where it creates a replica of the signalling information.
An alternative implementation ofstep204 will now be discussed. In some embodiments of the present invention, if aparticular destination party102B subscribes to the CLID information announcement feature of this invention, the appropriate flag in theprocessing database115 is inserted to designate thecall control portion122 as a “registered agent” for thedestination party102B. In other words, the entry is provisioned to trigger a simultaneous connection to the network address associated with thecall control portion122 and the network address associated with thedestination party102B. In one-specific non-limiting example, consider the following scenario. Thecommunication device106B has an IP address 108.55.22.101 and thecall control portion122 has an IP address 108.66.33.202. In this scenario thecommunication network112 is adapted to handle Voice-over-IP (VoIP) calls. Thedestination party102B associated with thecommunication device106B subscribes to the CLID information announcement feature of this invention and as such an entry associated with thedestination party102B can be made in theprocessing database115 to denote that when a call destined for thedestination party102B arrives, an attempt should be made to establish a telephony link to two destination numbers, i.e. the IP address associated with thedestination party102B (ex. 108.55.22.101) and the IP address associated with the call control portion122 (ex. 108.66.33.202). In other words, thecall control portion122 can be provisioned as a “registered agent” associated with thedestination party102B alongside with thecommunication device106B and any other registered agents that thedestination party102B may have. It should be understood that in this scenario, it is inherent that thedestination party102B subscribes to the CLID information announcement feature of this invention and thenetwork element114B proceeds to step206.
Atstep206, thenetwork element114B creates a replica of signalling information. In one specific non-limiting example, thenetwork element114B can create a copy of the Session Initiation Protocol (SIP) invite message by establishing a telephony link with thecall control portion122. In some embodiments of the present invention, thenetwork element114B can create the telephony link with the call control portion122 (i.e. effectively create a copy of the Session Initiation Protocol (SIP) invite message) using a “proxy” function known to those of skill in the art (also sometimes referred to as “proxying” or “proxying simultaneous ringing”). It should be appreciated that any other suitable method for creating a replica of the signalling information can be used. It should be further understood that signalling information may comprise a plural quanta of information and the so-created replica may contain a portion or the entirety of this plural quanta of information.
Atstep208 thenetwork element114B sends the replica of the signalling information to thecall control portion122 of theprocessing entity120, which in this case may comprise a Ubiquity Application Server as previously described. Thenetwork element114B is operable to transmit an IP packet (ex. a UDP or a TCP packet containing a replica of the Session Initiation Protocol (SIP) invite message) containing the replica of signalling information to thecall control portion122 over thecommunication network112 and via thenetwork element140, which in this case may be a switch or the like. Specifically, thenetwork element114B creates a signal flow F2 containing the CLID element402 (representing the network address and/or the registered name of the originatingparty102A) and the DN element404 (representing the network identifier of thecommunication device106B). The signal flow information announcement service F2 is then transmitted to thecall control portion122. To summarize, thenetwork element114B is operable to extract signalling information associated with the incoming call and to transmit the extracted signalling information to thecall control portion122 of theprocessing entity120.
Atstep210, thenetwork element114B attempts to establish a telephony link with thecommunication device106B. In the above-discussed scenario where thecommunication network112 is a data network adapted for handling Voice-over-IP (VoIP) calls, this attempt comprises forwarding the IP packet comprising Session Initiation Protocol (SIP) invite message to thecommunication device106B using the network address contained in the Session Initiation Protocol (SIP) invite message. Specifically, thenetwork element114B creates a signal flow F3 destined for thecommunication device106B containing the CLID element402 (representing the network address and/or the registered name of the originatingparty102A) and the DN element404 (representing the network identifier of thecommunication device106B).
Operation of theprocessing entity120 in the context of extracting information associated with the incoming call arriving via thenetwork112 for thedestination party102B will now be described. For illustration purposes only, the operation of theprocessing entity120 will be described with reference to the PSTN-based scenario described with reference toFIG. 2 andFIG. 4A. It should be understood that the following discussion of the operation of theprocessing entity120 can be adapted to the afore-mentioned VoIP-based scenario. With reference toFIG. 3, a method for extracting information associated with the incoming call will be described. For illustration purposes, reference will also be made toFIG. 4C, which depicts a flow of signals, exchanged while performing the method ofFIG. 3. The method ofFIG. 3 can be conveniently implemented at thecall control portion122. It should be noted the method ofFIG. 3 can be performed simultaneously with, before or after certain steps of the method ofFIG. 2. In one specific non-limiting example, the method for extracting information associated with the incoming call can be performed simultaneously with, before or after theaforementioned step210 of the method ofFIG. 2 (i.e. attempting to establish a telephony link with thedestination party102B for completion of the call).
Atstep302, thecall control portion122 receives the replica of the signalling information from thenetwork element114B. In some embodiments of the present invention, thecall control portion122 receives the replica of the signalling information from the network element associated with theprocessing entity120, such as the network element140 (depicted as signal flow S3).
Atstep304, thecall control portion122 extracts theCLID element402 and theDN element404 from the signal flow S1 ofFIG. 4A. Specifically, thecall control portion122 can retrieve theCLID element402 andDN element404 from the Q.931 Setup Message received from thenetwork element140. For the benefit of the reader it should be recalled what information may be contained inCLID element402. TheCLID element402 contains a network identifier associated with the origin of the incoming call (i.e. the telephone number, IP address, etc. associated with thecommunication device106A) and, in some circumstances, a name associated with the originatingparty102A. In these circumstances, thecall control portion122 will extract the network identifier associated with the originator of the incoming call and will transmit the extracted network identifier to the set-top box108B, as will be described in greater detail herein below.
However, it will be appreciated that service providers allow their customers options to suppress the transmission of their number, by a feature generally known as “Presentation Restricted”. If the “Presentation Restricted” feature has been invoked for a particular originatingparty102A, the CLID element will comprise a suitable trigger. If thecall control portion122 retrieves such “Presentation Restricted” trigger from theCLID element402, it is operable to generate a “Private Caller” message that will be used in lieu of the information associated with the originatingparty102A. It should be noted that any other suitable message can be used, such as “Caller Number not Available” or the like.
In some circumstances, the CLID information may contain numbers that are not recognized by thecall control portion122. With particular reference to the North American telephone numbering scheme (which assigns telephone numbers having 7 or 10 digits), if the number contained in the CLID information is neither 7 nor 10 digits long, thecall control portion122 is operable to generate “Private Caller” message that will be used in lieu of the information associated with the originatingparty102A. It should be noted that any other suitable message can be used, such as “Caller Number not Available” or the like.
In some embodiments of the present invention, thecall control portion122 can determine additional information associated with the originatingparty102A. Specific reference is made to an embodiment whereby as theCLID element402 contains only a telephone number associated with thecommunication device106A. In these embodiments, thecall control portion122 can determine a name associated with the originatingparty102A based on the telephone number contained in theCLID element402. Specifically, thecall control portion122 may access a name database (not depicted), which can comprise a LIDB database, to retrieve the name associated with the specific telephone number associated with thecommunication device106A. The accessing of the name database can be performed by issuing a TCAP query. It should be understood that any other suitable method for determining the name associated with the originatingparty102A can be used. In further embodiments, the retrieved name may be used instead of the network identifier associated with thecommunication device106A.
Atstep306, thecall control portion122 determines a network identifier associated with the set-top box108B (an ID element408) that in turn is associated with thedestination party102B. It will be recalled that thedatabase124 maintains a number of records containing user profiles. For the purposes of this example, it will be assumed thatrecord504 denoting USER_1 is associated with thedestination party102B. Thecall control portion122 accesses thedatabase124 and performs a query based on the received DN element404 (which in this case is assumed to be “111-111-2222”) to determine whether there exists a network identifier for a set-top box corresponding to theparticular DN element404. Based on the query to record504, it is determined that the identifier of the set-top box108B is “7.2.5.65”.
In the above-mentioned PSTN-based scenario discussed with reference toFIG. 2 andFIG. 4A, atstep308 appropriate remedial call treatment is provided. It will be recalled that the replica of the signalling information can be created and transmitted by thenetwork element114B using a SIMRing feature. It will be appreciated by those of skill in the art that the SIMRing function effectively establishes a call to theprocessing entity120. Thecall control portion122 is operable to instruct thenetwork element140 to return a busy signal so as to indicate to thenetwork element114B (which originated the SIMRing function) that the call to thecall control portion122 can not be answered. Alternatively, the remedial call treatment provided instep308 may comprise thecall control portion122 not answering the call and thenetwork element140 returning a no answer (i.e. constant ringing signal) to thenetwork element114B. Effectively, step308 ensures that thecall control portion122 receives the replica of signalling information without actually answering the call from thenetwork element114B. It should be noted that any other remedial call treatment that would prevent the incoming call from being connected to any party other than thedestination party102B can be used.
It should be understood, that in alternative embodiments (for instance in the above-mentioned VoIP-based scenario described with reference toFIG. 2 andFIG. 4B),step308 can be omitted. In one specific non-limiting example, if thecommunication network112 comprises the data network adapted for handling Voice-over-IP (VoIP) calls and in the case that the replica of signalling information received atstep302 comprises a replica of Session Initiation Protocol (SIP) invite message, step308 need not be performed.
Atstep310, thecall control portion122 transmits theCLID element402 and the ID element408 to the set-top box108B. This step is logically depicted as signal flow S5 onFIG. 4C. It will be recalled that the set-top box identifier (i.e. the ID element408) was determined instep306. In some embodiments of the present invention, theCLID element402 and the ID element408 can be transmitted to the set-top box108B via thevideo control portion126.
In a specific non-limiting example, thecall control portion122 generates a Simple Object Access Protocol (SOAP) message containing theCLID element402 and the ID element408 (i.e. the identifier of the set-top box108B determined in step306) and transmits the SOAP message to thevideo control portion126. It should be noted that any other suitable format for transmitting the CLID element102 and the ID element408 can be used, such as an HTML message, an XML message or the like.
Thevideo control portion126 is operable to receive the SOAP message from thecall control portion122 from which it retrieves theCLID element402 and the ID element408. Responsive to retrieval of theCLID element402 and the identifier of the set-top box108B (i.e. the ID element408), thevideo control portion126 generates a CLID announcement trigger (such as an XML trigger, a proprietary protocol trigger, an API based trigger or any other suitable trigger) and transmits the CLID announcement trigger to the appropriate set-top box108B. It will be recalled that the identifier of the set-top box (i.e. ID element408) was determined in step determined instep306. Therefore, thevideo control portion126 can address the CLID announcement trigger using the ID element408 for distribution via thevideo distribution network142.
The transmission of the CLID announcement trigger to the appropriate set-top box108B can be implemented in any suitable manner, which depends on the type of thevideo distribution network142 used. In one specific non-limiting example of thevideo distribution network142 comprising a direct-to-home satellite distribution network, the CLID announcement trigger can be encapsulated into a token and the token can be broadcast to all the available set-top boxes (such as set-top box108B). The token can further comprise an identifier of the set-top box108B to which the CLID announcement trigger pertains (i.e. the ID element determined in step306). The set-top box108B that has the same identifier as the one encapsulated into the broadcast token is operable to recognize its identifier and to retrieve the CLID announcement trigger encapsulated into the distributed token. In another specific non-limiting example where thevideo distribution network142 comprises an IPTV based television system, the CLID announcement trigger can be encapsulated into an IP packet having an address that contains the ID element determined instep306. The IP packet can be transmitted to the set-top box108B via thevideo distribution network142. Specifically, the CLID announcement trigger can be packetized into a TCP or UDP packet and transmitted to the set-top box108B using the network identifier of the set-top box108B (such as an IP address). Yet in another specific non-limiting example of thedistribution network142 comprising a cable network, thevideo control portion126 can transmit the CLID announcement trigger to all the available set-top boxes and to authorize the set-top box106B to retrieve the CLID announcement trigger.
Irrespective of how the CLID announcement trigger is transmitted to the set-top box108B, upon receipt of the CLID announcement trigger, the set-top box108B is operable to convey a CLID announcement using thedisplay110B. It should be noted that it is contemplated that the CLID announcement may comprise several components, which depends on the content of theCLID element402. In some embodiments of the present invention, the CLID announcement can comprise a telephone number associated with the origin of the incoming call. In other embodiments of the present invention, the CLID announcement may comprise a telephone number and the associated registered name of the originatingparty102A. In these embodiments, thedisplay110B can present an image representing either the telephone number of thecommunication device106A, the name of the originatingparty102A or combination thereof on thedisplay110B using a picture-in-picture mode or image overlay mode.
In further embodiments, it is contemplated that a category associated with the type of the originating party may be further displayed (such as family, friends, business and the like). Yet in further embodiments, it is contemplated that an image associated with the originatingparty102A (such as a still or animated image or the like) can be displayed. The category information and/or the image associated with the originatingparty102A can be maintained in an additional information file that can be stored either in thedatabase124 or in the set-top box108B. This additional information file can be pre-provisioned by thedestination party102B for each potential originatingparty102A. The additional information file can be retrieved from thedatabase124 or the set-top box108B based on the CLID information associated with the originatingparty102A.
It is further contemplated that the CLID announcement trigger generated atstep310 may comprise information associated with identity of thedestination party102B (for instance, a telephone number associated with thecommunication device106B or the name/alias associated with a particular member of thedestination party premises104B), which can be included in the CLID information announcement presented to thedestination party102B. This is particularly useful, when thedestination party102B has more than one telephony link terminating at thedestination party premises104B and, as such, may have access to more than onecommunication device106B. To that extent, the CLID information announcement presented to thedestination party102B can comprise a telephone number associated with aparticular communication device106B for which the incoming call is destined.
Alternatively, the CLID information announcement presented to thedestination party102B may comprise a visual indicator that is associated with a particular member of thedestination party premises104B. It should be recalled that thedatabase124 may comprise an indication of the identity of a particular member of thedestination party premises104B (such as the name or alias associated with the particular member of thedestination party premises104B) with whom a particular telephony link is associated. As such, thecall control portion122 can augment the CLID announcement trigger with such an indication. In an alternative embodiment, the indication of the identity of a particular member of thedestination party premises104B can be stored at the set-top box108B and the set-top box108B can retrieve such an indication based on the network identifier associated with thecommunication device106B. When the set-top box108B retrieves such an indication from the CLID announcement trigger or retrieves such an indication pursuant to a local look-up, it is operable to present the indication to thedestination party102B with the CLID information announcement. In one specific non limiting example, the set-top box108B can cause displaying of the name or alias associated with thedestination party102B (for instance, “Andrea” or “mom”). In another specific non-limiting example, another visual indicator can be provided (such as a color-coded indicator or the like). These additional features allow thedestination party102B to more effectively identify thecommunication device106B to which the incoming call is placed and/or the specific member of thedestination party premises104B for whom the incoming call is destined.
In addition, it should be appreciated that certain steps of the method ofFIG. 3 are performed independently and irrespective of outcome of certain steps of the method ofFIG. 2. To illustrate, consider the following example. Thedestination party102B may be enjoying a particular program using thedisplay110B. At the same time someone at thedestination party premises104B is using thecommunication device106B. At the same time, the originatingparty102A attempts to make an incoming call destined for thedestination party102B. According to various steps of the method ofFIG. 2, thenetwork element114B creates a replica of the signalling information and forwards same to thecall control portion122. Thenetwork element114B further attempts to complete the call to thecommunication device106B. The attempt is likely to result in a failure (such as a busy signal or voice mail), and consequently the originatingparty102A will not be able to reach thedestination party102B. However, thecall control portion122 performssteps302,304,306,308 and310 of the method ofFIG. 3 and transmits the CLID announcement trigger to the set-top box180B via thevideo distribution network142. Pursuant to receipt of such a CLID announcement trigger, the set-top box108B will provide a CLID information announcement to thedestination party102B using thedisplay110B. As such, thedestination party102B becomes aware of the information associated with the origin of the incoming call even if the telephony link (i.e. link via the communication network112) is busy or unavailable for another reason.
Those skilled in the art will appreciate that in some embodiments, certain functionality of theprocessing entity120 and/or the set-top box108B and/or thenetwork element114B may be implemented as pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components. In other embodiments, thecall control portion122 and/or the set-top box108B and/or thenetwork element114B may comprise an arithmetic and logic unit (ALU) having access to a code memory (not shown) which stores program instructions for the operation of the ALU in order to execute the various processes described above. The program instructions could be stored on a medium which is fixed, tangible and readable directly by theprocessing entity120 and/or the set-top box108B and/or thenetwork element114B (e.g., removable diskette, CD-ROM, ROM, or fixed disk), or the program instructions could be stored remotely but transmittable to theprocessing entity120 and/or the set-top box108B and/or thenetwork element114B via a modem or other interface device (e.g., a communications adapter) connected to a network over a transmission medium. The transmission medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented using wireless techniques (e.g., microwave, infrared or other transmission schemes).
Persons skilled in the art will appreciate that there are yet further alternative implementations and modifications possible for implementing the present invention, and that the above implementations and examples are only illustrations of one or more embodiments of the present invention. The scope of the invention, therefore, is only to be limited by the claims appended hereto.