PROCEDURE CDR GENERATION FOR A RAN PARSER

Abstract

A method includes reading signaling messages as they arrive in a Radio Access Network (RAN) parser; for each signaling message, assigning the signaling message to a procedure, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on status of the procedure associated with the signaling message; and based on the status of the procedure, one of (1) waiting on more signaling messages for the procedure and (2) determining the procedure has ended and generating the CDR based on the associated signaling messages.

Claims

1. A method comprising steps of: reading signaling messages as they arrive in a Radio Access Network (RAN) parser; for each signaling message, assigning the signaling message to a procedure, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on status of a procedure associated with the signaling message; and based on the status of the procedure, one of (1) waiting on more signaling messages for the procedure and (2) determining the procedure has ended and generating the CDR based on the associated signaling messages.

2. The method of claim 1, wherein the signaling messages are in a vendor/technology agnostic format.

3. The method of claim 1, wherein the steps include, when the procedure has ended, queueing the CDR and removing any information from memory.

4. The method of claim 1, wherein the steps include: incrementally building the CDR based on subsets of the signaling messages associated to the call fragment.

5. The method of claim 4, wherein the generated CDR types include any of call start, handover, call end, eRAB establishment and release, redirection, re-establishment, CS Fallback, Serving cell measurements and miscellaneous procedures.

6. The method of claim 1, wherein the signaling messages are associated with procedures involved in the call.

7. The method of claim 6, wherein the procedures are correlated by a common identifier or a tuple and an international mobile subscriber identity (IMSI) with a timestamp.

8. The method of claim 6, wherein details of the procedures are based on associated signaling messages or from information from other correlated procedures.

9. The method of claim 6, wherein the procedures are one of asynchronous generated when an event happens and synchronous that are generated periodically.

10. A processing system comprising: one or more processors; and memory storing instructions for programming the one or more processors to read signaling messages as they arrive in a Radio Access Network (RAN) parser; for each signaling message, assign the signaling message to a procedure, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on status of a procedure associated with the signaling message; and based on the status of the procedure, one of (1) wait on more signaling messages for the procedure and (2) determine the procedure has ended and generating the CDR based on the associated signaling messages.

11. The processing system of claim 10, wherein the signaling messages are in a vendor/technology agnostic format.

12. The processing system of claim 10, wherein the instructions further program the one or more processors to, when the procedure has ended, queue the CDR and removing any information from memory.

13. The processing system of claim 10, wherein the instructions further program the one or more processors to: incrementally build the CDR based on subsets of the signaling messages associated to the call fragment.

14. The processing system of claim 13, wherein the generated CDR types include any of call start, handover, call end, eRAB establishment and release, redirection, re-establishment, CS Fallback, Serving cell measurements and miscellaneous procedures.

15. The processing system of claim 10, wherein the signaling messages are associated with procedures involved in the call.

16. The processing system of claim 15, wherein the procedures are correlated by a common identifier or a tuple and an international mobile subscriber identity (IMSI) with a timestamp.

17. The processing system of claim 15, wherein details of the procedures are based on associated signaling messages or from information from other correlated procedures.

18. The processing system of claim 15, wherein the procedures are one of asynchronous generated when an event happens and synchronous that are generated periodically.

19. A non-transitory computer-readable medium comprising instructions for programming one or more processors to perform steps of: reading signaling messages as they arrive in a Radio Access Network (RAN) parser; for each signaling message, assigning the signaling message to a procedure, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on status of a procedure associated with the signaling message; and based on the status of the procedure, one of (1) waiting on more signaling messages for the procedure and (2) determining the procedure has ended and generating the CDR based on the associated signaling messages.

20. The non-transitory computer-readable medium of claim 19, wherein the steps include: incrementally building the CDR based on subsets of the signaling messages associated to the call fragment.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The present disclosure is illustrated and described herein with reference to the various drawings, in which like reference numbers are used to denote like system components/method steps, as appropriate, and in which:

[0008] FIG. 1 is a block diagram of an architecture of a CDR generation service.

[0009] FIG. 2 is a flowchart of a CDR generations service.

[0010] FIG. 3 is a flowchart of message processing stages.

[0011] FIG. 4 is a flowchart of 4G serving cell measurements decision process.

[0012] FIG. 5 is a flowchart of a 4G ERAB (E-UTRAN (Evolved-UMTS (Universal Mobile Telecommunications System) Terrestrial Radio Access Network) Radio Access Bearer) decision process.

[0013] FIG. 6 is a flowchart of a 4G ERAB establishment initiating request messages decision process.

[0014] FIG. 7 is a flowchart of an ERAB establishment initiating response success messages decision process.

[0015] FIG. 8 is a flowchart of an ERAB establishment initiating response failure messages decision process.

[0016] FIG. 9 is a flowchart of an ERAB release initiating by Mobility Management Entity (MME) messages decision process.

[0017] FIG. 10 is a flowchart of an ERAB release initiating by evolved Node B (eNB) messages decision process.

[0018] FIGS. 11A-11B are a flowchart of an ERAB modification messages decision process.

[0019] FIG. 12 is a flowchart of an ERAB establishment and release X2AP messages decision process.

[0020] FIGS. 13A-13B are flowcharts of an ERAB establishment and release by Path Switch messages decision process.

[0021] FIG. 14 is a flowchart of an ERAB release messages decision process.

[0022] FIG. 15 is a flowchart of a current service decision process in an ERAB procedure.

[0023] FIG. 16 is a flowchart if a current service decision process in context.

[0024] FIG. 17 is a flowchart of a service decision process in an ERAB procedure.

[0025] FIG. 18 is a flowchart of a service decision process in context.

[0026] FIG. 19 is a flowchart of a 4G reestablishment decision process.

[0027] FIG. 20 is a flowchart of a 4G reestablishment messages decision process.

[0028] FIG. 21 is a flowchart of a 4G redirection decision process.

[0029] FIGS. 22A-22B are flowcharts of a 4G redirection messages decision process.

[0030] FIG. 23 is a flowchart of a 4G Circuit Switched (CS) fallback decision process.

[0031] FIG. 24 is a flowchart of a 4G CS fallback initiating messages decision process.

[0032] FIG. 25 is a flowchart of a 4G CS fallback response messages decision process.

[0033] FIG. 26 is a flowchart of a 4G CS fallback S1AP release messages decision process.

[0034] FIG. 27 is a flowchart of a 4G CS fallback EUTRA-RRC (Evolved Universal Terrestrial Radio Access (E-UTRA)-Radio Resource Control (RRC)) release messages decision process.

[0035] FIG. 28 is a flowchart of 4G handover decision process.

[0036] FIG. 29 is a flowchart of a closing process for handover procedures.

[0037] FIG. 30 is a flowchart of a process call continues process.

[0038] FIGS. 31A-31B are flowcharts of a 4G handover EUTRA-RRC messages decision process.

[0039] FIGS. 32A-32B are flowcharts of a 4G Handover EUTRA-RRC RRC Connection Reconfiguration messages decision process.

[0040] FIG. 33 is a flowchart of a 4G Incoming handover: S1AP Handover Request messages decision process.

[0041] FIG. 34 is a flowchart of a 4G Incoming handover: S1AP Handover Request Acknowledge messages decision process.

[0042] FIG. 35 is a flowchart of a 4G Outgoing handover: S1AP Handover Required messages decision process.

[0043] FIG. 36 is a flowchart of a 4G Ongoing procedure decision process in S1AP Handover Required message.

[0044] FIG. 37 is a flowchart of a 4G Outgoing handover: S1AP Handover Command messages decision process.

[0045] FIGS. 38A-38B are flowcharts of a S1AP Handover failure messages decision process.

[0046] FIG. 39 is a flowchart of a 4G Handover S1AP messages decision process.

[0047] FIGS. 40A-40B are flowcharts of a 4G Handover S1AP User Equipment (UE) Context Release messages decision process.

[0048] FIG. 41 is a flowchart of a 4G Handover S1AP UE Context Release Command messages decision process.

[0049] FIG. 42 is a flowchart of update candidate_cell_ack_list by S1AP UE Context Release Command message process.

[0050] FIG. 43 is a flowchart of a 4G Incoming Handover X2AP Handover Request message decision process.

[0051] FIG. 44 is a flowchart of a 4G Outgoing Handover X2AP Handover Request message decision process.

[0052] FIG. 45 is a flowchart of a 4G Incoming Handover X2AP Handover Request Acknowledge message decision process.

[0053] FIG. 46 is a flowchart of a 4G Outgoing Handover X2AP Handover Request Acknowledge message decision process.

[0054] FIG. 47 is a flowchart of a 4G Handover X2AP Handover Cancel and Conditional Handover Cancel messages decision process.

[0055] FIGS. 48A-48B are flowcharts of a 4G Handover X2AP Handover Preparation Failure message decision process.

[0056] FIGS. 49A-49B are flowcharts of a 4G Handover X2AP Handover Success message decision process.

[0057] FIG. 50 is a flowchart of an update candidate_cell_ack_list by X2AP Handover Success message process.

[0058] FIG. 51 is a flowchart of a 4G Handover X2AP SN Status Transfer message decision process.

[0059] FIG. 52 is a flowchart of a 4G Handover X2AP UE Context Release message decision process.

[0060] FIG. 53 is a flowchart of a Call Data Record (CDR) generation procedure for a Radio Access Network (RAN) parser.

[0061] FIG. 54 is a block diagram of a processing system.

[0062] FIGS. 55A-55B are flowcharts of a 4G Call Start initiating messages for Scenario 1.

[0063] FIG. 56 is a flowchart of a 4G Call Start for the Security procedure that appears after the EUTRA RRC Connection Setup procedure.

[0064] FIGS. 57A-57B are flowcharts of a 4G Call Start ending message for Scenario 1.

[0065] FIG. 58 is a flowchart of a 4G Call Start for Scenario 3 in case of RRC Incoming Handover.

