Prioritized Call Sessions
A local network call handling device is configured to establish multiple concurrent call sessions between local network end devices and an external network. When a prioritized end device attempts to establish a call session, the call handling device may initially determine if a first call session identifier is available. If so, the call session can be established using that first identifier. If the first identifier is in use for a call session of another end device, the call handling device may either use a different call session identifier for the prioritized end device session or may drop a pre-existing call session to free an identifier for use in connection with the prioritized end device.
Latest COMCAST CABLE COMMUNICATIONS, LLC Patents:
It is under some circumstances desirable to give a specific device prioritized use of an outgoing communication channel. One example is an alarm system in a residence or business. Alarm systems are often configured to generate an outgoing telephone call to an alarm monitoring company or other destination if a break-in, fire or other event triggers the alarm. Typically, such alarms and other devices in a premises are connected to a conventional analog telephone line using a RJ31X connector or through some other type of hardware-based line seizure device. If triggered, the alarm system can seize that telephone line and drop any other call that might currently be taking place. Although this arrangement has worked well, it is at best an incomplete solution in other communication environments.
SUMMARYThis Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the invention.
In at least some embodiments, a call handling device in a subscriber premises has multiple local network interfaces for communication with an alarm or other prioritized end device and with other end devices such as cordless handsets. The call handling device further includes an interface to an external network and is configured to establish multiple concurrent call sessions between the end devices and the external network. The call sessions could include voice calls, and may be established using multiple telephone numbers or other call session identifiers assigned to the call handling device or to a subscriber account with which the call handling device is associated. When the prioritized end device requests that a call session be established, the call handling device may initially determine if a first of the call session identifiers is available. If so, the requested call session can be established using that first identifier. If the first identifier is in use for a call session of another end device, the call handling device may then determine if any of the other call session identifiers is available. If so, one of those other identifiers can be used to establish the call session for the prioritized end device. If all of the other identifiers are in use for call sessions of other end devices, one of those call sessions can be dropped and the identifier previously used for the dropped session can be used to establish the requested call session for the prioritized end device.
Some embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Call handling device 103 communicates with alarm system 104 over a first analog interface 106A and with an analog telephone 107 over a second analog interface 106B. In particular, each of interfaces 106A and 106B permits conventional analog telephony devices to communicate via call handling device 103. In the embodiment of
Handset end devices 105-1 through 105-n communicate with call handling device 103 over DECT (Digital Enhanced Cordless Telephone) interface 109. Interface 109 includes a wireless transceiver that converts radio signals received from handsets 105-1 through 105-n into pulse-code modulated (PCM) signals and provides those signals to the processor of call handling device 103. The transceiver similarly converts PCM signals received from that processor into radio communications to handsets 105-1 through 105-n.
Call handling device 103 also communicates with an external network 110 over a packet data interface 111. In some embodiments, packet data interface 111 includes a coaxial cable connection over which data is carried according to one or more specifications of the Data Over Cable System Interface Specifications (DOCSIS). Call handling device 103 establishes call sessions between end devices and external network 110. For example, a user of handset end device 105-1 may wish to establish a voice communication call session with a party at a remote device located in (or reachable through) external network 110. In response to user input, end device 105-1 transmits a signal to call handling device 103 indicating a request to establish the call session. Call handling device 103 then communicates with one or more elements in external network 110 that set up the call session with the called party. In some embodiments, the elements in external network 110 with which call handling device 103 communicates to establish call sessions include one or more Cable Modem Termination Systems (CMTS) and/or one or more Call Management Servers (CMS). In still other embodiments, the external network elements with which call handling device 103 communicates to establish call sessions may include one or more IP Multimedia Subsystem (IMS) elements. In a similar manner, a party using a device in external network 110 (or communicating through external network 110) may attempt to establish a call session with a user at premises 102. Upon receiving communications over packet data interface 111 indicating the externally-initiated attempt to establish a call, call handling device 103 completes the call session by establishing communication with one or more end devices.
In many cases, a call session may be a voice call session that will appear to the user as a conventional telephone call. For example, external network 110 may be the network of a Multiple Services Operator (MSO) providing cable television (CATV) services, high-speed data services and/or Voice over Internet Protocol (VoIP) or other type of packet-based telephony services. Other types of call sessions may also be established through call handling device 103, however. For example, some call sessions may involve transfer of data used to generate text, graphics or other visually-perceptible material on an end device. Some call sessions may be primarily one-way communication sessions (e.g., streaming audio or video).
When establishing a call session, call handling device 103 associates the session with a call session identifier. A call session identifier can be a telephone number (TN) and/or may include other data. In networks employing Network-based Call Signaling (NCS) call setup, an identifier may include a NCS ID that is mapped to a particular telephone number. In such a circumstance, the call session might appear to the user as though it were being carried over a telephone “line” corresponding to that TN. However, the call session would actually comprise a collection of data packets that are identified by (or otherwise correspond to) the telephone number and/or other call session identifier. Other simultaneously occurring call sessions would then comprise other groups of data packets that correspond to different TNs (and/or other type of session identifiers).
In the example of
When a call session is established, one of the TNs assigned to the premises 102 account (or another call session identifier corresponding to one of the TNs) is used to identify data packets that are part of that call session. While that call session is ongoing, and in at least some embodiments (e.g., embodiments using NCS signaling), the same TN is not used in connection with other call sessions. If all of the call session identifiers are associated with ongoing call sessions when a user or device seeks to establish another call session, no identifier will be available. Until one of the session identifiers is freed (e.g., by ending one of the ongoing call sessions), call handling device 103 will not establish a new call session.
In theory, the number of concurrent call sessions conducted through a call handling device is only limited by the information carrying capacity of the connection between a call handling device and an external network. As a practical matter, however, there are often other constraints on the number of concurrent sessions. For example, increasing the number of concurrent call sessions that can be accommodated increases the complexity of a call handling device. Increased complexity usually increases device cost. Accordingly, economic concerns may prevent building of call handling devices able to accommodate more than a few concurrent sessions. Regulatory concerns could also limit the number of concurrent sessions permitted through a particular call handling device. In some embodiments, the number of call session identifiers assigned to an account may thus be different from the maximum number of concurrent call sessions. As but one example, the operator of network 110 may assign five call session identifiers to the premises 102 account (i.e., N=5), but call handling device 103 may only be able to accommodate four simultaneous call sessions (e.g., up to three call sessions using interface 109 and a call session using one of interfaces 106A and 106B).
Processor 201 is configured to prioritize any communications through first analog interface 106A. In this manner, a prioritized end device can be connected to interface 106A and be assured of the ability to establish a call session. Alarm system 104 is the prioritized end device in the present example, but this need not be the case. In at least some embodiments, processor 201 associates both first analog interface 106A and second analog interface 106B with a first NCS ID (or other call session identifier). Any of handset devices 105-1 through 105-n can initiate call sessions that use the first NCS ID, however. Those handsets may also initiate call sessions that use any of the other NCS IDs available to call handling device 103. Devices communicating through interface 106B (telephone 107) can initiate call sessions that use the first NCS ID, but cannot initiate call sessions using other NCS IDs. When alarm 104 is triggered, however, any pre-existing call session over interface 106B will be dropped so that alarm system 104 can use the first NCS ID. If there is no pre-existing call session over interface 106B but the first NCS ID is being used in a call session for one of handsets 105-1 through 105-n, processor 201 will attempt to find another NCS ID for use in the prioritized call session that alarm system 104 is initiating. If no other NCS IDs are free, processor 201 will drop the call session that is currently utilizing the first NCS ID and allow alarm 104 to use that NCS ID.
In block 301, processor 201 receives a signal indicating that a device communicating through analog interface 106A is requesting that a call session be established. In response, processor 201 proceeds to block 302 and determines if a first NCS ID (NCS ID1) is currently in use for an ongoing call session. If not, processor 201 proceeds on the “no” branch to block 303 and selects NCS ID1. Processor 201 then proceeds to block 313 and establishes a prioritized call session for the end device on interface 106A using the selected NCS ID. As part of block 313, processor 201 may also disable interface 106B until the prioritized call session is completed. In this manner, a call session initiated by alarm system 104 would not be interrupted if analog telephone 107 were to go off-hook during that prioritized call session.
If in block 302 processor 201 determines that NCS ID1 is currently in use, processor 201 proceeds to block 304 on the “yes” branch and determines if NCS ID1 is in use for a call session involving a device communicating through second analog interface 106B. If so, processor 201 proceeds on the “yes” branch to block 310 (described below). If not, processor 201 proceeds on the “no” branch to block 306 and determines if there is another NCS ID assigned to the premises 102 account that is not being used for an ongoing call session. If so, processor 201 proceeds to block 307 on the “yes” branch and selects one of the unused NCS IDs. Processor 201 can make the selection in block 307 based on NCS ID (e.g., select NCS ID2 if it is free, else select NCS ID3, etc.) or in some other manner. From block 307, processor 201 proceeds to block 313 and establishes a prioritized call session for the end device on interface 106A using the selected NCS ID.
Returning to block 306, processor 201 proceeds on the “no” branch to block 310 if all other NCS IDs are in use for ongoing sessions. In block 310, processor 201 drops the session using NCS ID1. If block 310 is reached from the “no” branch of block 306, a call session is not currently occurring through interface 106B, and identifiers NCS ID1 through NCS IDN are being used for call sessions by handsets communicating through interface 109. In such a case, the user(s) of handset(s) in the pre-existing NCS ID1 call session will hear that session being interrupted, but pre-existing call sessions using other NCS IDs will not be affected. If block 310 is reached from the “yes” branch of block 304, the pre-existing NCS ID1 call session could be occurring (a) solely over interface 106B, or (b) over both of interfaces 106B and 109 (e.g., a user of one of handsets 105-1 through 105-n may have bridged into a call session initially established over telephone 107, or vice versa). In case (a) the user of telephone 107 will hear the pre-existing call session being interrupted, but any call sessions through interface 109 using other NCS IDs will not be affected. In case (b), the user of telephone 107 and users of handset(s) bridged into the pre-existing NCS ID 1 call session will hear that session being interrupted, but any call sessions through interface 109 using other NCS IDs will not be affected.
After dropping the pre-existing NCS ID1 call session in block 310, processor 201 proceeds to block 312 and selects NCS ID1. From block 312, processor 201 proceeds to block 313 and establishes a prioritized call session for the end device on interface 106B using the selected NCS ID.
In other embodiments, a call handling device may be similar to call handling device 103 of
If there is no limitation on the number of concurrent SIP call sessions that the call handling device in a local network could maintain (or if the maximum number of sessions has not been exceeded), and assuming that an alarm system is not sharing an analog interface with another end device that has an ongoing call session, there would be no need to drop a SIP session of one end device to establish a SIP session for the alarm system. If there is a limitation on the number of concurrent SIP sessions, however, the local call handling device could be configured to perform operations such as are shown in
Turning to
In some additional embodiments employing a SIP-based call handling device, each of two analog interfaces such as interfaces 106A and 106B of
Other embodiments include numerous variations on the devices and techniques described above. In some embodiments, for example, the local call handling device is configured to establish a call session for an alarm system using a specific TN (or a TN chosen from a few specified TNs) regardless of whether other TNs may be free. In some cases, for example, an alarm company with which an alarm system attempts to establish a call session may only recognize a specific TN (or a few specific TNs) as being associated with a particular premises. If another TN is used, the alarm company might be delayed in responding.
A call handling device operating as shown in
For example,
In some embodiments, one of the call handling devices described above may only be provisioned with a single telephone line (e.g., a single NCS ID/TN). For example, an operator of a network providing telecommunications services may charge a higher fee for additional call identifiers/TNs, and a subscriber may not wish to pay a fee for additional identifiers. Some such embodiments having two analog interfaces could operate in a manner similar to that described above in connection with
Certain embodiments may include a call handling device such as is described above, but that can be selectively provisioned so as to disable the prioritization of an analog interface. For example, call handling device 903 in some embodiments includes programming by which device can be selectively configured to disable an interface prioritization feature so as to not drop a pre-existing call session in response to an incoming signal on interface 906. Once device 903 is configured in this manner, device connected to interface 906 and attempting to establish a call session would not interrupt a pre-existing call session of a DECT handset using a NCS ID/TN associated with interface 906. If a pre-existing call session is using the session identifier associated with interface 906, a telephone connected to interface 906 would simply bridge into that call session when that telephone goes off-hook. The ability to disable the prioritization feature would permit use of interface 906 for normal telephony devices in premises that do not have an alarm or otherwise do not need the prioritization functionality.
Returning to
The above discussion of
Embodiments of the invention include a machine readable storage medium (e.g., a CD-ROM, CD-RW, DVD, floppy disc, FLASH memory, RAM, ROM, magnetic platters of a hard drive, etc.) storing machine readable instructions that, when executed by one or more processors, cause a call handling device or other device to carry out operations such as are described herein. As used herein (including the claims), a machine-readable storage medium is a physical structure that can be touched by a human. A modulated signal would not by itself constitute a machine-readable storage medium.
Although some embodiments have been described in the context of packet-based telephony services provided over a coaxial cable, the invention is not limited in this regard. Other embodiments include systems in which a gateway or other device located within a premises communicates with an external network over some other type of physical medium (e.g., fiber optic cable, wireless transmission, twisted pair, etc.) using communications protocols other than those mentioned above. As but one example, a gateway or other device located at a subscriber premises in some embodiments could communicate with an external network using a Digital Subscriber Line (DSL) access network. In some such embodiments, the gateway is similar to that described above in connection with
The foregoing description of embodiments has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or to limit embodiments of the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various embodiments. Additional embodiments may not perform all operations, have all features, or possess all advantages described above. The embodiments discussed herein were chosen and described in order to explain the principles and the nature of various embodiments and their practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated. The features of the embodiments described herein may be combined in all possible combinations of methods, apparatuses, modules, systems, and machine-readable storage media. Any and all permutations of features from above-described embodiments are the within the scope of the invention.
Claims
1. A method comprising:
- receiving a signal indicating a request to establish a prioritized call session, wherein the signal is received at a call handling device over a first local interface thereof, the call handling device includes a second local interface and an external network interface and is configured to communicate with a local first end device over the first local interface, with a local second end device over the second local interface and with the external network over the external network interface, and the call handling device is further configured to establish call sessions between the first end device and the external network and between the second end device and the external network;
- dropping a pre-existing call session, wherein the pre-existing call session is using a first call session identifier, and wherein the pre-existing call session is dropped by the call handling device responsive, at least in part, to the received signal; and
- establishing the prioritized call session from the call handling device using the first call session identifier.
2. The method of claim 1, wherein
- the call handling device is configured to communicate with a local third end device over the second local interface, and
- the call handling device is further configured to establish concurrent call sessions between the second and third end devices and the external network, each of said concurrent call sessions using a different one of a plurality of call session identifiers, the plurality of call session identifiers including the first call session identifier, and further comprising
- determining, at the call handling device and in response to a second signal received over the first local interface, whether the first call session identifier is in use;
- upon determining that the first call session identifier is in use, selecting at the call handling device another call session identifier of the plurality; and
- establishing a second prioritized call session from the call handling device using the selected call session identifier.
3. The method of claim 1, wherein
- the first local interface is an analog telephony interface,
- the second local interface is a different type of interface, and
- the external network interface is a packet data interface.
4. The method of claim 1, wherein
- receiving a signal comprises receiving a signal from an alarm system, and
- the second end device comprises a cordless handset.
5. The method of claim 1, wherein
- the call handling device is configured to establish voice call sessions between the second end device and the external network, and
- the first call session identifier comprises a telephone number.
6. The method of claim 1, wherein
- the call handling device is configured to establish voice call sessions between the second end device and the external network, and
- the first call session identifier comprises a Network-based Call Signaling session identifier.
7. The method of claim 1, wherein
- the call handling device is configured to communicate with a local third end device over the second local interface, and
- the call handling device is further configured to establish concurrent call sessions between the second and third end devices and the external network, each of said concurrent call sessions using a different one of a plurality of call session identifiers, the plurality of call session identifiers including the first call session identifier, and further comprising
- determining at the call handling device, in response to the received signal and prior to the dropping, that all call session identifiers of the plurality are in use for pre-existing call sessions.
8. The method of claim 1, wherein
- the first local interface is an analog telephony interface,
- the second local interface is a different type of interface,
- the call handling device includes a third local interface that is also an analog telephony interface and is configured to establish call sessions between a local third end device communicating through the third local interface and the external network, and further comprising
- receiving a second signal over third local interface; and
- in response to receiving the second signal, bridging the third end device into a pre-existing call session using the first call session identifier.
9. A system, comprising:
- first and second local interfaces;
- an interface to an external network; and
- a processor, wherein the processor is configured to receive a signal over the first local interface indicating a request to establish a prioritized call session, communicate with a local first end device over the first local interface, with a local second end device over the second local interface and with the external network over the external network interface, establish call sessions between the first end device and the external network and between the second end device and the external network, drop a pre-existing call session using a first call session identifier, wherein the pre-existing call session is dropped responsive, at least in part, to the received signal, and establish the prioritized call session from the call handling device using the first call session identifier.
10. The system of claim 9, wherein the processor is configured to
- communicate with a local third end device over the second local interface,
- establish concurrent call sessions between the second and third end devices and the external network, each of said concurrent call sessions using a different one of a plurality of call session identifiers, the plurality of call session identifiers including the first call session identifier,
- determine, in response to a second signal received over the first local interface, whether the first call session identifier is in use,
- upon determining that the first call session identifier is in use, select another call session identifier of the plurality, and
- establish a second prioritized call session using the selected call session identifier.
11. The system of claim 9 wherein
- the first local interface is an analog telephony interface,
- the second local interface is a different type of interface, and
- the external network interface is a packet data interface.
12. The system of claim 9, wherein
- receiving a signal comprises receiving a signal from an alarm system, and
- the second end device comprises a cordless handset.
13. The system of claim 9, wherein
- the processor is configured to establish voice call sessions between the second end device and the external network, and
- the first call session identifier comprises a telephone number.
14. The system of claim 9, wherein
- the processor is configured to establish voice call sessions between the second end device and the external network, and
- the first call session identifier comprises a Network-based Call Signaling session identifier.
15. The system of claim 1, wherein the processor is configured to
- communicate with a local third end device over the second local interface,
- establish concurrent call sessions between the second and third end devices and the external network, each of said concurrent call sessions using a different one of a plurality of call session identifiers, the plurality of call session identifiers including the first call session identifier, and
- determine, in response to the received signal and prior to the dropping, that all call session identifiers of the plurality are in use for pre-existing call sessions.
16. The system of claim 1, further comprising a third local interface, and wherein
- the first local interface is an analog telephony interface,
- the second local interface is a different type of interface,
- the third local interface is also an analog telephony interface,
- the processor is configured to establish call sessions between a local third end device communicating through the third local interface and the external network,
- the processor is configured to receive a second signal over third local interface, and
- the processor is configured to, in response to receiving the second signal, to bridge the third end device into a pre-existing call session using the first call session identifier.
17. A system, comprising:
- a call handling device, the call handling device including a first analog telephony local communication interface and a second local communication interface, an external network interface, and at least one processor, wherein the call handling device is configured to communicate with an alarm system over the first local communication interface, communicate with a second end device over the second local communication interface, establish call sessions between the alarm system and the external network and between the second local end device and the external network, receive a signal, over the first local communication interface and during a pre-existing call session over the second interface, indicating a request to establish a prioritized call session, establishing the prioritized call session, so as to permit association of the prioritized call session with a first session identifier, without regard to whether the first session identifier is associated with the pre-existing call session.
18. The system of claim 17, wherein the first session identifier is a telephone number, and wherein the call handling device is configured to
- establish call sessions using Session Initiation Protocol,
- establish call sessions between the second end device and the external network by inserting a Uniform Resource Identifier (URI) of the second local end device in SIP address From fields, and
- establish call sessions between the alarm system and the external network by inserting a URI of the alarm system in SIP address From fields.
19. The system of claim 17, wherein the call handling device is configured to
- determine, in response to the signal received from the alarm system over the first local communication interface, that a maximum number of concurrent call sessions are ongoing,
- drop one of the ongoing call sessions in response to the determining, and
- establishing the prioritized call session in response to the dropping.
20. The system of claim 17, further comprising an alarm system in communication with the call handling device over the first local communication interface.
21. The system of claim 17, wherein the processor is further configured to
- determine that the pre-existing call session is using a first call session identifier,
- drop the pre-existing call session in response to the determining, and
- establishing the prioritized call session in response to the dropping.
Type: Application
Filed: Aug 20, 2009
Publication Date: Feb 24, 2011
Applicant: COMCAST CABLE COMMUNICATIONS, LLC (Philadelphia, PA)
Inventors: Michael Connelly (Philadelphia, PA), Jeffrey Lewis (Wayne, PA), Bhagabati Maharana (Bensalem, PA), Louis Rubin (Ruskin, FL), Richard Vetter (Landsdowne, PA)
Application Number: 12/544,551
International Classification: H04M 7/00 (20060101);