Event Data Records

EDR Feature Description

Table 1. Feature History

Feature Name

Release Information

Description

Event Data Record (EDR) Support

2024.03.0

AMF supports the storage of the EDR files in the EDR monitor pods. You can use the EDR files for debugging and troubleshooting.

Command introduced: edr reporting { enable [ all subscribers | file [ transaction | transaction-collision ] ] | disable file [ transaction | transaction-collision ] } to enable EDR in AMF.

Default Setting: Disabled – Configuration Required

Event Data Records (EDRs) collect information that you can use to perform the following functions:
  • Debug and monitor the AMF application behavior

  • Diagnose issues with call flows for specific subscribers

AMF supports generation of EDRs for all the messages exchanged on:

  • N1 & N2 interface

  • UE specific events only

The AMF generates EDR files in comma-separated value (CSV) file format. The CSV files can be optionally compressed before sending to an external server.

EDR Format

AMF generates EDR with certain common transaction fields and also adds procedure-id and event-id along with respective field values. AMF defines the procedure-id, event-id, and field-id for individual messages. This mapping is used to format the CSV event entry in the EDR. Each event entry consists of comma-separated procedure-id, event-id, and field-value. These registered mappings can also be used in CLI commands to disable EDRs at procedure, event, or field level.

Transaction EDR Format

Transaction-EDR-Fields, list of event-entries.

Event Entries

AMF generates EDRs with procedure-level details, event-level details, and field-level details. These granular details help in debugging errors and issues.

The following is a sample transaction entry along with a list of events in the CSV format.

Version, Field-Count, Transaction-id-value, Start-Time, Elapsed-Time, ……,
Procedure-id1, event-id1, field-id1-value, field-id2-value……,
Procedure-id1, event-id2, field-id1-value, field-id2-value……,
Procedure-id1, event-id3, field-id1-value, field-id2-value……

Note


There might be different set of fields for a combination of procedure-id and event-id. You can enable or disable the EDRs dynamically during runtime by using a CLI command. For configuration details, see the Configuring Transaction Level EDR Generation section in this guide.


EDR File Storage Location

This section provides details on the archival location of EDR files in AMF service pod and EDR monitor pod.

EDR Files in AMF Service Pod

The EDR file is generated in each AMF service pod where the subscriber sessions and events are processed. Based on the EDR file size, the files are archived periodically in non-persistent volume, that is, the AMF service pod. A new file is created before archiving the existing file.

The format of the transaction EDR file name and transaction collision EDR file name are as follows:

<pod-name>_<pod_instance>_<PodStartTime>.transaction.csv

<pod-name>_<pod_instance>_<PodStartTime>.transaction_collision.csv

The directory path of service pod is /tmp/edr/.

Example:

amf-service-n0-0_0_ 20220730233455.transaction.csv

Where the pod name is amf-service-n0-0, pod instance is 0, and the pod start time "20220730181014" means 30nd July 2022 18:10:14 UTC.

The format of compressed file name is as follows:

<pod-name>_<pod_instance>_<PodStartTime>.transaction.csv.<fileArchivedTime>.<FileRotationCounter>.gz

Example:

example-service-n0-0_1_20220730181014.transaction.csv.20220730181844.1.gz

EDR Files in EDR Monitor Pod

The AMF service pod sends all the EDR files to edr-monitor pod every 30 seconds. The EDR files remain in edr-monitor pod persistent directory as .csv file. When the total size of all the files exceeds the configured maximum file size, the oldest file is deleted.

The format of file name in edr-monitor pod is <pod-name>_<pod_instance>_<PodStartTime>.transaction.csv.

Example:

edr-monitor pod-n0-0_0_ 20220730233455.transaction.csv

The directory path of edr-monitor pod is /logs/edr/.

The EDR file size, maximum archived EDR file count, and maximum persistent volune size are configured through CLI commands. For information on the configuration commands, see the Configuring EDR Parameters section.

To access the files in the persistent volume of EDR monitor pod, log on to the Ops center with required credentials, and use the edr-monitor pod ingress URL.

To determine the ingress URL, use the following command:

kubectl get ingress -n namespace | grep edr

Example:

cloud-user@svi-cndp-tb41-gr-setup-amf-cluster-2-cndp-server-1:~$ kubectl get ingress -n amf-amf | grep edr

edr-archives-amf-amf nginx edr-archives.amf-amf.172.18.128.82.nip.io 10.109.13.65 80, 443 4d5h

EDR Transaction File

The EDR transaction file dumps the transaction information at the end of the transaction. By default, the file generation is disabled.

The following table provides the information that is stored in the file.

Table 2. EDR Transaction File Fields

Field Number

Field Name

Field Description

1

Version

EDR version number. Default value is v1.

Note

 

The version will change only when there is a change in the encoding order of transaction header fields or change in encoding procedure of any individual field.

2

Field Count

Total number of fields in transaction EDR header. The default value is 15.

3

Transaction ID

Transaction ID

4

Start Time

The transaction start time in yyyy/MM/dd HH:mm:ss.SSS format.

5

Elapsed Ms

The time taken for transaction to end in milliseconds.

6

Subscriber ID

The subscriber ID. For example, imsi-123456789012345

7

Transaction Type

The transaction type (integer) which is defined internally in the application.

8

Transaction Description

The transaction description in string format.

9

Session Primary Key

The primary key of the session.

10

Session Unique Keys

The unique keys for the session separated by |.

11

Session Non Unique Keys

The non-unique keys for the session separated by |.

12

Status

The transaction status (success or error).

13

Status Code

The transaction status code to indicate the failure reason.

14

Procedure Name

The procedure name for which the transaction is submitted.

15

Sub Procedure Name

The sub procedure name for which the transaction is submitted.

16

State

The transaction state. It can be:

  • Started

  • New

  • Ready

  • Active

  • Pending

  • Suspend

  • SuspendWaitingForResponse

  • SuspendWaitingForLock

  • Abort

  • Finished

  • Timeout

  • Unknown

17

Execution stages

The list of stages the transaction went through its lifecycle separated by |

NOTES:

  • Each field is separated by comma (,).

  • Fields session_uks, session_nuks, execution_stages are a list. These fields are separated by pipe (|). For example, session_uks is denoted as uk1|uk2|uk3.

CSV Format Examples:

