# O-RAN Near-RT RIC E2 Manager ###### tags: `ORAN` ![](https://i.imgur.com/BlHqOoW.png) ## :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 ![](https://i.imgur.com/0vaJR4d.png) Fig.1. E2 Manager with Nodes and Database Access Diagram ::: :::info ![](https://i.imgur.com/s7s63TQ.png) Fig.2. RNIB Writer And Reader Parents Folder Source : [O-RAN Wiki](https://wiki.o-ran-sc.org/display/RICP/RNIB) ::: :::info ![](https://i.imgur.com/DwA6Aix.png) 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 ![](https://i.imgur.com/PiClg2l.png) Fig.4. Protocol Buffer Byte Sequence Example Source : [cnblogs](https://www.cnblogs.com/shine-lee/p/10717521.html) ::: :::info ![](https://i.imgur.com/Q954Lus.png) Fig.5. Key-Value Database Format Source : [Research Gate](https://www.researchgate.net/figure/Key-value-NoSQL-Database_fig1_332188615) ::: :::info ![](https://i.imgur.com/7VDZri8.png) 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. ![](https://i.imgur.com/0CFZ20e.png) 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. ![](https://i.imgur.com/Rm25yd5.png) 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. ![](https://i.imgur.com/RLYE5ms.png) <br> - **ENB** ![](https://i.imgur.com/BHboZVv.png) <br> - **Served Cells** ![](https://i.imgur.com/TKd34dV.png) <br> - **Choice Eutra Mode** ![](https://i.imgur.com/hlGr6es.png) <br> - **FDD Info** ![](https://i.imgur.com/5KBCiOX.png) <br> - **TDD Info** ![](https://i.imgur.com/pQublh7.png) <br> - **Additional Special Subframe Extension Info** ![](https://i.imgur.com/gBomtWP.png) <br> - **Additional Special Subframe Info** ![](https://i.imgur.com/texkoPw.png) <br> - **Special Subframe Info** ![](https://i.imgur.com/fNThWq0.png) <br> - **mbsfn Subframe** ![](https://i.imgur.com/qTYFQCP.png) <br> - **Neighbor Information** ![](https://i.imgur.com/5iQVcx1.png) <br> - **Prach Configuration** ![](https://i.imgur.com/qATgfzj.png) <br> - **Additional Cell Information** ![](https://i.imgur.com/wPWQISw.png) <br> - **Gnb** ![](https://i.imgur.com/6qkEWNK.png) <br> - **Served NR Cells** ![](https://i.imgur.com/mWoT657.png) <br> - **Nr Neighbour Information** ![](https://i.imgur.com/Uwb4U72.png) <br> - **Served NR Cell Information** ![](https://i.imgur.com/bHhSUx9.png) <br> - **Choice NR Mode** ![](https://i.imgur.com/5emWD7B.png) <br> - **NR FDD Info** ![](https://i.imgur.com/ozPIdEd.png) <br> - **dl Freq Info or ul Freq Info or nr Freq Info NR** ![](https://i.imgur.com/t7eJxb6.png) <br> - **Frequency Bands** ![](https://i.imgur.com/G5uoe1W.png) <br> - **sul Information** ![](https://i.imgur.com/c6ynzYm.png) <br> - **dl Transmission Bandwidth or ul Transmission Bandwidth or sul Transmission Bandwidth or Transmission Bandwidth** ![](https://i.imgur.com/OuP2m6O.png) <br> - **NR TDD Info** ![](https://i.imgur.com/mk3NQ6E.png) <br> - **RAN Function** ![](https://i.imgur.com/WpYf6Y7.png) <br> - **Setup Failure** ![](https://i.imgur.com/AO5e6EZ.png) <br> - **Criticality Diagnostics** ![](https://i.imgur.com/9IxqhjM.png) <br> - **Information Element Criticality Diagnostics** ![](https://i.imgur.com/moo4oL2.png) ::: <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. ![](https://i.imgur.com/Yl0OHBE.png) 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. ![](https://i.imgur.com/9b6lTwZ.png) 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. ![](https://i.imgur.com/fd2pmJw.png) 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. ![](https://i.imgur.com/4FzGmnb.png) 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. ![](https://i.imgur.com/j0FeYaQ.png) ::: :::info **Response Data Details** If response is 200 OK, the payload will be ![](https://i.imgur.com/ORziJHB.png) <br> - **nodebIdentity** ![](https://i.imgur.com/j4VEoNC.png) <br> - **globalNbId** ![](https://i.imgur.com/CUq337J.png) ::: <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. ![](https://i.imgur.com/sgvPvgz.png) <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 ![](https://i.imgur.com/YVnxbPR.png) <br> - **e2Identity** ![](https://i.imgur.com/betKPxH.png) <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. ![](https://i.imgur.com/ATl2WzT.png) <br> - **parameter** ![](https://i.imgur.com/zmwIYyg.png) <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 ![](https://i.imgur.com/EFm708v.png) ::: and for the list of HTTP status code and list of the error codes for E2M Api will look like this : :::info ![](https://i.imgur.com/7r0uFso.png) ::: 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|