[0066] FIGS. 59A-59B are flowcharts of a 4G Call Start for Scenario 3 in case of S1 Incoming Handover.

[0067] FIGS. 60A-60D are flowcharts of a 4G Call Start for Scenario 3 in case of X2 Incoming Handover.

[0068] FIGS. 61A-61B are a flowchart of a 4G Call Start for Scenario 2 (re-establishment).

[0069] FIG. 62 is a flowchart of a 4G Call Start for obtaining measurement information associated to the call start procedure.

[0070] FIGS. 63A-63B are a flowchart of a 4G Call Start with the additional messages that can be used to close the procedure.

[0071] FIG. 64 is a flowchart of a 4G Call Start with the logic to close the Call Start procedure.

[0072] FIG. 65A and FIG. 65B are the flowcharts of a 4G Call End corresponding to scenario 1 (S1AP Context Release/RRC Connection Release)

[0073] FIG. 66 is the flowchart of a 4G Call End corresponding to scenario 2, in this case RRC Outgoing handover.

[0074] FIGS. 67A-67B are flowcharts of a 4G Call End corresponding to scenario 2, in this case S1 Outgoing handover.

[0075] FIGS. 68A-68C are flowcharts of a 4G Call End corresponding to scenario 2, in this case X2Outgoing handover.

[0076] FIGS. 69A-69B are the flowchart of a 4G Call End corresponding to scenario 3 (Re-establishment)

[0077] FIG. 70 is the flowchart of a 4G Call End corresponding to unfinished calls.

[0078] FIG. 71 is the flowchart to close the 4G Call End procedure.

[0079] FIGS. 72A-72B are the flowchart of a 5G SA Call Start initiating messages for basic scenario (RRC Setup+NGAP UE Context setup)

[0080] FIG. 73 is the flowchart of a 5G SA Call Start for the Security procedure that may appear after the RRC Setup (FIGS. 72A-72B).

[0081] FIGS. 74A-74B are the flowchart of a 5G SA Call Start ending messages for basic scenario (RRC Setup+NGAP UE Context setup)

[0082] FIGS. 75A-75B are the flowchart of a 5G SA Call Start for the Incoming NGAP Handover case.

[0083] FIGS. 76A-76C are flowcharts of a 5G SA Call Start for the Incoming XnAP Handover case.

[0084] FIG. 77 is the flowchart of a 5G SA Call Start for the Incoming RRC handover case.

[0085] FIG. 78 is a flowchart of a 5G SA Call Start for obtaining measurement information associated to the call start procedure.

[0086] FIGS. 79A-79B are the flowchart of a 5G SA Call Start for the re-establishment case.

[0087] FIGS. 80A-80B are a flowchart of a 5G SA Call Start with the additional messages that can be used to close the procedure.

[0088] FIG. 81 is a flowchart of a 5G SA Call Start with the logic to close the Call Start procedure

[0089] FIGS. 82A-82B are flowchart of a 5G SA Call End corresponding to the basic scenario (NGAP Context Release/RRC Release).

[0090] FIG. 83 is the flowchart of a 5G SA Call End corresponding to the RRC Outgoing handover case.

[0091] FIG. 84 is the flowchart of a 5G SA Call End corresponding to the re-establishment case.

[0092] FIGS. 85A-85B are flowcharts of a 5G SA Call End corresponding to the NGAP Outgoing handover case.

[0093] FIGS. 86A-86C are flowcharts of a 5G SA Call End corresponding to the XnAP Outgoing handover case.

[0094] FIG. 87 is the flowchart of a 5G SA Call End for the unfinished call case.

[0095] FIG. 88 is the flowchart of a 5G SA Call End corresponding to the logic used to the close the procedure.

DETAILED DESCRIPTION OF THE DISCLOSURE

[0096] Again, the present disclosure relates to systems and methods for a Call Data Record (CDR) generation procedure for a Radio Access Network (RAN) parser. The purpose of the current Parsers (non-cloud native) is to be able to regenerate a RAN user call based on the messages provided by the network. There is a correlation between different sources and messages, and this information is targeted as soon as the call in the network has finished. Apart from the call details output (CDR), the parser is able to provide other processed outputs, such as the geolocation (GDR) of the user along the call in Near Real Time (NRT) or specific Key Performance Indicators (KPIs) that allow optimization algorithms and recommendations to the network operator about which should be changed in the RAN network configuration to improve its quality. Parsers receive information provided by the customer network elements by files or by TCP streams (natively only in the Cloud Parser architecture). The supported formats depend on the vendor and technology; therefore, the Parsers should be able to understand, process and provide the corresponding outputs independently of the vendor/technology specificities.