V1,15,16,2023/11/02 15:36:21.156,9,imsi-123456789012345,
101,N1RegistrationRequest,supi:123456789012345,
guti:12345601038301000001|guti:12345601038301000002|
stmsi:038301000002|ngapId:4|guti:12345601038301000003|
stmsi:038301000003,imei:123456789012345|gpsi:msisdn-8899776655|
ranId:4194304123456,success,success,UERegistration,
N1RegistrationRequest,Active,init_done|finished,
guti:12345601038301000002|supi:123456789012345|
ranId:4194304123456|ngapId:4|guti:12345601038301000003|stmsi:038301000003

Procedure Level EDR Generation

The Event Logging feature captures procedure-level information per subscriber. Upon completing a procedure, either successfully or unsuccessfully, the AMF generates event data records capturing the details of procedures and events.

The EDR generation per procedure is configurable. For configuration details, see the Configuring Transaction Level EDR Generation section in this guide.

The following table lists the supported procedures and the corresponding IDs.

Table 3. Procedure List
Procedure Procedure-ID
UE Registration

3

DE-Registration

4

Service Request (Idle to Active)

5

UE Context release (Active to Idle)

6

Paging

7

PDU N2 Response

Note

 

This procedure captures the events for the N2 responses generated as a part of service request procedure.

11

Xn Handover

14

N2 (Intra AMF) interface

15


Note


At the end of each procedure, AMF logs a Metadata event with event id as 3099.

Fields prefixed with "n1ul" or "n2ul" indicate the fields that are present in messages received by AMF.

Fields prefixed with "n1dl" or "n2dl" indicate the fields that are initiated by AMF.


Further, the AMF captures event-level information per procedure. The following table provides details on the subscriber events and the respective event IDs.

The events captured per procedure are configurable. For configuration details, see the Configuring Transaction Level EDR Generation section in this guide.

The following tables list the detailed event records for:

  • UE Registration

  • DE-Registration

  • Service Request (Idle to Active)

  • UE Context Release (Active to Idle)

  • PDU N2 Response

  • Paging, Xn Handover

  • N2 (Intra AMF) Interface

N1 Registration Message

AMF supports the following fields for the N1 registration message. The fields are in the same sequence as in the table.

IE Name Sample Format
Procedure 3
Event 101 [Registration Request]
version V1
field-count 24
n2ul-msgtype 15
n2ul-amf-ue-ngapid 123
n2ul-ran-ue-ngapid 12346
n1ul-msgtype 101
n1ul-regtype For|VgsRegistrationTypeValue
n1ul-ngksi Tsc|NasKeySetIdentifierValue
n1ul-mobileid

VTypeOfIdentity-IdentityType

For Guti –

VTypeOfIdentity-Mcc;Mnc|

VAMFRegionId| VAMFSetId| VAMFPointer| VGTmsi

n1ul-noncurr-nasksi Tsc|NasKeySetIdentifierValue
n1ul-mmcapability Lpp|Ho|S1Mode
n1ul-uesec-capability Encryption|Integrity
n1ul-reqnssai Sst;Sdt;MapCfgSst;MapCfgSdt
n1ul-lastvisted-reg-tai

Mcc1Mcc2Mcc3|Mnc1Mnc2Mnc3|TAC,

n1ul-uestatus N1ModeReg | S1ModeReg
n1ul-ue-usage-setting 1
n1ul-req-drxparam 1
n1ul-payload-cont-type 1
n1ul-nw-slicing-ind Dcni|Nssci
n1ul-updatetype NgRanDcu| SmsRequested
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-rrc-est-cause 3
n2ul-contextrequest 1
n2ul-allowed-nssai Sst;Sd | Sst;Sd
n1ul-uplink-datastatus

PSI0|PSI1|PSI2|PSI3|PSI4| PSI5|PSI6|PSI7

PSI8|PSI9|PSI0|PSI11|PSI2| PSI3|PSI4|PSI5,

n1ul-pdusess-status

PSI0|PSI1|PSI2|PSI3|PSI4| PSI5|PSI6|PSI7

PSI8|PSI9|PSI0|PSI11|PSI2| PSI3|PSI4|PSI5,

AMF doesn't support any additional fields apart from the fields captured in the preceding table.


Note


  • UE Context Request:

    • 1 – UE context was requested.

    • 0 – UE context wasn’t requested.

  • AMF does not support the functionalities of the following Information Elements (IEs); however, it still records these IEs in the EDR

    • NonCurrentNativeNASKsi

    • LastVisitedRegisteredTai

  • When you enable the EDR for individual SUPIs, the AMF captures EDR messages only after it identifies the SUPI during the Initial UE Registration procedure.


The following is the sample CSV message format for the N1 registration procedure:

,3,101,V1,24,15,,12347,101,126,0,1|2,0|1,guti-123;
456|1|14|3|33554439,,,e0|e0,2;333333;2;333333,,
1|0,0,,,,NrLoc|TAI;plmnId_123_456;30|
NCGI;plmnId_123_456;1|1700142239,3,0,,,
Authentication Request and Response

Authentication request and response (success or failure) are combined events, and AMF logs the details of these events under the registration procedure.

The following table captures the details for the authentication request and successful response.

CLI Fields Sample Format
Procedure 3
Event 151
Version V1
Field-Count 15
status Success
n2dl-msgtype 4
n2-amf-ue-ngapid 16
n2-ran-ue-ngapid 12346
n1dl-msgtype 86
n1dl-ngksi 0|1
n2ul-msgtype 46
n1ul-msgtype 87
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-vgmmcause
n2ul-failparam

The following table captures the details for the authentication request with failed response.

Cli Fields Sample Format
Procedure 3
Event 151
Version V1
Field-Count 15
status Failure
n2dl-msgtype 4
n2-amf-ue-ngapid 5
n2-ran-ue-ngapid 12347
n1dl-msgtype 86
n1dl-ngksi 0|2
n2ul-msgtype 46
n1ul-msgtype 89
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-vgmmcause 20
n2ul-failparam 0|0|0|0|0|0|0|0|0|0|0|0|0|48
Authentication Reject

Upon failure of the authentication procedure, AMF initiates the authentication reject with the following details:

CLI Fields Sample Format
Procedure 3
Event 151
Version V1
Field-Count 15
n2dl-msgtype 4
n2dl-amf-ue-ngapid 16
n2dl-ran-ue-ngapid 12346
n1dl-msgtype 88
n1dl-eap-msg 0|0|0|0|0|0|0|0|0|0|0|0|0|48
Security Mode Command

The Security Mode Command and its Complete/Reject response are logged as a combined event by the AMF under the registration procedure. The following table lists the details of a successful Security Mode Command and Complete message, as well as for a Security Mode Command and Reject message.

