Json Message Editor


In AMF Nodal / AMF Node, gNB CU NSA / SA Nodals and gNB CU Node, the Json Message Editor (similar to the SBI Message Editor ) allows you to configure content within the supported messages.  The Json Message Editor is a licensed feature.

About the 5G Application.

Per 3GPP TS 23.501, 23.502 and 29.5xx.

The Json Message Editor is displayed next to F1, NGAP, RRC tabs associated with the message types listed in the tables below for the test cases listed above. 

 

Messages Supporting Patch Operations

Message Name

Number of Customized JSON Patches

Patch (1 to 16)

 

^ Back to Top


Message Editor

The Message Editor pane allows you to create / edit customized JSON Patches for various 5G Nodal and Node commands.

The JSON Encoding Rules(JER) were developed by OSS Nokalva and standardized by the ISO/IEC and ITU-T in 2018. 
JER was designed to allow applications to represent any ASN.1 value in JavaScript Object Notation (JSON). For example, an application that receives BER- or PER-encoded messages conforming to a certain ASN.1 schema will be able to re-encode the messages in JSON. Refer to this document from the ASN1 web site : 
Https://www.oss.com/asn1/resources/asn1-papers/Overview_of_JER.pdf
It describes the JER encodings of a few major ASN.1 types. It also describes JER encoding instructions and their effect on the JER encodings.

For example : 

The ASN.1 type definition for procedure 0 is defined as follows :
F1AP-PDU ::= initiatingMessage : {
  procedureCode 0,
  criticality reject,
  value Reset : {
    protocolIEs {
      {
        id 78,
        criticality reject,
        value TransactionID : 7
      },
      {
        id 0,
        criticality ignore,
        value Cause : radioNetwork : unspecified
      },
      {
        id 48,
        criticality reject,
        value ResetType : f1-Interface : reset-all
      }
    }
  }
}

The corresponding JSON structure is shown as follows:
{
  "initiatingMessage":{
    "procedureCode":0,
    "criticality":"reject",
    "value":{
      "protocolIEs":[
        {
          "id":78,
          "criticality":"reject",
          "value":7
        },
        {
          "id":0,
          "criticality":"ignore",
          "value":{
            "radioNetwork":"unspecified"
          }
        },
        {
          "id":48,
          "criticality":"reject",
          "value":{
            "f1-Interface":"reset-all"
          }
        }
      ]
    }
  }
}

Thus, before using JSON patch to add IE, you should know the JSON structure of the message which is defined by OSS ASN.1 JER as well as the types of JSON (array, object, string etc) and how to do patch for a JSON object.
 

See examples below :

 

NOTE: Tcl variables are constructed using this method :

  • Interface Number and Name, e.g. F1 (Interface Number) ap (Interface Name), F1ap, AmfNgap, GnbNgap, Rrc.
  • Gui field Tcl variable name, e.g. Number of Customized JSON Patches = PatchNum, Operation = PatchOp
  • Message Code number  e.g. 19, 22
  • JSON PATCH - number 1 to 16
  • Patch Operations - OP number 1 to 16

Examples : F1apPatchOp_6_1_4, F1apPatchValueType_22_5_7

 

Messages Supporting Patch Operations

The Message editor Patch feature is provisioned on a per-message basis and will only display Patch definitions for one message at a time, based on the row selected in the table.  Each message can define up to 16 patches, with each patch containing 1 to 16 operations.

Select a Patch or multiple Patches in the table. The table will display the appropriate Message code and Message Name per supported interface tab.

