Procedure CDR generation for a RAN parser
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.
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 based on a context identified by a cell fragment identifier and source identifier, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on a current procedure state derived from message processing in the context associated with the signaling message; and
based on the current procedure state, 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 including closing the procedure and outputting it from the context.
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 by detecting an end message associated with the context, with the end message comprising one of an RRC Connection Release, an S1AP UE Context Release Command, an NGAP UE Context Release Command, or a corresponding release complete message, and further performing a periodic clearing mechanism that removes contexts at a network-element level when the end message is missing.
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, including updating procedure timestamps, message-flow information, and procedure-specific parameters within the context as each signaling message is processed, and incorporating results of procedure closures triggered during message processing.
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 based on a context identified by a cell fragment identifier and source identifier, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on a current procedure state derived from message processing in the context associated with the signaling message; and
based on the current procedure state, 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 including closing the procedure and outputting it from the context.
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 by detecting an end message associated with the context, with the end message comprising one of an RRC Connection Release, an S1AP UE Context Release Command, an NGAP UE Context Release Command, or a corresponding release complete message, and further performing a periodic cleaning mechanism that removes contexts at a network-element level when the end message is missing.
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, including updating procedure timestamps, message-flow information, and procedure-specific parameters within the context as each signaling message is processed, and incorporating results of procedure closures triggered during message processing.
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 based on a context identified by a cell fragment identifier and source identifier, decoding the signaling message to obtain information required to generate a Call Data Record (CDR), and obtaining information on a current procedure state derived from message processing in the context associated with the signaling message; and
based on the current procedure state, 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 including closing the procedure and outputting it from the context.
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, including updating procedure timestamps, message-flow information, and procedure-specific parameters within the context as each signaling message is processed, and incorporating results of procedure closures triggered during message processing.