CLI Fields Sample Format
Procedure 3
Event 164
Version V1
Field-Count 19
status Success/Failure
n2dl-msgtype 4
n2-amf-ue-ngapid 1
n2-ran-ue-ngapid 12346
n1dl-msgtype 93
n1dl-selnassec-algo 0|1
n1dl-ngksi 0|1
n1dl-replay-uesec-capability e0|e0
n1dl-imeisv-req 1
n1dl-sel-eps-nassec-algo 2|2
n2ul-msgtype 46
n1ul-msgtype 94
n1ul-imeisv imeisv-3520990017614823
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n1ul-cause

Note

 
This field is populated for Security Mode Reject.
23
Registration Accept
CLI-Name Sample Format
Procedure 3
Event 154 Registration Accept
version V1
field-count 29
n2dl-msgtype 4

n2dl-amf-ue-ngapid

123
n2dl-ran-ue-ngapid 12346
n1dl-msgtype 66
n1dl-vgsregresult

EmergencyRegistered|NssaaPerformed|SmsAllowed|

VgsRegistrationResultValue

n1dl-5gguti

VTypeOfIdentity-Mcc;Mnc|

VAMFRegionId| VAMFSetId| VAMFPointer| VGTmsi

Example: guti-123;456|1|14|3|33554450

n1dl-tai-list

type;numberofElements;mcc_mnc_tac1%tac2

or

type;numberofElements;mcc_mnc_Startingtac

00;3;123_456_10%20%30

01;5;123_456_100

n1dl-allowed-nssai

Sst;sd|sst;sd

Example: 0b;111111|02;

n1dl-rejected-nssai

Sst;sd;cause| Sst;sd;cause

Example: 02;111999;0|ff;;0|04;300000;1|ff;;1

n1dl-configured-nssai

Sst;sd|sst;sd

Example: 0b;111111|02;

n1dl-vgsnetworkfeatsupport

Mpsi | IwkN26| Emf|Emc| ImsVopsN3GPP| ImsVops3GPP| Mcsi| Emcn3

Example: 0|1|1|1|0|1|0|0

n1dl-pdusess-status

PSI0|PSI1|PSI2|PSI3|PSI4| PSI5|PSI6|PSI7

PSI8|PSI9|PSI0|PSI11|PSI2| PSI3|PSI4|PSI5,

Example: 0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0

n1dl-pdusessreactivateres

PSI0|PSI1|PSI2|PSI3|PSI4| PSI5|PSI6|PSI7

PSI8|PSI9|PSI0|PSI11|PSI2| PSI3|PSI4|PSI5,

Example: 0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0

n1dl-pdusessreactivatereserrcause

SessionId:CauseValue

Example: 5:28|6:28

n1dl-nw-slicing-ind Dcni| Nssci
n1dl-servarealist

allowedType;TypeofList;NumberOfElements;

mcc_mnc_tac1%tac2

or

allowedType;TypeofList;NumberOfElements;

mcc_mnc_startingTac

or

allowedType;TypeofList;NumberOfElements;

mcc_mnc

Examples:

1;00;2;123_456_30%20|1;01;2;123_456_65534

Or

0;01;2;123_456_65534

Or

0;11;1;123_456

n1dl-t3512

29

n1dl-t3502 2c
n1dl-emergencylist

numberOfElemet|svcCatageory_number;

svcCatageory_number

Example: 2|1_100;2_109

n1dl-extemergency-numlist

numberOfElement|subsvc_number;

subsvc_number

Example: 2|sos.uk_555;_9999

n1dl-sortranscontainer

SorDataTyp; ListIndication;ListType;Ack

Example: 0;1;1;1

n1dl-nssaiinclusionmode 1

n1dl-negotiated-drx-param

3

n1dl-epsbrrctx-status

PSI0|PSI1|PSI2|PSI3|PSI4| PSI5|PSI6|PSI7

PSI8|PSI9|PSI0|PSI11|PSI2| PSI3|PSI4|PSI5,

n2dl-oldamf

string

n2dl-mobrestrictions

See Mobility Restriction List

n2dl-allowed-nssai

Sst;sd|sst;sd

Example: 03;000004|0b;111111

Registration Reject
CLI-Name Sample Format
Procedure 3
Event 155 Registration Reject
version V1
field-count 11
n2dl-msgtype 4

n2dl-amf-ue-ngap-id

123
n2dl-ran-ue-ngap-id 12346
n1dl-msgtype 68

n1dl-5gmm-cause

11

n1dl-t3346

2c

n1dl-t3502

2c

n1dl-rejected-nssai

Sst;sd;cause| Sst;sd;cause

Example: 02;111999;0|ff;;0|04;300000;1|ff;;1

n2dl-old-amf string

Note


AMF logs the UE context release sent after a registration reject or registration complete as a separate event.


Registration Complete
CLI-Name Sample Format
Procedure 3
Event 102 Registration Complete
version V1
field-count 9
status Success or Failure

n2ul-msgtype

46
n2ul-amf-ue-ngap-id 12346
n2ul-ran-ue-ngap-id 101
n1ul-msgtype 67
n1ul-sortranscontainer

SorDataType;;;

Example:

0;0;0;0 -> SorDatatype;ListIndication;ListType;Ack

1;;; -> SorDatatype;;;

N2ul-user-loc-info

NrLoc|TAI;plmnId_123_456;30|NCGI;

plmnId_123_456;1|1701489704


Note


  • AMF logs the following events in a single line:

    Registration Request, Authentication, Security Mode, ICSR, and Registration Accept.

  • Registration complete is a separate entry in EDR.


Initial Context Setup Request
CLI-Name Sample Format
Procedure 3
Event 3000 Initial Context Setup Request
version V1
field-count 14
n2dl-msgtype 14
n2dl-amf-ue-ngap-id 10
n2dl-ran-ue-ngap-id 123456
n2dl-old-amf string
n2dl-ueAggMBR Integer | Integer
n2dl-guami 123;456|3|14|1
n2dl-sessressetupctxreq

Format -

PDUSessionId;SSt;Sd;PayloadConttype;

Backofftimer;Cause |

PDUSessionId1;SSt1;Sd1;PayloadConttype1;

Backofftimer1;Cause1

Note

 

AMF derives the payload container type, backoff timer, and cause value from NAS PDU.

n2dl-allowed-nssai

02;333333

n2dl-ue-security-capabilities

c0;00|c0;00|00;00|00;00

n2dl-security-key

32|a776370429201fd6ac20212ac7f62bda

6fff2bc58b523e908c085f3026be7a0c

n2dl-mobrestrictions See Mobility Restriction List
n2dl-emergencyFBId 1|1

n2dl-redirectionVoiceFallback

