The present invention relates generally to the field of telecommunications and, in particular, to systems and methods for conducting surveillance of transmissions over telecommunications networks.
With the advent of digital telephony equipment, such as Internet protocol (IP) phones, the use of digital signaling in connection with telephonic transmissions has become widespread. As a result, some of the techniques used historically by law enforcement officials to conduct electronic surveillance of telephonic communications have become outdated. Legislation recently enacted by Congress (Public Law 103-414, the Communications Assistance for Law Enforcement Act (CALEA)) sets forth new standards for conducting electronic surveillance of digital telecommunications transmissions.
A number of telecommunications service providers have implemented systems and methods for conducting electronic surveillance of telecommunications transmissions in compliance with the standards of CALEA. Many of these systems and methods suffer from a number of drawbacks, such as unnecessary complexity and expense. Accordingly, a need exists for a simpler, more efficient approach for conducting electronic surveillance in compliance with the CALEA standards.
The above-mentioned drawbacks associated with existing systems and methods for conducting electronic surveillance are addressed by embodiments of the present invention and will be understood by reading and studying the following specification.
In one embodiment, a method for conducting surveillance of transmissions over one or more telecommunications networks comprises receiving a data packet intended for transmission to a first recipient and storing the data packet in a buffer. The method further comprises transmitting the data packet to the first recipient, determining whether the data packet is flagged for surveillance and, if so, transmitting the data packet to a second recipient. The method further comprises releasing the buffer such that another data packet can be stored therein.
In another embodiment, a method for transmitting data packets to a plurality of recipients comprises storing a data packet in a buffer. The data packet comprises a header segment having a first destination address. The method further comprises transmitting the data packet to a recipient at the first destination address, replacing the first destination address in the header segment of the data packet with a second destination address, and transmitting the data packet to a recipient at the second destination address. After the data packet is transmitted to the recipient at the second destination address, the method comprises releasing the buffer such that another data packet can be stored therein.
In another embodiment, a method for creating hash entries in a hash entry table comprises receiving an instruction to create a new hash entry in hash entry table stored in a memory of a cable modem termination system and generating a hash entry comprising information about an end-to-end connection between a subscriber using an IP phone and another party. The method further comprises determining whether transmissions to or from the IP phone are subject to surveillance and, if so, adding surveillance information to the hash entry.
In another embodiment, a cable modem termination system comprises a buffer configured to store data packets and a memory configured to store a hash entry table. The hash entry table includes information regarding whether data packets should be marked for surveillance. The cable modem termination system further comprises a processor coupled to the buffer and to the memory configured to transmit data packets to their intended recipients. The processor comprises a surveillance module configured to determine whether a given data packet is marked for surveillance and, if so, transmit the data packet to a surveilling recipient without creating a copy of the data packet.
In another embodiment, a data packet comprises a data segment containing content to be transmitted from a sender to an intended recipient, a header segment including address and control information, and a surveillance flag indicating whether the data packet is marked for surveillance. If the surveillance flag indicates that the data packet is marked for surveillance, the data segment of the data packet is transmitted to both the intended recipient and another recipient.
In another embodiment, a machine readable medium comprises machine readable instructions for causing a computer to perform a method. The method comprises receiving a data packet intended for transmission to a first recipient, storing the data packet in a buffer, and transmitting the data packet to the first recipient. The method further comprises determining whether the data packet is flagged for surveillance and, if so, transmitting the data packet to a second recipient. The method further comprises releasing the buffer such that another data packet can be stored therein.
Other embodiments are described and claimed.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific illustrative embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense.
As illustrated in
The CPE 160 comprises a phone set 115 coupled to a terminal 130 comprising a multimedia terminal adapter (MTA) and a cable modem (CM). The combination of the phone set 115 and the MTA are often referred to collectively as an Internet protocol (IP) phone. While in the illustrated embodiment, the MTA and CM are shown as a single terminal 130, those of ordinary skill in the art will understand that the MTA and CM may comprise separate terminals. The LEA equipment 110 comprises a control terminal 150 in communication with the CMS 140, and a collection function (CF) module 155 in communication with the DF 145.
In operation, when a subscriber initiates or receives a transmission (e.g., a telephone call) using an IP phone, the MSO equipment 105 establishes a communication link between the subscriber and the other party to the transmission. The parties can then exchange information by sending and receiving transmissions, often in the form of data packets, along the communication link through the MSO equipment 105. The establishment of communication links and the transmission of information along such communication links are standard functions that can be performed by the MSO equipment 105 using a variety of devices and methods that are well-known to those of ordinary skill in the art.
In addition to performing these standard functions, the MSO equipment 105 also advantageously enables law enforcement officials to monitor transmissions made to or from a particular IP phone. For example, once the legal requirements for conducting electronic surveillance on a given IP phone have been satisfied, the MSO equipment 105 can be configured to monitor calls involving that IP phone. Such a configuration can be established by creating an electronic surveillance protocol (ESP) object identifying the IP phone in the CMS 140. In some embodiments, law enforcement personnel can create an ESP object in the CMS 140 by sending an appropriate instruction from the control terminal 150. When a call is made to or from an IP phone designated for surveillance, the data packets transmitted to and from the IP phone are also transmitted to law enforcement officials through the DF 145 and the CF 155.
The CMTS 125 enables data packets 255 to be transmitted to and from a subscriber using an IP phone, as described above. For example, when a telephone call is initiated with a subscriber using an IP phone, the CMTS 125 creates a communication link between the subscriber and the other party to the telephone call, and generates a new hash entry in the hash entry table 260 stored in the memory 210. Each hash entry contains information, such as, for example, network address information, about the end-to-end connection between the subscriber and the other party to the telephone call.
When the subscriber is transmitting information (e.g., speaking during a telephone conversation), the cable receiver 230 of the CMTS 125 receives the data via the HFC network 135 and the cable port 245. As data packets 255 are received, they are stored in an available buffer 215. As illustrated in
For example, if the header segment 275 of a data packet 255 indicates that it is addressed to an individual using an IP phone coupled to the HFC network 130, then the CMTS 125 transmits the data packet 255 to the recipient via the cable transmitter 225, the cable port 245, and the HFC network 135. On the other hand, if a data packet 255 is addressed to an individual using a plain old telephone service (POTS) terminal coupled to the PSTN 120, then the CMTS 125 transmits the data packet 255 to the recipient via the network transmitter 235, the network port 250, and the PSTN 120.
When the subscriber is receiving information (e.g., listening during a telephone conversation), the CMTS 125 receives the data intended for the subscriber via the appropriate telecommunications network, port, and receiver. This data is then packetized, stored in an available buffer 215, and transmitted to the subscriber via the cable transmitter 225, cable port 245, and the HFC network 135 using well-known techniques, as described above.
When a subscriber initiates or receives a call, the surveillance module 265 of the processor 205 determines whether the subscriber's IP phone has been designated for surveillance by law enforcement officials. In some embodiments, the surveillance module makes this determination by referencing the CMS 140 to determine whether an ESP object is associated with the subscriber's IP phone. If a subscriber's IP phone is subject to surveillance, information about the surveillance of the telephone call is added to the new hash entry corresponding to the call in the hash entry table 260. Then, as data packets 255 are transmitted to and from the subscriber during the telephone call, the surveillance module 265 sets the surveillance flag 270 of the data packets 255 to a predetermined value, indicating that the data packets 255 are subject to surveillance.
In a following step 320, a determination is made as to whether the telephone call corresponding to the new hash entry is subject to surveillance. In some embodiments, this determination is made by referencing the CMS 140 to determine whether an ESP object is associated with the IP phone making or receiving the call, as described above. If the telephone call is subject to surveillance, then in a step 325, surveillance information is added to the hash entry created during step 315. This surveillance information may include a variety of data, such as, for example, the destination address of the appropriate DF 145. Once the surveillance information has been added to the hash entry (if necessary), then in a step 330, the process ends.
In a next step 420, the destination route lookup function for the data packet 255 is performed. The information used to perform this function is typically included in the header segment 275 of the data packet 255. After the destination route lookup function has been performed, in a step 425, the data packet 255 is transmitted to the appropriate destination. In a following step 430, a determination is made as to whether the data packet 255 is flagged for surveillance. In some embodiments, this determination is made by referencing the surveillance flag segment 270 of the data packet 255.
If the data packet 255 is not flagged for surveillance, then in a step 435, the buffer 215 storing the data packet 255 is released such that another data packet 255 can be stored in the buffer 215. On the other hand, if the data packet 255 is flagged for surveillance, then the buffer 215 storing the data packet 255 is not released. Rather, in a step 440, a determination is made as to whether the data packet 255 has been transmitted to the DF 145. If not, then in a step 445, the header segment 275 of the data packet 255 is replaced with a new surveillance header, which includes the destination address of the DF 145. Then steps 420 and 425 are repeated, and the data packet 255 is retransmitted to the DF 145 and, in turn, to the CF 155 via the network transmitter 235 and the network port 250.
Following this retransmission of the data packet 255, the determination made during step 440 indicates that the data packet 255 has been transmitted to the DF 145. As a result, processing continues to step 435, during which the buffer 215 storing the data packet 255 is released, as described above.
The transmission of data packets 255 using the systems and methods described above presents a number of distinct advantages over previous approaches. For example, the systems described above enable law enforcement officials to monitor transmissions to and from IP phones using conventional MSO equipment 105, thereby advantageously avoiding the need for specialized equipment. In addition, the methods described above enable the transmission of a data packet 255 to multiple parties (e.g., an intended recipient and a law enforcement official) without duplicating the data packet 255, thereby advantageously enabling service providers to conserve storage space and processing overhead. These and other advantages will become apparent to those of skill in the art in light of the present disclosure.
Although this invention has been described in terms of certain preferred embodiments, other embodiments that are apparent to those of ordinary skill in the art, including embodiments that do not provide all of the features and advantages set forth herein, are also within the scope of this invention. Accordingly, the scope of the present invention is defined only by reference to the appended claims and equivalents thereof.