PROCEDURE CDR GENERATION FOR A RAN PARSER
20240205339 ยท 2024-06-20
Inventors
- Angel DUR?N ALCAIDE (Pontevedra, ES)
- Juan Jos? RUBIO ESTEBAN (Val?ncia, ES)
- Maria Amparo NAVARRO PERIS (Val?ncia, ES)
- Rub?n ROSELL SABORIT (Castell?n, ES)
- Maria Jos? DOMENECH BENLLOCH (Val?ncia, ES)
- Pau USACH MOLINA (Val?ncia, ES)
- Maria Victoria BAUS? ARAGON?S (Val?ncia, ES)
- Xanthos Nicolaos ANGELIDES (Madrid, ES)
Cpc classification
International classification
H04M15/00
ELECTRICITY
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]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
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]
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]
[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]
[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]
[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
[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
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]
[0203] The decision algorithms for each message are shown in the following figures:
[0204]
[0205]
[0206]
[0207]
[0208]
[0209]
[0210]
[0211]
[0212]
[0213] In Rectangle1 of
[0214] Note that the algorithm calculating the current_service in the context (
[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 (
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]
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.
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.
[0229] In
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]
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]
[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
[0239] The decision algorithms for each message are shown in the following figures:
[0240]
[0241]
[0242]
[0243]
[0244]
[0245] Specific for the decision algorithm of message S1AP Handover Required on scenario 4G outgoing handover, Box 1 in
[0246] The Continuation of the decision algorithms for each message in the following figures:
[0247]
[0248]
[0249]
[0250]
[0251]
[0252]
[0253]
[0254]
[0255]
[0256]
[0257]
[0258]
[0259]
[0260]
[0261]
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]
[0270]
[0271]
[0272]
[0273]
[0274]
[0275]
[0276] In case of missing messages in the Call Start processing, this procedure can end due to (
[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
[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]
[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]
[0301] Outgoing RRC Handover is always considered as a Successful Call End procedure.
[0302]
[0303]
[0304]
[0305]
[0306]
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]
[0315]
[0316]
[0317]
[0318]
[0319]
[0320]
[0321] In case of missing messages in the Call Start processing, this procedure can end due to (
[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
[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]
[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]
[0345] Outgoing RRC Handover is always considered as a Successful Call End procedure.
[0346]
[0347]
[0348]
[0349]
[0350]
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]
[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]
[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.