[0097] The present disclosure includes a Cloud Native Parser that reproduces the behavior of the current Parsers via a new architecture that requires changes in terms of how the information is processed, how it is distributed along the different elements, how it is generated and how it is sent out of the system. The Cloud Native Parser aims to replace the legacy architecture making it more flexible and able to be deployed in several pieces along different locations (edge, central, etc. in a customer network in front of the monolithic version where only the central site deployment was allowed.

RAN Parser

[0098] RAN parsers require Call Traces (CTs) as inputs. CTs are generated by Network Elements (NEs) from the client's mobile network and have a vendor proprietary format depending on [0099] the vendor itself: e.g., Huawei, Nokia, Ericsson, Samsung, ZTE . . . [0100] the technology of the mobile network: 2G, 3G, 4G, 5G, etc. [0101] the trace format: e.g., there are Huawei 4G traces in format TRC and Huawei 4G traces in format STDSIG, and not only the format changes but also the content (there is information present in one but not in the other and vice versa) [0102] the trace release: there can be internal changes between vendor release X.1 and vendor release X.2 of a certain trace format (changes in existent information, addition of new information, deprecation of existent information)

CDR Generation Service Architecture

[0103] FIG. 1 is a block diagram of an architecture of a procedure CDR generation service 10. Input information for the procedure CDR generation service 10 is the vendor/technology agnostic output information generated by a Link Generation Service 12 and can be considered vendor/technology agnostic itself.

TABLE-US-00001 TABLE 1 Input of the Procedure Generation Service Field Type Description timestamp_utc_ms int64 Timestamp of the message in milliseconds time_zone_correction int32 Time zone correction timestamp_dst_cor int32 Day Light Save Time Correction technology int32 Technology vendor int32 Vendor version int32 Version mcc string Mobile Country Code of the subscriber network (3 digits) mnc string Mobile Network Code of the subscriber network (2/3 dig) fragment_id_1 int64 First Identifier of the Unique Session Id for the UE fragment_id_2 int64 Second Identifier of the Unique Session Id for the UE enb_id int64 eNode B Id or gNode B Id depending on technology cell_id int32 Cell Id core_ue_ide int64 mme_ue_s1ap_id or amf_ue_ngap_id depending on the technology. Uniquely identifies the UE association over the S1 interface within the MME or NG interface within the AMF ran_ue_id int64 enb_ue_s1ap_id or ran_ue_ngap_id depending on the technology. Uniquely identifies the UE association over the S1 interface within a eNB or NG interface within an gNB gummei int64 gummei or guami depending on the technology. Unique identifier of a MME or an AMF c_rnti int32 C-RNTI Identifier message_type int32 enumerated to identify the same message from different vendors message_direction int32 Message direction: sent, received message_content bytes asn. 1 content for 3GPP messages, raw data for messages cell_fragment_identifier int64 Unique Identifier to link message to a cell Fragment Identifier. 2 pod ID, 6 auto incremental (starting from 0) message_index int64 Message index inside of the cell fragment ne_source_type int32 Source network element type ne_source_identifiers int64 Source network element internal unique identifier ne_target_type int32 Target network element type ne_target_identifiers int64 Target network element internal unique identifier imsi string International Mobile Subscriber Identity ue_mcc string Mobile Country Code of the Home Public Land Mobile Network ue_mnc string Mobile Network Code of the Home Public Land Mobile Network imei string International Mobile Equipment Identity svn string Handset Software Version handset_tac string Type Allocation Code of the subscriber handset source_identifier int32 Source identifier with edge information to allow edge distribution. 1 edge, 3 pod ID gnodeb_id_length int32 Number of bits used to encode gNodeb_id

[0104] Since the input messages to the Procedure CDR Generation Service 10 are the output of the Link Generation Service 12, every message already belongs to a cell fragment.

[0105] The Parser aims to create fast outputs, breaks down a UE (User Equipment) session or call into cell fragments, separating in different outputs the part of the connection under each serving cell. In this document, the words call, cell fragment of a call and context are used interchangeably.

[0106] FIG. 2 is a flowchart of a CDR generations service. The Procedure CDR Generation Service 10 can be divided in several main stages: [0107] 1. The extraction of the message from the input queue and the message de-codification of the header parameters. [0108] 2. Memory control: The contexts will be removed as a general rule when End message arrives, but in case this message is missed, there is also a cleaning mechanism triggered every X messages or every X seconds. When the message arrives to this module, the first thing is to check if the cleaning mechanism should be triggered. Note that the cleaning mechanism works at Network Element (NE) level, that is, a message can only remove contexts from its own NE. For each context removed, all procedures will be closed and sent to the output queue . In an embodiment, every time a procedure is sent to the output queue, two different kinds of output can be generated: one with the procedure information itself and another output containing the information related to every message that takes part in the procedure [0109] 3. Procedure generation algorithm: When the message arrives to this stage, it searches for a context identified by cell_fragment_identifier and source_identitifier. In case the context is not found, it is created and stored in this module. When a context is created, the different procedures related to the context technology will be created.

[0110] Then depending on the message type, the message will decode its content to get the parameters need for the processing in the procedures algorithm. After the decoding, the message will be processed in the context. This process can trigger the closure of one or several procedures. All the closed procedures will be sent to the output to be serialized and sent to the output queue.

[0111] The message processing in the context will be explained in the following sections of the document.

Message Processing in the Context

[0112] FIG. 3 is a flowchart of message processing stages. For each message received we have 4 steps: [0113] 1. Update context information with message information: [0114] UE parameters: international mobile subscriber identity (IMSI), UE MCC, UE MNC, IMEI, TAC, SVN, . . . [0115] Messages already received in the context (with this information we can decide for example if the context has ended or not) [0116] 2. Update procedures information: [0117] a. Update procedure with the context information. Procedures also have information related to the context. Depending on the procedure this information is related to the beginning of the procedure or to the end of it. [0118] b. Update procedure information with the message information. The logic of each procedure will be development in the following sections. [0119] 3. Update context information with the procedure information [0120] Once the message has updated the procedures, each procedure shall update the context with its current state. [0121] 4. Reprocess message in procedure: In some scenarios, the processed message triggers the closure of one procedure, but without being attached to said procedure. In those cases, once said procedure has been closed, the message should be reprocessed to generate the creation of the procedure it really belongs to. This is shown in the flowcharts as store message.

[0122] There are several general procedure concepts that are used in the following procedures: [0123] Update timestamp: update start and end timestamp of the procedure with the message information [0124] All procedures process End message, being the last message of the context. [0125] Add to MF: add to msg_id_list [0126] Initialize procedure: means that if the procedure is not created, the message will trigger the creation of the procedure, but if it already exists, it will not. [0127] is_context_ended: context is marked as ended if it has received one of the following messages: [0128] EUTRA-RRC RRC Connection Release, S1AP UE Context Release Command and S1AP UE Context Release Complete [0129] End [0130] S1AP Handover Required, S1AP UE Context Release Command and S1AP UE Context Release Complete [0131] NR-RRC RRC Connection Release, NGAP UE Context Release Command and NGAP UE Context Release Complete [0132] End [0133] NGAP Handover Required, NGAP UE Context Release Command and NGAP UE Context Release Complete

4G Serving Cell Measurements

[0134] FIG. 4 is a flowchart of 4G serving cell measurements decision process. This procedure will be generated periodically (configurable period) to summarize the measurements performed over the 4G serving cell during that time interval.

[0135] Although messages of all types are involved in the procedure for time tracking purposes, only the following messages will be used to calculate the specific output parameters for this procedure: [0136] 2 EUTRA-RRC RRC Measurement Report standard 3GPP messages [0137] 2 UL SINR vendor messages [0138] 2 Timing Advance vendor messages [0139] 2 Throughput vendor messages

[0140] In FIG. 4, Diamond 1: Messages that can contain tx_mode parameter are the following: EUTRA-RRC RRC Connection Setup, EUTRA-RRC RRC Connection Reconfiguration, EUTRA-RRC RRC Connection Reestablishment, EUTRA-RRC RRC Connection Resume, EUTRA-RRC Handover Preparation Information and EUTRA-RRC Handover Command.

[0141] Rectangle2: add measurement implies: [0142] 2 Store the current value of the measure to update the context [0143] 2 Aggregate the value of the measure to be able to calculate the average value during the interval [0144] 2 Update the maximum value of the measure if it is necessary [0145] 2 Add to MF

[0146] Rectangle3: close procedure implies: [0147] 2 Calculate average values of the different measures [0148] 2 Decide which message that contains tx_mode will be added to the interval. Algorithm decision is the following: [0149] When a message with tx_mode appears, we store messageid, timestamp (t1) and tx_mode value (v1) [0150] When another message with tx_mode appears and value is different (v2<>v1): we close the time interval with the old tx_mode value (v1 from t1 to t2). Additionally, we store the messageId, timestamp (t2) and tx_mode value (v2) [0151] When measurement interval ends, we check the tx_mode that has been in use with a maximum time interval. That value will be reported in the output procedure, adding to the MF only the messageID with the reported value

5G Serving Cell Measurements

[0152] This procedure will be generated periodically (configurable period) to summarize the measurements performed over the 5G serving cell during that time interval. Although messages of all types are involved in the procedure for time tracking purposes, only the following messages will be used to calculate the specific output parameters for this procedure: [0153] 2 NR-RRC RRC Measurement Report standard 3GPP messages [0154] 2 UL SINR vendor messages [0155] 2 Timing Advance vendor messages [0156] 2 Throughput vendor messages

[0157] This procedure will be generated periodically (configurable period) to summarize the measurements performed over the 5G serving cell during that time interval. Although messages of all types are involved in the procedure for time tracking purposes, only the following messages will be used to calculate the specific output parameters for this procedure: The process decision is very similar to the FIG. 4. There are slight differences due to the nature of the data in 5G.

4G ERAB

[0158] In this section, we are going to explain the 2 types of ERAB procedures (ERAB Establishment and ERAB Release) as they are closely related.

[0159] The way this procedure works is different from the other procedures. In this case, we have the ERAB procedure that stores: [0160] 2 information related with ERAB Establishment and ERAB Release procedure: [0161] ACTIVE_QCI in the current moment, as it can be modified by every ERAB Established or Released [0162] LAST_TIMESTAMP: the timestamp of the last message in the context. [0163] UPDATED_CONTEXT: indicates if the ERAB procedure needs to update the context information after the message processing. This procedure updates active_qci, current_service and service parameters in the context [0164] 2 list of ERAB Establishment procedures [0165] 2 list of ERAB Release procedures

[0166] Every time an ERAB Establishment procedure is closed with RESULT=SUCCESS, an ERAB Release procedure is opened. In case the ERAB Establishment procedure is closed with RESULT=FAILURE, then there is not an ERAB Release procedure associated to it.

[0167] There are several scenarios to be considered: [0168] 2 ERABS established at the beginning of the context [0169] 2 ERAB setup procedure [0170] 2 ERAB modification procedure [0171] 2 ERABS established during incoming handovers (S1 and X2 handovers) [0172] 2 ERAB release procedure initiated by the eNB [0173] 2 ERAB release procedure initiated by the MME [0174] 2 ERABS release at the end of the context

[0175] In each scenario messages involved are different messages: [0176] 2 ERABS established at the beginning of the context: S1AP Initial Context Setup Request, S1AP Initial Context Setup Response, S1AP Initial Context Setup Failure [0177] 2 ERAB setup procedure: S1AP ERAB Setup Request, S1AP ERAB Setup Response [0178] 2 ERAB modification procedure: S1AP ERAB Modify Request, S1AP ERAB Modify Response [0179] 2 ERABS established during incoming handovers (S1 and X2 handovers): S1AP Handover Request, S1AP Handover Request Acknowledge, S1AP Handover Failure, X2AP Handover Request, X2AP Handover Request Acknowledge, X2AP Handover Preparation Failure, X2AP Handover Cancel, X2AP SN Status Transfer, S1AP Path Switch Request, S1AP Path Switch Request Acknowledge, S1AP Path Switch Request Failure, X2AP UE Context Release (Note: only X2AP messages traced in target eNB will be processed, except X2AP UE Context release that will be processed also when it is traced in source eNB) [0180] 2 ERAB release procedure initiated by the eNB: S1AP ERAB Release Indication [0181] 2 ERAB release procedure initiated by the MME: S1AP ERAB Release Command, S1AP ERAB Release Command [0182] 2 ERAB release at the end of the context: EUTRA-RRC RRC Connection Release, S1AP UE Context Release Request, UE Context Release Command, UE Context Release Complete

[0183] FIG. 5 is a flowchart of a 4G ERAB (E-UTRAN (Evolved-UMTS (Universal Mobile Telecommunications System) Terrestrial Radio Access Network) Radio Access Bearer) decision process. To correctly understand the decision algorithm for each message, details on several concepts are provided below: [0184] 2 Initialize ERAB Establishment implies: [0185] Create a new erab_establishment procedure [0186] Set eRab Id and Technology. [0187] Add erab_establishment to the erab_establishment map of the ERAB procedure [0188] Set updated_context=true [0189] 2 Initialize ERAB Release implies: [0190] Create a new erab_release procedure [0191] Set eRab Id and Technology. [0192] Add erab_release to the erab_release map of the ERAB procedure [0193] 2 Knowing if an ERAB Establishment/ERAB Release is initialized: in case of ERAB Establishment search in erab_establishment map an ERAB by erab_id and technology. In case of ERAB Release, search the ERAB in the erab_release map with the same parameters. [0194] 2 Close ERAB Establishment implies: [0195] If the procedure does not have a result, then result=FAILURE and if the closure is triggered by End message, then result_cause=CALL_ENDED, otherwise result_cause=INCOMPLETE_PROCEDURE [0196] Set updated_context=true [0197] 2 Close ERAB Release implies: [0198] If the procedure does not have a result, and if the closure is triggered by End message, then result_cause=CALL_ENDED and update start_timestamp and end_timestamp with message timestamp, otherwise then result=FAILURE, result_cause=INCOMPLETE_PROCEDURE [0199] Update erab_start_timestamp with end_timestamp in case the parameter is not initialized. [0200] Set updated_context=true [0201] 2 Remove ERAB: remove ERAB from erab_release_map or erab_establishment map in eRab procedure without generating an output [0202] 2 Reset ERAB: reset ERAB parameters: start_timestamp, end_timestamp, message_id_list

[0203] The decision algorithms for each message are shown in the following figures:

[0204] FIG. 6 is a flowchart of a 4G ERAB establishment initiating request messages decision process.

[0205] FIG. 7 is a flowchart of an ERAB establishment initiating response success messages decision process.

[0206] FIG. 8 is a flowchart of an ERAB establishment initiating response failure messages decision process.

[0207] FIG. 9 is a flowchart of an ERAB release initiating by Mobility Management Entity (MME) messages decision process.

[0208] FIG. 10 is a flowchart of an ERAB release initiating by evolved Node B (eNB) messages decision process.

[0209] FIGS. 11A-11B are a flowchart of an ERAB modification messages decision process.

[0210] FIG. 12 is a flowchart of an ERAB establishment and release X2AP messages decision process.

[0211] FIGS. 13A-13B are flowcharts of an ERAB establishment and release by Path Switch messages decision process.

[0212] FIG. 14 is a flowchart of an ERAB release messages decision process.

[0213] In Rectangle1 of FIG. 10, note that depending on the message.cause, the result of the algorithm is established. In FIG. 14, note that ERAB procedure updates the service and the current service of the context. FIG. 15 shows the decision algorithm to obtain the current service from eRab procedure. This current service is the input for the context decision algorithm illustrated in FIG. 16.

[0214] Note that the algorithm calculating the current_service in the context (FIG. 16), also calls the algorithm for calculating service in the context, using the calculated current_service as an input parameter.

[0215] Table 2 shows the relation between current_service and connection_type

TABLE-US-00002 TABLE 2 Relation between current_service and connection_type Current_service Connection_type Voice Voice Video Video Data Data Signaling Signaling Attach/Detach Signaling Tracking Area Update Signaling CS Fallback Signaling Emergency Emergency Voice + Data Voice + Data

[0216] Note that the algorithm calculating the current_service in the context (FIG. 16), also calls the algorithm for calculating service in the context, using the calculated current_service as an input parameter. FIG. 17 shows the decision algorithm to obtain the service from ERAB procedure. This service is the input for the context decision algorithm illustrated in FIG. 18.

4G Reestablishment

[0217] This procedure will report the reestablishment procedures occurring during the context. The messages involved in the procedure are: EUTRA-RRC RRC Connection Reestablishment Request, EUTRA-RRC RRC Connection Reestablishment, EUTRA-RRC RRC Connection Reestablishment Complete and EUTRA-RRC RRC Connection Reestablishment Reject and X2AP Private messages.

[0218] FIG. 19 is a flowchart of a 4G reestablishment decision process. Messages discarded in Diamond1 of FIG. 19 are: EUTRA-RRC UE Information Response, EUTRA-RRC UE Capability Information, EUTRA-RRC Measurement Report and EUTRA-RRC RRC Connection Release. The decision algorithms for each message are shown in FIG. 20.

4G Redirection

[0219] This procedure will report the mobility information provided when the context ends with a redirection to another technology or frequency. The messages involved in the procedure are: EUTRA-RRC RRC Connection Release, S1AP UE Context Release Request, S1AP UE Context Release Command, S1AP UE Context Release Complete. FIG. 21 is a flowchart of a 4G redirection decision process. FIGS. 22A-22B are flowcharts of a 4G redirection messages decision process. Diamond 1. Note that we consider is_csfb_initiated, when there is a CS Fallback procedure ongoing. This information is obtained from the context as a previous step to process the message.

4G CS Fallback

[0220] This procedure will report the most important characteristics of any CS fallback procedure occurred in the context. This procedure considers several scenarios: [0221] 2 CS Fallback at the beginning of the context [0222] 2 CS Fallback by UE Context Modification [0223] 2 CS Fallback by Handover Required

[0224] The messages involved in the procedure are:

[0225] 2 CS Fallback at the beginning of the context: EMM Extended Service, EMM Service Reject, S1AP Initial Context Setup Request, S1AP Initial Context Setup Failure, S1AP UE Context Modification Request, EUTRA-RRC RRC Connection Release, S1AP UE Context Release Request, S1AP UE Context Release Command, S1AP UE Context Release Complete [0226] 2 CS Fallback by UE Context Modification scenario adds the following messages: S1AP UE Context Modification Response, UE Context Modification Failure [0227] 2 CS Fallback by Handover Required scenario adds the following messages: S1AP Handover Required, EUTRA-RRC Mobility From EUTRA Command

[0228] This procedure will report the most important characteristics of any CS fallback procedure occurred in the context. This procedure considers several scenarios. FIG. 23 is a flowchart of a 4G Circuit Switched (CS) fallback decision process. FIG. 24 is a flowchart of a 4G CS fallback initiating messages decision process.

[0229] In FIG. 24, in Box initialize procedure, parameter trigger is set depending on the message that creates the procedure. Table 3 registers the relation between message type and trigger parameter value:

TABLE-US-00003 TABLE 3 CS Fallback relation between message and trigger parameter Message Trigger value EMM Service Request Extended Service Request + EMM Service type S1AP Initial Context Setup Extended Service Request Request S1AP UE Context Modification UE Context Modification + Request CSFB Indicator S1AP Handover Required Handover Required + CS Fallback triggered EUTRA-RRC Mobility From Handover Required + CS Fallback EUTRA triggered EUTRA-RRC RRC Connection Release S1AP UE Context Release Request UE Context Release Request + CS Fallback triggered S1AP UE Context Release Command UE Context Release Request + CS Fallback triggered

[0230] FIG. 25 is a flowchart of a 4G CS fallback response messages decision process. FIG. 26 is a flowchart of a 4G CS fallback S1AP release messages decision process. FIG. 27 is a flowchart of a 4G CS fallback EUTRA-RRC (Evolved Universal Terrestrial Radio Access (E-UTRA)-Radio Resource Control (RRC)) release messages decision process.

4G Handover

[0231] This procedure will report the most important characteristics of any handover attempt, including X2AP handover, S1AP handover and intra eNB handover (RRC handover) if possible. In this procedure there are 3 scenarios to be considered: [0232] 1. Incoming handovers: messages traced in the target eNB [0233] 2. Outcoming handovers: messages traced in the source eNB [0234] 3. Conditional handovers: special case of outcoming handovers where several handovers are launched at the same time, but only one will succeed.

[0235] Scenarios 1 and 2 apply to X2AP, S1AP and intra eNB handovers, while scenario 3 only applies to X2AP, S1AP handovers.

[0236] The messages used in the handover procedure algorithm are the following (Note: some messages can be involved in more than one scenario): X2AP Handover Request, X2AP Handover Request Acknowledge, X2AP Handover Success, X2AP Handover Preparation Failure, X2AP Handover Cancel, X2AP Conditional Handover Cancel, X2AP SN Status Transfer, X2AP UE Context Release, S1AP Handover Request, S1AP Handover Request Acknowledge, S1AP Handover Required, S1AP Handover Command, S1AP Handover Notify, S1AP Handover Cancel, S1AP Handover Cancel Acknowledge, S1AP Handover Failure, S1AP Handover Preparation Failure, S1AP Path Switch Request, S1AP Path Switch Request Acknowledge, S1AP Path Switch Request Failure, S1AP UE Context Release Request, S1AP UE Context Release Command, S1AP UE Context Release Complete, EUTRA-RRC RRC Connection Reconfiguration, EUTRA-RRC RRC Connection Reconfiguration Complete, EUTRA-RRC Mobility From EUTRA Command, EUTRA-RRC RRC Connection Reestablishment Request, EUTRA-RRC RRC Connection Reestablishment, EUTRA-RRC RRC Connection Reestablishment Complete, EUTRA-RRC RRC Connection Reestablishment Reject, EUTRA-RRC RRC Connection Release. Note: The X2AP messages will have a different algorithm depending on whether the message has been traced at the source eNB or at the target eNB.

[0237] FIG. 28 is a flowchart of 4G handover decision process. Messages discarded are: EUTRA-RRC UE Information Response, EUTRA-RRC UE Capability Information, EUTRA-RRC Measurement Report, EUTRA-RRC UL Information Transfer and EUTRA-RRC UL Information Transfer MRDC.

[0238] For handover procedure the process of closing the procedure is not as simple as setting some parameters with the information of the triggering messages. There are some decisions to make at the time of the closure. In handover procedure, every time a Box close procedure appears, it refers to the example process of FIG. 29. Box process call continues includes all the decisions to be taken in an open handover when we decided that the context continues in the cell in which the handover was triggered. FIG. 30 is a flowchart of a process call continues process.

[0239] The decision algorithms for each message are shown in the following figures:

[0240] FIGS. 31A-31B are flowcharts of a 4G handover EUTRA-RRC messages decision process.

[0241] FIGS. 32A-32B are flowcharts of a 4G Handover EUTRA-RRC RRC Connection Reconfiguration messages decision process.

[0242] FIG. 33 is a flowchart of a 4G Incoming handover: S1AP Handover Request messages decision process.

[0243] FIG. 34 is a flowchart of a 4G Incoming handover: S1AP Handover Request Acknowledge messages decision process.

[0244] FIG. 35 is a flowchart of a 4G Outgoing handover: S1AP Handover Required messages decision process.

[0245] Specific for the decision algorithm of message S1AP Handover Required on scenario 4G outgoing handover, Box 1 in FIG. 35: If there is a handover procedure ongoing when the S1AP Handover Required message arrives, there is an algorithm to decide if the ongoing procedure has to be closed and sent to output before processing the message, presented in FIG. 36 which is a flowchart of a 4G Ongoing procedure decision process in S1AP Handover Required message.

[0246] The Continuation of the decision algorithms for each message in the following figures:

[0247] FIG. 37 is a flowchart of a 4G Outgoing handover: S1AP Handover Command messages decision process.

[0248] FIGS. 38A-38B are flowcharts of a S1AP Handover failure messages decision process. FIG. 39 is a flowchart of a 4G Handover S1AP messages decision process.

[0249] FIGS. 40A-40B are flowcharts of a 4G Handover S1AP User Equipment (UE) Context Release messages decision process.

[0250] FIG. 41 is a flowchart of a 4G Handover S1AP UE Context Release Command messages decision process. In FIG. 41, box 1: how to update candidate_cell_ack_list is described by FIG. 42.

[0251] FIG. 42 is a flowchart of update candidate_cell_ack_list by S1AP UE Context Release Command message process.

[0252] FIG. 43 is a flowchart of a 4G Incoming Handover X2AP Handover Request message decision process.

[0253] FIG. 44 is a flowchart of a 4G Outgoing Handover X2AP Handover Request message decision process.

[0254] FIG. 45 is a flowchart of a 4G Incoming Handover X2AP Handover Request Acknowledge message decision process.

[0255] FIG. 46 is a flowchart of a 4G Outgoing Handover X2AP Handover Request Acknowledge message decision process.

[0256] FIG. 47 is a flowchart of a 4G Handover X2AP Handover Cancel and Conditional Handover Cancel messages decision process.

[0257] FIGS. 48A-48B are flowcharts of a 4G Handover X2AP Handover Preparation Failure message decision process.

[0258] FIGS. 49A-49B are flowcharts of a 4G Handover X2AP Handover Success message decision process. Box 1: how to update candidate_cell_ack_list is described by FIG. 50 Error! Reference source not found.

[0259] FIG. 50 is a flowchart of an update candidate_cell_ack_list by X2AP Handover Success message process.

[0260] FIG. 51 is a flowchart of a 4G Handover X2AP SN Status Transfer message decision process.

[0261] FIG. 52 is a flowchart of a 4G Handover X2AP UE Context Release message decision process. In FIG. 52, box 1: how to update candidate_cell_ack_list is described by FIG. 50.

4G Call Start

[0262] This procedure will report the most important characteristics of a connection starts. As call fragment may start due to one of the following signaling procedures [0263] 1. RRC Connection Establishment [0264] 2. RRC Connection Re-establishment [0265] 3. Incoming Handover

[0266] Scenario 3 includes X2, S1 and RRC handovers.

[0267] Message used in the LTE Call Start Procedure algorithm are the following: EUTRA-RRC RRC Connection Request, EUTRA-RRC RRC Connection Setup, EUTRA-RRC RRC Connection Setup Complete, EUTRA-RRC RRC Connection Reject, EUTRA-RRC Security Mode Command, EUTRA-RRC Security Mode Complete, EUTRA-RRC Security Mode Failure, S1AP Initial UE Message, S1AP Initial Context Setup Request, S1AP Initial Context Setup Response, S1AP Initial Context Setup Failure, S1AP Handover Request, S1AP Handover Request Acknowledge, S1AP Handover Failure, S1AP Handover Notify, X2AP Handover Request (received), X2AP Handover Request Acknowledge (sent), X2AP Handover Preparation Failure (sent), X2AP Handover Cancel (received), X2AP SN Status Transfer (received), X2AP UE Context Release (sent), S1AP Path Switch Request, S1AP Path Switch Request Acknowledge, S1AP Path Switch Request Failure, EUTRA-RRC RRC Connection Reconfiguration Complete, EUTRA-RRC RRC Reestablishment Request, EUTRA-RRC RRC Reestablishment, EUTRA-RRC RRC Reestablishment Complete, EUTRA-RRC RRC Reestablishment Reject

[0268] The decision algorithms for each message are shown in the following figures

[0269] FIGS. 55A-55B show the flowchart of a Call Start due to RRC Connection Setup procedure. If this sub-set of messages ends as failure the call start ends as failed (block), otherwise additional messages are expected.

[0270] FIG. 56 show the flowchart of the security procedure that may appear after the RRC Connection Setup (FIGS. 55A-55B).

[0271] FIGS. 57A-57B show the flowchart of a Call Start with the messages that appear after the RRC Connection Setup (FIGS. 55A-55B) if it is successful.

[0272] FIG. 58 shows the flowchart of a Call Start due to RRC Incoming Handover. As RRC Connection Reconfiguration Complete that is the only message in this flowchart does not indicate if it is part of a handover, Call Start algorithm will consider that call fragments that start with RRC Connection Reconfiguration Complete are generating a Call Start due to RRC Handover.

[0273] FIGS. 59A-59B show the flowchart of a Call Start due to S1 Incoming Handover.

[0274] FIGS. 60A-60D shows the flowchart of a Call Start due to X2 Incoming Handover.

[0275] FIGS. 61A-61B show the flowchart of a Call Start due to re-establishment. Note that not all re-establishment signaling procedures generate a Call Start procedure, decision algorithm considers only those case in which the first message of the call fragment is part of the Re-establishment procedure.

[0276] In case of missing messages in the Call Start processing, this procedure can end due to (FIGS. 63A-63B): [0277] 2 Call Continues after the Call Start procedure [0278] 2 Call ends

[0279] Call Start procedure should include measurements regarding to the serving cell. When call start signaling procedure ends, if measurement information has not arrived, the Call Start processing will wait for that information as shown in FIG. 62.

[0280] Measurement Report message is only considered if time elapsed since the start of the Call Start and the Measurement Report is lower than a threshold.

[0281] Call Start procedure will update the context with the values of the Service and Current Service based on the establishment cause that is set during the Call Start processing.

[0282] Table 4 shows the relation between establishment_cause and service

TABLE-US-00004 TABLE 4 Relation between establishment_cause and service ESTABLISHMENT_CAUSE SERVICE Emergency EUTRA Voice HighPriorityAccess EUTRA Signaling MT-Access EUTRA Signaling MO Signaling EUTRA Signaling MO Data EUTRA Data delayTolerantAccess-v1020 EUTRA Data MO Voice Call EUTRA Voice

[0283] Table 5 shows the relation between establishment_cause and current_service

TABLE-US-00005 TABLE 5 Relation between establishment_cause and current_service ESTABLISHMENT_CAUSE SERVICE MO Signaling EUTRA Signaling High Priority Access MT Access MO Data EUTRA Data MO Voice Call EUTRA Voice Emergency Delay TolerantAccess-v1020 EUTRA Data

4G Call End

[0284] This procedure will report the most important characteristics of a connection end. A call fragment may end due to one of the following signaling procedures [0285] 1. RRC Connection Release/S1AP UE Context Release [0286] 2. Outgoing Handover [0287] 3. RRC Connection Re-establishment

[0288] Scenario 2 includes X2, S1 and RRC handovers.

[0289] Scenario 3 will only generate a Call End procedure if it fails. When re-establishment procedure is successful, call continues in the cell where the procedure is triggered.

[0290] Message used in the LTE Call End Procedure algorithm are the following: EUTRA-RRC RRC Connection Release, S1AP UE Context Release Request, S1AP UE Context Release Command. S1AP UE Context Release Complete, X2AP Handover Request, X2AP Handover Request Acknowledge, X2AP Handover Cancel, X2AP Handover Preparation Failure, X2AP SN Status Transfer, X2AP UE Context Release, S1AP Handover Required, S1AP Handover Command, S1AP Handover Cancel, S1AP Handover Preparation Failure, EUTRA-RRC Mobility From EUTRA Command, EUTRA-RRC RRC Connection Reconfiguration, EUTRA-RRC Connection Reestablishment Request, EUTRA-RRC Connection Reestablishment, EUTRA-RRC Connection Reestablishment Complete, EUTRA-RRC Connection Reestablishment Reject.

[0291] A Call is considered ended (IS_CALL_ENDED=TRUE) when the procedure includes one of the following combinations [0292] 2 S1AP UE Context Release Command+S1AP UE Context Release Complete EUTRA-RRC RRC Connection Release [0293] 2 S1AP Handover Required+S1AP UE Context Release Command+S1AP UE Context Release Complete [0294] 2 End Message

[0295] Call End procedure includes measurement information. This information is taken from the context, using the last measurement information recorded during the call. Measurement Report message is only considered if time elapsed since the Measurement Report message and the Call End is lower than a threshold

[0296] The decision algorithms for each message are shown in the following figures:

[0297] FIG. 65A and FIG. 65B show the basic Call End procedure.

[0298] S1AP UE Context Release Request is an optional message for the basic Call End procedure.

[0299] Value of Result field for basic Call End procedure depends on the cause reported to perform the release in the S1AP UE Context Release Command o S1AP UE Context Release Request.

[0300] FIG. 66 shows the Call End decision algorithm for Outgoing RRC Handover procedure. An EUTRA-RRC RRC Connection Reconfiguration is considered a HO message when it includes the mobilityControlInfo IE.

[0301] Outgoing RRC Handover is always considered as a Successful Call End procedure.

[0302] FIGS. 67A-67B show the Call End decision algorithm for Outgoing S1 Handover procedure. In case the procedure is successful (reception of S1AP Handover Command and/or EUTRA-RRC Mobility From EUTRA Command), after those message, procedure should wait to receive the S1AP Context Release message described in FIG. 65B to close the procedure.

[0303] FIGS. 68A-68C show the Call End decision algorithm for Outgoing X2 Handover procedure.

[0304] FIGS. 69A-69B show the Call End decision algorithm for Re-establishment. Call End due to re-establishment is always classified as Failure.

[0305] FIG. 70 shows the Call End decision algorithm for unifinished calls, i.e. those cases in which the End message arrives without having closed the Call End procedure.

[0306] FIG. 71 shows the logic to set FAILURE_TYPE field. Note there are cases in which the Call Start procedure fails and it includes messages that trigger the Call End procedure. FAILURE_TYPE help user to distinguish those cases.

5G SA Call Start

[0307] This procedure will report the most important characteristics of a connection starts. As call fragment may start due to one of the following signaling procedures [0308] 1. RRC Setup [0309] 2. RRC Connection Re-establishment [0310] 3. Incoming Handover

[0311] Scenario 3 includes Xn, NGAP and RRC handovers.

[0312] Message used in the 5G SA Call Start Procedure algorithm are the following: NR-RRC RRC Setup Request, NR-RRC RRC Setup, NR-RRC RRC Setup Complete, NR-RRC RRC Reject, NR-RRC Security Mode Command, NR-RRC Security Mode Complete, NR-RRC Security Mode Failure, NGAP Initial UE Message, NGAP Initial Context Setup Request, NGAP Initial Context Setup Response, NGAP Initial Context Setup Failure, NGAP Handover Request, NGAP Handover Request Acknowledge, NGAP Handover Failure, NGAP Handover Notify, XNAP Handover Request (received), XNAP Handover Request Acknowledge (sent), XNAP Handover Preparation Failure (sent), XNAP Handover Cancel (received), XNAP SN Status Transfer (received), XNAP UE Context Release (sent), NGAP Path Switch Request, NGAP Path Switch Request Acknowledge, NGAP Path Switch Request Failure, NR-RRC RRC Reconfiguration Complete, NR-RRC RRC Reestablishment Request, NR-RRC RRC Reestablishment, NR-RRC RRC Reestablishment Complete

[0313] The decision algorithms for each message are shown in the following figures

[0314] FIGS. 72A-72B show the flowchart of a Call Start due to RRC Setup procedure. If this sub-set of messages ends as failure the call start ends as failed (block), otherwise additional messages are expected.

[0315] FIG. 73 show the flowchart of the security procedure that may appear after the RRC Connection Setup (FIGS. 72A-72B).

[0316] FIGS. 74A-74B show the flowchart of a Call Start with the messages that appear after the RRC Setup (FIGS. 72A-72B) if it is successful.

[0317] FIGS. 75A-75B show the flowchart of a Call Start due to NGAP Incoming Handover.

[0318] FIGS. 76A-76C show the flowchart of a Call Start due to Xn Incoming Handover.

[0319] FIG. 77 shows the flowchart of a Call Start due to RRC Incoming Handover. As RRC Reconfiguration Complete, that is the only message in this flowchart, does not indicate if it is part of a handover, Call Start algorithm will consider that call fragments that start with RRC Connection Complete are generating a Call Start due to RRC Handover.

[0320] FIGS. 79A-79B show the flowchart of a Call Start due to re-establishment. Note that not all re-establishment signaling procedures generate a Call Start procedure, decision algorithm considers only those case in which the first message of the call fragment is part of the Re-establishment procedure. FIGS. 80A-80B are a flowchart of a 5G SA Call Start with the additional messages that can be used to close the procedure. FIG. 81 is a flowchart of a 5G SA Call Start with the logic to close the Call Start procedure. FIGS. 82A-82B are flowchart of a 5G SA Call End corresponding to the basic scenario (NGAP Context Release/RRC Release).

[0321] In case of missing messages in the Call Start processing, this procedure can end due to (FIGS. 79A-79B): [0322] 2 Call Continues after the Call Start procedure [0323] 2 Call ends

[0324] Call Start procedure should include measurements regarding to the serving cell. When call start signaling procedure ends, if measurement information has not arrived, the Call Start processing will wait for that information as shown in FIG. 78.

[0325] Measurement Report message is only considered if time elapsed since the start of the Call Start and the Measurement Report is lower than a threshold.

[0326] Call Start procedure will update the context with the values of the Service and Current Service based on the establishment cause that is set during the Call Start processing.

[0327] Table 6 shows the relation between establishment_cause and service

TABLE-US-00006 TABLE 6 Relation between establishment_cause and service ESTABLISHMENT_CAUSE SERVICE MO Signaling NR Signaling MO SMS MO Data NR Data MO Voice Call NR Voice Emergency MO Video Call NR Video

[0328] Table 7 shows the relation between establishment_cause and current_service

TABLE-US-00007 TABLE 7 Relation between establishment_cause and current_service ESTABLISHMENT_CAUSE CURRENT_SERVICE MO Signaling NR Signaling MO SMS High Priority Access MT Access MPS Priority Access MCS Priority Access MO Data NR Data MO Voice Call NR Voice Emergency MO Video Call NR Video

5G SA Call End

[0329] This procedure will report the most important characteristics of a connection end. A call fragment may end due to one of the following signaling procedures [0330] 1. RRC Release/NGAP UE Context Release [0331] 2. Outgoing Handover [0332] 3. RRC Re-establishment

[0333] Scenario 2 includes Xn, Xn and RRC handovers.

[0334] Message used in the 5G SA Call End Procedure algorithm are the following: NR-RRC RRC Release, NGAP UE Context Release Request, NGAP UE Context Release Command, NGAP UE Context Release Complete, XNAP Handover Request, XNAP Handover Request Acknowledge, XNAP Handover Cancel, XNAP Handover Preparation Failure, XNAP SN Status Transfer, XNAP UE Context Release, NGAP Handover Required, NGAP Handover Command, NGAP Handover Cancel, NGAP Handover Preparation Failure, NR-RRC Mobility From NR Command, NR-RRC RRC Reconfiguration, NR-RRC Reestablishment Request, NR-RRC Reestablishment, NR-RRC Reestablishment Complete

[0335] A Call is considered ended (IS_CALL_ENDED=TRUE) when the procedure includes one of the following combinations [0336] 2 NGAP UE Context Release Command+NGAP UE Context Release Complete NR-RRC RRC Release [0337] 2 NG1AP Handover Required+NGAP UE Context Release Command+NGAP UE Context Release Complete [0338] 2 End Message

[0339] Call End procedure includes measurement information. This information is taken from the context, using the last measurement information recorded during the call. Measurement Report message is only considered if time elapsed since the Measurement Report message and the Call End is lower than a threshold

[0340] The decision algorithms for each message are shown in the following figures:

[0341] FIG. 82 shows the basic Call End procedure.

[0342] NGAP UE Context Release Request is an optional message for the basic Call End procedure.

[0343] Value of Result field for basic Call End procedure depends on the cause reported to perform the release in the NGAP UE Context Release Command o NGAP UE Context Release Request.

[0344] FIG. 83 shows the Call End decision algorithm for Outgoing RRC Handover procedure. An NR-RRC RRC Connection Reconfiguration is considered a HO message when it includes the SSB_ADD_MOD_LIST without FULL_CONFIG.

[0345] Outgoing RRC Handover is always considered as a Successful Call End procedure.

[0346] FIG. 84 shows the Call End decision algorithm for Re-establishment.

[0347] FIGS. 85A-85B show the Call End decision algorithm for Outgoing NGAP Handover procedure. In case the procedure is successful (reception of NGAP Handover Command and/or NR-RRC Mobility From NR Command), after those message, procedure should wait to receive the NGAP Context Release message described in FIG. 82 to close the procedure.

[0348] FIGS. 86A-86C show the Call End decision algorithm for Outgoing Xn Handover procedure.

[0349] FIG. 87 shows the Call End decision algorithm for unfinished calls, i.e., those cases in which the End message arrives without having closed the Call End procedure.

[0350] FIG. 88 shows the logic to set FAILURE_TYPE field. Note there are cases in which the Call Start procedure fails and it includes messages that trigger the Call End procedure. FAILURE_TYPE help user to distinguish those cases.

Miscellaneous

[0351] This procedure will be sent to the output every x messages. Its main purpose is to store the messages not belonging to any defined procedure.

Output

[0352] The Parser generates its output according to these two principles: [0353] the output will only consider the information processed by one cell (cell fragment) [0354] the output will generate partial results of the call in the form of procedures, that is, logical subsets of the call such as Call Start, Handover, Call End.

[0355] In the end all procedures can be correlated using a common identifier or [IMSI+timestamp], and once combined they will provide a global view of the whole user call. This way the Parser provides a more granular and detailed information about the call as well as having outputs closer to real time. Previous section described the processing of each procedure. Now we will describe the kind of information created as output for each one.

[0356] There will be two types of procedures: [0357] asynchronous: generated when the related event happens in the call [0358] synchronous: generated periodically. They will contain information observed during a certain period, such as power or quality measurements related to the serving cell, UL/DL volume transmitted, distance to the serving cell, etcetera.

[0359] The call will be divided in the following procedures depending on the technology.

4G Serving Cell Measurements

[0360]

TABLE-US-00008 TABLE 5 4G Serving Cell Measurements procedure output Field Description Type Cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Meas ends int32 result how the procedure ends: success int32 result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string active_qci Bit mask indicating the QCI of the active eRABs during the bytes measurement interval avg_rsrp average RSRP of the serving cell for al measurement float reports included in the interval of interest. max_rsrp maximum RSRQ reported for the serving cell in all float measurement reports included in the interval of interest samples_rsrp number of MRs with reported RSRP int32 avg_rsrq Average RSRQ of the serving cell for al measurement float reports included in the interval of interest max_rsrq Maximum RSRQ reported for the serving cell in all float measurement reports included in the interval of interest samples_rsrq Number of MRs with reported RSRQ int32 first_ta First TA reported during the time interval of interest float last_ta Last TA reported during the time interval of interest float avg_ul_sinr Average SINR of the serving cell for all messages with float SINR included in the interval of interest max_ul_sinr Maximum SINR reported for the serving cell in all float messages with SINR included in the interval of interest samples_ul_sinr Number of messages with SINR included int32 total_dl_bytes Accumulated number of bytes sent in the downlink int64 direction during the time interval of interest total_ul_bytes Accumulated number of bytes received in the uplink int64 direction during the time interval of interest avg_dl_throughput Average value for the throughput in DL float max_dl_throughput Maximum average DL throughput shows the maximum float value reported in different throughput messages avg_ul_throughput Average value for the throughput in UL (including all float eRABs) max_ul_throughput Maximum average UL throughput shows the maximum float value reported in different throughput messages avg_cqi Average value for the CQI float max_cqi Maximum CQI reported int32 samples_cqi Number of CQI samples reported int32 avg_rank Average value for the rank float max_rank Maximum rank reported int32 samples_rank Number of rank samples reported int32 transmission_mode Transmission mode int32 avg_ccs Avg CCs as the average number of carrier components float used during the measurement interval

5G Serving Cell Measurements

[0361]

TABLE-US-00009 TABLE 6 5G Serving Cell Measurements procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the int32 procedure start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network suci Subscription Concealed Identifier, which is a privacy string preserving identifier containing the concealed SUPI (Subscription Permanent Identifier) imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Measure ends int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string active_5ci Bit mask indicating the 5CI active at the measurement binary interval end time nr_serv_cell_meas_type The measurement type: SSB-Cell, CSI-RS-Cell. int32 Measurements may come in four different versions, ordered as follows from highest to lowest priority from our point of view: SSB per cell, SSB per index (beam), CSI per cell, CSI per index (beam) avg_rsrp average RSRP of the serving cell for al measurement float reports included in the interval of interest. max_rsrp maximum RSRQ reported for the serving cell in all float measurement reports included in the interval of interest samples_rsrp number of MRs with reported RSRP int32 avg_rsrq Average RSRQ of the serving cell for al measurement float reports included in the interval of interest max_rsrq Maximum RSRQ reported for the serving cell in all float measurement reports included in the interval of interest samples_rsrq Number of MRs with reported RSRQ int32 first_ta First TA reported during the time interval of interest float last_ta Last TA reported during the time interval of interest float avg_ul_sinr Average SINR of the serving cell for all messages with float SINR included in the interval of interest max_ul_sinr Maximum SINR reported for the serving cell in all float messages with SINR included in the interval of interest samples_ul_sinr Number of messages with SINR included int32 total_dl_bytes Accumulated number of bytes sent in the downlink int64 direction during the time interval of interest total_ul_bytes Accumulated number of bytes received in the uplink int64 direction during the time interval of interest avg_dl_throughput Average value for the throughput in DL float max_dl_throughput Maximum average DL throughput shows the maximum float value reported in different throughput messages avg_ul_throughput Average value for the throughput in UL (including all float eRABs) max_ul_throughput Maximum average UL throughput shows the maximum float value reported in different throughput messages avg_cqi Average value for the CQI float max_cqi Maximum CQI reported int32 samples_cqi Number of CQI samples reported int32

4G eRAB Establishment

[0362]

TABLE-US-00010 TABLE 7 4G eRAB Establishment procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the int32 cell fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the int32 procedure start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in int64 milliseconds procedure_type Enumerate to identify the procedure type recorded in int32 the registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land string Mobile Network ue_mnc Mobile Network Code of the Home Public Land string Mobile Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Meas ends int32 result how the procedure ends: success, failure, int32 cancellation, other, undefined result_cause In case the procedure fails, this field will be used to int32 report the failure cause message_flow Messages involved in the procedure string active_qci Bit mask indicating the QCI of the active eRABs at bytes the end of the procedure technology The technology transmitting the eRAB under int32 analysis. LTE will be the default value, but for EN-DC procedures those eRABs that are redirected to 5G- NR will show this value (5G-NR) as technology erab_id eRAB identifier int32 qci QCI of the established eRAB int32 priority_level Priority level of the established eRAB int32

4G eRAB Release

[0363]

TABLE-US-00011 TABLE 8 4G eRAB Release procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Meas ends int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string active_qci Bit mask indicating the QCI of the active eRABs at the end bytes of the procedure technology The technology transmitting the eRAB under analysis. LTE int32 will be the default value, but for EN-DC procedures those eRABs that are redirected to 5G-NR will show this value (5G-NR) as technology erab_id eRAB identifier int32 qci QCI of the released eRAB int32 priority_level Priority level of the released eRAB int32 release_cause Include the cause reported in the e-rab release list int32 included in the eRAB release command erab_duration End time - erab setup.start time for the same int64

4G Re-establishment

[0364]

TABLE-US-00012 TABLE 9 4G Re-establishment procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Meas ends int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string establishment_cause Cause of reestablishment int32 cell_coverage first RSRP measurement for the cell reported in the float header. It should happen less than X seconds before the handover starts (where X is a configurable value set to 5 seconds by default) cell_quality first RSRQ measurement for the cell reported in the float header. It should happen less than X seconds before the handover starts (where X is a configurable value set to 5 seconds by default) timing_advance first TA measurement for the cell reported in the header. It float should happen less than X seconds before the handover starts (where X is a configurable value set to 5 seconds by default)

4G Redirection

[0365]

TABLE-US-00013 TABLE 10 4G Redirection procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Meas ends int32 result how the procedure ends: success int32 result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string target_rat Technology to which the user is redirected int32 target_freq Frequency to which the user tries to connect when int64 performing the redirection rsrp Nearest rsrp measurement for the cell reported in the float header rsrq Nearest rsrq measurement for the cell reported in the float header ta Nearest ta measurement for the cell reported in the header float

4G CS Fallback

[0366]

TABLE-US-00014 TABLE 11 4G CS-Fallback procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the Serv Cell Meas ends int32 result how the procedure ends: success int32 result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string trigger Reason to initiate the CS Fallback int32 target_rat Technology to which the user is redirected int32 target_freq Frequency to which the user tries to connect when int64 performing the redirection voice_domain_preference Voice Domain Preference of the subscriber int32 ue_srvcc_capability Support of SRVCC Operation by the subscriber int64 rsrp Nearest rsrp measurement for the cell reported in the float header rsrq Nearest rsrq measurement for the cell reported in the float header ta Nearest ta measurement for the cell reported in the header float

[0367] 4G Handover

TABLE-US-00015 TABLE 12 4G Handover procedure output Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the int32 procedure start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in int64 milliseconds procedure_type Enumerate to identify the procedure type recorded in int32 the registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the handover ends (incoming), int32 handover starts (outgoing) result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to int32 report the failure cause message_flow Messages involved in the procedure string active_qci Bit mask indicating the QCI of the active eRABs at the bytes end of incoming handover or at the begining of outgoing handover interface If we are recording an X2 handover, an S1 handover or int32 an RRC handover. direction Outgoing handover (handover that could end a call) or int32 an incoming handover (handover that starts a call) handover_type If the handover is intra-RAT or inter-RAT, and it the last int32 case the source/target technology. Note that RRC and X2 handover can only be intra-RAT handover_cause The reason to perform the handover int32 voice_handover Set to true if the handover is performed when there are boolean voice rabs established source_cell_type_id Type of identifier used (CGI, internal unique id) int32 source_cell In case of outgoing handover, source cell will refer to string the cell indicated in the header source_cell_uid Unique identifier of the cell int64 target_cell_type_id Type of identifier used (CGI, internal unique id) int32 target_cell In case of incoming handover, target cell will refer to the string cell indicated in the header target_cell_uid Unique identifier of the cell int64 cond_ho field indicating if it is a conditional handover i.e. request boolean sent to several candidate cells candidate_cell_number in case of conditional handover, this field includes the int32 number of cells to which the source eNB sends the handover request candidate_cell_cgi_list CGI for each candidate cell, if available string candidate_cell_freq_pci_list Pair ARFCN-PCI for each candidate cell, if available. string cell_coverage first RSRP measurement for the cell reported in the float header. It should happen less than X seconds before the handover starts (where X is a configurable value set to 5 seconds by default) cell_quality first RSRQ measurement for the cell reported in the float header. It should happen less than X seconds before the handover starts (where X is a configurable value set to 5 seconds by default) timing_advance first TA measurement for the cell reported in the header. float It should happen less than X seconds before the handover starts (where X is a configurable value set to 5 seconds by default)

4G Call Start

[0368]

TABLE-US-00016 TABLE 12 4G Call Start Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the procedure ends int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string Start_type Type of establishment Int32 Establishment_cause Establishment cause reported by any of the starting string procedures. gummei Globally Unique MME Identifier (MCC-MNC-MMEGi- string MMEC) Initial_ue_identity UE Identity used in the previous connection string cell_coverage first RSRP measurement for the cell reported in the float header. It should happen less than X seconds after the procedure cell_quality first RSRQ measurement for the cell reported in the float header. It should happen less than X seconds after the procedure timing_advance first TA measurement for the cell reported in the header. It float should happen less than X seconds after the procedure

4G Call End

[0369]

TABLE-US-00017 TABLE 12 4G Call End Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the procedure starts int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string End_type Type of release Int32 Failure_type Int32 Ran_ue_id enb_ue_s1ap_id or ran_ue_ngap_id depending on the string technology. Uniquely identifies the UE association over the S1 interface within a eNB or NG interface within an gNB Core_ue_id mme_ue_s1ap_id or amf_ue_ngap_id depending on the string technology. Uniquely identifies the UE association over the S1 interface within the MME or NG interface within the AMF cell_coverage last RSRP measurement for the cell reported in the float header. It should happen less than X seconds before the procedure cell_quality last RSRQ measurement for the cell reported in the float header. It should happen less than X seconds before the procedure timing_advance lastTA measurement for the cell reported in the header. It float should happen less than X seconds before the procedure

5G SA Call Start

[0370]

TABLE-US-00018 TABLE 12 5G SA Call Start Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the procedure ends int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string Start_type Type of establishment Int32 Establishment_cause Establishment cause reported by any of the starting string procedures. gummei Globally Unique MME Identifier (MCC-MNC-MMEGi- string MMEC) Initial_ue_identity UE Identity used in the previous connection string cell_coverage first RSRP measurement for the cell reported in the float header. It should happen less than X seconds after the procedure cell_quality first RSRQ measurement for the cell reported in the float header. It should happen less than X seconds after the procedure timing_advance first TA measurement for the cell reported in the header. It float should happen less than X seconds after the procedure

5G SA Call End

[0371]

TABLE-US-00019 TABLE 12 5G SA Call End Field Description Type cell Unique cell id which this procedure is registered int64 cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique identifier of the cell int32 fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier of the procedure int32 start_timestamp_utc Indicates the time at which the time interval starts in int64 seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the start time int32 end_timestamp_utc indicates the time at which the time interval ends in int64 seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end time int32 duration Time elapsed from start_time to end_time in milliseconds int64 procedure_type Enumerate to identify the procedure type recorded in the int32 registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public Land Mobile string Network ue_mnc Mobile Network Code of the Home Public Land Mobile string Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber handset string connection_type Aggregated service: voice, data . . . int32 service Service at the moment the procedure starts int32 result how the procedure ends: success, failure, cancellation, int32 other, undefined result_cause In case the procedure fails, this field will be used to report int32 the failure cause message_flow Messages involved in the procedure string End_type Type of release Int32 Failure_type Int32 Ran_ue_id enb_ue_s1ap_id or ran_ue_ngap_id depending on the string technology. Uniquely identifies the UE association over the S1 interface within a eNB or NG interface within an gNB Core_ue_id mme_ue_s1ap_id or amf_ue_ngap_id depending on the string technology. Uniquely identifies the UE association over the S1 interface within the MME or NG interface within the AMF cell_coverage last RSRP measurement for the cell reported in the float header. It should happen less than X seconds before the procedure cell_quality last RSRQ measurement for the cell reported in the float header. It should happen less than X seconds before the procedure timing_advance lastTA measurement for the cell reported in the header. It float should happen less than X seconds before the procedure

Miscellaneous

[0372]

TABLE-US-00020 TABLE 13 Miscellaneous Field Description Type cell Unique cell id which this procedure is int64 registered cell_fragment_identifier Cell fragment identifier int64 source_identifier With cell_fragment_identifier unique int32 identifier of the cell fragment procedure_identifier Procedure identifier int64 procedure_source_identifier With procedure_identifier unique identifier int32 of the procedure start_timestamp_utc Indicates the time at which the time int64 interval starts in seconds start_timestamp_utc_ns Nanoseconds of the start time int64 start_time_zone_correction Time zone correction of the start time int32 start_timestamp_dst_cor Day Light Save Time Correction of the int32 start time end_timestamp_utc indicates the time at which the time int64 interval ends in seconds end_timestamp_utc_ns nanoseconds of the end time int64 end_time_zone_correction time zone correction of the end time int32 end_timestamp_dst_cor Day Light Save Time Correction of the end int32 time duration Time elapsed from start_time to end_time int64 in milliseconds procedure_type Enumerate to identify the procedure type int32 recorded in the registry imsi IMSI string ue_mcc Mobile Country Code of the Home Public string Land Mobile Network ue_mnc Mobile Network Code of the Home Public string Land Mobile Network imei IMEI string svn Handset Software Version string handset_tac Type Allocation Code of the subscriber string handset connection_type Aggregated service: voice, data . . . int32 service Service at the moment the procedure int32 starts result how the procedure ends: success, failure, int32 cancellation, other, undefined result_cause In case the procedure fails, this field will be int32 used to report the failure cause message_flow Messages involved in the procedure string

Procedure Message

[0373]

TABLE-US-00021 TABLE 14 Procedure messages output Field Description Type version Format version of the following struct uint8 message_list List of messages >message_index Message index under the cell fragment uint32 >utc_time_in_nanoseconds UTC time of the message in ns uint64 >message_type Enumerated to identify the message type uint32 >source_ne_type Source network element type uint8 >source_ne_identifier Source network element internal unique uint64 identifier >destination_ne_type Destination network element type uint8 >destination_ne_identifier Destination network element internal uint64 unique identifier >message_binary_length Length of the message binary uint16 >message_binary asn. 1 content for 3GPP messages, raw bytes data for messages

Process

[0374] FIG. 53 is a flowchart of a Call Data Record (CDR) generation procedure 100 for a Radio Access Network (RAN) parser. The process 100 contemplates implementation as a method having steps, via a processing device configured to implement the steps, via a cloud service configured to implement the steps, and/or as non-transitory computer-readable medium with instructions that, when executed, cause one or more processors to implement the steps.

[0375] The process 100 includes reading signaling messages as they arrive in a Radio Access Network (RAN) parser (step 102); for each signaling message, assigning the signaling message to a procedure, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on status of a procedure associated with the signaling message (step 104); and, based on the status of the procedure, one of (1) waiting on more signaling messages for the procedure and (2) determining the procedure has ended and generating the CDR based on the associated signaling messages (step 106).

[0376] The signaling messages can be in a vendor/technology agnostic format. The steps can include, when the call has ended based on an end message, storing the CDR and removing any information from memory.

[0377] The steps can include incrementally building the CDR based on signaling messages. A signaling message can be assigned to one or more procedures. The CDRs types that can be generated include handover, serving cell measurements, eRAB establishment and release, redirection, reestablishment and CS Fallback.

[0378] The signaling messages are associated with procedures involved in the call. The procedures can be correlated by a common identifier or the tuple international mobile subscriber identity (IMSI) with a timestamp. Details of the procedures can be based on associated signaling messages or from information from correlated procedures. The procedures can be asynchronous, generated when an event happens, or synchronous, generated periodically.

Processing System

[0379] FIG. 54 is a block diagram of a processing system 200, which may be used to implement the process 100. The processing system 200 may be a digital computer that, in terms of hardware architecture, generally includes a processor 202, input/output (I/O) interfaces 204, a network interface 206, a data store 208, and memory 210. It should be appreciated by those of ordinary skill in the art that FIG. 54 depicts the processing system 200 in an oversimplified manner, and a practical embodiment may include additional components and suitably configured processing logic to support known or conventional operating features that are not described in detail herein. The components (202, 204, 206, 208, and 210) are communicatively coupled via a local interface 212. The local interface 212 may be, for example, but not limited to, one or more buses or other wired or wireless connections, as is known in the art. The local interface 212 may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, among many others, to enable communications. Further, the local interface 212 may include address, control, and/or data connections to enable appropriate communications among the aforementioned components.

[0380] The processor 202 is a hardware device for executing software instructions. The processor 202 may be any custom made or commercially available processor, a Central Processing Unit (CPU), an auxiliary processor among several processors associated with the processing system 200, a semiconductor-based microprocessor (in the form of a microchip or chipset), or generally any device for executing software instructions. When the processing system 200 is in operation, the processor 202 is configured to execute software stored within the memory 210, to communicate data to and from the memory 210, and to generally control operations of the processing system 200 pursuant to the software instructions. The I/O interfaces 204 may be used to receive user input from and/or for providing system output to one or more devices or components.

[0381] The network interface 206 may be used to enable the processing system 200 to communicate on a network, such as the Internet 104. The network interface 206 may include, for example, an Ethernet card or adapter or a Wireless Local Area Network (WLAN) card or adapter. The network interface 206 may include address, control, and/or data connections to enable appropriate communications on the network. A data store 208 may be used to store data. The data store 208 may include any of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, and the like)), nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, and the like), and combinations thereof.