0
Initial Context Setup Response
CLI-Name Sample Format
Procedure 3
Event 3001 Initial Context Setup Response
version V1
field-count 5
n2ul-msgtype 14
n2ul-amf-ue-ngap-id 10
n2ul-ran-ue-ngap-id 12345
n2ul-PDUSessResSetupRsp

Single PDU:

“PDU session ID”

Example: 5

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-PDUSessResSetupfail

Single PDU:

“PDU session ID”

Example: 5

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

Initial Context Setup Failure
CLI-Name Sample Format
Procedure 3
Event 3002 Initial Context Setup Failure
version V1
field-count 6
status Failure
n2ul-msgtype 14
n2ul-amf-ue-ngap-id 10
n2ul-ran-ue-ngap-id 12345
n2ul-PDUSessResSetupfail

Single PDU:

“PDU session ID”

Example: 5

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-cause 0|23
UE Context Release Request

The following table list the event details for a gNB initiated UE context release request towards AMF.

CLI-Name Sample Format
Procedure 6
Event 3003 UE Context Release Request
version V1
field-count 5
n2ul-msgtype 42
n2ul-amf-ue-ngapid 2099211
n2ul-ran-ue-ngapid 12346
n2ul-pduSessRsrcList 5|6
n2ul-cause

Cause_group | Value

0|0

UE Context Release Command

This event encompasses both UE context release and complete commands and is part of multiple procedures, such as registration, deregistration, and service requests. In certain cases, the AMF does not wait for the UE Context Release Complete and, therefore, does not update the status field in such instances.

CLI-Name Sample Format
Procedure 3 [Refer Note]
Event 3004 UE Context Release Command
version V1
field-count 8
Status Success, Failure, or empty
n2-msgtype 41
n2-amf-ue-ngapid 4567
n2-ran-ue-ngapid 1234
n2dl-cause

Cause_group | Value

2|0

n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-recommendedCellRanNodes-paging

NCGI:Mcc_Mnc_CellId;TimeStayedInCell|Mcc1

_Mnc1_CellId1;TimeStayedInCell1

ECGI:Mcc_Mnc_CellId;TimeStayedInCell|Mcc1_

Mnc1_CellId1;TimeStayedInCell1

Example - NCGI:214_365_00000002d;35 | NCGI:214_365_00000002e;36

Example - ECGI:214_365_000001f;5 | ECGI:123_456_000002f;12

n2ul-pduSessRsrcList 5|6

Note


Procedure code varies based on the parent procedure under which this event is enabled.


UE Initiated Deregistration
CLI-Name Sample Format
Procedure 4
Event 104
version V1
field-count 13
Status Success/Failure
n2ul-msgtype 46
n2-amf-ue-ngapid 1
n2-ran-ue-ngapid 12346

n1ul-msgtype

69

n1ul-dereg-type

0|0|1
n1ul-ngksi 0|1
n1ul-mobileid

guti-123;456|1|14|3|16777217

n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2dl-msgtype 4

n1dl-msgtype

70
UDM Initiated Deregistration
CLI-Name Sample Format
Procedure 4
Event 158
version V1
field-count 12
Status Success/Failure
n2dl-msgtype 4
n2dl-amf-ue-ngapid 2
n2dl-ran-ue-ngapid 12346

n1dl-msgtype

71

n1-dereg-type

0|0|1
n1dl-cause 23
n1dl-t3346 1

n2ul-msgtype

46

n1ul-msgtype

72
Deregistration DL NAS Transport
CLI-Name Sample Format
Procedure 4
Event 158
version V1
field-count 8
n2dl-msgtype 0
n2dl-amf-ue-ngapid 1
n2dl-ran-ue-ngapid 12346

n1dl-msgtype

104
n1dl-pdu-sessid 5
n1dl-payload-cont-type 1
n1dl-t3346 1
n2dl-cause 2c
Xn-HandOver
CLI-Name Sample Format
Procedure 14
Event 3006
version V1
field-count 18
status Success/ Failure
n2ul-msgtype 25
n2ul-src-amf-ue-ngapid 136314888
n2ul-ran-ue-ngapid 12346
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-ue-security-capabilities 00;01|00;01|00;01|00;01
n2ul-pdu-session-resource-to-be-switched-list

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-pdu-session-resource-failed-setup-list

“PDU session ID” | “PDU session ID”

Example: 7|8

n2dl-msgtype 25
n2dl-amf-ue-ngapid 136314889
n2dl-ran-ue-ngapid 22346
n2dl-ue-security-capabilities 00;00|00;00|00;00|00;00
n2dl-security-context

Ncc|nh

Example: 2|e90712066cc7e598809fc11534ae7b8c4ce

6d1866f855ae77a62c96cd8b430d8

n2dl-pdu-session-resource-switched-list

“PDU session ID” | “PDU session ID”

Example: 5|6

n2dl-pdu-session-resource-released-list

“PDU session ID” | “PDU session ID”

Example: 7|8

n2dl-allowed-nssai 02;333333
n2dl-redirectionVoiceFallback 1
n2dl-pdu-session-resource-failed-release-list

“PDU session ID” | “PDU session ID”

Example: 5|6

N1 Identity Request

AMF logs the N1 identity request and response as combined events and captures the IE details under the registration procedure.

CLI Fields Sample Format
Procedure 3
Event 162
Version V1
Field-Count 12
status Success
n2dl-msgtype 4
n2-amf-ue-ngapid 16
n2-ran-ue-ngapid 12346
n1dl-msgtype 86
n1dl-identity-type SUCI
n2ul-msgtype 46
n1ul-msgtype 87
n1ul-mobileid suci-0-123-456-0-0-0-789012345
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

N1 Request and Failure Response
CLI Fields Sample Format
Procedure 3
Event 162
Version V1
Field-Count 12
status Failure
n2dl-msgtype 4
n2-amf-ue-ngapid 16
n2-ran-ue-ngapid 12346
n1dl-msgtype 86
n1dl-identity-type SUCI
n2ul-msgtype
n1ul-msgtype
n1ul-mobileid
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

Meta Data Information

Following are the procedure level information captured for the meta data.

CLI Fields Sample Format
Procedure 3
Event 3099
Version V1
Field-Count 9
proc-start-time 2024/02/09 14:36:31.559
proc-end-time 2024/02/09 14:36:31.811
proc-status Success
ue-5gmm-state MM_REGISTERED
ue-roaming-status HOMER
ue-serving-area UNKNOWN_AREA
ue-neg-security-capabilty

5G-EA0|128-5G-IA1

