The present disclosure relates generally to providing call source information.
Television viewing is part of daily life for many people. Individuals often prefer not to be interrupted while watching television, but they may desire to monitor telephone calls, for example, in case of an emergency or to avoid reviewing a large number of new messages at a future time. Technical compatibilities pose challenges when integrating conventional and wireless telephone networks, such as Public Switched Telephone Networks (PSTN) or cellular telephone networks, with television networks.
The present disclosure is directed to a system to provide call source information. The system includes a mediation messaging server of an Internet Protocol Television (IPTV) system, where the mediation messaging server including a processor and a memory device accessible to the processor. The memory device includes an Application Programming Interface (API) module executable by the processor to receive call source information and call destination information related to a call received at a switch of a communications network. Further, the memory device includes a Lightweight Directory Access Protocol (LDAP) module executable by the processor to query a LDAP database of the IPTV system to determine account information of an IPTV user based on the call destination information. In addition, the API module is executable by the processor to send the account information and the call source information to a notification server of the IPTV system and the notification server sends the call source information to a set-top box device of the IPTV user via an access network of the IPTV system.
In another embodiment, the disclosure is directed to a set-top box device that includes a processor and a memory device accessible to the processor. The memory device includes an Application Programming Interface (API) module executable by the processor to receive call source information from a notification server via an access network of an Internet Protocol Television (IPTV) system, where the call source information is related to a call received at a switch of a communications network. Further, the memory device includes a graphical user interface (GUI) module executable by the processor to send a graphical user interface (GUI) containing the call source information to a display device coupled to the set-top box device.
In another embodiment, the disclosure is directed to a method of providing call source information that includes receiving call source information and call destination information at a mediation messaging server of an Internet Protocol Television (IPTV) system, where the call source information and the call destination information are related to a call received via at least one of a switch of a Public Switched Telephone Network (PSTN) and a wireless telephone network. The method also includes determining account information based on the call destination information and sending the account information and the call source information to a notification server of the IPTV system, where the notification server sends the call source information to a set-top box device of an IPTV user via an access network of the IPTV system.
In another embodiment, the disclosure is directed to a method of providing call source information that includes receiving call source information and account information at a notification server of an Internet Protocol Television (IPTV) system, where the call source information is related to a call received via at least one of a Public Switched Telephone Network (PSTN) or a wireless telephone network. The method also includes determining a set-top box device associated with the account information and sending the call source information to the set-top box device via an access network of the IPTV system.
In another embodiment, the disclosure is directed to a method of receiving call source information that includes receiving call source information at a set-top box device from a notification server via an access network of an Internet Protocol Television (IPTV) system, where the call source information is related to a call routed via at least one of a Public Switched Telephone Network (PSTN) and a wireless telephone network. The method also includes sending a graphical user interface (GUI) containing the call source information to a display device coupled to the set-top box device.
In another embodiment, the disclosure is directed to a computer program embedded in a computer-readable medium. The computer program includes instructions to receive call source information and call destination information related to a call received at a telephony switch. The computer program also includes instructions to query a LDAP database of an Internet Protocol Television (IPTV) system to determine account information of an IPTV user based on the call destination information. The computer program also includes instructions to send the account information and the call source information to a notification server of the IPTV system, where the notification server sends the call source information to a set-top box device of the IPTV user via an access network of the IPTV system.
In another embodiment, the disclosure is directed to a computer program embedded in a computer-readable medium. The computer program includes instructions to receive call source information from a notification server via an access network of an Internet Protocol Television (IPTV) system, where the call source information is related to a call received at a switch of a public telephone network. The method also includes instructions to send a graphical user interface (GUI) containing the call source information to a display device coupled to the set-top box device.
Referring to FIG. I, a particular embodiment of a system to provide call source information is illustrated. The system 100 includes a gateway server 101 of an Internet Protocol Television (IPTV) system. In an illustrative embodiment, the gateway server 101 can be configured to be compliant with Open Service Access (OSA)/Parlay standards. The gateway server 101 communicates with a switch of a Public Switched Telephone Network (PSTN), such as a class 5 switch 102, which can receive PSTN calls 104 and route them to destination devices, such as a time-division multiplexing (TDM) phone 120. Further, the gateway server 101 communicates with a database, such as a line information database (LIDB) 106 that stores information associated with Plain Old Telephone Service (POTS) telephone numbers, wireless telephone numbers, Voice-over Internet Protocol (VOIP) telephone numbers, or any combination thereof.
Additionally, the gateway server 101 can communicate with one or more call notification servers 108 of the IPTV system. In a particular embodiment, the gateway server 101 can communicate with an IPTV mediation messaging server 110 that communicates with a cluster of call notification servers 108. The IPTV mediation messaging server 110 can communicate with a mediation database 112 that stores IPTV user account information associated with telephone numbers. In an illustrative embodiment, the IPTV mediation messaging server 110 can be an IPTV caller ID application server and the mediation database 112 can be a Lightweight Directory Access Protocol (LDAP) of the IPTV system.
As illustrated in
In a particular embodiment, a PSTN call 104 from a source device, such as a caller POTS phone, can be received at the class 5 switch 102. The gateway server 101 can detect that a connection is to be made between the source device and the TDM phone 120, for example, by detecting a termination attempt trigger (TAT) via an Advanced Intelligence Network (AIN) architecture. In an illustrative embodiment, the gateway server 101 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 106 requesting caller ID information or other call source information related to the source device. The gateway server 101 receives the call source information and sends the call source information and call destination information related to the TDM phone 120 to the IPTV mediation messaging server 110. In one embodiment, the gateway server can send the call source and call destination information to the IPTV mediation messaging server 110 via an application programming interface (API), such as a Parlay API.
Upon receiving call source and destination information from the gateway server 101, the IPTV mediation messaging server 110 can query the mediation database 112 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the TDM phone 120. The IPTV mediation messaging server 110 sends the call source information and IPTV user account information to the IPTV notification server 108, for example, via an API.
In a particular embodiment, the IPTV notification server 108 can obtain identifications of the set-top box 116 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server 108 transmits the call source information to the identified set-top box device 116, and the set-top box 116 transmits the call source information to the television monitor 118. In an illustrative embodiment, the IPTV notification server 108 can transmit data related to a graphical user interface (GUI) to the set-top box device 116 via an API, and the set-top box device 116 can draw or display the GUI at the television monitor 118. In another embodiment, the set-top box device 116 can generate the GUI from data related to the call source information. An example of a GUI to display call source information is illustrated in
Referring to
Additionally, the gateway server 201 can communicate with one or more call notification servers 208 of the IPTV system. In a particular embodiment, the gateway server 201 can communicate with a caller identification (caller ID) application server 210 that communicates with a cluster of call notification servers 208. The IPTV mediation messaging server 210 can communicate with a mediation database 212 that stores IPTV user account information associated with telephone numbers. In an illustrative embodiment, the IPTV mediation messaging server 210 can be an IPTV caller ID application server and the mediation database 212 can be a Lightweight Directory Access Protocol (LDAP) database of the IPTV system.
As illustrated in
In a particular embodiment, a PSTN call 204 from a source device, such as a caller POTS phone, can be received at the class 5 switch 202. In an illustrative embodiment, the class 5 switch 202 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 206 requesting caller ID information or other call source information related to the source device. The class 5 switch 202 transmits the call and call source information to the GR 303-based gateway 222 via a media gateway control protocol (MGCP/H.248) signal. The GR 303-based gateway 222 can convert the call to an IP-based message that is transmitted via a fiber loop to the TDM phone 220. In an illustrative, non-limiting embodiment, an orthomode transducer (OMT) at the premises of the TDM phone 220 can convert the IP-based message to a TDM signal.
Further, the GR303-based gateway 222 transmits a session initiation protocol (SIP) signal that includes the call source information and call destination information related to the TDM phone 220 to the gateway server 201. The gateway server 201 sends the call source and destination information to the IPTV mediation messaging server 210, for example, via an application programming interface (API). Upon receiving call source and destination information from the gateway server 201, the IPTV mediation messaging server 210 can query the mediation database 212 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the TDM phone 220. The IPTV mediation messaging server 210 sends the call source information and IPTV user account information to the IPTV notification server 208, for example, via an API.
In a particular embodiment, the IPTV notification server 208 can obtain identifications of the set-top box 216 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server 208 transmits the call source information to the identified set-top box device 216, and the set-top box 216 transmits the call source information to the television monitor 218. In an illustrative embodiment, the IPTV notification server 208 can transmit data related to a graphical user interface (GUI) to the set-top box device 216 via an API, and the set-top box device 216 can draw or display the GUI at the television monitor 218. In another embodiment, the set-top box device 216 can generate the GUI from data related to the call source information.
Referring to
Additionally, the gateway server 301 can communicate with one or more call notification servers 308 of the IPTV system. In a particular embodiment, the gateway server 301 can communicate with a caller identification (caller ID) application server 310 that communicates with a cluster of call notification servers 308. The IPTV mediation messaging server 310 can communicate with a mediation database 312 that stores IPTV user account information associated with telephone numbers. In an illustrative embodiment, the IPTV mediation messaging server 310 can be an IPTV caller ID application server and the mediation database 312 can be a Lightweight Directory Access Protocol (LDAP) database of the IPTV system.
As illustrated in
In a particular embodiment, a PSTN call 304 from a source device, such as a caller POTS phone, can be received at the class 5 switch 302. The service control point 322 can detect that a connection is to be made between the source device and the TDM phone 320, for example, by detecting a termination attempt trigger (TAT) via an Advanced Intelligence Network (AIN) architecture. In an illustrative embodiment, the service control point 322 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 306 requesting caller ID information or other call source information related to the source device.
The service control point 322 transmits a session initiation protocol (SIP) signal that includes the call source information and call destination information related to the TDM phone 320 to the gateway server 301. The gateway server 301 sends the call source and destination information to the IPTV mediation messaging server 310, for example, via an application programming interface (API). Upon receiving call source and destination information from the gateway server 301, the IPTV mediation messaging server 310 can query the mediation database 312 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the TDM phone 320. The IPTV mediation messaging server 310 sends the call source information and IPTV user account information to the IPTV notification server 308, for example, via an API.
In a particular embodiment, the IPTV notification server 308 can obtain identifications of the set-top box 316 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server 308 transmits the call source information to the identified set-top box device 316, and the set-top box 316 transmits the call source information to the television monitor 318. In an illustrative embodiment, the IPTV notification server 308 can transmit data related to a graphical user interface (GUI) to the set-top box device 316 via an API, and the set-top box device 316 can draw or display the GUI at the television monitor 318. In another embodiment, the set-top box device 316 can generate the GUI from data related to the call source information.
Referring to
Additionally, the gateway server 401 can communicate with one or more call notification servers 408 of the IPTV system. In a particular embodiment, the gateway server 401 can communicate with a caller identification (caller ID) application server 410 that communicates with a cluster of call notification servers 408. The caller ID application server 410 can communicate with a mediation database 412 database that stores IPTV user account information associated with telephone numbers. In an illustrative embodiment, the mediation database 412 can be a Lightweight Directory Access Protocol (LDAP) database of the IPTV system.
As illustrated in
In a particular embodiment, a wireless call 404 from a source device, such as a caller cellular phone, can be received at the GSM switch 402. The gateway server 401 can detect that a connection is to be made between the source device and the GSM phone 420, for example, by detecting a customized applications for mobile enhanced logic (CAMEL) trigger via a CAMEL network architecture. In an illustrative embodiment, the gateway server 401 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 406 requesting caller ID information or other call source information related to the source device. The gateway server 401 receives the call source information and sends the call source information and call destination information related to the GSM phone 420 to the caller ID application server 410. In one embodiment, the gateway server can send the call source and destination information to the caller ID application server 410 via an application programming interface (API), such as a Parlay API.
Upon receiving call source and destination information from the gateway server 401, the caller ID application server 410 can query the LDAP database 412 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the GSM phone 420. The caller ID application server 410 sends the call source information and IPTV user account information to the IPTV notification server 408, for example, via an API. In a particular embodiment, the IPTV notification server 408 can obtain identifications of the set-top box 416 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server 408 transmits the call source information to the identified set-top box device 416, and the set-top box 416 transmits the call source information to the television monitor 418. In an illustrative embodiment, the IPTV notification server 408 can transmit data related to a graphical user interface (GUI) to the set-top box device 416 via an API, and the set-top box device 416 can draw or display the GUI at the television monitor 418. In another embodiment, the set-top box device 416 can generate the GUI from data related to the call source information.
Referring to
Additionally, the gateway server 501 can communicate with one or more call notification servers 508 of the IPTV system. In a particular embodiment, the gateway server 501 can communicate with a caller identification (caller ID) application server 510 that communicates with a cluster of call notification servers 508. The caller ID application server 510 can communicate with a directory, database, or any combination thereof, that stores IPTV user account information associated with telephone numbers. In an illustrative embodiment, the caller ID application server 510 can communicate with a mediation database 512, such as a Lightweight Directory Access Protocol (LDAP) database of the IPTV system.
As illustrated in
In a particular embodiment, a wireless call 504 from a source device, such as a caller cellular phone, can be received at the GSM switch 502. The service control point 522 can detect that a connection is to be made between the source device and the GSM phone 520, for example, by detecting a customized applications for mobile enhanced logic (CAMEL) trigger via a CAMEL network architecture. In an illustrative embodiment, the service control point 522 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 506 requesting caller ID information or other call source information related to the source device.
The service control point 522 transmits a session initiation protocol (SIP) signal that includes the call source information and call destination information related to the GSM phone 520 to the gateway server 501. The gateway server 501 sends the call source and destination information to the caller ID application server 510, for example, via an application programming interface (API). Upon receiving call source and destination information from the gateway server 501, the caller ID application server 510 can query the mediation database 512 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the GSM phone 520. The caller ID application server 510 sends the call source information and IPTV user account information to the IPTV notification server 508, for example, via an API.
In a particular embodiment, the IPTV notification server 508 can obtain identifications of the set-top box 516 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server 508 transmits the call source information to the identified set-top box device 516, and the set-top box 516 transmits the call source information to the television monitor 518. In an illustrative embodiment, the IPTV notification server 508 can transmit data related to a graphical user interface (GUI) to the set-top box device 516 via an API, and the set-top box device 516 can draw or display the GUI at the television monitor 518. In another embodiment, the set-top box device 516 can generate the GUI from data related to the call source information.
Referring to
As illustrated in
The client-facing tier 602 can communicate with user equipment via an access network 666, such as an Internet Protocol Television (IPTV) access network. In an illustrative embodiment, customer premises equipment (CPE) 614, 622 can be coupled to the access network 666. The client-facing tier 602 can communicate with a first representative set-top box device 616 at a first customer premise via the first CPE 614 and with a second representative set-top box device 624 at a second customer premise via the second CPE 622. The CPE 614, 622 can include routers, local area network devices, modems, such as digital subscriber line (DSL) modems, any other suitable devices for facilitating communication between a set-top box device and the access network 666, or any combination thereof. The client-facing tier 602 can communicate with a large number of set-top boxes, such as the representative set-top boxes 616, 624, over a wide geographic area, such as a regional area, a metropolitan area, a viewing area, a designated market area or any other suitable geographic area, market area, or subscriber or customer group that can be supported by networking the client-facing tier 602 to numerous set-top box devices. In an illustrative embodiment, the client-facing tier 602, or any portion thereof, can be included at a video head-end office.
In a particular embodiment, the client-facing tier 602 can be coupled to the CPE 614, 622 via fiber optic cables. Alternatively, the CPE 614, 622 can be digital subscriber line (DSL) modems that are coupled to one or more network nodes via twisted pairs, and the client-facing tier 602 can be coupled to the network nodes via fiber-optic cables. Each set-top box device 616, 624 can process data received via the access network 666, via an IPTV software platform, such as Microsoft® TV IPTV Edition.
Additionally, the first set-top box device 616 can be coupled to a first external display device, such as a first television monitor 618, and the second set-top box device 624 can be coupled to a second external display device, such as a second television monitor 626. Moreover, the first set-top box device 616 can communicate with a first remote control 620, and the second set-top box device 624 can communicate with a second remote control 628. The set-top box devices 616, 624 can include IPTV set-top box devices; video gaming devices or consoles that are adapted to receive IPTV content; personal computers or other computing devices that are adapted to emulate set-top box device functionalities; any other device adapted to receive IPTV content and transmit data to an IPTV system via an access network; or any combination thereof.
In an exemplary, non-limiting embodiment, each set-top box device 616, 624 can receive data or video from the client-facing tier 602 via the private access network 666 and render or display the data or video at the display device 618, 626 to which it is coupled. In an illustrative embodiment, the set-top box devices 616, 624 can include tuners that receive and decode television programming information for transmission to the display devices 618, 626. Further, the set-top box devices 616, 624 can include a STB processor 670 and a STB memory device 672 that is accessible to the STB processor 670. In one embodiment, a computer program, such as the STB computer program 674, can be embedded within the STB memory device 672.
In an illustrative embodiment, the client-facing tier 602 can include a client-facing tier (CFT) switch 630 that manages communication between the client-facing tier 602 and the access network 666 and between the client-facing tier 602 and the private network 610. As illustrated, the CFT switch 630 is coupled to one or more data servers, such as D-servers 632, that store, format, encode, replicate, or otherwise manipulate or prepare video content for communication from the IPTV system 600 to the set-top box devices 616, 624. The CFT switch 630 can also be coupled to a terminal server 634 that provides terminal devices with a connection point to the private network 610. In a particular embodiment, the CFT switch 630 can also be coupled to a video-on-demand (VOD) server 636 that stores or provides VOD content imported by the IPTV system 600. Further, the CFT switch 630 is coupled to one or more notification servers 686, such as a cluster of notification servers.
As illustrated in
The second APP switch 640 can be coupled to a domain controller 646 that provides Internet access, for example, to users via the public network 612. For example, the domain controller 646 can provide remote Internet access to IPTV account information, e-mail, personalized Internet services, or other online services via the public network 612. In addition, the second APP switch 640 can be coupled to a subscriber and system store 648 that includes account information, such as account information that is associated with users who access the system 600 via the private network 610 or the public network 612. Further, the second APP switch 640 can be coupled to a mediation database, such as the LDAP database 646, that contains IPTV user account information associated with telephone numbers.
In a particular embodiment, the application tier 604 can also include a client gateway 650 that communicates data directly to the client-facing tier 602. In this embodiment, the client gateway 650 can be coupled directly to the CFT switch 630. The client gateway 650 can provide user access to the private network 610 and the tiers coupled thereto. In an illustrative embodiment, the set-top box devices 616, 624 can access the IPTV system 600 via the access network 666, using information received from the client gateway 650. User devices can access the client gateway 650 via the access network 666, and the client gateway 650 can allow such devices to access the private network 610 once the devices are authenticated or verified. Similarly, the client gateway 650 can prevent unauthorized devices, such as hacker computers or stolen set-top box devices from accessing the private network 610, by denying access to these devices beyond the access network 666.
For example, when the first representative set-top box device 616 accesses the system 600 via the access network 666, the client gateway 650 can verify subscriber information by communicating with the subscriber and system store 648 via the private network 610, the first APP switch 638, and the second APP switch 640. Further, the client gateway 650 can verify billing information and status by communicating with the OSS/BSS gateway 644 via the private network 610 and the first APP switch 638. In one embodiment, the OSS/BSS gateway 644 can transmit a query via the first APP switch 638, to the second APP switch 640, and the second APP switch 640 can communicate the query via the public network 612 to the OSS/BSS server 664. After the client gateway 650 confirms subscriber and/or billing information, the client gateway 650 can allow the set-top box device 616 to access IPTV content and VOD content. If the client gateway 650 cannot verify subscriber information for the set-top box device 616, e.g., because it is connected to an unauthorized twisted pair, the client gateway 650 can block transmissions to and from the set-top box device 616 beyond the access network 666.
In a particular embodiment, the second APP switch 640 can be coupled to an Open Service Access (OSA)/Parlay gateway 690 that receives call source information related to calls from caller phones, such as caller POTS phones 698 and caller cell phones 682 to IPTV user phones. In an illustrative embodiment, the OSA/Parlay gateway 690 can receive the call source information from a service control point (SCP) 680 of a signaling system 7 (SS7) network that communicates with switches of one or more telephone networks, such as a class 5 Public Switched Telephone Network (PSTN) switch 676, a global system for mobile communication switch 678 or other wireless network switch, or any combination thereof. The SCP 680 can retrieve call source information, such as caller ID information, from a line information database (LIDB) 684 and transmit the call source information to the OSA/Parlay gateway 690 via a session initiation protocol (SIP) signal.
As indicated in
In an illustrative embodiment, the television or movie content can be transmitted to the D-servers 632, where it can be encoded, formatted, stored, replicated, or otherwise manipulated and prepared for communication to the set-top box devices 616, 624. The CFT switch 630 can receive the television or movie content from the D-servers 632 and communicate the content to the CPE 614, 622 via the access network 666. The set-top box devices 616, 624 can receive the television or movie content via the CPE 614, 622, and can transmit the television or movie content to the television monitors 618, 626. In an illustrative embodiment, video or audio portions of the television or movie content can be streamed to the set-top box devices 616, 624.
Further, the AQT switch can be coupled to a video-on-demand importer server 658 that stores television or movie content received at the acquisition tier 606 and communicates the stored content to the VOD server 636 at the client-facing tier 602 via the private network 610. Additionally, at the acquisition tier 606, the video-on-demand (VOD) importer server 658 can receive content from one or more VOD sources outside the IPTV system 600, such as movie studios and programmers of non-live content. The VOD importer server 658 can transmit the VOD content to the AQT switch 652, and the AQT switch 652, in turn, can communicate the material to the CFT switch 630 via the private network 610. The VOD content can be stored at one or more servers, such as the VOD server 636.
When users issue requests for VOD content via the set-top box devices 616, 624, the requests can be transmitted over the access network 666 to the VOD server 636, via the CFT switch 630. Upon receiving such requests, the VOD server 636 can retrieve the requested VOD content and transmit the content to the set-top box devices 616,124 across the access network 666, via the CFT switch 630. The set-top box devices 616, 624 can transmit the VOD content to the television monitors 618, 626. In an illustrative embodiment, video or audio portions of VOD content can be streamed to the set-top box devices 616, 624.
In an illustrative embodiment, the live acquisition server 654 can transmit the television or movie content to the AQT switch 652, and the AQT switch 652, in turn, can transmit the television or movie content to the OMT switch 660 via the public network 612. In this embodiment, the OMT switch 660 can transmit the television or movie content to the TV2 server 662 for display to users accessing the user interface at the TV2 server 662. For example, a user can access the TV2 server 662 using a personal computer (PC) coupled to the public network 612.
In a particular embodiment, a PSTN call from the caller POTS phone 698 can be received at the class 5 switch 676. The SCP 680 can detect that a connection is to be made between the source device and an IPTV user phone 695, for example, by detecting a termination attempt trigger (TAT) via an Advanced Intelligence Network (AIN) architecture. In an illustrative embodiment, the SCP 680 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 684 requesting caller ID information or other call source information related to the POTS phone 698, caller, or any combination thereof.
The SCP 680 transmits a session initiation protocol (SIP) signal that includes the call source information to the OSA/Parlay gateway 690. The OSA/Parlay gateway 690 sends the call source information to the application server 642, for example, via an application programming interface (API). Upon receiving call source information from the OSA/Parlay gateway 690, the application server 642 can query the LDAP database 646 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the user phone 695. The application server 642 sends the call source information and IPTV user account information to the IPTV notification server(s) 686, for example, via an API.
In a particular embodiment, the IPTV notification server(s) 686 can obtain identifications of the set-top box device, such as the first representative set-top box 616 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server(s) 686 transmits the call source information to the identified set-top box device 616, and the set-top box 616 transmits the call source information to the television monitor 618. In an illustrative embodiment, the IPTV notification server(s) 686 can transmit data related to a graphical user interface (GUI) to the set-top box device 616 via an API, and the set-top box device 616 can draw or display the GUI at the television monitor 618. In another embodiment, the set-top box device 616 can generate the GUI from data related to the call source information.
In another particular embodiment, a wireless call from a caller cellular phone 682 can be received at the GSM switch 678. The SCP 680 can detect that a connection is to be made between the caller cellular phone 682 and a user GSM phone 697, for example, by detecting a customized applications for mobile enhanced logic (CAMEL) trigger via a CAMEL network architecture. In an illustrative embodiment, the service control point 680 issues a query, such as a transaction capabilities application part (TCAP) query, to the LIDB 684 requesting caller ID information or other call source information related to the caller cellular phone 682.
The SCP 680 transmits a session initiation protocol (SIP) signal that includes the call source information to the OSA/Parlay gateway 690. The OSA/Parlay gateway 690 sends the call source information to the application server 642, for example, via an application programming interface (API). Upon receiving call source information from the OSA/Parlay gateway 690, the application server 642 can query the LDAP database 646 to obtain IPTV user account information related to a destination telephone number of the call, such as a telephone number of the GSM phone 697. The application server 642 sends the call source information and IPTV user account information to the IPTV notification server(s) 686, for example, via an API.
In a particular embodiment, the IPTV notification server(s) 686 can obtain identifications of a set-top box device, such as the second representative set-top box 624 associated with the IPTV user account, such as alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof. The IPTV notification server(s) 686 transmits the call source information to the identified set-top box device 624, and the set-top box 624 transmits the call source information to the television monitor 618. In an illustrative embodiment, the IPTV notification server(s) 686 can transmit data related to a graphical user interface (GUI) to the set-top box device 624 via an API, and the set-top box device 624 can draw or display the GUI at the television monitor 618. In another embodiment, the set-top box device 624 can generate the GUI from data related to the call source information.
Referring to
In an illustrative, non-limiting embodiment, the STB processor 704 can communicate with an external access network, such as an Internet Protocol Television (IPTV) access network 726, via the network interface 708. In a particular embodiment, network access customer premises equipment (CPE) 728 can facilitate communication between the network interface 708 and the IPTV access network 726. The network access CPE 728 can include a router, a local area network device, a modem, such as a digital subscriber line (DSL) modem, any other suitable device for facilitating communication between the network interface 708 of the set-top box device 702 and the IPTV access network 726, or any combination thereof.
In a particular embodiment, the memory device 706 can include a content request module 718 that is executable by the STB processor 704 to receive a request for video content from a user via the remote control device 732. For example, the request can be a channel change request or a video-on-demand request. The content request module 718 can be executable by the STB processor 704 to request and receive the video content from a server of an IPTV system via the IPTV access network 726. The memory device 706 can also include a video content control and buffer module 720 that is executable by the STB processor 704 to receive video content requested by a user and to buffer the video content before transmitting it to the display interface 710, in order to prevent underflow.
Further, the memory device 706 can include a STB application programming interface (API) module 722 that is executable by the STB processor 704 to communicate with the remote control device 732, for example, to receive a first API 758 from a notification server 732 via the private IPTV access network 726. The first API 758 can include call source information related to a source of a PSTN, wireless, or VoIP call that is to be connected with an IPTV user phone. In a particular embodiment, the first API 758 can also include data related to a graphical user interface (GUI) to display the call source information at the television monitor 712. In another embodiment, the STB API module 722 can be executable by the STB processor 704 to instruct a GUI module 724 to generate a GUI that includes the call source information received with the first API 758 and to transmit the GUI to the television monitor 712 via the display interface 710.
In a particular embodiment, the notification server 732 can include a NS processor 734. The notification server 732 can include a NS API module 736 that is executable by the NS processor 734 to receive a second API 760 from an application server 740, such as a caller ID application server or other mediation messaging server of an IPTV system. The second API 760 can include the call source information and information related to an IPTV user account associated with a destination telephone number of the call. In an illustrative embodiment, the notification server 732 can include a subscriber search module 736 that is executable by the NS processor 734 to search a subscriber information store of the IPTV system, such as the subscriber/system store 648 illustrated in
In another particular embodiment, the application server 740 can include an AS processor 742. The application server 740 can include an AS API module 744 that is executable by the AS processor 742 to receive a third API 762 from an open service access (OSA)/Parlay gateway 748 of the IPTV system. The third API 762 can include call source information related to the call. In an illustrative embodiment, the application server 740 can include a LDAP module 746 that is executable by the AS processor 742 to query a LDAP database of the IPTV system to request IPTV user account information associated with a destination telephone number of the call. The AS API module 744 is executable by the AS processor 742 to send the second API 760 to the notification server 732.
In another particular embodiment, the OSA/Parlay gateway 748 can include a GW processor 750. In an illustrative embodiment, the OSA/Parlay gateway 748 can include a session initiation protocol (SIP) module 752 that is executable by the GW processor 750 to receive a SIP signal that contains call source information from a SIP-enhanced service control point of a signaling system 7 (SS7) network or from a GR 303-based gateway. In another illustrative embodiment, the OSA/Parlay gateway 748 can include a customized applications for mobile enhanced logic (CAMEL) module 754 that is executable by the GW processor 750 to receive a CAMEL signal that contains call source information from a CAMEL-enhanced service control point of a signaling system 7 (SS7) network or from a global system for mobile communication (GSM) switch. Further, the OSA/Parlay gateway 748 can include a GW API module 756 that is executable by the GW processor 750 to transmit the third API 762 to the application server 740.
The numbering of APIs 758-762 as first, second or third is to promote ease of description and does not refer to any sequence in which the signals are sent.
Referring to
Continuing to block 804, in an illustrative embodiment, the switch can check a status of the called party, such as whether the terminating device is in use, whether the called party has forwarded calls, or other status information related to the called party. Proceeding to decision step 806, the switch determines whether to alert the called party of the terminating call, for example, based on the status information. If the switch determines that the called party is not to be alerted of the terminating call, the method advances to block 812, and the switch routes the terminating call to a terminating user device, such as a user phone, a voice mail system, or a phone to which the user has forwarded calls. On the other hand, if the switch determines that the called party is not to be alerted, the method continues to block 808.
At block 808, the switch sends a message to a service control point (SCP) of a signaling system 7 (SS7) network or to an open service access/Parlay (OSA/Parlay) gateway. The message can include an indication that a call is to be made between a source device and the terminating device. Further, the message can include call source information obtained by the switch from the LIDB. In a particular embodiment, a class 5 switch can send an Advanced Intelligence Network (AIN) message to a service control point (SCP), which can forward the information via a session initiation protocol (SIP) signal to a gateway server of an Internet Protocol Television (IPTV) system, such as an open service access/Parlay (OSA/Parlay) gateway server. In another particular embodiment, the switch can send the AIN message to the OSA/Parlay gateway. In another particular embodiment, a GSM switch can send a customized applications for mobile enhanced logic (CAMEL) message to the SCP or to the OSA/Parlay gateway.
Continuing to block 810, the switch receives a reply to the AIN message from the SCP or gateway server. In one embodiment, the reply can include instructions to route the call to the terminating device or other system or device designated by the called party. At block 812, the switch routes the call to the terminating device or other destination. The method terminates at 814.
Referring to
Proceeding to decision step 906, the switch determines whether to alert the called party of the terminating call, for example, based on the status information. If the switch determines that the called party is not to be alerted of the terminating call, the method advances to block 912, and the switch routes the terminating call to a terminating user device, such as a user phone, a voice mail system, or a phone to which the user has forwarded calls. On the other hand, if the switch determines that the called party is not to be alerted, the method continues to block 908.
At block 908, the switch routes the call to a GR303-based gateway. Continuing to block 910, the GR303-based gateway can send a message to a gateway server of an Internet Protocol Television (IPTV) system, such as an open service access/Parlay (OSA/Parlay) gateway server. In an illustrative embodiment, the message can be sent via a session initiation protocol (SIP) signal and can include an indication that a call is to be made between a source device and the terminating device. Further, the message can include call source information obtained by the switch from the LIDB. At block 912, the GR303-based gateway routes the call to the terminating device or other destination. The method terminates at 914.
Referring to
Moving to block 1004, in a particular embodiment, the SCP issues a transaction capabilities application part (TCAP) query to a line information database (LIDB) requesting call source information related to a caller phone, caller, or any combination thereof. Proceeding to block 1006, the SCP receives the call source information from the LIDB. Continuing to block 1008, the SCP transmits a session initiation protocol (SIP) signal that includes the call source information to a gateway server of an Internet Protocol Television (IPTV) system, such as an open service access (OSA)/Parlay gateway server. The SIP signal can include an INVITE message, an INFO message, a NOTIFY message, or any combination thereof. In an illustrative embodiment, the gateway server can send the call source information to a set-top box device associated with the user via a notification server of the IPTV system. The method terminates at 1010.
Referring to
Proceeding to block 1104, in a particular embodiment, the gateway server can issue a transaction capabilities application part (TCAP) query to a line information database (LIDB) requesting call source information related to a caller phone, caller, or any combination thereof. Proceeding to block 1106, the gateway server receives the call source information from the LIDB. Continuing to block 1108, the gateway server transmits an application programming interface (API) signal that includes the call source information and call destination information to a mediation messaging server of the IPTV system, such as a caller identification (caller ID) application server. In an illustrative embodiment, the API signal can be a Parlay API signal running on Common Object Request Broker Architecture (CORBA) middleware. In a particular embodiment, the mediation messaging server can determine an IPTV user account associated with the call destination information and can send the call source information and user account information to a notification server of the IPTV system. The notification server can send the call source information to a set-top box device associated with the IPTV user account. The method terminates at 1110.
Referring to
Moving to block 1202, in an illustrative embodiment, the mediation messaging server can request IPTV user account information associated with a destination telephone number of the call to a mediation database. In an illustrative embodiment, the mediation messaging server can issue a lightweight directory access protocol (LDAP) query to a LDAP directory or database. In an illustrative embodiment, the destination telephone number can be associated with a Voice-over Internet Protocol (VOIP) phone, a wireless phone, such as a mobile or cellular phone, or a plain old telephone service (POTS) phone. Continuing to block 1204, the application server receives the IPTV user account information associated with the destination telephone number.
Proceeding to block 1206, the mediation messaging server sends a notification request to a notification server of the IPTV system. The request can include the call source information and IPTV user account information. In an illustrative embodiment, the notification server can identify one or more set-top box devices communicating with the IPTV system based on the IPTV user account information and can transmit the call source information to the set-top box device(s). The method terminates at 1208.
Referring to
Moving to block 1302, in a particular embodiment, the notification server can place the notification request issue into a queue. Continuing to decision step 1304, the notification server can determine whether any notifications are pending in the queue. If no notifications are pending in the queue, the method proceeds to block 1306. At block 1306, in an illustrative embodiment, the notification server waits for a loop timer to fire before determining again whether any notifications are pending in the queue.
Returning to decision step 1304, if one or more notification requests are pending in the queue, the method advances to block 1308, and the notification server can remove a first notification request from the queue, such as a message at a highest-priority or first-received queue position. Moving to decision step 1310, in a particular embodiment, the notification server can determine whether the notification request is associated with a valid account. If the notification request is not associated with a valid account, the method proceeds to block 1312, and the notification request is dropped. Conversely, if the notification is associated with a valid account, the method moves to decision step 1314, and the notification server can determine whether a set-top box device associated with the received IPTV user account information is activated. In one embodiment, the notification server can issue a query to a subscriber information store of the IPTV system requesting identifications of one or more set-top box devices associated with IPTV user account information received from the mediation messaging server. In an illustrative embodiment, the set-top box identifiers can include alphanumeric identifiers, IP addresses, identifications of twisted pairs coupled to the set-top box, or any combination thereof.
If the set-top box device is not activated, the method returns to block 1312, and the notification request is dropped. On the other hand, if the set-top box is activated, the method advances to block 1316, and the notification server sends a call notification to the set-top box device. In an illustrative embodiment, the notification server can generate a call notification based on the call source information. In an illustrative embodiment, the notification can include a graphical user interface (GUI) that overlays video content displayed on a display device coupled to the set-top box device(s), such as the call notification illustrated in
In a particular embodiment, the steps of the methods described herein are executed in the order shown by the figures. In alternative embodiments, the steps may be executed in alternative sequences.
Referring to
In conjunction with the configuration of structure described herein, the system and method disclosed provide source information related to a call at a display device coupled to a set-top box device associated with a customer, subscriber, or other user of an Internet Protocol Television (IPTV) system. In a particular embodiment, a call is received at a switch if a telephone network, such as a Public Switched Telephone Network (PSTN) or wireless network. Call source and destination information is received at a gateway server of the IPTV system, such as an Open Service Access (OSA)/Parlay gateway. In one embodiment, the call source information can be received from the switch or from a service control point of a signaling system 7 (SS7) network. In another embodiment, the gateway server can retrieve the call source information from a line information database.
In an illustrative embodiment, the gateway server sends the call source and destination information to an application server of the IPTV system, for example, via an API. The application server can determine IPTV user account information associated with the destination telephone number, for example, by querying a Lightweight Directory Access Protocol (LDAP) directory or database. The application server can send the call source information and IPTV user account information to a notification server that determines one or more set-top boxes associated with the IPTV user account information and sends the call source information to the set-top box device(s). In one embodiment, the notification server can generate a graphical user interface (GUI) or other call notification containing the call source information. In another embodiment, the notification server can send the call source information to the set-top box device(s), and the set-top box device(s) can generate a graphical user interface (GUI) or other call notification containing the call source information.
Referring to
In a networked deployment, the computer system may operate in the capacity of an IPTV server or set-top box device. The computer system 1500 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 1500 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 1500 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually orjointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
As illustrated in
In a particular embodiment, as depicted in
In an alternative embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
The present disclosure contemplates a computer-readable medium that includes instructions 1524 or receives and executes instructions 1524 responsive to a propagated signal, so that a device connected to a network 1526 can communicate voice, video or data over the network 1526. Further, the instructions 1524 may be transmitted or received over the network 1526 via the network interface device 1520.
While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that is equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
In accordance with various embodiments, the methods described herein may be implemented as one or more software programs running on a computer processor. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
It should also be noted that software that implements the disclosed methods may optionally be stored on a tangible storage medium, such as: a magnetic medium, such as a disk or tape; a magneto-optical or optical medium, such as a disk; or a solid state medium, such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories. The software may also utilize a signal containing computer instructions. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include a tangible storage medium or distribution medium as listed herein, and other equivalents and successor media, in which the software implementations herein may be stored.
Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the invention is not limited to such standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.