NOTE:

  • Ensure all operations in the patch are correct. If the entire patch document with all operations cannot be successfully applied, then the server must not apply any of the changes
  • gNB CU Node - For SA Mode = Radisys, 'UE Context Setup Request' (code 20) must be configured on F1-AP Message Editor. Modify the following fields ("Path, Value Type, and Value") for F1-AP UE Context Setup Request message via message editor to match the values shown here:
  • Path : /initiatingMessage/value/protocolIEs/4/value, Value Type = object

    Value : {"uE-CapabilityRAT-ContainerList":"110385D3402000AE9EB42604000581404824C5800260F40C13641873E618F28581C130080C47012A0D89DAC1184341020F94022CB64C550D0E7C471E819F604F8C73E618F28581C0E1E0B80007800E0001E0003C01C00140A83626EB04610D04083E5008B2D

931543439F11C7A067D813E31CF9863CA1607038782E000BE0038002F8000F4070005001B280002800003A0D85181AC1184341020F94022CB64C550D0E7C471E819F604F8C73E618F28581C0E1E0B8002F800E000BE0003C01C00140A83E026B04610D04083E5008A2D931542439F604F88E3C639F30C79

42C0E070F04FE0000003F80000000E00702A0F801AC1184341020F940228B64C55090E7D813E238F18E7CC31E50B0381C3C13FB000000FEC0000003801C00148389A000000240020268280D00C085B1CF87E81601C0014080601C0C01501C0018090010180F80A0080000000400000802000008010000060

08000040040000280ACA9BCA9AC14AC0CAC0DAC19A0282000012CA48080000CB29202000052CA4A080001CB29202000092CA48080002CB29200AA55174AA2E95555058AA071541A28084C0168140E070381C000000010040086284C0004080C10181C2C3044484C60646C8494989CA10"}

 

In this example, all supported messages for the F1 interface in the gNB CU Node test case are available to edit.

 


Customized Patch

Each message can define up to 16 patches, with each patch containing 1 to 16 operations.

See this example below for how to use the “Message Editor” to configure different values on NR Cell Identity and Cell Identity.

Number of Customized JSON Patches

Enter from 1 to 16 Customized JSON Patches. Up to 16 Patch panes become available for input.

Range : 1 to 16

Default : 1

Tcl Variable : PatchNum

Number of Patch Operations

Enter the Number of Patch Operations. Up to 16 OP panes become available for input.

Range : 1 to 16

Default : 1

Tcl Variable : PatchNumOp

Open a Patch Template

Save a Patch Template

Click to open the Patch Template window and select a TC Patch from the available libraries.   

Click to the Patch Template.   

 

The templates will be for individual Patch tabs. Importing a patch template will be done from an existing Patch tab and the information overwrites anything that was there previously.

Display Name

Display Name is used for usability on Message Flows. By default, it is the same as the “Patch 1”, “Patch 2” tab names.  The Display Name becomes part of the template information but cannot be forced upon the template file name and making it meaningful would be up to the user. No type of validation between the Display Name and the template contents can exist.

Template Types.  For generic TAS templates, the GUI defines a template type name which is used as a filtering mechanism in the Open file selection dialog. We filter templates based on message code and interface name.  For convenience, the Tcl prefix for the Json Message Editor tab will be used as the interface name.  The format of the template type name is “Patch” + <tab prefix>_<message code>.    

 

Tcl Variable : PatchName

Apply To

This field applies to NGAP messages 12-17 and 22-28 in the N2|NGAP|Message Editor tab in AMF Node & Nodal and gNB CU Node and NGAP message 60 for gNB CU Node.

Select to indicate if the patch applies to Message Level (default) or Transfer IE.

The patch does not apply to both, either transparent IE level or Message level.

Applies to E2 Setup Request in RIC Nodal test case.

Applies to RIC Indication (E2SM-KPM) in RIC Nodal test case.

RAN Function

Available when "Apply To" = "RAN Function Definition IE" for E2 Setup Request.

Select KPM or RC.

Indication Message Format Choice

Available when "Apply To" = "RIC Indication Message IE" for RIC Indication (E2SM-KPM)

Select 1, 2 or 3.

Subscription Index

Available when "Apply To" = Message Level , RIC Event Trigger Definition IE , RIC Action Definition IE for RIC Subscription Request (E2SM-KPM). 

Select the index of KPM Subscription Detail configuration.

Range : 1 to 16

Action Index

Index of Action configuration within corresponding Subscription Detail configuration (RIC Subscription Request (E2SM-KPM).)

Configurable only when "Apply To" = "RIC Action Definition IE".

Range : 1 to 16

Operation

Select the Operation. Per RFC 6902.

Per RFC 6902, Operations are applied sequentially in the order that they appear in the array. Each operation in the sequence is applied to  the target document; the resulting document becomes the target of the next operation. Pay careful attention if you want to remove several objects.

For example, if you want to remove objects with index 2,3,4 from path /notifyItems/0/changes.

You may configure to remove rules with paths such as :

“/notifyItems/0/changes/2”

“/notifyItems/0/changes/2”

“/notifyItems/0/changes/2”

Or

“/notifyItems/0/changes/4”

“/notifyItems/0/changes/3”

“/notifyItems/0/changes/2”

 

Options: Add, Remove, Replace, Move

Tcl Variable : PatchOp

Path

Unique path identifier generated every time you Add a new path message. Gui input is available for all operations.

The value of the path must follow the syntax defined RFC 6901.

Enter up to 256 characters.

Tcl Variable : PatchPath

Examples:

/ ,

/foo/bar,

/foo/bar/-,

/foo/~0 ,

/foo/~1

In the example below, see where the path information ends up in a .pcap file.

Operation = Add

Path = /n1SmMsg/contentId

Value Type = String

Value = "5GPP_Access"

 

From Path

Available when Operation = Move. The From path must exist in the operated JSON message or you will receive an error. The value in the From Path field will be moved to the Path field.

Enter up to 256 characters.

Tcl Variable : PatchFromPath

Value Type

Available when Operation = Add or Replace.

Options: null , number, string , object , array , bool

The Value field becomes available for input for all Value Type options except for null.

 

Tcl Variable : PatchValueType

Auto-Increment

Available when Operation = Add or Replace and Value Type = number, string

When Value Type = string, select Auto-Increment Mode : Decimal Digits, HEX Digits , IPv4 Address, IPv6 Address, IPv6 Prefix, UE ID, General

Decimal Digits : Enter up to 1024 characters enclosed in quotations

Hex Digits : Enter up to 256 Hex characters enclosed in quotations

IPv4 Address : Enter a valid IPv4 address enclosed in quotations

IPv6 Address : Enter a valid IPv6 address enclosed in quotations

IPv6 Prefix : Enter a valid IPv6 Prefix enclosed in quotations - [Ipv6address] / [prefix length]

UE ID : used to support auto-increment for GPSI, SUPI, PEI etc, UE ID like string. For PEI with prefix "imei-" or "imeisv-", it will auto increment the IMEI part, the first 14 digits of the last digital part. For SUPI with prefix "imsi-" and GPSI with prefix "msisdn-", it will auto increment the entire last digital part.  For other ID format, just simply auto increment the entire last digital part if any. Example: "imeisv-1031014001112000"

General : Available for Value Type = String only with Auto-Increment field (N). Default value "spirent.com".

Click to use the Auto-Increment Format Wizard.

Example:

Select to increment per the test session configuration.  

For example:

Service based nodal test case with Test PCF from SMF enabled (N7) including IPv6 Prefix,  Number of Subscribers = 1000 

in pcfSMPolicyControlUpdateReq message, the /ipv6AddressPrefix is being overridden to be "3001:4870:e00b:7414::/64", given the

Number of Subscribers = 1000 and with Auto-Increment enabled, Value Type = string, Auto-Increment Mode = IPv6 Prefix, you can select to increment IPv6 Prefix for each subscriber.

Tcl Variable : PatchAutoIncreMode

Value

          The value in the Value field should follow the syntax in the RFC 4627. Currently, we support 6 types.

null - The Value field is disabled

string - Any string. The maximum string length is 1024. The value must be enclosed “”; Ex: “hello”

number - A valid number

bool - The value in the Value field is only true or false

object  - The value should be enclosed by a pair of {}. The value of an attribute in the object can be any type that we support.  The maximum length of the object is 5120.

Ex:

      {

       “number” : 1,

        “string”:  “string”,

        “bool” : true,

        “array”: [1, { “number” : 1,

        “string”: “string”}, 3, null],

        …

       }

array - The value should be enclosed by a pair of []. The value in the array can be any type that we support. The maximum length of the array is 5120.

Ex:

[1, { “number” : 1,

        “string”:  “string”}, 3, null]

Tcl Variable : PatchValue

 

Command used in the message that supports Patch Operation

When selecting the patch list for a command, the corresponding Json patch must be defined in the sender APPL.

F1AP Supported Messages:

 

F1AP "Messages Supporting Patch Operations" for gNB CU Node

Message Code

Message Name
1 X2AP to F1AP SGNB Addition
2 X2AP to F1AP RRC Reconfigure Complete
3 X2AP to F1AP SGNB Release
4 X2AP to F1AP UE Context Release
5 F1AP Reset Request
6 F1AP Reset Response
7 F1AP Error Indication
9 F1AP Setup Response
10 F1 Setup Failure
12 F1AP GNB DU Configure Update Acknowledgement
13 F1AP GNB DU Configure Update Failure
14 F1AP GNB CU Configure Update
17

F1AP GNB DU Resource Coordination Request

20 F1AP UE Context Setup Request
24 F1AP UE Context Release Command
26 F1AP UE Context Modification Request
29 F1AP UE Context Modification Confirm
33 F1AP RRC Setup
35 F1AP DL NAS Transport
38

F1AP RRC Reconfigure

40

F1AP Write Replace Warning Request

42 F1AP PWS Cancel Request
46

F1AP System Information Delivery Command

47 F1AP Paging

 

F1AP "Messages supporting patch operations" for gNB CU NSA Nodal/gNB CU SA Nodal

Message Code Message Name
5 F1AP Reset Request
6 F1AP Reset Response
7 F1AP Error Indication
8 F1AP Setup Request
11

F1AP GNB DU Configure Update

15 F1AP GNB CU Configure Update Acknowledgement
16 F1AP GNB CU Configure Update Failure
18 F1AP GNB DU Resource Coordination Response
19 F1AP GNB DU Status Indication
21 F1AP UE Context Setup Response
22 F1AP UE Context Setup Failure
23 F1AP UE Context Release Request
25 F1AP UE Context Release Complete
27 F1AP UE Context Modification Response
28 F1AP UE Context Modification Required
30 F1AP UE Inactivity Notification
31 F1AP UE Notification
32

F1AP Initial UL RRC Message Transfer

34 F1AP RRC Setup Complete
36 F1AP UL NAS Transport
37

F1AP Security Mode Complete

39 F1AP RRC Reconfigure Complete
41 F1AP Write Replace Warning Response
43 F1AP PWS Cancel Response
44 F1AP PWS Restart Indication
45 F1AP PWS Failure Indication

 

RRC "Messages Supporting Patch Operations" for gNB CU Node

Message Code Message Name
102 RRC Setup
104 RRC DL Information Transport
106 RRC Security Mode Command
108 RRC UE Capability Enquiry
110 RRC Reconfigure
112 RRC Release

 

RRC "Messages supporting patch operations" for gNB CU SA Nodal

Message Code Message Name
101 RRC Setup Request
103 RRC Setup Complete
105 RRC UL Information Transfer
107 RRC Security Mode Complete
109

RRC UE Capability Information

111 RRC Reconfigure Complete
113 RRC Cell Group Configuration IE
114 RRC SIB1 IE
115 RRC Measurement Timing Configuration IE

 

NGAP "Messages supporting patch operations" for gNB CU Node & AMF Nodal & AMF Node

 

Message Code Message Name
1 NGAP Setup Request
2 NGAP Setup  Response
3 NGAP Setup  Failure
4 NGAP Error Indication
5 NGAP Initial UE Message
6 NGAP Reroute NAS Request
7 NGAP Rerouted Message
8 NGAP Initial Context Setup Request
9 NGAP Initial  Context Setup Response
10 NGAP Uplink NAS Transport
11 NGAP Downlink NAS Transport
12 NGAP PDU Session Resource Setup
13 NGAP PDU Session Resource Response
14 NGAP PDU Session Resource Modify Request
15 NGAP PDU Session Resource Modify Response
16 NGAP  PDU Session Resource Release Command
17 NGAP PDU Session Resource Release Response
18 NGAP UE Context  Release Request
19 NGAP UE Context  Release  Command
20 NGAP UE Context Release  Complete
21 NGAP UE Radio Capability Info Indication
22 NGAP Path Switch Request
23 NGAP Path Switch Acknowledge
24 NGAP Path Switch Failure
25 NGAP Handover Required
26 NGAP  Handover  Request
27 NGAP Handover  Acknowledge
28 NGAP Handover Command
29 NGAP Handover  Notify
30 NGAP Handover Preparation Failure
31 NGAP Paging
32 NGAP UE Context Modification Request
33 NGAP UE Context Modification Response
34 NGAP RAN Configuration Update
35 NGAP RAN Configuration Update Acknowledge
36 NGAP RAN Configuration Update Failure
37 NGAP RAN Warning Alert Request
38 NGAP RAN  Warning Alert Response
39 NGAP UE Radio Capability Check Request
40 NGAP UE Radio Capability Check Response
41 NGAP AMF Configuration  Update
42 NGAP AMF Configuration  Update Acknowledge
43 NGAP AMF Configuration  Update Failure
44 NGAP RAN Warning Cancel Request
45 NGAP RAN Warning Cancel Response
46 NGAP RAN Warning Restart Request
47 NGAP RAN Warning  Failure Request
48 NGAP Location Reporting Control
49 NGAP Location Report
50 NGAP Location Reporting Failure Indication
51 NGAP NG Reset
52 NGAP NG Reset Acknowledge
53 NGAP Uplink RAN Configuration Transfer Request
54 NGAP Uplink RAN Configuration Transfer Reply
55 NGAP Downlink RAN Configuration  Transfer 
60 NGAP PDU Session Resource Notify

 

E2 Messages for RIC Nodal / RIC Node 

Message Code  Message Name
1 E2 Setup Request
2 E2 Setup Response
21 RIC Subscription Request (E2SM-KPM)
22 RIC Subscription Response (E2SM-KPM)
23 RIC Indication (E2SM-KPM)

 

A1 Messages for RIC Nodal / RIC Node 

Message Code  Message Name
2 queryPolicyTypeIdsResp
4 queryPolicyTypeResp
5 createPolicyReq
6 createPolicyResp
7 updatePolicyReq
8 updatePolicyResp
16 queryPolicyStatusResp
18 querySinglePolicyResp
20 queryAllPolicyIdsResp
21 feedbackPolicyReq
24 queryEiTypeIdsResp
26 queryEiTypeResp
28 queryEiJobResp
30 queryEiJobIdsResp
32 queryEiJobStatusResp
33 createEiJobReq
34 createEiJobResp
35 updateEiJobReq
36 updateEiJobResp
39 deliverEiJobResultReq
41 notifyEiJobStatusReq

 

Example:

The Transfer messages, such as, “PDU Session Resource Setup Request Transfer" , “PDU Session Resource Setup Response Transfer”,” PDU Session Resource Modify Request Transfer” and so on. They are special messages. These parts are encoded first and then the whole NGAP message are encoded. So, patch for these parts are separate because they are encoded separately. 
The “path” for these parts are started from “/protocolIEs/1/value/…”but not from“/initiatingMessage/value/protocolIEs/1/value /…”
 
For example, I want to change the value of   “pDUSessionAggregateMaximumBitRateDL” in “PDU Session Resource Setup Request Transfer” in “PDU Session Resource Setup Request” message to 56.

The configuration is shown as below:

Other IEs’s configuration are as usual. For example, I want to change the “AMF-UE-NGAP-ID” in the same message to 3439329666 :
 

The configuration is:

Example : 

Use the “Message Editor” to configure different values on NR Cell Identity and Cell Identity. 

“30” is from example: 

You can use “30” in F1AP editor or use the following editor choice:
 

The field is case-sensitive as it is defined in the 3GPP specification, and you need to check it in the ASN.1 description in those corresponding specifications. You might also get the reference from Wireshark decoding output. 

For example:
GUI:
/initiatingMessage/value/protocolIEs/3/value/0/value/served-Cell-Information/nRCGI/nRCellIdentity

Wireshark:
F1 Application Protocol (F1SetupRequest)
    Min: 0
    Range: 4
    Bitfield length: 2
    Bits: 00.. .... decimal value: 0
    Choice Index: 0
    F1AP-PDU: initiatingMessage (0)
        initiatingMessage
            procedureCode: id-F1Setup (1)
            Min: 0
            Range: 3
            Bitfield length: 2
            Bits: 00.. .... decimal value: 0
            Enumerated Index: 0
            criticality: reject (0)
            Open Type Length: 110
            value
                F1SetupRequest
                    0... .... Extension Bit: False
                    Sequence-Of Length: 5
                    protocolIEs: 5 items
                        Item 0: id-TransactionID
                        Item 1: id-gNB-DU-ID
                        Item 2: id-gNB-DU-Name
                        Item 3: id-gNB-DU-Served-Cells-List
                            ProtocolIE-Field
                                id: id-gNB-DU-Served-Cells-List (44)
                                Min: 0
                                Range: 3
                                Bitfield length: 2
                                Bits: 00.. .... decimal value: 0
                                Enumerated Index: 0
                                criticality: reject (0)
                                Open Type Length: 66
                                value
                                    Sequence-Of Length: 1
                                    GNB-DU-Served-Cells-List: 1 item
                                        Item 0: id-GNB-DU-Served-Cells-Item
                                            ProtocolIE-SingleContainer
                                                id: id-GNB-DU-Served-Cells-Item (43)
                                                Min: 0
                                                Range: 3
                                                Bitfield length: 2
                                                Bits: 00.. .... decimal value: 0
                                                Enumerated Index: 0
                                                criticality: reject (0)
                                               Open Type Length: 60
                                                value
                                                    GNB-DU-Served-Cells-Item
                                                        0... .... Extension Bit: False
                                                        .1.. .... Optional Field Bit: True (gNB-DU-System-Information is present)
                                                        ..0. .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                        served-Cell-Information
                                                            ...0 .... Extension Bit: False
                                                            .... 1... Optional Field Bit: True (fiveGS-TAC is present)
                                                            .... .0.. Optional Field Bit: False (configured-EPS-TAC is NOT present)
                                                            .... ..0. Optional Field Bit: False (iE-Extensions is NOT present)
                                                            nRCGI
                                                                .... ...0 Extension Bit: False
                                                                0... .... Optional Field Bit: False (iE-Extensions is NOT present)
                                                                pLMN-Identity: 64f070
                                                                    Mobile Country Code (MCC): China (460)
                                                                    Mobile Network Code (MNC): China Mobile (07)
                                                                nRCellIdentity: 000000d050 [bit length 36, 4 LSB pad bits, 0000 0000  0000 0000  0000 0000  1101 0000  0101 .... decimal value 3333]
                                                            nRPCI: 101
                                                            fiveGS-TAC: 1 (0x000001)
                                                            Min: 1
                                                            Range: 6
                                                            Bitfield length: 3
                                                            Bits: 000. .... decimal value: 1
                                                            Sequence-Of Length: 1
                                                            servedPLMNs: 1 item
                                                            Min: 0
                                                            Range: 3
                                                            Bitfield length: 2
                                                            Bits: 01.. .... decimal value: 1
                                                            Choice Index: 1
                                                            nR-Mode-Info: tDD (1)
                                                            Octet String Length: 1
                                                            measurementTimingConfiguration: 30
                                                        gNB-DU-System-Information
                        Item 4: id-GNB-DU-RRC-Version

ts_1.log (before modification):
0xdf3b8700| 2022-04-14 07:59:32.677221|            F1apBaseMsgHdler.cc|   142|         doPatch|  Critical| encoded length:1055, {"initiatingMessage":{"procedureCode":1,"criticality":"reject","value":{"protocolIEs":[{"id":78,"criticality":"reject","value":0},{"id":42,"criticality":"reject","value":1000000},{"id":44,"criticality":"reject","value":[{"id":43,"criticality":"reject","value":{"served-Cell-Information":{"nRCGI":{"pLMN-Identity":"64F070","nRCellIdentity":"00000006F0"},"nRPCI":101,"fiveGS-TAC":"000001","servedPLMNs":[{"pLMN-Identity":"64F070","iE-Extensions":[{"id":131,"criticality":"ignore","extensionValue":[{"sNSSAI":{"sST":"01"}},{"sNSSAI":{"sST":"02"}},{"sNSSAI":{"sST":"03"}}]}]}],"nR-Mode-Info":{"tDD":{"nRFreqInfo":{"nRARFCN":1,"freqBandListNr":[{"freqBandIndicatorNr":34,"supportedSULBandList":[]}]},"transmission-Bandwidth":{"nRSCS":"scs30","nRNRB":"nrb18"}}},"measurementTimingConfiguration":"1010000286C080"},"gNB-DU-System-Information":{"mIB-message":"780008","sIB1-message":"000000A3001CD056000000"}}}]},{"id":171,"criticality":"reject","value":{"latest-RRC-Version":"00","iE-Extensions":[{"id":199,"criticality":"ignore","extensionValue":"0F0700"}]}}]}}}    

Note: If you want to add a field, “object” is needed. Because IE type, criticality and value are needed to be inputted. For the value modification we don’t need to use “object”, as IE type and criticality are known. 

^ Back to Top