ue-gnb-data 12346|4|1663|123_456;4194304
ue-initial-ctx-setup-done 1
ue-nas-dl-ul-count 2|2

Following are the detailed level information captured for the meta data.

proc-start-time Procedure Start Time: Format :(Year/Month/Day Hour: Min: Second: Milliseconds)
proc-end-time Procedure End Time: Date time format :(Year/Month/Day Hour: Min: Second: Milliseconds)
proc-status Procedure status can be either Success or Failure)
ue-5gmm-state

5GMM state

  • MM_DEREGISTERED

  • MM_COMM_PROC_INIT

  • MM_REGISTERED

  • MM_DEREGISTRATION_INIT

  • MM_IDLE

ue-roaming-status

Following are the possible values for roaming status:

  • HOMER

  • ROAMER

  • UNKNOWN

ue-serving-area

UE serving area represent currently UE has been imposed service area restriction or not.

Following are the possible values for SAR:

  • ALLOWED

  • NOT ALLOWED

  • UNKNOWN_AREA

ue-neg-security-capabilty

AMF logs the following fields as part of negotiated Security capability:

  • 5G-NegEA : Negotiated Encryption Algorithms. Example: 5G-EA0.

  • 5G-NegIA: Negotiated Integrity Algorithms, Example : 128-5G-IA1.

ue-gnb-data

AMF captures the following details as part of UE-gNB-data:

Sub-field

  • RAN-UE-NGAP-ID

  • AMF-UE-NGAP-ID

  • NGAP-conn-ID

  • GNB ID

Data Type

  • Integer type

  • Integer type

  • Integer type

    • PLMN ID - mcc, BYTE[]

    • Ran-Ngap-Gnb-Id - Integer type

Example: 12346|4|1663|123_456;4194304

ue-initial-ctx-setup-done

Initial Context Setup done ( 1 or 0)

1 means initial context setup done

0: Initial Context Setup not done

ue-nas-dl-ul-count DL NAS Count | UL NAS Count
Paging Request

N2 paging request IE is an individual event and the following are the fields listed for the paging procedure.

CLI Fields Sample Format
Procedure 7
Event 3009
version V1
field-count 6
n2dl-msgtype 22
n2dl-uepagingIdentity 3|14|16777238
n2dl-pagingdrx 2
n2dl-pagingpriority 5
n2dl-assistancedatapaging

NCGI:Mcc_Mnc_CellId_TimeStayedInCell;

Mcc1_Mnc1_CellId1_TimeStayedInCell1|

PagingAttemptCount;IntendedNumberOfPagingAttempts;

NextPagingAreaScope

ECGI:Mcc_Mnc_CellId_TimeStayedInCell;

Mcc1_Mnc1_CellId1_TimeStayedInCell1|

PagingAttemptCount;IntendedNumberOfPagingAttempts;

NextPagingAreaScope

Example - NCGI:214_365_00000002d_35 ; NCGI:214_365_00000002e_36|1;2;0

Example - ECGI:214_365_000001f_5 ; ECGI:123_456_000002f_12|1;5;5

n2dl-tailistpaging

TAI:Mcc;Mnc;Tac

TAI:123;456;30|TAI:440;784;10

N2 Handover

AMF supports the EDR storage only for intra-N2 handover.

Handover Required

CLI Fields Sample Format
Procedure 15
Event 3010
version V1
field-count 8
n2ul-msgtype 12
n2ul-amf-ue-ngapid 2097153
n2ul-ran-ue-ngapid 12346
n2ul-handoverType 0
n2ul-cause

Cause_group | Value

0|3

n2ul-targetId

Global RAN Node ID:

GnbId (Global gNB ID) added as prefix to denote NG-RAN choice.

gNB: mcc_mnc_ cellIdentity (Example: GnbId:123_456_4194305)

Selected TAI: mcc_mnc_tac (Example: 123_456_30)

Prefix “0:” for NG-RAN added as prefix for TargetId.

Sample Value: NG-RAN – 0;GnbId:123_456_4194305|TAI:123_456_30

n2ul-direct-frwrd

-path-avail

0

n2ul-pdu-session

-resource-list

“PDU session ID” | “PDU session ID”

5|6

Handover Request/Acknoweledgement/Failure

CLI Fields Sample Format
Procedure 15
Event 3011
version V1
field-count 18
status Success/Failure
n2dl-msgtype 13
n2-amf-ue-ngapid 12346
n2dl-handoverType 0 (intra5gs)
n2dl-cause

Cause_group | Value

0|3

n2dl-ueAggMaxBitRate

256000|256000

n2dl-ue-security-capabilities 00;01|00;01|00;01|00;01
n2dl-security-context

Ncc|nh

Example: 2|e90712066cc7e598809fc11534ae7b8c

4ce6d1866f855ae77a62c96cd8b430d8

n2dl-pdu-session-resource-list

“PDU session ID” | “PDU session ID”

Example: 5|6

n2dl-allowed-nssai 2;333333
n2dl-mobrestrictions See Mobility Restriction List
n2dl-guami 123;456|3|14|1
n2dl-redirectionVoiceFallback 1
n2ul-msgtype 13
n2-ran-ue-ngapid 12345
n2ul-pdu-session-resource-admitted-list

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-pdu-session-resource-failed-list

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-cause 0|13

Handover Preparation Failure

CLI Fields Sample Format
Procedure 15
Event 3014
version V1
field-count 4
n2dl-msgtype 12
n2dl-amf-ue-ngapid 12346
n2dl-ran-ue-ngapid 335
n2dl-cause

Cause_group | Value

0|3

Handover Command

CLI Fields Sample Format
Procedure 15
Event 3013
version V1
field-count 4
n2dl-msgtype 12
n2dl-amf-ue-ngapid 12346
n2dl-ran-ue-ngapid 335
n2dl-handoverType 0 - means intra handover type
n2dl-pdu-session-resource-ho-list 5 |6
n2dl-pdu-session-resource-rel-list 6 (empty when not present)

Handover Notify

CLI Fields Sample Format
Procedure 15
Event 3015
version V1
field-count 4
n2ul-msgtype 11
n2ul-amf-ue-ngapid 12346
n2ul-ran-ue-ngapid 335
n2ul-userloc-info NCGI:123;456;1|TAI:123;456;20|

Uplink RAN Status Transfer

CLI Fields Sample Format
Procedure 15
Event 3016
version V1
field-count 4
n2ul-msgtype 49
n2ul-amf-ue-ngapid 12346
n2ul-ran-ue-ngapid 335

Downlink RAN Status Transfer