[0382] Moreover, the data store 208 may incorporate electronic, magnetic, optical, and/or other types of storage media. In one example, the data store 208 may be located internal to the processing system 200, such as, for example, an internal hard drive connected to the local interface 212 in the processing system 200. Additionally, in another embodiment, the data store 208 may be located external to the processing system 200 such as, for example, an external hard drive connected to the I/O interfaces 204 (e.g., SCSI or USB connection). In a further embodiment, the data store 208 may be connected to the processing system 200 through a network, such as, for example, a network-attached file server.

[0383] The memory 210 may include any of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)), nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.), and combinations thereof. Moreover, the memory 210 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 210 may have a distributed architecture, where various components are situated remotely from one another but can be accessed by the processor 202. The software in memory 210 may include one or more software programs, each of which includes an ordered listing of executable instructions for implementing logical functions. The software in the memory 210 includes a suitable Operating System (O/S) 214 and one or more programs 216. The operating system 214 essentially controls the execution of other computer programs, such as the one or more programs 216, and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The one or more programs 216 may be configured to implement the various processes, algorithms, methods, techniques, etc. described herein.

[0384] In an embodiment, one or more processing devices 200 can be configured in a cluster and/or in a cloud system, for implementing the process 100. Cloud computing systems and methods abstract away physical servers, storage, networking, etc., and instead offer these as on-demand and elastic resources. The National Institute of Standards and Technology (NIST) provides a concise and specific definition which states cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Cloud computing differs from the classic client-server model by providing applications from a server that are executed and managed by a client's web browser or the like, with no installed client version of an application required. The phrase Software as a Service (SaaS) is sometimes used to describe application programs offered through cloud computing. A common shorthand for a provided cloud computing service (or even an aggregation of all existing cloud services) is the cloud.

