|
In the URI of each method in this document we write “V#” instead of V1, since when moving from Version to Version sometimes we forgot to update it in the document. So to make our life easier, V# covers the Latest version. |
Approved Standard Headers are documented at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
# | Header | Required? | Description |
---|---|---|---|
1 | Accept | Specifies the format of the response message body. Structured text message payloads are required to support application/json. No other format is permitted. As they are the only supported format, the accept header is not relevant for those requests. | |
2 | Content-type | Determines the format of the request content. Only application/json is supported. |
# | API | Resource After base URI | HTTP Verb |
---|---|---|---|
| /v#/nodeb/x2-setup | POST | |
| /v#/nodeb/endc-setup | POST | |
/v#/nodeb/<ranName>/reset * | PUT | ||
1 | Health Check Request | /v#/health | GET |
2 | Get nodeb data Request | /v#/nodeb/<ranName> | GET |
3 | Update GNB Request | /v#/nodeb/gnb/<ranName> | PUT |
4 | Insert ENB Request | /v#/nodeb/enb | POST |
5 | Update ENB Request | /v#/nodeb/enb/<ranName> | PUT |
6 | Delete ENB Request | /v#/nodeb/enb/<ranName> | DELETE |
7 | Shut Down Request | /v#/nodeb/shutdown | PUT |
8 | Get All nodeb States Request (Changed, Stretch Goal) | /v#/nodeb/states | GET |
9 | Get NodeB State Request (New, Stretch Goal) | /v#/nodeb/states/<ranName> | GET |
10 | RAN Health Check Request (New, Stretch Goal) | /v#/nodeb/health | PUT |
11 | Get All E2T Request | /v#/e2t/list | GET |
12 | E2M set parameters (New) | /v#/nodeb/parameters | PUT |
Note: Due to router problem we change the Endpoint of Reset nodeb to /v1/nodeb-reset/<ranName>.
Note that, in some scenarios, Client may receive error responses that originate from the network layers. The content of these responses will not conform to the exception schema specified here.
# | Header | Required? | Description |
---|---|---|---|
1 | errorCode | Code which identifies the error | |
2 | errorMessage | Human readable text |
Error Example:
{ "errorCode": 402, "errorMessage": “Mandatory fields are missing” } |
Here is the list of HTTP status code:
HTTP Error | errorCode | errorMessage | Details |
---|---|---|---|
202 Accepted | 510 | No E2T Instance available. | The existing RAN can't associated with any available E2T Instance. When E2T will be identified, this RAN will be served. |
511 | No Routing Manager Available | Currently there is connectivity to the Routing Manager. E2M will try later. | |
400 Bad Request | 401 | corrupted json | Can't parse the payload of the body |
402 | validation error | E.G: Mandatory fields are missing or invalid (The value isn't according expected); | |
403 | Activity <activity name> rejected. RAN current state <state> does not allow its execution | E.G: Reset request is sent when state isn't Connected | |
404 | RAN already exist. | Add eNB to existing RAN | |
405 | command already in progress | E.G: 2 parallel Red Button were sent | |
404 Not Found | If the resource name doesn't exist (e.g.: nodec instead of nodeb) - the system returns HTTP Error 404 with "404 page not found" text. | ||
404 | resource not found | The classic 404 - Resource ID doesn't exist in the system | |
406 | No RAN in Connected State | e.g.: RAN Health Check and no one in Connected | |
415 Unsupported Media Type | 415 | Header validation error | In case there is a body and header application/json is missing - error. |
500 Internal Server Error | 500 | RNIB error | |
501 | Internal Server Error. Please try again later | ||
502 | RMR error | ||
503 Service Unavailable | 510 | No E2T Instance available. | The New RAN can't be added, please try later. |
511 | No Routing Manager Available | The New RAN can't be added, please try later. |
Here is the list of HTTP status code and list of the error codes for our APIs:
HTTP 202 Accepted | HTTP Error 400 Bad Request | HTTP Error 404 Not Found | HTTP Error 500 Internal Server Error | HTTP Error 503 Service Unavailable | |
---|---|---|---|---|---|
Get nodeb data | 404 | 500, 501 | |||
Update GNB, Insert ENB, Update ENB Delete ENB | 401, 402 | 404 | 500, 501 | ||
Shut Down | 405 | 500, 501, 502 | 511 | ||
Get All nodeb | 500, 501 | ||||
Get All E2T | 500, 501 | ||||
E2M Set Parameters | 401 |
In addition, there are 2 Basic HTTP error happens before the handlers are calling:
# | Attribute Type | Legal Values |
---|---|---|
1 | Connection Status | UNKNOWN_CONNECTION_STATUS = 0; CONNECTED = 1; DISCONNECTED = 2; CONNECTED_SETUP_FAILED = 3; CONNECTING = 4; SHUTTING_DOWN = 5; SHUT_DOWN = 6; |
2 | Failure Type | UNKNOWN_TYPE = 0; X2_SETUP_FAILURE = 1; ENDC_X2_SETUP_FAILURE = 2; |
3 | Node Type | UNKNOWN = 0; ENB = 1; GNB = 2; |
4 | Radio Network Layer Cause | UNKNOWN = 0; HANDOVER_DESIRABLE_FOR_RADIO_REASONS = 1; TIME_CRITICAL_HANDOVER = 2; RESOURCE_OPTIMISATION_HANDOVER = 3; REDUCE_LOAD_IN_SERVING_CELL = 4; PARTIAL_HANDOVER = 5; UNKNOWN_NEW_ENB_UE_X2AP_ID = 6; UNKNOWN_OLD_ENBME_UE_X2AP_ID = 7; UNKNOWN_PAIR_OF_UE_X2AP_ID = 8; HO_TARGET_NOT_ALLOWED = 9; TX2_RELOC_OVERALL_EXPIRY = 10; T_RELOC_PREP_EXPIRY = 11; CELL_NOT_AVAILABLE = 12; NO_RADIO_RESOURCES_AVAILABLE_IN_TARGET_CELL = 13; INVALID_MME_GROUP_ID = 14; UNKNOWN_MME_CODE = 15; ENCRYPTION_INTEGRITY_PROTECTION_ALGORITHMS_NOT_SUPPORTED = 16; REPORT_CHARACTERISTICS_EMPTY = 17; NO_REPORT_PERIODICITY = 18; EXISTING_MEASUREMENT_ID = 19; UNKNOWN_ENB_MEASUREMENT_ID = 20; MEASUREMENT_TEMPORARILY_NOT_AVAILABLE = 21; UNSPECIFIED = 22; LOAD_BALANCING = 23; HANDOVER_OPTIMISATION = 24; VALUE_OUT_OF_ALLOWED_RANGE = 25; MULTIPLE_E_RAB_ID_INSTANCES = 26; SWITCH_OFF_ONGOING = 27; NOT_SUPPORTED_QCI_VALUE = 28; MEASUREMENT_NOT_SUPPORTED_FOR_THE_OBJECT = 29; TDC_OVERALL_EXPIRY = 30; TDC_PREP_EXPIRY = 31; ACTION_DESIRABLE_FOR_RADIO_REASONS = 32; REDUCE_LOAD = 33; RESOURCE_OPTIMISATION = 34; TIME_CRITICAL_ACTION = 35; TARGET_NOT_ALLOWED = 36; NO_RADIO_RESOURCES_AVAILABLE = 37; INVALID_QOS_COMBINATION = 38; ENCRYPTION_ALGORITHMS_NOT_SUPPORTED = 39; PROCEDURE_CANCELLED = 40; RRM_PURPOSE = 41; IMPROVE_USER_BIT_RATE = 42; USER_INACTIVITY = 43; RADIO_CONNECTION_WITH_UE_LOST = 44; FAILURE_IN_THE_RADIO_INTERFACE_PROCEDURE = 45; BEARER_OPTION_NOT_SUPPORTED = 46; MCG_MOBILITY = 47; SCG_MOBILITY = 48; COUNT_REACHES_MAX_VALUE = 49; UNKNOWN_OLD_EN_GNB_UE_X2AP_ID = 50; PDCP_OVERLOAD = 51; |
5 | Transport Layer Cause | UNKNOWN = 0; TRANSPORT_RESOURCE_UNAVAILABLE = 1; UNSPECIFIED = 2; |
6 | Protocol Cause | UNKNOWN = 0; TRANSFER_SYNTAX_ERROR = 1; ABSTRACT_SYNTAX_ERROR_REJECT = 2; ABSTRACT_SYNTAX_ERROR_IGNORE_AND_NOTIFY = 3; MESSAGE_NOT_COMPATIBLE_WITH_RECEIVER_STATE = 4; SEMANTIC_ERROR = 5; UNSPECIFIED = 6; ABSTRACT_SYNTAX_ERROR_FALSELY_CONSTRUCTED_MESSAGE = 7; |
7 | Miscellaneous Cause | UNKNOWN = 0; CONTROL_PROCESSING_OVERLOAD = 1; HARDWARE_FAILURE = 2; OM_INTERVENTION = 3; NOT_ENOUGH_USER_PLANE_PROCESSING_RESOURCES = 4; UNSPECIFIED = 5; |
8 | Time To Wait | UNKNOWN_TIMEOUT = 0; V1S = 1; V2S = 2; V5S = 3; V10S = 4; V20S = 5; V60S = 6; |
9 | Type Of Error | UNKNOWN_ERROR = 0; NOT_UNDERSTOOD = 1; MISSING = 2; |
10 | Triggering Message | UNKNOWN_MESSAGE = 0; INITIATING_MESSAGE = 1; SUCCESSFUL_OUTCOME = 2; UNSUCCESSFUL_OUTCOME = 3; |
11 | Criticality | UNKNOWN_CRITICALITY = 0; REJECT = 1; IGNORE = 2; NOTIFY = 3; |
12 | Bandwidth Reduced SI | UNKNOWN_BANDWIDTH_REDUCED_SI = 0; SCHEDULED = 1; |
13 | Eutra Mode / Nr Mode | UNKNOWN = 0; FDD = 1; TDD = 2; |
14 | Freq Band Indicator Priority | UNKNOWN_FREQ_BAND_INDICATOR_PRIORITY = 0; NOT_BROADCASTED = 1; BROADCASTED = 2; |
15 | Number Of Antenna Ports | UNKNOWN_NUMBER_OF_ANTENNA_PORTS = 0; AN1 = 1; AN2 = 2; AN4 = 3; |
16 | Transmission Bandwidth | UNKNOWN_TRANSMISSION_BANDWIDTH = 0; BW6 = 1; BW15 = 2; BW25 = 3; BW50 = 4; BW75 = 5; BW100 = 6; BW1 = 7; |
17 | Subframe Allocation Type | UNKNOWN_SUBFRAME_ALLOCATION_TYPE = 0; ONE_FRAME = 1; FOUR_FRAME = 2; |
18 | Radio frame Allocation Period | UNKNOWN_RADIOFRAME_ALLOCATION_PERIOD = 0; N1 = 1; N2 = 2; N4 = 3; N8 = 4; N16 = 5; N32 = 6; |
19 | Enb Type | UNKNOWN_ENB_TYPE = 0; MACRO_ENB = 1; HOME_ENB = 2; SHORT_MACRO_ENB = 3; LONG_MACRO_ENB = 4; |
20 | Additional Special Subframe | UNKNOWN = 0; SSP0 = 1; SSP1 = 2; SSP2 = 3; SSP3 = 4; SSP4 = 5; SSP5 = 6; SSP6 = 7; SSP7 = 8; SSP8 = 9; SSP9 = 10; |
21 | Special Subframe | UNKNOWN = 0; SSP0 = 1; SSP1 = 2; SSP2 = 3; SSP3 = 4; SSP4 = 5; SSP5 = 6; SSP6 = 7; SSP7 = 8; SSP8 = 9; |
22 | Subframe Assignment | UNKNOWN_SUBFRAME_ASSIGNMENT = 0; SA0 = 1; SA1 = 2; SA2 = 3; SA3 = 4; SA4 = 5; SA5 = 6; SA6 = 7; |
23 | Cyclic Prefix | UNKNOWN_CYCLIC_PREFIX = 0; NORMAL = 1; EXTENDED = 2; |
24 | Additional Special Subframe Patterns | UNKNOWN = 0; SSP10 = 1 |
25 | nrscs | UNKNOWN_NRSCS = 0; SCS15 = 1; SCS30 = 2; SCS60 = 3; SCS120 = 4; |
26 | ncnrb | UNKNOWN_NCNRB = 0; NRB11 =1; NRB18 =2; NRB24 =3; NRB25 =4; NRB31 =5; NRB32 =6; NRB38 =7; NRB51 =8; NRB52 =9; NRB65 =10; NRB66 =11; NRB78 =12; NRB79 =13; NRB93 =14; NRB106 =15; NRB107 =16; NRB121 =17; NRB132 =18; NRB133 =19; NRB135 =20; NRB160 =21; NRB162 =22; NRB189 =23; NRB216 =24; NRB217 =25; NRB245 =26; NRB264 =27; NRB270 =28; NRB273 =29; |
27 | cause | misc:control-processing-overload, protocol:transfer-syntax-error, radioNetwork:handover-desirable-for-radio-reasons, radioNetwork:pDCP-Overload |
1. Health Check Request |
Resource
| Resource for this interface /v#/health |
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 |
HTTP Method | GET |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
GET http://<serverBaseURL>/v#/health |
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | Refer to Standard API Request Headers |
GET http://localhost:3800/v1/health accept: application/json |
The body is empty in case 200 OK. No other response expected. If no answer - there is a problem....
2. Get NodeB Request |
Resource
| Resource for this interface /v#/nodeb |
Description | For fetching nodeb data from Redis, the client should send GET request |
HTTP Method | GET |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
GET http://<serverBaseURL>/v#/nodeb/<ranName> |
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | Refer to Standard API Request Headers | |
2 | content-type | Header | String | Refer to Standard API Request Headers | |
3 | ranIp | Body | String | IP of the RAN | |
4 | ranPort | Body | Int | Port of the RAN | |
5 | ranName | Body | String | Name of the RAN |
GET http://localhost:3800/v1/nodeb/NYC213123 accept: application/json Content-Type: application/json |
In case 200 OK, this is the payload
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | content-type | Header | String | ||
2 | connectionStatus | Body | ENUM | ||
3 | ip | Body | String | ||
4 | port | Body | Integer | ||
5 | nodeType | Body | ENUM | ||
6 | ranName | Body | String | ||
7 | enb (or gnb) | Body | Object | According the nodetype – ENB or GNB Mandatory when the status is CONNECTED | |
8 | failureType | Body | ENUM | Mandatory when the status is CONNECTED_SETUP_FAILED | |
9 | setupFailure | Body | Object | Mandatory when the status is CONNECTED_SETUP_FAILED | |
10 | globalNbId | Body | Object | Mandatory when the status is CONNECTED. Refer to object globalNbId |
Contains information of the eNodeb
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | enbType | ENUM | Refer to ENB Type ENUM | |
2 | guGroupIds | Array of String | ||
3 | servedCells | Array of Object | Refer to served Cells object |
Contains information of the cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | bandwidthReducedSi | ENUM | Refer to bandwidthReducedSi ENUM | |
2 | broadcastPlmns | Array of String | Array of PLMNs | |
3 | cellId | String | ||
4 | choiceEutraMode | Object | Refer to choice Eutra Mode Object. One of them must appear | |
5 | csgId | String | ||
6 | eutraMode | ENUM | Refer to eutraMode ENUM | |
7 | freqBandIndicatorPriority | ENUM | Refer to freqBandIndicatorPriority ENUM | |
8 | mbmsServiceAreaIdentities | Array of String | ||
9 | mbsfnSubframeInfos | Array of Object | Refer to mbsfn Subframe Object | |
10 | multibandInfos | Array of Integer | ||
11 | neighbourInfos | Array of Object | Refer to neighbour Information Object | |
12 | numberOfAntennaPorts | ENUM | Refer to numberOfAntennaPorts ENUM | |
13 | pci | Integer | ||
14 | prachConfiguration | Object | Refer to prach Configuration Object | |
15 | Tac | String | Refer to tac Object | |
16 | additionalCellInformation | Object | Refer to Additional Cell Information Object |
Contains information of the Cell – It is either FDD or TDD - Only one should exist
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | fdd | Object | Refer to FDD Info | |
2 | tdd | Object | Refer to TDD Info |
Contains information of the FDD Cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | dlTransmissionBandwidth | ENUM | Refer to TransmissionBandwidth ENUM | |
2 | dlearFcn | Integer | ||
3 | ulTransmissionBandwidth | ENUM | Refer to TransmissionBandwidth ENUM | |
4 | ulearFcn | Integer |
Contains information of the TDD Cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | additionalSpecialSubframeExtensionInfo | Object | Refer to Additional Special Subframe Extension Info | |
2 | additionalSpecialSubframeInfo | Object | Refer to Additional Special Subframe Info | |
3 | earFcn | Integer | ||
4 | specialSubframeInfo | Object | Refer to Special Subframe Info | |
5 | subframeAssignment | ENUM | ||
6 | transmissionBandwidth | ENUM |
Contains information of the Sub Frame
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | additionalSpecialSubframePatternsExtension | ENUM | Refer to Additional Special Subframe Patterns ENUM | |
2 | cyclicPrefixDl | ENUM | Refer to CyclicPrefix ENUM | |
3 | cyclicPrefixUl | ENUM | Refer to CyclicPrefix ENUM |
Contains information of the Sub Frame
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | additionalSpecialSubframePatterns | ENUM | Refer to Additional Special Subframe ENUM | |
2 | cyclicPrefixDl | ENUM | Refer to CyclicPrefix ENUM | |
3 | cyclicPrefixUl | ENUM | Refer to CyclicPrefix ENUM |
Contains information of the Sub Frame
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | SpecialSubframePatterns | ENUM | Refer to Special Subframe ENUM | |
2 | cyclicPrefixDl | ENUM | Refer to CyclicPrefix ENUM | |
3 | cyclicPrefixUl | ENUM | Refer to CyclicPrefix ENUM |
Contains information of the Sub Frame
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | radioframeAllocationOffset | Integer | ||
2 | radioframeAllocationPeriod | ENUM | ||
3 | subframeAllocation | String | ||
4 | subframeAllocationType | ENUM |
Contains information of the Neighbor
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ecgi | String | ||
2 | pci | Integer | ||
3 | earFcn | Integer | ||
4 | tac | String |
Contains information of the Prach
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | highSpeedFlag | Boolean | ||
2 | prachConfigurationIndex | Integer | ||
3 | prachFrequencyOffset | Integer | ||
4 | rootSequenceIndex | Integer | ||
5 | zeroCorrelationZoneConfiguration | Integer |
This will be updated in R5 by REST API
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | cellLatitude | Integer | ||
2 | cellLongitude | Integer | ||
3 | antennaHeight | Integer | In meter | |
4 | antennaAzimuthDirection | Integer |
| degree, 0-360 |
5 | antennaTiltAngle | Integer | degree, 0-90 | |
6 | antennaMaxTransmit | Integer | dBm | |
7 | antennaMaxGain | Integer | dB | |
8 | sectorId | Integer | ID of the Sector |
Contains information of the gnodeb
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | servedNrCells | Array of Object | Refer to served NR Cells object | |
2 | ranFunctions | Array of Object | Refer to served RAN function object |
Contains information of the GNB cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | nrNeighbourInfos | Array of object | Refer to NrNeighbourInformation object | |
2 | servedNrCellInformation | Object | Refer to ServedNRCellInformation object |
Contains information of the Neighbor of this GNB Note it is quite similar to Served NR Cell Information
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | nrCgi | String | ||
2 | choiceNrMode | Object | Refer to Choice NR Mode Object | |
3 | configuredStac | String | ||
4 | nrMode | ENUM | Refer to NR Mode ENUM | |
5 | nrPci | Integer | ||
6 | stac5g | String |
Contains information of the cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | cellId | String | ||
2 | choiceNrMode | Object | Refer to Choice NR Mode Object | |
3 | configuredStac | String | ||
4 | nrMode | ENUM | Refer to NR Mode ENUM | |
5 | nrPci | Integer | ||
6 | servedPlmns | Array of String | Array of PLMNs | |
7 | stac5g | String | ||
8 | additionalCellInformation | Object | Refer to Additional Cell Information |
Contains information of the TBD – Note – It is either FDD or TDD, one of them must exist
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | fdd | Object | Refer to NR FDD Info | |
2 | tdd | Object | Refer to NR TDD Info |
Contains information of the NR FDD Cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | dlFreqInfo | Object | Refer to dl Freq Info Object | |
2 | dlTransmissionBandwidth | Object | Refer to dl Transmission Bandwidth Object | |
3 | ulFreqInfo | Object | Refer to ul Freq Info Object | |
4 | ulTransmissionBandwidth | Object | Refer to ul Transmission Bandwidth Object |
Contains information of the Cell
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | frequencyBands | Object | Refer to frequency Bands Object | |
2 | nrArFcn | integer | ||
3 | sulInformation | Object | Refer to sul Information Object |
Contains information of the Frequency Bands
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | nrFrequencyBand | integer | ||
2 | supportedSulBands | Array of integer |
Contains information of the TBD
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | sulArFcn | integer | ||
2 | sulTransmissionBandwidth | object | Refer to sul Transmission Bandwidth object |
Contains information of the TBD
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ncnrb | ENUM | Refer to ncnrb ENUM | |
2 | nrscs | ENUM | Refer to nrscs ENUM |
Contains information of the NE Cell TDD
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | nrFreqInfo | Object | Refer to nr Freq Info Object | |
2 | transmissionBandwidth | Object | Refer to transmission Bandwidth Object |
Contains information of the Function this RAN supports - Please refer to O-RAN Working Group 3, E2 Application Protocol (E2AP)
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ranFunctionId | Integer | ||
2 | ranFunctionDefinition | Object | See Ran Function Definition | |
3 | ranFunctionRevision | Integer |
# | Parameter | Data Type | Required? | Value Rules |
1 | e2smGnbNrtRanFunctionDefinition | Object | See E2 SM GNB NRT Ran Function Definition |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ranFunctionName | Object | See Ran Function Name | |
2 | ricEventTriggerStyles | Array of Object | See RIC Event Trigger Styles | |
3 | ricReportStyles | Array of Object | See RIC Report Styles | |
4 | ricInsertStyles | Array of Object | See RIC Insert Styles | |
5 | ricControlStyles | Array of Object | See RIC Control Styles |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ranFunctionShortName | String | ||
2 | ranFunctionE2smOid | String | ||
3 | ranFunctionDescription | String | ||
4 | ranFunctionInstance | Integer |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ricEventTriggerStyleType | Integer | ||
2 | ricEventTriggerStyleName | String | ||
3 | ricEventTriggerFormatType | Integer |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ricReportStyleType | Integer | ||
2 | ricReportStyleName | String | ||
3 | ricReportActionFormatType | Integer | ||
4 | ricReportRanParameterDefs | Array of Object | See RIC Report RAN Parameter Defs | |
5 | ricIndicationHeaderFormatType | Integer | ||
6 | ricIndicationMessageFormatType | Integer |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ranParameterId | Integer | ||
2 | ranParameterName | String | ||
3 | ranParameterType | ENUM | String or Integer |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ricInsertStyleType | Integer | ||
2 | ricInsertStyleName | String | ||
3 | ricInsertActionFormatType | Integer | ||
4 | ricInsertRanParameterDefs | Array of Object | See RIC Report RAN Parameter Defs | |
5 | ricIndicationHeaderFormatType | Integer | ||
6 | ricIndicationMessageFormatType | Integer | ||
7 | ricCallProcessIdFormatType | Integer |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ricControlStyleType | Integer | ||
2 | ricControlStyleName | String | ||
3 | ricControlHeaderFormatType | Integer | ||
4 | ricControlMessageFormatType | Integer | ||
5 | ricCallProcessIdFormatType | Integer |
Contains information of the error
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | cause_group | ENUM | One of the following ENUM
| |
2 | TimeToWait | ENUM | Look on TimeToWait ENUM | |
3 | CriticalityDiagnostics | Object |
Contains information of the error
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | informationElementCriticalityDiagnostics | Object | · | |
2 | procedureCode | Integer | ||
3 | procedureCriticality | ENUM | Refer to Criticality ENUM | |
4 | triggeringMessage | ENUM | Refer to TriggeringMessage ENUM |
Contains information of the error
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | ieCriticality | ENUM | Refer to Criticality ENUM | |
2 | ieId | Integer | ||
3 | typeOfError | ENUM | Refer to TypeOfError ENUM |
3. Update GNB Request |
Resource | Resource for this interface /v#/nodeb/gnb |
Description | For storing nodeb data to Redis, the client should send PUT request |
HTTP Method | PUT |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
accept | Header | String | YES | Refer to Standard API Request Headers | |
content-type | Header | String | YES | Refer to Standard API Request Headers | |
servedNrCells | Body | Array of Object | YES | Please refer to Served NR Cells array inside the gNB Object (In the Get NodeB Response) |
PUT http://localhost:3800/v1/nodeb/gnb/test1 accept: application/json { "servedNrCells": [ { "servedNrCellInformation": { "nrPci": 100, "cellId": "02f829:0007ab0178", "servedPlmns": [ "02f829" ], "nrMode": "FDD", "choiceNrMode": { "fdd": { "ulFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "dlFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "ulTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" }, "dlTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" } } } }, "nrNeighbourInfos": [ { "nrCgi": "string", "choiceNrMode": { "fdd": { "ulFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "dlFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "ulTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" }, "dlTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" } } }, "configuredStac": "string", "nrPci": 200, "nrMode": "FDD", "stac5g": "string" }, { "nrCgi": "string", "choiceNrMode": { "fdd": { "ulFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "dlFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "ulTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" }, "dlTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" } } }, "configuredStac": "string", "nrPci": 201, "nrMode": "FDD", "stac5g": "string" } ] }, { "servedNrCellInformation": { "nrPci": 101, "cellId": "02f829:0007ab0120", "servedPlmns": [ "02f829" ], "nrMode": "FDD", "choiceNrMode": { "fdd": { "ulFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "dlFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "ulTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" }, "dlTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" } } } }, "nrNeighbourInfos": [ { "nrCgi": "string", "choiceNrMode": { "fdd": { "ulFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "dlFreqInfo": { "nrArFcn": "100", "frequencyBands": [ { "nrFrequencyBand": 9, "supportedSulBands": [ 9 ] } ] }, "ulTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" }, "dlTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" } } }, "configuredStac": "string", "nrPci": 300, "nrMode": "FDD", "stac5g": "string" } ] } ] } |
In case 200 OK, the payload is identical to Get NodeB <RAN Name>.
4. Insert ENB Request (new) |
Resource | Resource for this interface - /v#/nodeb/ |
Description | For storing new nodeb from eNB type to Redis, the client should send POST request |
HTTP Method | POST |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 201 CREATED |
|
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to Standard API Request Headers |
2 | content-type | Header | String | YES | Refer to Standard API Request Headers |
3 | enbNode | Body | Object | YES | Please refer to ENB Node |
4 | servedCells | Body | Array of Object | YES | Please refer to Served Cells array inside the eNB Object (In the Get NodeB Response) |
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | enbType | ENUM | YES | |
2 | ranName | String | YES | |
3 | globalNbId | Object | NO | Refer to object globalNbId |
4 | ip | String | NO | |
5 | port | Integer | NO | |
6 | guGroupIds | Array of String | NO |
Example (TBD)
In case 201 CREATED, the payload is identical to Get NodeB <RAN Name>.
5. Update ENB Request (new) |
Resource | Resource for this interface - /v#/nodeb |
Description | For Updating nodeb from eNB type to Redis, the client should send PUT request |
HTTP Method | PUT |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to Standard API Request Headers |
2 | content-type | Header | String | YES | Refer to Standard API Request Headers |
3 | enbNode | Body | Object | YES | Please refer to ENB Node |
4 | servedCells | Body | Array of Object | YES | Please refer to Served Cells array inside the eNB Object (In the Get NodeB Response) |
In case 200 OK, the payload is identical to Get NodeB <RAN Name>.
6. Delete ENB Request (New) |
Resource | Resource for this interface - /v#/nodeb |
Description | For Deleting nodeb from eNB type to Redis, the client should send DELETE request |
HTTP Method | DELETE |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
no need in Request Body
In case success - 204 No Content
7. Shut Down Request |
Resource | Resource for this interface - /v#/nodeb |
Description | E2 Manager is requested to Shut Down all the RANs |
HTTP Method | PUT |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 204 No Content |
PUT http://<serverBaseURL>/v#/nodeb/shutdown |
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | Refer to - Standard API Request Headers |
PUT http://localhost:3800/v1/nodeb/shutdown accept: application/json |
There is no Body in case 204 No Content, and with 202 Accepted with error details in case failure such as Routing Manager (511)
8. Get All NodeB States Request (Changed, Stretch Goal) |
Resource
| Resource for this interface /v#/nodeb/states |
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. |
HTTP Method | GET |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to - Standard API Request Headers |
|
In case 200 OK, this is the payload
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | content-type | Header | String | YES | |
2 | rans | Body | List of Object | YES | Can be empty in case no RANs. See nodebIdentity |
Contains information of the eNodeb
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | inventoryName | String | YES | Name of the RAN |
2 | globalNbId | Object | YES | ID of the RAN - Refer globalNbId object |
3 | connectionStatus | ENUM | YES | Status of RAN |
4 | healthCheckTimestampSent | Long | NO | The Unix epoch (The number of nanoseconds that have elapsed since January 1, 1970) when the Health Check (RIC Service Query) was sent |
5 | healthCheckTimestampReceived | Long | NO | Timestamp (Unix epoch) when the Health Check (RIC Service Update) was received |
Contains information of the eNodeb
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | nbId | String | yes | ID of the RAN. Different ID for eNB or gNB. In case eNB it is according the eNB Type. |
2 | plmnId | Object | yes | ID of the PLMN (Public Land Mobile Network) |
There is no Body in case 204 No Content, and with 202 Accepted with error details in case failure such as Routing Manager (511)
9. Get NodeB State Request (New, Stretch Goal) |
Resource
| Resource for this interface /v#/nodeb/states/ |
Description | E2 Manager is requested to get specific RAN - Health check |
HTTP Method | GET |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to - Standard API Request Headers |
|
In case 200 OK, this is the payload
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | content-type | Header | String | YES | |
2 | ran | Body | Object | YES | See nodebIdentity |
10. RAN Health Check Request (New, Stretch Goal) |
Resource
| Resource for this interface /v#/nodeb/health |
Description | E2 Manager is requested to Check connectivity with RANs (List) or all |
HTTP Method | PUT |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 202 Accepted |
|
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to - Standard API Request Headers |
2 | content-type | Header | String | See above - Standard API Request Headers | |
3 | RANs | Body | Array of strings | NO | Optional - Array of RANs name to check connectivity. If missing - All connected RANs. |
|
202 Accepted or error.
11. Get All E2T Request |
Resource
| Resource for this interface /v#/e2t/list |
Description | E2 Manager is requested to get list of all E2T Instances address and list of RANs associate with each E2T Instance |
HTTP Method | GET |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to - Standard API Request Headers |
|
In case 200 OK, this is the payload
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | content-type | Header | String | YES | |
2 | Body | List of Object | YES | Can be empty in case no E2T. See e2tIdentity |
Contains information of the E2T instance
# | Parameter | Data Type | Required? | Value Rules |
---|---|---|---|---|
1 | e2tAddress | String | yes | Address of the E2T Instance |
2 | ranNames | List of string | no | List of the RAN Names associated with this Instance. Can be empty |
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"] } ] |
12. E2M Set Parameter |
Resource
| Resource for this interface /v#/nodeb/parameters |
Description | E2 Manager is requested to set some Parameter |
HTTP Method | PUT |
Supported Representation Formats | Request: Request Format ie application/json, none, etc Response: Response Format ie application/json, none, etc |
Successful HTTP Response Code | 200 OK |
|
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to - Standard API Request Headers |
2 | content-type | Header | String | See above - Standard API Request Headers | |
3 | Parameters | Object | Object | YES | At least one field in the Parameter Object |
Contains information of the eNodeb. At least one parameter must exist in this Object
Parameter | Data Type | Description |
---|---|---|
enableRic | Boolean | True meaning - Future Setup from RAN will be supported False meaning - Future Setup from RAN will be rejected |
{ "enableRic": true, } |
200 OK with the list of All parameters or error
|
|
|