CLI Fields Sample Format
Procedure 15
Event 3017
version V1
field-count 4
n2dl-msgtype 7
n2dl-amf-ue-ngapid 12346
n2dl-ran-ue-ngapid 335

Handover Cancel and Handover Cancel Acknoweledge

CLI Fields Sample Format
Procedure 15
Event 3019
version V1
field-count 5
status Success
n2-msgtype 10
n2-amf-ue-ngapid 12346
n2-ran-ue-ngapid 335
n2ul-cause 0|5
Service Request
CLI Fields Sample Format
Procedure 5
Event 105
version V1
field-count 14
n2ul-msgtype 46
n2ul-amf-ue-ngapid 5
n2ul-ran-ue-ngapid 12346
n1ul-msgtype 76
n1ul-ngksi 0|1
n1ul-servicetype 4

n1ul-stmsi

stmsi-3|14|16777219
n1ul-uplink-datastatus 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0
n1ul-pdusess-status

0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0

n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-rrc-est-cause 3
n2ul-contextrequest 1
n2ul-allowed-nssai

Sst;sd|sst;sd

Example: 03;000004|0b;111111

Service Accept
CLI Fields Sample Format
Procedure 5
Event 159
version V1
field-count 9
n2dl-msgtype 0
n2dl-amf-ue-ngapid 15
n2dl-ran-ue-ngapid 12346
n1dl-msgtype 78
n1dl-pdusess-status 0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0
n1dl-pdusessreactivateres 0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0
n1dl-pdusessreactivatereserrcause 0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0
n2dl-mobrestrictions See Mobility Restriction List
Service Reject
CLI Fields Sample Format
Procedure 5
Event 160
version V1
field-count 8
n2dl-msgtype 0
n2dl-amf-ue-ngapid 8
n2dl-ran-ue-ngapid 12346
n1dl-msgtype 77
n1ul-cause 28
n1dl-pdusess-status 0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0
n1dl-t3346 2c
UE Context Modification
CLI Fields Sample Format
Procedure 5
Event 3021
version V1
field-count 4
n2dl-msgtype 38
n2dl-amf-ue-ngapid 36
n2dl-ran-ue-ngapid 12346
n2dl-emergencyFBId 0|0
PDU Session Resource Setup Request
CLI Fields Sample Format
Procedure 5
Event 3022
version V1
field-count 5
n2dl-msgtype 29
n2dl-amf-ue-ngapid 36
n2dl-ran-ue-ngapid 12346
n2dl-pdusess-res-setup-req-item

Format -

PDUSessionId;SSt;Sd;PayloadConttype;

Backofftimer;Cause |

PDUSessionId1;SSt1;Sd1;PayloadConttype1;

Backofftimer1;Cause1

Note

 

AMF derives the payload container type, backoff timer, and cause value from NAS PDU.

n2dl-ueAggMBR 25600|25600
PDU Session Resource Setup Modify Request
CLI Fields Sample Format
Procedure 5
Event 3023
version V1
field-count 4
n2dl-msgtype 26
n2dl-amf-ue-ngapid 8
n2dl-ran-ue-ngapid 12346
n2dl-pdusessres-mod

Format -

PDUSessionId;PayloadConttype;Backofftimer;Cause |

PDUSessionId1;PayloadConttype1;Backofftimer1;Cause1

Note

 

AMF derives the payload container type, backoff timer, and cause value from NAS PDU.

Example – 5;1;10;3 | 6;2;;

PDU Session Resource Release Command
CLI Fields Sample Format
Procedure 5
Event 3024
Version V1
field-count 4
n2dl-msgtype 38
n2dl-amf-ue-ngapid 7
n2dl-ran-ue-ngapid 12346
n2dl-pdusessres-rellist

PduSessionID0|PduSessionId1

5|6

n2dl-naspdu

PayloadConttype| backofftimer | Cause

1|10|3

PDU N2 Response Procedure

PDU N2 response events are recorded in the EDR upon the occurrence of the following events:

  • When the AMF initiates requests as part of PDU procedures, such as creation, modification, or release.

  • During service request procedures, including PDU setup, ICSR, and UE context modification.

  • During registration procedures, such as reactivation.

PDU Session Resource Setup Response
CLI Fields Sample Format
Procedure 11
Event 3025
version V1
field-count 5
n2ul-msgtype 29
n2ul-amf-ue-ngapid 2097155
n2ul-ran-ue-ngapid 12346
n2ul-pdu-session-resource-setup-response-list

Single PDU:

“PDU session ID”

Example: 5

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-pdu-session-resource-setup-failure-list

Single PDU:

“PDU session ID”

Example: 6

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

PDU Session Resource Modify Response
CLI Fields Sample Format
Procedure 11
Event 3026
version V1
field-count 6
n2ul-msgtype 26
n2ul-amf-ue-ngapid 2097155
n2ul-ran-ue-ngapid 12346
n2ul-pdu-session-resource-modify-response-list

Single PDU:

“PDU session ID”

Example: 5

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-pdu-session-resource-modify-failure-list

Single PDU:

“PDU session ID”

Example: 6

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

PDU Session Resource Release Response
CLI Fields Sample Format
Procedure 11
Event 3027
Version V1
field-count 5
n2ul-msgtype 28
n2ul-amf-ue-ngapid 2097153
n2ul-ran-ue-ngapid 12346
n2ul-pdu-session-resource-release-response-list

Single PDU:

“PDU session ID”

Example: 5

List of PDUs: (for Ex:2)

“PDU session ID” | “PDU session ID”

Example: 5|6

n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

UE Context Modification Response
CLI Fields Sample Format
Procedure 11
Event 3028
version V1
field-count 7
status Success/Failure
n2ul-msgtype 40
n2ul-amf-ue-ngapid 2097154
n2ul-ran-ue-ngapid 12346
n2ul-rrc-state 0
n2ul-userloc-info

The NCGI denotes the NRLOC and ECGI denotes the EUTRANLOC

Format: NCGI:Mcc;Mnc;CellId | TAI: Mcc;Mnc;Tac| Timestamp

Example: NCGI:123;456;30 |TAI:567;789;30 | 1705848410

Example:ECGI:123;456;30 | TAI:567;789;30| 1705848410

n2ul-cause

Cause_group | Value

0|0

Mobility Restriction List
SUB IE’s SUB-SUB IE’s Printing Format in EDR
ServingPLMN

Mcc -> string

Mnc -> string

servingplmn:mcc;mnc
EquivalentPLMNs

List 0:

Mcc -> string

Mnc -> string

List 1:

Mcc -> string

Mnc -> string

Etc

Single list:

equiplmn:mcc_mnc

Multiple List:

