LAWFUL INTERCEPTION TRIGGERED TASK STATUS
20230164573 · 2023-05-25
Inventors
- Neeraj SURANA (Karnataka, IN)
- Kantha Rao DAMMALAPATI (Karnataka, IN)
- Michael Anthony Brown (McKinney, TX, US)
Cpc classification
International classification
Abstract
Lawful interception (LI) of electronic communications includes receiving, by a triggering function (TF), a task request including a task identifier (ID) from a LI provisioning function (LIFP). The TF receives an indication of a protocol data unit (PDU) session establishment applicable to the received request, and then triggers (including a POI task ID) each point of interception (POI) applicable to the request. The TF receives a task response indicating a status of the task at the triggered POI. The TF reports, to the LIPF, a TF task issue request indicating the status, the TF task ID, the POI task ID, and a network entity ID of the POI.
Claims
1. A triggering function (TF) device for lawful interception (LI) of electronic communications, the device comprising: a memory storing instructions; and at least one processor communicatively coupled with the memory and configured to: receive, by a triggering function (TF), a task request from an LI provisioning function (an LIFP), the task request comprising a TF task identifier (ID); receive, by the TF, an indication of a protocol data unit (PDU) session establishment applicable to the received task request; trigger, by the TF, each point of interception (POI) of one or more POIs applicable to the received task request in response to receiving the indication of PDU session establishment, the triggering including a POI task ID; receive, by the TF from a triggered POI, a task response indicating a status of the received task at the triggered POI; and report, by the TF to the LIPF, a TF task issue request indicating i) the status, ii) the TF task ID, iii) the POI task ID, and iv) a network entity ID of the triggered POI.
2. The device of claim 1, wherein the task request is one of activate a task, modify a task, and deactivate a task.
3. The device of claim 1, wherein the TF is instantiated in a session management function (SMF) of a 5G core network, and the POI is instantiated in a user plane function (UPF) of the 5G core network.
4. A method for lawful interception (LI) of electronic communications, comprising: receiving, by a triggering function (TF), a task request from a LI provisioning function (LIFP), the task request comprising a TF task identifier (ID); receiving, by the TF, an indication of a protocol data unit (PDU) session establishment applicable to the received task request; triggering, by the TF, each point of interception (POI) of one or more POIs applicable to the received task request in response to receiving the indication of PDU session establishment, the triggering including a POI task ID; receiving, by the TF from a triggered POI, a task response indicating a status of the received task at the triggered POI; and reporting, by the TF to the LIPF, a TF task issue request indicating i) the status, ii) the TF task ID, iii) the POI task ID, and iv) a network entity ID of the triggered POI.
5. The method of claim 4, wherein the task request is one of activate a task, modify a task, and deactivate a task.
6. The method of claim 4, wherein the TF is instantiated in a session management function (SMF) of a 5G core network, and the POI is instantiated in a user plane function (UPF) of the 5G core network.
7. A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: receiving, by a triggering function (TF), a task request from a LI provisioning function (LIFP), the task request comprising a TF task identifier (ID); receiving, by the TF, an indication of a protocol data unit (PDU) session establishment applicable to the received task request; triggering, by the TF, each point of interception (POI) of one or more POIs applicable to the received task request in response to receiving the indication of PDU session establishment, the triggering including a POI task ID; receiving, by the TF from a triggered POI, a task response indicating a status of the received task at the triggered POI; and reporting, by the TF to the LIPF, a TF task issue request indicating i) the status, ii) the TF task ID, iii) the POI task ID, and iv) a network entity ID of the triggered POI.
8. The computer-readable medium of claim 7, wherein the task request is one of activate a task, modify a task, and deactivate a task.
9. The computer-readable medium of claim 7, wherein the TF is instantiated in a session management function (SMF) of a 5G core network, and the POI is instantiated in a user plane function (UPF) of the 5G core network.
10. A lawful interception (LI) provisioning function (LIPF) device, the device comprising: a memory storing instructions; and at least one processor communicatively coupled with the memory and configured to: first request, by an LI provisioning function (LIPF) from a triggering function (TF), details of each LIPF task present in the TF; first receive, by the LIPF from the TF, a response to the first request, the response to the first request identifying, for each LIPF task present in the TF, TF task details of each corresponding TF task triggering a point of interception (POI), the TF task details comprising an identifier of each triggered POI and a corresponding TF task identifier; second request, by the LIPF from each identified POI, details of each TF task present on the POI; and second receive, by the LIPF from a second requested POI, a response to the second request, the response to the second request identifying TF task details of each TF task present the second requested POI.
11. The device of claim 10, further comprising: identifying as in error, each LIPF task for which the TF task details of the response to the first request do not match the TF task details of the response to the second request.
12. The device of claim 10, wherein each request is a GetAllDetails message and the first response includes each LIPF task present in the TF, TF task details of each corresponding TF task triggering a point of interception (POI) as part of TaskDetailExtensions.
13. The device of claim 10, wherein the TF is instantiated in a session management function (SMF) of a 5G core network, and the POI is instantiated in a user plane function (UPF) of the 5G core network.
14. A method of lawful interception (LI) of electronic communications, comprising: first requesting, by an LI provisioning function (LIPF) from a triggering function (TF), details of each LIPF task present in the TF; first receiving, by the LIPF from the TF, a response to the first request, the response to the first request identifying, for each LIPF task present in the TF, TF task details of each corresponding TF task triggering a point of interception (POI), the TF task details comprising an identifier of each triggered POI and a corresponding TF task identifier; second requesting, by the LIPF from each identified POI, details of each TF task present on the POI; and second receiving, by the LIPF from a second requested POI, a response to the second request, the response to the second request identifying TF task details of each TF task present the second requested POI.
15. The method of claim 14, further comprising: identifying as in error, each LIPF task for which the TF task details of the response to the first request do not match the TF task details of the response to the second request.
16. The method of claim 14, wherein each request is a GetAllDetails message and the first response includes each LIPF task present in the TF, TF task details of each corresponding TF task triggering a point of interception (POI) as part of TaskDetailExtensions.
17. The method of claim 14, wherein the TF is instantiated in a session management function (SMF) of a 5G core network, and the POI is instantiated in a user plane function (UPF) of the 5G core network.
18. A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: first requesting, by an LI provisioning function (LIPF) from a triggering function (TF) details of one or more LIPF tasks previously requested of the TF by the LIPF; receiving, by the LIPF from the TF, a response to the first request, the response: identifying the LIPF task, and identifying, for each of one or more TF tasks corresponding to the LIPF task, a point of interception (POI) tasked by the TF and a TF task identifier; second requesting, by the LIPF from the POI, details of the task corresponding to the TF task identifier; and receiving, by the LIPF, a status of the TF task corresponding to the TF task identifier in response to the second request.
19. The medium of claim 18, further comprising: identifying as in error, each LIPF task for which the TF task details of the response to the first request do not match the TF task details of the response to the second request.
20. The medium of claim 18, wherein the TF is instantiated in a session management function (SMF) of a 5G core network, and the POI is instantiated in a user plane function (UPF) of the 5G core network.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
DETAILED DESCRIPTION
[0019] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known components are shown in block diagram form in order to avoid obscuring such concepts.
[0020] Referring to
[0021] The LICF 124 receives the warrant 102 from an LEA 170 over LI_HI1 172, derives the intercept information from the warrant 102, and provides the derived information to the LIPF 122. The LIPF 122 provisions IRI-POI 144 (present in the SMF 210), MDF2 150a, and MDF3 150b over the LI_X1 interfaces 184. To enable the interception of the target's user plane packets (e.g. when the warrant 102 requires the interception of communication contents), the CC-POI 142 present in the UPF 220 is also provisioned with the intercept data—but is provisioned by the CC-TF-135 in the SMF 210 acting in an ADMF role. To enable the interception summary report of the target's user plane packets (e.g. when the warrant 102 requires interception related information), the IRI-POI 144 present in the UPF 220 is also provisioned with the intercept data—but is provisioned by the IRI-TF (not shown) in the SMF 210 acting in an ADMF role.
[0022] The LIPF 122 may interact with the SIRF 110 (over LI_SI 182) to discover the SMFs and UPFs in the network. The IRI-POI 144 present in the SMF 210 detects the PDU session establishment, modification, and deletion related events, generates and delivers the related xIRI to the MDF2 150a over LI_X2. The MDF2 150a delivers the IRI messages to the LEMF 160 over LI_HI2 189a.
[0023] When interception of communication contents is required, the CC-TF-135 present in the SMF 210 sends a trigger to the CC-POI 142 present in the UPF 220 over the LI_T3 185 interface. The CC-POI 142 in the UPF 220 presents itself as the same CC-POI 142 to all CC-TFs (e.g., CC-TF-135) in the same SMF set, such that a CC-TF (e.g., CC-TF-135) is capable of modifying or deactivating a task activated/modified in the CC-POI 142 by a different CC-TF in the same SMF set.
[0024] The trigger sent from the CC-TF-135 to CC-POI 142 includes the following information: user plane packet detection rules; target identity; correlation information; and MDF3 address. When LI_T3 185 is used, the LI_X1 184b between LIPF 122 and CC-POI 142 present in the UPF 220 is used to monitor the user plane data. The CC-POI 142 present in the UPF 220 generates the xCC (a type of POI output) from the user plane packets and delivers the xCC (that includes the correlation number and the target identity) to the MDF3 150b. The MDF3 150b delivers the CC to the LEMF over LI_HI3 189b.
[0025] When LI functions are split across SMF and UPF NEs, as in
[0026] Some examples of the technology disclosed herein inform LIPF 122 when provisioning (activate/deactivate/modify) failure/rectify happens at a triggered POI 142. Some examples of the technology disclosed herein include provisioning status info in audit messages.
[0027] In the first type of examples, a new message from a triggering function (TF) 130 (e.g., CC-TF 135 in an SMF 210 acting as ADMF 120) is used indicate to LIPF 122 when the TF 130 fails to program a task towards a POI (e.g., a CC-POI 142 in a UPF 220). Information to be included in the event include, but is not limited to, Original LIPF provisioned X1 identifier (XID), a list of TF task issue details (which contains NEID of the node where failed to provision the task, the failed XID, message type, type of issue, error code associated with the issue, and further description of the issue if appropriate) when provisioning failure/rectify happens. In some examples, the NE working as ADMF (e.g., CC-TF 135 in an SMF 210 acting as ADMF 120) will continue to include these issues in subsequent audit requests from LIPF 122 until the TF task issues are cleared.
[0028] The LIPF 122 generally audits the LI components in each SMF 210 and UPF 220 in regular intervals over LI_X1 interface 184. In the second type of examples, a new field, TFTaskDetails, is added to the existing ETSI GetAllDetails/GetTaskDetails response. In some examples, TFTaskDetails contains list of successfully provisioned tasks as well as list of TF provisioning failure issue details. The LIPF 122 audits the LI components in the UPF 220 after getting an audit response from the LI components in the SMF 210. The LIPF 122, after receiving audit responses including TFTaskDetails from both a SMF 210 and corresponding UPF 220, validate the details based on ProductID. If tasks are not present on the UPF 220 for a given ProductID, based on details from the SMF 210 response to the audit, then the LIPF 122 can report the problem/alarm to LEA 170 via the LICF 124.
[0029] Turning now to
[0030] Referring to
[0031] Referring to
[0032] Referring again to
[0033] Other types of communications and actions can have a similar effect in the context of the technology disclosed herein as receiving a notification of PDU session establishment. For example, mobile edge computing (MEC) provides the capability for a TF/SMF to allocate UPFs/POIs closer to a user equipment (UE) location for a requested task. This presents a scenario similar to receiving notification of a PDU session establishment, in that the TF/SMF is not required to notify the LIPF of ActivateTaskRequest failures in the triggered UPF(s)/POI(s). For a PDU session, the PDU Session Anchor (PSA) UPF is in a local site, i.e. close to the UE location The SMF may change the Triggered POI (PSA) UPF for a Requested Task. The SMF may insert additional UPFs for PDU Session. A PDU session has a PSA UPF in a central site (selected during PDU session establishment)) and one or more UPF in the local site (local UPF). The edge computing application traffic is selectively diverted to the local UPF. The L-PSA UPF may be changed due to e.g. UE mobility.
[0034] Referring again to
[0035] Referring to
[0036] Referring again to
[0037] Referring to
[0038] Referring again to
[0039] Referring to
[0040] In some examples, reporting component 769 reports, to the LIPF, a TF task issue request indicating i) the status, ii) the TF task ID, iii) the POI task ID, and iv) a network entity ID of the triggered POI. Accordingly, reporting component 769 may provide means for reporting, to the LIPF, a TF task issue request indicating i) the status, ii) the TF task ID, iii) the POI task ID, and iv) a network entity ID of the triggered POI.
[0041] The first example continues with the LIPF 122 sending a ReportTFTaskIssueResponse of “OK Acknowledged and Complete,” as in Step 7. When provisioning fails the TF will back off for some time (e.g. few secs, as indicated at “Step 8: TFTaskRetryTimerExpiry”) and try to provision the Triggered POI with same TF Task details, as in Step 9, on reattempt. This reattempt will happen for the life time PDU session or till it succeed, and is independent of Step 6 and Step 7.
[0042] This time, the CC-POI 142 executing on the UPF 220 successfully completes the assigned task and responds with an ActivateTaskResponse (OK Acknowledged and Complete), as in Step 10—along with beginning to send IRI-Event data and CC-data to the MDF 150, as in Step 11. The CC-TF-135 can then report on the successful implementation of task XID=100 to the LIPF 122 by sending another ReportTFTaskIssueRequest to the LIPF 122—but this time with “status=clear,” as in Step 12. The CC-TF 135 then receives a ReportTFTaskIssueResponse in Step 13 acknowledging the Step 12 report.
[0043] Referring to
[0044] Referring to
[0045] Different from the example call flow 400 of
[0046] An existing LIPF 122 has some limited capability to audit the LI NFs (e.g., IRI-POI 144 and CC-TF 135 executing on the SMF 210, and CC-POI 142 executing on the UPF 220) through use of messages such as GetTaskDetails (which takes an XID as an argument), GetAllDetails (which returns NE status, destination details for all destinations present on the NE, and task details for all tasks present on an NE), and ListAllDetails (which returns a list of XIDs on an NE). Examples of the present technology improve on the responses to each such message by adding, for each LIPF-to-TF XID a list of one or more TF-to-POI tasks—a TFTasksList. The TFTasksList list includes the NEID of each POI triggered by TF in response to the task of the XID, and the XID of the TF task sent to the POI. By first auditing the TF in this manner, and then auditing the NEID-identified POI, the LIPF can determine the status (at the POI) of the TF task sent to the POI. While the example call flow 600 of
[0047] As shown in
[0048] Referring to
[0049] Returning to
[0050] Referring to
[0051] Returning to
[0052] Returning to
[0053] Returning to
[0054] Referring to
[0055] Generally,
[0056] Device 700 further includes memory 750, e.g., for storing local versions of operating systems (or components thereof) and/or applications being executed by processor 710, such as provisioning 760 and Audit 770. Memory 750 can include a type of memory usable by a computer, such as random access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof.
[0057] Further, device 700 may include a communications component 720 that provides for establishing and maintaining communications with one or more other devices, parties, entities, etc. utilizing hardware, software, and services as described herein. Communications component 720 may carry communications between components on device 700, as well as between device 700 and external devices, such as devices located across a communications network and/or devices serially or locally connected to device 700. For example, communications component 720 may include one or more buses, and may further include transmit chain components and receive chain components associated with a wireless or wired transmitter and receiver, respectively, operable for interfacing with external devices.
[0058] Additionally, device 700 may include a data store 730, which can be any suitable combination of hardware and/or software, that provides for mass storage of information, databases, and programs employed in connection with aspects described herein. For example, data store 730 may be or may include a data repository for operating systems (or components thereof), applications, related parameters, etc. not currently being executed by processor 710. In addition, data store 730 may be a data repository for the provisioning component 760 and the audit component 770.
[0059] Device 700 may optionally include a user interface component 740 operable to receive inputs from a user of device 700 (e.g., datacenter maintenance personnel) and further operable to generate outputs for presentation to the user. User interface component 740 may include one or more input devices, including but not limited to a keyboard, a number pad, a mouse, a touch-sensitive display, a navigation key, a function key, a microphone, a voice recognition component, a gesture recognition component, a depth sensor, a gaze tracking sensor, a switch/button, any other mechanism capable of receiving an input from a user, or any combination thereof. Further, user interface component 740 may include one or more output devices, including but not limited to a display, a speaker, a haptic feedback mechanism, a printer, any other mechanism capable of presenting an output to a user, or any combination thereof.
[0060] By way of example, an element, or any portion of an element, or any combination of elements may be implemented with a “processing system” that includes one or more processors. Examples of processors include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. One or more processors in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0061] Accordingly, in one or more aspects, one or more of the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
[0062] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. All structural and functional equivalents to the elements of the various aspects described herein that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed as a means plus function unless the element is expressly recited using the phrase “means for.”