# O-RAN Near-RT RIC E2 Manager
###### tags: `ORAN`

## :notebook_with_decorative_cover: Table Of Contents
:::info
- [x] General Explanation
- [x] Functions
- [x] Status Code and Error Handling
- [x] Enumerations
:::
<br>
## :notebook_with_decorative_cover: Main Page
## <i class="fa fa-book fa-fw"></i> E2 Manager Rev.5
---
### <center>General Explanation</center>
---
E2M or E2 Manager is used to manage every E2 Nodes that is connected to Near-RT RIC via E2 interfaces. Correlation between client, E2 Manager and the other components will look like this:
:::info

Fig.1. E2 Manager with Nodes and Database Access Diagram
:::
:::info

Fig.2. RNIB Writer And Reader Parents Folder
Source : [O-RAN Wiki](https://wiki.o-ran-sc.org/display/RICP/RNIB)
:::
:::info

Fig.3. E2 Nodes to Database Sequence Diagram When Running GetRAN Command
Source : [O-RAN WIki](https://wiki.o-ran-sc.org/display/RICP/Get+Nodeb+Design)
:::
:::info

Fig.4. Protocol Buffer Byte Sequence Example
Source : [cnblogs](https://www.cnblogs.com/shine-lee/p/10717521.html)
:::
:::info

Fig.5. Key-Value Database Format
Source : [Research Gate](https://www.researchgate.net/figure/Key-value-NoSQL-Database_fig1_332188615)
:::
:::info

Fig.6. New Suggested Flow With A New xApp
Source : [E2APDesign Rev.3](https://drive.google.com/file/d/1boTDaUJBuNqf0NiLfA9b9JbfklVXGwO7/view?usp=sharing)
:::
<br>
---
### <center>Functions</center>
---
In E2 Manager we will use REST API to access the functions, there are several functions in E2 Manager such as :
:::success
**<i class="fa fa-edit"></i> 1. Health Check Request**
:::
:::warning
**Request Format** : GET http://<serverBaseURL>/v#/health
**HTTP Method** : GET
**Successful HTTP Response Code** : 200 OK
**Description** : For simple health check the client should send GET request to /health endpoint. If client receives 200OK it means the server is up and running
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

Example :
```
GET http://localhost:3800/v1/health
accept: application/json
```
:::
:::info
**Response Data Details**
The body is empty if client received 200 0K. No other response expected
:::
<br>
:::success
**<i class="fa fa-edit"></i> 2. Get NodeB Request**
:::
:::warning
**Request Format** : GET http://<serverBaseURL>/v#/nodeb/<ranName>
**HTTP Method** : GET
**Successful HTTP Response Code** : 200 OK
**Description** : For fetching nodeb data from Redis, the client should send GET request
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

Example :
```
GET http://localhost:3800/v1/nodeb/NYC213123
accept: application/json
Content-Type: application/json
```
:::
:::info
**Response Data Details**
In case 200 OK here is the response.

<br>
- **ENB**

<br>
- **Served Cells**

<br>
- **Choice Eutra Mode**

<br>
- **FDD Info**

<br>
- **TDD Info**

<br>
- **Additional Special Subframe Extension Info**

<br>
- **Additional Special Subframe Info**

<br>
- **Special Subframe Info**

<br>
- **mbsfn Subframe**

<br>
- **Neighbor Information**

<br>
- **Prach Configuration**

<br>
- **Additional Cell Information**

<br>
- **Gnb**

<br>
- **Served NR Cells**

<br>
- **Nr Neighbour Information**

<br>
- **Served NR Cell Information**

<br>
- **Choice NR Mode**

<br>
- **NR FDD Info**

<br>
- **dl Freq Info or ul Freq Info or nr Freq Info NR**

<br>
- **Frequency Bands**

<br>
- **sul Information**

<br>
- **dl Transmission Bandwidth or ul Transmission Bandwidth or sul Transmission Bandwidth or Transmission Bandwidth**

<br>
- **NR TDD Info**

<br>
- **RAN Function**

<br>
- **Setup Failure**

<br>
- **Criticality Diagnostics**

<br>
- **Information Element Criticality Diagnostics**

:::
<br>
:::success
**<i class="fa fa-edit"></i> 3. Update GNB Request**
:::
:::warning
**Request Format** : PUT http://<serverBaseURL>/v#/nodeb/gnb/<ranName>
**HTTP Method** : PUT
**Successful HTTP Response Code** : 200 OK
**Description** : For storing nodeb data to Redis, the client should send PUT request
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

Example :
```
PUT http://localhost:3800/v1/nodeb/gnb/test1
accept: application/json
{
"servedNrCells": [
{
"servedNrCellInformation": {
"cellId": "demo1",
"choiceNrMode": {
"fdd": {
"ulFreqInfo": {
"nrArFcn": 1,
"sulInformation": {
"sulArFcn": 2,
"sulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
},
"frequencyBands": [
{
"nrFrequencyBand": 3,
"supportedSulBands": [
1,
2,
3
]
}
]
},
"dlFreqInfo": {
"nrArFcn": 1,
"sulInformation": {
"sulArFcn": 2,
"sulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
},
"frequencyBands": [
{
"nrFrequencyBand": 3,
"supportedSulBands": [
1,
2,
3
]
}
]
},
"ulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
},
"dlTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
}
},
"nrMode": 1,
"nrPci": 1,
"servedPlmns": [
"demo"
]
}
},
{
"servedNrCellInformation": {
"cellId": "demo2",
"choiceNrMode": {
"fdd": {
"ulFreqInfo": {
"nrArFcn": 1,
"sulInformation": {
"sulArFcn": 2,
"sulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
},
"frequencyBands": [
{
"nrFrequencyBand": 3,
"supportedSulBands": [
1,
2,
3
]
}
]
},
"dlFreqInfo": {
"nrArFcn": 1,
"sulInformation": {
"sulArFcn": 2,
"sulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
},
"frequencyBands": [
{
"nrFrequencyBand": 3,
"supportedSulBands": [
1,
2,
3
]
}
]
},
"ulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
},
"dlTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
}
},
"nrMode": 1,
"nrPci": 2,
"servedPlmns": [
"whatever2"
]
},
"nrNeighbourInfos": [
{
"nrCgi": "demo1",
"choiceNrMode": {
"fdd": {
"ularFcnFreqInfo": {
"nrArFcn": 1,
"sulInformation": {
"sulArFcn": 2,
"sulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
},
"frequencyBands": [
{
"nrFrequencyBand": 3,
"supportedSulBands": [
1,
2,
3
]
}
]
},
"dlarFcnFreqInfo": {
"nrArFcn": 1,
"sulInformation": {
"sulArFcn": 2,
"sulTransmissionBandwidth": {
"nrscs": 1,
"ncnrb": 1
}
},
"frequencyBands": [
{
"nrFrequencyBand": 3,
"supportedSulBands": [
1,
2,
3
]
}
]
}
}
},
"nrMode": 1,
"nrPci": 1
}
]
}
]
}
```
:::
:::info
**Response Data Details**
If response is 200 OK, the response is identical to Get NodeB request response.
:::
<br>
:::success
**<i class="fa fa-edit"></i> 4. Insert ENB Request**
:::
:::warning
**Request Format** : POST http://<serverBaseURL>/v#/nodeb/enb
**HTTP Method** : POST
**Successful HTTP Response Code** : 201 CREATED
**Description** : For storing new nodeb from eNB type to Redis, the client should send POST request
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

Example :
```
POST http://<serverBaseURL>/v#/nodeb/enb
accept: application/json
{
"ranName": "test4",
"globalNbId": {
"nbId": "abc",
"plmnId": "def"
},
"ip": "10.2.3.1",
"port": 1234,
"enb": {
"enbType": 1,
"guGroupIds": [
"ghi"
],
"servedCells": [
{
"broadcastPlmns": [
"jkl"
],
"cellId": "mnop",
"choiceEutraMode": {
"fdd": {
"dlearFcn": 1,
"ulearFcn": 1
},
"tdd": {
"additionalSpecialSubframeExtensionInfo": {
"additionalSpecialSubframePatternsExtension": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"additionalSpecialSubframeInfo": {
"additionalSpecialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"earFcn": 4,
"specialSubframeInfo": {
"specialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
}
}
},
"eutraMode": 1,
"csgId": "string",
"mbmsServiceAreaIdentities": [
"sds"
],
"mbsfnSubframeInfos": [
{
"radioframeAllocationOffset": 3,
"subframeAllocation": "jhg"
}
],
"multibandInfos": [
4
],
"neighbourInfos": [
{
"earFcn": 4,
"ecgi": "klj",
"pci": 5,
"tac": "wew"
}
],
"pci": 2,
"prachConfiguration": {
"highSpeedFlag": true,
"prachConfigurationIndex": 5,
"prachFrequencyOffset": 6,
"rootSequenceIndex": 7,
"zeroCorrelationZoneConfiguration": 6
},
"tac": "asd",
"additionalCellInformation": {
"cellLatitude": 1,
"cellLongitude": 1,
"antennaHeight": 1,
"antennaAzimuthDirection": 2,
"antennaTiltAngle": 3,
"antennaMaxTransmit": 4,
"antennaMaxGain": 5,
"sectorId": 6
}
},
{
"broadcastPlmns": [
"jkl"
],
"cellId": "qrst",
"choiceEutraMode": {
"fdd": {
"dlearFcn": 4,
"ulearFcn": 2
},
"tdd": {
"additionalSpecialSubframeExtensionInfo": {
"additionalSpecialSubframePatternsExtension": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"additionalSpecialSubframeInfo": {
"additionalSpecialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"earFcn": 4,
"specialSubframeInfo": {
"specialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
}
}
},
"eutraMode": 1,
"csgId": "string",
"mbmsServiceAreaIdentities": [
"sds"
],
"mbsfnSubframeInfos": [
{
"radioframeAllocationOffset": 5,
"subframeAllocation": "jhg"
}
],
"multibandInfos": [
4
],
"neighbourInfos": [
{
"earFcn": 2,
"ecgi": "klj",
"pci": 4,
"tac": "wew"
}
],
"pci": 3,
"prachConfiguration": {
"highSpeedFlag": true,
"prachConfigurationIndex": 4,
"prachFrequencyOffset": 3,
"rootSequenceIndex": 3,
"zeroCorrelationZoneConfiguration": 2
},
"tac": "asd",
"additionalCellInformation": {
"cellLatitude": 3,
"cellLongitude": 3,
"antennaHeight": 3,
"antennaAzimuthDirection": 3,
"antennaTiltAngle": 4,
"antennaMaxTransmit": 4,
"antennaMaxGain": 5,
"sectorId": 5
}
}
]
}
```
:::
:::info
**Response Data Details**
If response is 201 CREATED, the response is identical to Get NodeB request response.
:::
<br>
:::success
**<i class="fa fa-edit"></i> 5. Update ENB Request**
:::
:::warning
**Request Format** : PUT http://<serverBaseURL>/v#/nodeb/enb/<ranName>
**HTTP Method** : PUT
**Successful HTTP Response Code** : 200 OK
**Description** : For Updating nodeb from eNB type to Redis, the client should send PUT request
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

Example :
```
PUT http://<serverBaseURL>/v#/nodeb/enb/<ranName>
accept: application/json
{
"enb": {
"enbType": 1,
"guGroupIds": [
"ghi"
],
"servedCells": [
{
"broadcastPlmns":[
"jkl"
],
"cellId": "mnop",
"choiceEutraMode": {
"fdd": {
"dlearFcn": 1,
"ulearFcn": 1
},
"tdd": {
"additionalSpecialSubframeExtensionInfo": {
"additionalSpecialSubframePatternsExtension": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"additionalSpecialSubframeInfo": {
"additionalSpecialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"earFcn": 4,
"specialSubframeInfo": {
"specialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
}
}
},
"eutraMode": 1,
"csgId": "string",
"mbmsServiceAreaIdentities": [
"sds"
],
"mbsfnSubframeInfos": [
{
"radioframeAllocationOffset": 3,
"subframeAllocation": "jhg"
}
],
"multibandInfos": [
4
],
"neighbourInfos": [
{
"earFcn": 4,
"ecgi": "klj",
"pci": 5,
"tac": "wew"
}
],
"pci": 2,
"prachConfiguration": {
"highSpeedFlag": true,
"prachConfigurationIndex": 5,
"prachFrequencyOffset": 6,
"rootSequenceIndex": 7,
"zeroCorrelationZoneConfiguration": 6
},
"tac": "asd",
"additionalCellInformation": {
"cellLatitude": 1,
"cellLongitude": 1,
"antennaHeight": 1,
"antennaAzimuthDirection": 2,
"antennaTiltAngle": 3,
"antennaMaxTransmit": 4,
"antennaMaxGain": 5,
"sectorId": 6
}
},
{
"broadcastPlmns": [
"jkl"
],
"cellId": "qrst",
"choiceEutraMode": {
"fdd": {
"dlearFcn": 4,
"ulearFcn": 2
},
"tdd": {
"additionalSpecialSubframeExtensionInfo": {
"additionalSpecialSubframePatternsExtension": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"additionalSpecialSubframeInfo": {
"additionalSpecialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
},
"earFcn": 4,
"specialSubframeInfo": {
"specialSubframePatterns": 1,
"cyclicPrefixDl": 1,
"cyclicPrefixUl": 1
}
}
},
"eutraMode": 1,
"csgId": "string",
"mbmsServiceAreaIdentities": [
"sds"
],
"mbsfnSubframeInfos": [
{
"radioframeAllocationOffset": 5,
"subframeAllocation": "jhg"
}
],
"multibandInfos": [
4
],
"neighbourInfos": [
{
"earFcn": 2,
"ecgi": "klj",
"pci": 4,
"tac": "wew"
}
],
"pci": 3,
"prachConfiguration": {
"highSpeedFlag": true,
"prachConfigurationIndex": 4,
"prachFrequencyOffset": 3,
"rootSequenceIndex": 3,
"zeroCorrelationZoneConfiguration": 2
},
"tac": "asd",
"additionalCellInformation": {
"cellLatitude": 3,
"cellLongitude": 3,
"antennaHeight": 3,
"antennaAzimuthDirection": 3,
"antennaTiltAngle": 4,
"antennaMaxTransmit": 4,
"antennaMaxGain": 5,
"sectorId": 5
}
}
]
}
}
```
:::
:::info
**Response Data Details**
If response is 200 OK, the response is identical to Get NodeB request response.
:::
<br>
:::success
**<i class="fa fa-edit"></i> 6. Delete ENB Request**
:::
:::warning
**Request Format** : DELETE http://<serverBaseURL>/v#/nodeb/enb/<ranName>
**HTTP Method** : DELETE
**Successful HTTP Response Code** : 200 OK
**Description** :
For Deleting nodeb from eNB type to Redis, the client should send DELETE request
:::
:::info
**Request Data Details**
No Need Request Body
:::
:::info
**Response Data Details**
If response is 204 No Content, it means Delete ENB Request sucessfully running
:::
<br>
:::success
**<i class="fa fa-edit"></i> 7. Shut Down Request**
:::
:::warning
**Request Format** : PUT http://<serverBaseURL>/v#/nodeb/shutdown
**HTTP Method** : PUT
**Successful HTTP Response Code** : 204 No Content
**Description** :
E2 Manager is requested to Shut Down all the RANs
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

Example
```
PUT http://localhost:3800/v1/nodeb/shutdown
accept: application/json
```
:::
:::info
**Response Data Details**
If response is 204 No Content there is no body, and with 202 Accepted with error details in case failure such as Routing Manager
:::
<br>
:::success
**<i class="fa fa-edit"></i> 8. Get All NodeB States Request**
:::
:::warning
**Request Format** : GET http://<serverBaseURL>/v#/nodeb/states
**HTTP Method** : GET
**Successful HTTP Response Code** : 200 OK
**Description** :
E2 Manager is requested to get list of all RANs in its RNIB DB
Note: In previous Release it was called Get All nodeb and its End point was different
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

:::
:::info
**Response Data Details**
If response is 200 OK, the payload will be

<br>
- **nodebIdentity**

<br>
- **globalNbId**

:::
<br>
:::success
**<i class="fa fa-edit"></i> 9. Get All E2T Request**
:::
:::warning
**Request Format** : GET http://<serverBaseURL>/v#/e2t/list
**HTTP Method** : GET
**Successful HTTP Response Code** : 200 OK
**Description** :
E2 Manager is requested to get list of all E2T Instances address and list of RANs associate with each E2T Instance
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

<br>
Example :
```
GET http://localhost:3800/v1/e2t/list
accept: application/json
```
:::
:::info
**Response Data Details**
If response is 200 OK, the payload will be

<br>
- **e2Identity**

<br>
Example :
```
GET http://localhost:3800/v1/e2t/list
accept: application/json
[
{
"e2tAddress": "e2t.att.com:38000",
"ranNames": ["test1","test2"]
},
{
"e2tAddress": "e2t.att.com:38001",
"ranNames": ["test1","test2","test3"]
}
]
```
:::
<br>
:::success
**<i class="fa fa-edit"></i> 10. E2M Set Parameter**
:::
:::warning
**Request Format** : PUT http://<serverBaseURL>/v#/nodeb/parameters
**HTTP Method** : PUT
**Successful HTTP Response Code** : 200 OK
**Description** :
E2 Manager is requested to set some Parameter
:::
:::info
**Request Data Details**
Here are the key elements included in the request.

<br>
- **parameter**

<br>
Example :
```
PUT http://localhost:3800/v1/nodeb/parameters
accept: application/json
{
"enableRic": true,
}
```
:::
:::info
**Response Data Details**
If response is 200 OK it means it is working.
:::
<br>
---
### <center>Status Code and Error Handling</center>
---
There are some scenarios that the client may receive error responses, Here is the list of HTTP status code :
:::info

:::
and for the list of HTTP status code and list of the error codes for E2M Api will look like this :
:::info

:::
Here is one error example that will returned in form of JSON data format
```
{
"errorCode": 402,
"errorMessage": “Mandatory fields are missing”
}
```
<br>
---
### <center>Enumerations</center>
---
| Number | Attribute Type | Legal Values |
| -------- | -------- | -------- |
| 1 | Connection Status | UNKNOWN_CONNECTION_STATUS = 0;<br>CONNECTED = 1;<br>DISCONNECTED = 2;<br>CONNECTED_SETUP_FAILED = 3;<br>CONNECTING = 4;<br>SHUTTING_DOWN = 5;<br>SHUT_DOWN = 6;|
| 2 | Failure Type | UNKNOWN_TYPE = 0;<br>X2_SETUP_FAILURE = 1;<br>ENDC_X2_SETUP_FAILURE = 2;|
| 3 | Node Type | UNKNOWN = 0;<br>ENB = 1;<br>GNB = 2;|
| 4 | Radio Network Layer Cause | UNKNOWN = 0;<br>HANDOVER_DESIRABLE_FOR_RADIO_REASONS = 1;<br>TIME_CRITICAL_HANDOVER = 2;<br>RESOURCE_OPTIMISATION_HANDOVER = 3;<br>REDUCE_LOAD_IN_SERVING_CELL = 4;<br>PARTIAL_HANDOVER = 5;<br>UNKNOWN_NEW_ENB_UE_X2AP_ID = 6;<br>UNKNOWN_OLD_ENBME_UE_X2AP_ID = 7;<br>UNKNOWN_PAIR_OF_UE_X2AP_ID = 8;<br>HO_TARGET_NOT_ALLOWED = 9;<br>TX2_RELOC_OVERALL_EXPIRY = 10;<br>T_RELOC_PREP_EXPIRY = 11;<br>CELL_NOT_AVAILABLE = 12;<br>NO_RADIO_RESOURCES_AVAILABLE_IN_TARGET_CELL = 13;<br>INVALID_MME_GROUP_ID = 14;<br>UNKNOWN_MME_CODE = 15;<br>ENCRYPTION_INTEGRITY_PROTECTION_ALGORITHMS_NOT_SUPPORTED = 16;<br>REPORT_CHARACTERISTICS_EMPTY = 17;<br>NO_REPORT_PERIODICITY = 18;<br>EXISTING_MEASUREMENT_ID = 19;<br>UNKNOWN_ENB_MEASUREMENT_ID = 20;<br>MEASUREMENT_TEMPORARILY_NOT_AVAILABLE = 21;<br>UNSPECIFIED = 22;<br>LOAD_BALANCING = 23;<br>HANDOVER_OPTIMISATION = 24;<br>VALUE_OUT_OF_ALLOWED_RANGE = 25;<br>MULTIPLE_E_RAB_ID_INSTANCES = 26;<br>SWITCH_OFF_ONGOING = 27;<br>NOT_SUPPORTED_QCI_VALUE = 28;<br>MEASUREMENT_NOT_SUPPORTED_FOR_THE_OBJECT = 29;<br>TDC_OVERALL_EXPIRY = 30;<br>TDC_PREP_EXPIRY = 31;<br>ACTION_DESIRABLE_FOR_RADIO_REASONS = 32;<br>REDUCE_LOAD = 33;<br>RESOURCE_OPTIMISATION = 34;<br>TIME_CRITICAL_ACTION = 35;<br>TARGET_NOT_ALLOWED = 36;<br>NO_RADIO_RESOURCES_AVAILABLE = 37;<br>INVALID_QOS_COMBINATION = 38;<br>ENCRYPTION_ALGORITHMS_NOT_SUPPORTED = 39;<br>PROCEDURE_CANCELLED = 40;<br>RRM_PURPOSE = 41;<br>IMPROVE_USER_BIT_RATE = 42;<br>USER_INACTIVITY = 43;<br>RADIO_CONNECTION_WITH_UE_LOST = 44;<br>FAILURE_IN_THE_RADIO_INTERFACE_PROCEDURE = 45;<br>BEARER_OPTION_NOT_SUPPORTED = 46;<br>MCG_MOBILITY = 47;<br>SCG_MOBILITY = 48;<br>COUNT_REACHES_MAX_VALUE = 49;<br>UNKNOWN_OLD_EN_GNB_UE_X2AP_ID = 50;<br>PDCP_OVERLOAD = 51;|
| 5 | Transport Layer Cause | UNKNOWN = 0;<br>TRANSPORT_RESOURCE_UNAVAILABLE = 1;<br>UNSPECIFIED = 2;|
| 6 | Protocol Cause | UNKNOWN = 0;<br>TRANSFER_SYNTAX_ERROR = 1;<br>ABSTRACT_SYNTAX_ERROR_REJECT = 2;<br>ABSTRACT_SYNTAX_ERROR_IGNORE_AND_NOTIFY = 3;<br>MESSAGE_NOT_COMPATIBLE_WITH_RECEIVER_STATE = 4;<br>SEMANTIC_ERROR = 5;<br>UNSPECIFIED = 6;<br>ABSTRACT_SYNTAX_ERROR_FALSELY_CONSTRUCTED_MESSAGE = 7;|
| 7 | Miscellaneous Cause | UNKNOWN = 0;<br>CONTROL_PROCESSING_OVERLOAD = 1;<br>HARDWARE_FAILURE = 2;<br>OM_INTERVENTION = 3;<br>NOT_ENOUGH_USER_PLANE_PROCESSING_RESOURCES = 4;<br>UNSPECIFIED = 5;|
| 8 | Time To Wait | UNKNOWN_TIMEOUT = 0;<br>V1S = 1;<br>V2S = 2;<br>V5S = 3;<br>V10S = 4;<br>V20S = 5;<br>V60S = 6;|
| 9 | Type of Error | UNKNOWN_ERROR = 0;<br>NOT_UNDERSTOOD = 1;<br>MISSING = 2;|
| 10 | Triggering Message | UNKNOWN_MESSAGE = 0;<br>INITIATING_MESSAGE = 1;<br>SUCCESSFUL_OUTCOME = 2;<br>UNSUCCESSFUL_OUTCOME = 3;|
| 11 | Criticality | UNKNOWN_CRITICALITY = 0;<br>REJECT = 1;<br>IGNORE = 2;<br>NOTIFY = 3;|
| 12 | Bandwidth Reduced SI | UNKNOWN_BANDWIDTH_REDUCED_SI = 0;<br>SCHEDULED = 1;|
| 13 | Eutra Mode / Nr Mode | UNKNOWN = 0;<br>FDD = 1;<br>TDD = 2;|
| 14 | Freq Band Indicator Priority | UNKNOWN_FREQ_BAND_INDICATOR_PRIORITY = 0;<br>NOT_BROADCASTED = 1;<br>BROADCASTED = 2;|
| 15 | Number Of Antenna Ports | UNKNOWN_NUMBER_OF_ANTENNA_PORTS = 0;<br>AN1 = 1;<br>AN2 = 2;<br>AN4 = 3;|
| 16 | Transmission Bandwidth | UNKNOWN_TRANSMISSION_BANDWIDTH = 0;<br>BW6 = 1;<br>BW15 = 2;<br>BW25 = 3;<br>BW50 = 4;<br>BW75 = 5;<br>BW100 = 6;<br>BW1 = 7;|
| 17 | Subframe Allocation Type | UNKNOWN_SUBFRAME_ALLOCATION_TYPE = 0;<br>ONE_FRAME = 1;<br>FOUR_FRAME = 2;|
| 18 | Radio frame Allocation Period | UNKNOWN_RADIOFRAME_ALLOCATION_PERIOD = 0;<br>N1 = 1;<br>N2 = 2;<br>N4 = 3;<br>N8 = 4;<br>N16 = 5;<br>N32 = 6;|
| 19 | Enb Type | UNKNOWN_ENB_TYPE = 0;<br>MACRO_ENB = 1;<br>HOME_ENB = 2;<br>SHORT_MACRO_ENB = 3;<br>LONG_MACRO_ENB = 4;|
| 20 | Additional Special Subframe | UNKNOWN = 0;<br>SSP0 = 1;<br>SSP1 = 2;<br>SSP2 = 3;<br>SSP3 = 4;<br>SSP4 = 5;<br>SSP5 = 6;<br>SSP6 = 7;<br>SSP7 = 8;<br>SSP8 = 9;<br>SSP9 = 10;|
| 21 | Special Subframe | UNKNOWN = 0;<br>SSP0 = 1;<br>SSP1 = 2;<br>SSP2 = 3;<br>SSP3 = 4;<br>SSP4 = 5;<br>SSP5 = 6;<br>SSP6 = 7;<br>SSP7 = 8;<br>SSP8 = 9;|
| 22 | Subframe Assignment | UNKNOWN_SUBFRAME_ASSIGNMENT = 0;<br>SA0 = 1;<br>SA1 = 2;<br>SA2 = 3;<br>SA3 = 4;<br>SA4 = 5;<br>SA5 = 6;<br>SA6 = 7;|
| 23 | Cyclic Prefix | UNKNOWN_CYCLIC_PREFIX = 0;<br>NORMAL = 1;<br>EXTENDED = 2;|
| 24 | Additional Special Subframe Patterns | UNKNOWN = 0;<br>SSP10 = 1|
| 25 | nrscs | UNKNOWN_NRSCS = 0;<br>SCS15 = 1;<br>SCS30 = 2;<br>SCS60 = 3;<br>SCS120 = 4;|
| 26 | ncnrb | UNKNOWN_NCNRB = 0;<br>NRB11 =1;<br>NRB18 =2;<br>NRB24 =3;<br>NRB25 =4;<br>NRB31 =5;<br>NRB32 =6;<br>NRB38 =7;<br>NRB51 =8;<br>NRB52 =9;<br>NRB65 =10;<br>NRB66 =11;<br>NRB78 =12;<br>NRB79 =13;<br>NRB93 =14;<br>NRB106 =15;<br>NRB107 =16;<br>NRB121 =17;<br>NRB132 =18;<br>NRB133 =19;<br>NRB135 =20;<br>NRB160 =21;<br>NRB162 =22;<br>NRB189 =23;<br>NRB216 =24;<br>NRB217 =25;<br>NRB245 =26;<br>NRB264 =27;<br>NRB270 =28;<br>NRB273 =29;|
| 27 | cause | misc:control-processing-overload,<br>misc:hardware-failure,<br>misc:om-intervention,<br>misc:not-enough-user-plane-processing-resources,<br>misc:unspecified<br><br>protocol:transfer-syntax-error,<br>protocol:abstract-syntax-error-reject,<br>protocol:abstract-syntax-error-ignore-and-notify,<br>protocol:message-not-compatible-with-receiver-state,<br>protocol:semantic-error,<br>protocol:unspecified,<br>protocol:abstract-syntax-error-falsely-constructed-message<br>transport:transport-resource-unavailable<br><br>radioNetwork:handover-desirable-for-radio-reasons,<br>radioNetwork:time-critical-handover,<br>radioNetwork:resource-optimisation-handover,<br>radioNetwork:reduce-load-in-serving-cell,<br>radioNetwork:partial-handover,<br>radioNetwork:unknown-new-eNB-UE-X2AP-ID,<br>radioNetwork:unknown-old-eNB-UE-X2AP-ID,<br>radioNetwork:unknown-pair-of-UE-X2AP-ID,<br>radioNetwork:ho-target-not-allowed,<br>radioNetwork:tx2relocoverall-expiry,<br>radioNetwork:trelocprep-expiry,<br>radioNetwork:cell-not-available,<br>radioNetwork:no-radio-resources-available-in-target-cell,<br>radioNetwork:invalid-MME-GroupID,<br>radioNetwork:unknown-MME-Code,<br>radioNetwork:encryption-and-or-integrity-protection-algorithms-not-supported,<br>radioNetwork:reportCharacteristicsEmpty,<br>radioNetwork:noReportPeriodicity,<br>radioNetwork:existingMeasurementID,<br>radioNetwork:unknown-eNB-Measurement-ID,<br>radioNetwork:measurement-temporarily-not-available,<br>radioNetwork:unspecified,<br>radioNetwork:load-balancing,<br>radioNetwork:handover-optimisation,<br>radioNetwork:value-out-of-allowed-range,<br>radioNetwork:multiple-E-RAB-ID-instances,<br>radioNetwork:switch-off-ongoing,<br>radioNetwork:not-supported-QCI-value,<br>radioNetwork:measurement-not-supported-for-the-object,<br>radioNetwork:tDCoverall-expiry,<br>radioNetwork:tDCprep-expiry,<br>radioNetwork:action-desirable-for-radio-reasons,<br>radioNetwork:reduce-load,<br>radioNetwork:resource-optimisation,<br>radioNetwork:time-critical-action,<br>radioNetwork:target-not-allowed,<br>radioNetwork:no-radio-resources-available,<br>radioNetwork:invalid-QoS-combination,<br>radioNetwork:encryption-algorithms-not-aupported,<br>radioNetwork:procedure-cancelled,<br>radioNetwork:rRM-purpose,<br>radioNetwork:improve-user-bit-rate,<br>radioNetwork:user-inactivity,<br>radioNetwork:radio-connection-with-UE-lost,<br>radioNetwork:failure-in-the-radio-interface-procedure,<br>radioNetwork:bearer-option-not-supported,<br>radioNetwork:mCG-Mobility,<br>radioNetwork:sCG-Mobility,<br>radioNetwork:count-reaches-max-value,<br>radioNetwork:unknown-old-en-gNB-UE-X2AP-ID,<br>radioNetwork:pDCP-Overload|