equiplmn:mcc0_mnc0;mcc1_mnc1

RATRestrictions

List of PBRATRestrictionsItem

List 0:

Mcc

Mnc

string

List 1:

Mcc

Mnc

string

etc

Single List:

ratrest:mcc_mnc_val

Multiple List:

ratrest:mcc_mnc_val1;mcc1_mnc1_val2

ServiceAreaInformation

List of PBServiceAreaInformationItem

List 0:

Mcc

Mnc

[][]byte

[][]byte

List 1:

Mcc

Mnc

[][]byte

[][]byte

etc

Single List:

SAInfo:mcc1_mnc1_alltac%

alltac%alltac_nalltac%nalltac

Muliple List:

SAInfo:mcc1_mnc1_alltac

%alltac%alltac_nalltac%nalltac ;

mcc2_mnc2_alltac11%alltac12%alltac12

_nalltac12%nalltac12

Each SUB IE under mobility restriction list is separated by “|” delimiter.

servingplmn:mcc;mnc|
equiplmn:mcc_mnc;mcc1_mnc1|
ratrest:mcc_mnc_val1;mcc1_mnc1_val2|
SAInfo:mcc1_mnc1_alltac%alltac%alltac_nalltac%nalltac ; 
mcc2_mnc2_alltac11%alltac12%alltac12_nalltac12%nalltac12 

Examples:

  • For single list - servingplmn:123;456||ratrest:123_456_80|SAInfo:123_456_10%20_40%50|

  • For multiple list: servingplmn:123;456||ratrest:123_456_80;123_456_40|SAInfo:123_456__10%20%30;123_456_40%50%60_|

EDR Transaction Collision

For collision, AMF provides collision related information in a separate file. This file is present only for debugging and is for internal use. For validation of collision cases, it is recommended to validate contents of the EDR transaction file having content present in the amf-service.

EDR Limitations

The EDR Logging feature has the following limitations:

  • Event record generation does not work for the following scenario:

    • All handover (HO) procedures except Xn HO and intra AMF N2 HO. Further, AMF logs the EDR details only for messages exchanged on N1 and N2 interface.

  • AMF supports EDR reporting exclusively based on the IMSI (SUPI) identifier.

  • The AMF currently supports EDR generation in CSV format. The EDR file storage format is not configurable.

  • AMF doesn't support EDRs for messages on AUSF (N12), UDM (N8), SMF (N11), PCF (N14), MME (N26), and AMF (N14) interfaces.

Configuring EDRs

This section describes how to configure the EDR Logging feature.

Configuring EDR Reporting


Note


EDR generation occurs after you configure the subscriber ID. Then, you can enable EDR reporting for a specific subscriber or for all the subscribers. If you have enabled the EDR reporting for all the subscribers, then the AMF ignores the individual subscriber ID configuration.



Note


To optimize the performance, it is recommended to enable EDR reporting only for a subset of subscribers with specific procedure ID. You can enable or disable the EDRs dynamically during runtime. The existing EDR records remain the same and the runtime changes get reflected only in the newly generated EDR records.


To enable or disable the EDR generation for subscribers, use the following sample configuration:

config 
    edr reporting { enable [ all subscribers | file [ transaction | transaction-collision ] ] | disable file [ transaction | transaction-collision ] } 
    edr all subscribers  
    end  

NOTES:

  • edr reporting { enable [ all subscribers | file [ transaction | transaction-collision ] ] | disable file [ transaction | transaction-collision ] } —Specify this keyword to configure the EDR reporting on AMF. Use the edr reporting enable command to enable the EDR reporting functionality. Use the edr reporting disablefile command to disable the EDR reporting functionality for a specific file. By default, the EDR reporting is disabled.

    For transaction-collision details, see EDR Transaction Collision.

  • Use the edr reporting enable all subscribers command or edr all subscribers to enable the EDR for all the subscribers.


    Note


    • To enable EDR reporting for a subscriber, use the edr subscribers subscriber_id command. subscriber_id must be an alphanumeric string. The default value is empty. Ensure to specify the exact subscriber key in this command. The AMF supports only IMSI (SUPI)-based EDR reporting.

    • Configure a minimum of one subscriber upon enabling the EDR reporting.

    • You can configure a maximum of 10 subscribers for generation of transaction collision EDRs.


Configuring Transaction Level EDR Generation

Use the following sample configuration to generate the EDR events at transaction level.

config 
   edr file { transaction | transaction-collision } 
      procedure-id procedure_value  
         event-id event_value  
            field-id field_value 
            end 
  • edr file { transaction | transaction-collision } : Specify to generate EDR files with transaction or transaction-collision level details for subscriber sessions. For transaction-collision , see EDR Transaction Collision

  • procedure-id procedure_value : Specify the procedure ID or procedure name for which the event reporting must be enabled.

  • event-id event_value : Specify the event ID or event name for which the event reporting must be enabled.

  • field-id field_value : Specify the field ID or field name for which the event reporting must be enabled.

  • All procedure IDs, event IDs, and field IDs registered by application, are enabled by default.

  • If one or more procedures are enabled, then all the other procedures will be disabled and will not be populated in the transaction EDR. Similarly, if one or more events are enabled under a procedure, all other events under that procedure will be disabled and will not be populated in the transaction EDR.

  • If a procedure-id is disabled, no event start, add field, or event-end will be honored for the procedure-id.

  • If an event-id is disabled within a procedure id, then event-start, event-end, or add field will not be honored for the procedure-id and event-id combination.

  • If a field-id is disabled for an event-id, then add-field will not be honored, and a blank entry will be present instead of value in CSV entry.

Example Configuration:

edr file transaction
  procedure-id 24 32
  procedure-id 25
    event-id 5 7 8   
    event-id 5
      field-id 10 12 14 

In the preceding example, event-id 5 7 8 means enable the event-id 5, 7, and 8 for procedure-id 25. The field-id 10 12 14 means enable the field-id 10, 12, and 14 for procedure-id 25 and event-id 5.

Configuring EDR Parameters

To define the EDR parameters, use the following sample configuration:

config 
   edr file transaction  
      flush interval file_flush_interval 
      limit [ size file_size | count file_count| storage edr_storage_size ] 
      procedure procedure_value event event_value field field_value 
      rate rate_value  
      reporting [ disable | enable ] 
      threshold [ cpu cpu_threshold | session session_thresold  ] 
      end 