Conclusion

[0385] It will be appreciated that some embodiments described herein may include one or more generic or specialized processors (one or more processors) such as microprocessors; central processing units (CPUs); digital signal processors (DSPs): customized processors such as network processors (NPs) or network processing units (NPUs), graphics processing units (GPUs), or the like; field programmable gate arrays (FPGAs); and the like along with unique stored program instructions (including both software and firmware) for control thereof to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the methods and/or systems described herein. Alternatively, some or all functions may be implemented by a state machine that has no stored program instructions, or in one or more application-specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic or circuitry. Of course, a combination of the aforementioned approaches may be used. For some of the embodiments described herein, a corresponding device in hardware and optionally with software, firmware, and a combination thereof can be referred to as circuitry configured or adapted to, logic configured or adapted to, etc. perform a set of operations, steps, methods, processes, algorithms, functions, techniques, etc. on digital and/or analog signals as described herein for the various embodiments.

[0386] Moreover, some embodiments may include a non-transitory computer-readable storage medium having computer-readable code stored thereon for programming a computer, server, appliance, device, processor, circuit, etc. each of which may include a processor to perform functions as described and claimed herein. Examples of such computer-readable storage mediums include, but are not limited to, a hard disk, an optical storage device, a magnetic storage device, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), Flash memory, and the like. When stored in the non-transitory computer-readable medium, software can include instructions executable by a processor or device (e.g., any type of programmable circuitry or logic) that, in response to such execution, cause a processor or the device to perform a set of operations, steps, methods, processes, algorithms, functions, techniques, etc. as described herein for the various embodiments.

[0387] Although the present disclosure has been illustrated and described herein with reference to preferred embodiments and specific examples thereof, it will be readily apparent to those of ordinary skill in the art that other embodiments and examples may perform similar functions and/or achieve like results. All such equivalent embodiments and examples are within the spirit and scope of the present disclosure, are contemplated thereby, and are intended to be covered by the following claims. The foregoing sections include headers for various embodiments and those skilled in the art will appreciate these various embodiments may be used in combination with one another as well as individually.