NOTES:

  • flush interval file_flush_interval —Specify the time interval, in milliseconds, to flush the EDR files. The default value is 1000 ms.

  • limit [ size file_size | count file_count| storage edr_storage_size] —Specify the file-related limits.

    • Use the limit size file_size command to specify the maximum size of an EDR file, after which the EDR file is compressed and new CSV file is created. The default file size is 100 MB.

      The file_size must be an integer in the range of 1 to 2048.


      Note


      The system periodically monitors the size of an EDR file once per second or after the configured flush interval, whichever value is higher. After the EDR file reaches its maximum size, it's compressed and new CSV file is created. However, in some scenarios, the data is being continuously written to the EDR file just before the system performs a periodic check based on the previously mentioned threshold limits. This results in an EDR file that might slightly exceed the configured maximum file size.


    • Use the limit count file_count command to specify the maximum number of EDR files to be preserved. The default file count is 10.

      The file_count must be an integer in the range of 2 to 128.

      When the configured file count is reached, the file is moved to persistent volume and then deleted.

    • Use the limit storage edr_storage_size command to specify the EDR storage size of persistent volume in GiB.

      The edr_storage_size must be an integer in the range of 1 to 24. The default storage size is 4 GiB.

    • Use the limit storage edr_storage_size command to specify the EDR storage size of persistent volume in GiB.

      The edr_storage_size must be an integer in the range of 0 to 64. Set the value to 0 to disable persistent volume in edr-monitor pod. The default storage size is 24 GiB.


      Important


      The storage limit can be changed only in “system mode shutdown” mode. Hence, disabling of persistent volume can be done only when the system is in shutdown state.


  • procedure procedure_value event event_value field field_value —Specify the transaction-level procedure ID configuration information. The procedure_value must be a procedure ID or a procedure name. The event_value must be an event ID or an event name along with a field value.


    Note


    • By default, all the procedure IDs, event IDs, and field IDs, which are registered during the application-start, are enabled.

    • If one or more procedures are enabled, then all other procedures are disabled and are not populated in the transaction EDR.

    • If one or more events are enabled in a procedure, then all other events in that procedure are disabled and are not populated in the transaction EDR.

    • If one or more fields are enabled in an event, then all other fields in that event are disabled and are not populated in the transaction EDR.

    • For the disabled procedure IDs, no event-start, add field, or event-end are honored.

    • For the disabled event IDs in a procedure ID, no event-start, event-end, or add field are honored for the procedure ID and event ID combination.

    • For a disabled field ID within an event ID, no add-field is honored, and a blank entry is available instead of value in CSV entry.


  • rate rate_value —Specify the allowed rate per second to generate EDR records. The default rate is 4096.

    rate_value must be an integer in the range of 32 to 65535.

    When the EDR generation rate limit is reached, transaction EDRs are dropped and a metric is added to track EDR generated, dropped, drop reason, and so on. Note that the rate limiting is performed per service (amf-service) pod instance.

  • reporting [ disable | enable ] —Specify the file for which you have to enable or disable reporting.


    Important


    The edr-monitor pods are spawned only when the transaction edr is enabled.


  • threshold [ cpu cpu_threshold | session session_thresold ] —Specify the threshold to limit the EDR generation.

    • Use the threshold cpu cpu_threshold command to configure the CPU threshold in percentage. If the threshold is breached for a AMF service pod instance, then the application stops generating EDRs. The cpu_threshold must be an integer in the range of 1 to 100, with default value of 80%.

    • Use the threshold session session_thresold command to configure session threshold per GR instance. If the threshold is breached for a GR instance, then the application stops generating EDRs. The session_thresold must be an integer in the range of 0 to 1,000,000, with default value of 100,000.


      Note


      If the rack is running with active-active mode, the session threshold is applied individually for both the GR instances.


Verifying EDR Transactions

Use the following show commands to display the currently registered procedures, events, and fields for the application along with their respective IDs.

show edr transaction-procedure procedure_id event event_id 
show edr event event_id 

You can provide all the procedures and events. Otherwise, you can provide a particular procedure name and event name or procedure-id and event-id.


Note


The show command output is based on the mapping registered by the application.


The following is an example of the show command output.

Procedure-id 20, Procedure-Name: xyz
    Event-id 1, Event-Name: abc
         1 – Field1-Name
         2 – Field2-Name
         …
         …
         …
     Event-id 2, Event-Name: efgh
          1 – Field1-Name
          2 – Field2-Name
          …
          …
          …
    …
    …
    …
Procedure-id 21, Procedure-Name: bbbb
     Event-id 1, Event-Name: cccc
          1 – Field1-Name
          2 – Field2-Name
          …
          …
          …
     Event-id 2, Event-Name: dddd
          1 – Field1-Name
          2 – Field2-Name
          …
          …
          …

This output helps the operator to know current CSV format of a particular procedure-id and event-id pair.

OAM Support for EDR Logging

This section describes operations, administration, and maintenance information for this feature.

Bulk Statistics for EDR Transactions and EDR Reporting

The AMF maintains the following bulk statistics as part of this feature.

  • edr_error_total

    Labels:

    • error_code – The EDR writing error code

This metric is pegged whenever an error occurs during EDR writing. This metric displays "EdrQueueFull" as the error_code when the writing queue is full and the EDR is dropped.

Following metric is used to monitor the EDR count and status.

  • edr_total

    Labels:

    • name – Name of the transaction EDR.

    • status – Status of the EDR transaction if it is successful or has any errors.

    • status_code – The following status codes are supported:

      • EdrReportingDisabled

      • EdrTxnReportingDisabled

      • EdrSessThreshold

      • EdrCpuThreshold

      • EdrRateLimitExceeded

      • EdrFileWriteFailed

      • EdrInvalidEdrId

      • EdrQueueFull

      • EdrIgnored_NoEventRecorded

OAM Support for EDR Logging

This section describes operations, administration, and maintenance information for this feature.

Bulk Statistics for EDR Transactions and EDR Reporting

The AMF maintains the following bulk statistics as part of this feature.

  • edr_error_total

    Labels:

    • error_code – The EDR writing error code

This metric is pegged whenever an error occurs during EDR writing. This metric displays "EdrQueueFull" as the error_code when the writing queue is full and the EDR is dropped.

Following metric is used to monitor the EDR count and status.

  • edr_total

    Labels:

    • name – Name of the transaction EDR.

    • status – Status of the EDR transaction if it is successful or has any errors.

    • status_code – The following status codes are supported:

      • EdrReportingDisabled

      • EdrTxnReportingDisabled

      • EdrSessThreshold

      • EdrCpuThreshold

      • EdrRateLimitExceeded

      • EdrFileWriteFailed

      • EdrInvalidEdrId

      • EdrQueueFull

      • EdrIgnored_NoEventRecorded