...
Table of Contents | ||
---|---|---|
|
Revision History
R5 Release
Revision Description |
---|
Time | Swagger |
---|
Ready |
---|
Adding new methods - Insert, Update and Delete ENB. Add new errors. Added Additional Cell Information for both eNB and gNB (in the Insert eNB Request, Update eNB) Changing the response of Get NodeB - adding more information to the Cell Object |
July 2020 | Ready |
Changing the end point of Update GNB. Adding more information to the Cell Object like Update eNB |
July 2020 | Ready |
Supporting E2M Set Parameter (New method) with Enable RIC parameter |
May 2020 | Ready |
Get All NodeB States Request changed its End-Point URL Adding Connection Status in RAN object in Get All NodeB States Response |
TBD | |
RAN Definition in the RAN List table turn to be Array of bytes (We don't decode the ASN.1) |
June 2020 | Ready | |
AD SDL Notification Description | June 2020 |
NA |
REST API
API Request Overview
Info |
---|
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. |
...
# | 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)Request | /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 |
1210 | E2M set parameters (New)parameters | /v#/nodeb/parameters | PUT |
Note: Due to router problem we change the Endpoint of Reset nodeb to /v1/nodeb-reset/<ranName>.
...
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 | 405 | command already in progress | E.G: 2 parallel Red Button were sent | |
406 | Node Already Exist | Insert eNB to existing RAN | ||
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 system406 | 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. |
...
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, 406 | 404 | 500, 501 | ||
Shut Down | 405 | 500, 501, 502 | 511 | ||
Get All nodeb | 500, 501 | ||||
Get All E2T | 500, 501 | ||||
E2M Set Parameters | 401 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
PUT http://localhost:3800/v1/nodeb/gnb/test1 accept: application/json { "servedNrCells": [ { "servedNrCellInformation": { "nrPci": 100, "cellId": "02f829:0007ab0178demo1", "servedPlmns": [ "02f829choiceNrMode": { ], "nrModefdd": "FDD",{ "choiceNrMode": { "fddulFreqInfo": { "ulFreqInfo": { "nrArFcn": "100"1, "frequencyBands": [ "sulInformation": { { "nrFrequencyBandsulArFcn": 92, "supportedSulBands": [ "sulTransmissionBandwidth": { 9 ] "nrscs": 1, } ] },"ncnrb": 1 "dlFreqInfo": { "nrArFcn": "100", } "frequencyBands": [ }, { "nrFrequencyBandfrequencyBands": 9,[ "supportedSulBands": [ { 9 ] "nrFrequencyBand": 3, } ] "supportedSulBands": [ }, "ulTransmissionBandwidth": { "nrscs": "SCS15" 1, "ncnrb": "NRB11" }, 2, "dlTransmissionBandwidth": { "nrscs": "SCS15", "ncnrb": "NRB11" 3 } } }] }, "nrNeighbourInfos": [ {} "nrCgi": "string", "choiceNrMode": { ] "fdd": { }, "ulFreqInfo": { "nrArFcndlFreqInfo": "100",{ "frequencyBands": [ "nrArFcn": 1, { "nrFrequencyBandsulInformation": 9,{ "supportedSulBands": [ "sulArFcn": 2, 9 "sulTransmissionBandwidth": { ] } "nrscs": 1, ] }, "dlFreqInfoncnrb": {1 "nrArFcn": "100", } "frequencyBands": [ { }, "nrFrequencyBandfrequencyBands": 9,[ "supportedSulBands": [ { 9 ]"nrFrequencyBand": 3, } "supportedSulBands": [ ] }, "ulTransmissionBandwidth": { 1, "nrscs": "SCS15", "ncnrb": "NRB11" }2, "dlTransmissionBandwidth": { "nrscs": "SCS15", 3 "ncnrb": "NRB11" } ] } }, } "configuredStac": "string", "nrPci": 200, "nrMode": "FDD", ] "stac5g": "string" }, { "nrCgiulTransmissionBandwidth": "string",{ "choiceNrMode": { "fddnrscs": {1, "ulFreqInfo": { "ncnrb": 1 "nrArFcn": "100", }, "frequencyBands": [ "dlTransmissionBandwidth": { "nrFrequencyBandnrscs": 91, "supportedSulBandsncnrb": [1 9} ]} }, "nrMode": 1, ] "nrPci": }1, "dlFreqInfoservedPlmns": {[ "nrArFcn": "100demo", "frequencyBands": [] } {}, { "nrFrequencyBandservedNrCellInformation": 9,{ "supportedSulBands"cellId": ["demo2", "choiceNrMode": { 9 "fdd": { ] "ulFreqInfo": { } ] "nrArFcn": 1, }, "ulTransmissionBandwidthsulInformation": { "nrscs": "SCS15", "ncnrbsulArFcn": "NRB11"2, }, "dlTransmissionBandwidthsulTransmissionBandwidth": { "nrscs": "SCS15", "ncnrbnrscs": "NRB11"1, } } "ncnrb": 1 }, "configuredStac": "string", "nrPci": 201, } "nrMode": "FDD", "stac5g": "string" }, ] }, { "servedNrCellInformationfrequencyBands": {[ "nrPci": 101, "cellId": "02f829:0007ab0120", { "servedPlmns": [ "02f829" ], "nrModenrFrequencyBand": "FDD"3, "choiceNrMode": { "fdd": { "ulFreqInfosupportedSulBands": {[ "nrArFcn": "100", "frequencyBands": [ 1, { "nrFrequencyBand": 9, 2, "supportedSulBands": [ 9 3 ] }] ] }, "dlFreqInfo": { ] "nrArFcn": "100", "frequencyBands": [ }, "dlFreqInfo": { "nrFrequencyBandnrArFcn": 91, "supportedSulBandssulInformation": [{ 9 "sulArFcn": 2, ] } "sulTransmissionBandwidth": { ] }, "ulTransmissionBandwidthnrscs": {1, "nrscs": "SCS15", "ncnrb": "NRB11"1 }, "dlTransmissionBandwidth": { } "nrscs": "SCS15", }, "ncnrb": "NRB11" } "frequencyBands": [ } } }, "nrNeighbourInfos": [{ { "nrCgi": "string", "choiceNrModenrFrequencyBand": { 3, "fdd": { "ulFreqInfosupportedSulBands": {[ "nrArFcn": "100", "frequencyBands": [ 1, { "nrFrequencyBand": 92, "supportedSulBands": [ 3 9 ] ] } ] } }, ] "dlFreqInfo": { "nrArFcn": "100" }, "frequencyBands": [ "ulTransmissionBandwidth": { { "nrscs": 1, "nrFrequencyBand": 9, "supportedSulBandsncnrb": [1 9}, ] "dlTransmissionBandwidth": { } "nrscs": 1, ] }, "ncnrb": 1 "ulTransmissionBandwidth": { } "nrscs": "SCS15", "ncnrb": "NRB11"} }, "dlTransmissionBandwidthnrMode": {1, "nrscsnrPci": "SCS15"2, "ncnrbservedPlmns": "NRB11" [ }"whatever2" }] }, "configuredStacnrNeighbourInfos": "string",[ "nrPci": 300, { "nrModenrCgi": "FDDdemo1", "stac5gchoiceNrMode": { "stringfdd": { } "ularFcnFreqInfo": ]{ } ] } |
Response Data Details
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/enb
...
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
"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
}
]
}
]
}
|
Response Data Details
In case 200 OK, the payload is identical to Get NodeB <RAN Name>.
4. Insert ENB Request |
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 |
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 } } ] } |
Request Data Details
# | Parameter | Location | Data Type | Required? | Value Rules |
---|---|---|---|---|---|
1 | accept | Header | String | YES | Refer to Standard API Request Headers |
2 | content-type | Header | String |
...
POST http:
//<serverBaseURL>/v#/nodeb/enb
Request Data Details
# | 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 | ranName | Body | String | YES | The Key to the RAN. Can't be Updated. |
4 | globalNbId | Body | Object | YES | The Key to the RAN. Can't be Updated. Refer to object globalNbId |
5 | ip | Body | String | NO | |
6 | port | Body | Integer | NO | |
7 | enbenbNode | Body | Object | YES | Please refer to ENB Node |
6 | servedCells | Body | Array of Object | YES | Please refer to Served Cells array inside the eNB Object (In the Get NodeB Response) |
ENB Node
...
#
...
Parameter
...
Data Type
...
Required?
...
Value Rules
...
enbType
...
ENUM
...
YES
...
ip
...
String
...
NO
...
port
...
Integer
...
NO
...
guGroupIds
...
Array of String
...
NO
Example (TBD)
Response Data Details
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/enb
...
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
ENB Object |
Example (TBD)
Response Data Details
In case 201 CREATED, the payload is identical to Get NodeB <RAN Name>.
5. Update ENB Request |
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 |
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 } } ] } } |
Request Data Details
...
PUT http:
//<serverBaseURL>/v#/nodeb/enb/<ranName>
Request Data Details
...
#
...
Parameter
...
Location
...
Data Type
...
Required?
...
Value Rules
...
YES
...
content-type
...
Header
...
String
...
YES
...
Refer to Standard API Request Headers
...
Response Data Details
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/enb
...
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
...
DELETE http:
//<serverBaseURL>/v#/nodeb/enb/<ranName>
Request Data Details
no need in Request Body
Response Data Details
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
Code Block | ||||
---|---|---|---|---|
| ||||
PUT http://<serverBaseURL>/v#/nodeb/shutdown |
Request Data Details
Listed below are the key elements included in the request.
...
Location
...
accept
...
Header
...
String
...
Status | ||||
---|---|---|---|---|
|
...
Refer to - Standard API Request Headers
Code Block | ||||
---|---|---|---|---|
| ||||
PUT http://localhost:3800/v1/nodeb/shutdown
accept: application/json
|
Response Data Details
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
|
Request Data Details
...
# | 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 |
GET http:
//localhost:3800/v1/nodeb/states
accept: application/json
3 | enb | Body | Object | YES | Please refer to ENB Object |
Response Data Details
In case 200 OK, this is the payload
...
#
...
Parameter
...
Location
...
Data Type
...
Required?
...
Value Rules
...
content-type
...
Header
...
String
...
YES
...
rans
...
Body
...
List of Object
...
YES
...
Can be empty in case no RANs. See nodebIdentity
nodebIdentity
Contains information of the eNodeb
...
#
...
Parameter
...
Data Type
...
Required?
...
Value Rules
...
inventoryName
...
String
...
YES
...
Name of the RAN
...
globalNbId
...
Object
...
YES
...
ID of the RAN - Refer globalNbId object
...
NO
...
NO
...
globalNbId
Contains information of the eNodeb
...
#
...
Parameter
...
Data Type
...
Required?
...
Value Rules
...
nbId
...
String
...
yes
...
ID of the RAN. Different ID for eNB or gNB. In case eNB it is according the eNB Type.
is identical to Get NodeB <RAN Name>.
6. Delete ENB Request |
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 |
|
Request Data Details
no need in Request Body
Response Data Details
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 |
Code Block | ||||
---|---|---|---|---|
| ||||
PUT http://<serverBaseURL>/v#/nodeb/shutdown |
Request Data Details
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 |
Code Block | ||||
---|---|---|---|---|
| ||||
PUT http://localhost:3800/v1/nodeb/shutdown
accept: application/json
|
Response Data Details
...
plmnId
...
String
...
yes
...
There is no Body in case 204 No Content, and with 202 Accepted with error details in case failure such as Routing Manager (511)
98. GetNodeB State Request (New, Stretch Goal)All NodeB States Request |
Resource
| Resource for this interface /v#/nodeb/states/ |
Description | E2 Manager is requested to get specific RAN - Health checkto 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 |
|
accept: application/json |
Request Data Details
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 |
Response Data Details
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 |
nodebIdentity
Contains information of the eNodeb
# | Parameter | Data Type | Required? |
---|
Value Rules |
---|
1 |
accept
Header
inventoryName | String | YES | Name of the RAN | |
2 | globalNbId | Object |
YES |
Refer to - Standard API Request Headers
GET http:
//localhost:3800/v1/nodeb/states/<ran name>
accept: application/json
Response Data Details
ID of the RAN - Refer globalNbId object | ||||
3 | connectionStatus | ENUM | YES | Status of RAN |
globalNbId
Contains information of the eNodebIn case 200 OK, this is the payload
# | Parameter |
---|
Data Type | Required? | Value Rules | |
---|---|---|---|
1 |
nbId |
String |
String
YES
ran
Body
Object
YES
See nodebIdentity
yes | ID of the RAN. Different ID for eNB or gNB. In case eNB it is according the eNB Type. | |||
2 | plmnId | String | yes | ID of the PLMN (Public Land Mobile Network) |
Example ... |
9. Get All E2T Request10. RAN Health Check Request (New, Stretch Goal) |
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 |
202 Accepted
|
Request Data Details
200 OK |
|
Request Data Details
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 |
|
Response Data Details
In case 200 OK, this is the payloadListed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? |
---|
Value Rules |
---|
1 |
content-type | Header | String | YES |
Refer to - Standard API Request Headers
content-type
Header
String
See above - Standard API Request Headers
RANs
Body
Array of strings
NO
|
Response Data Details
202 Accepted or error.
2 | Body | List of Object | YES | Can be empty in case no E2T. See e2tIdentity |
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 |
Code Block | ||||
---|---|---|---|---|
| ||||
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"]
}
]
|
10. E2M Set Parameter |
11. Get All E2T Request
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 |
|
Request Data Details
Listed below are the key elements included in the request.
# | Parameter | Location | Data Type | Required? | Description and |
---|
accept
Header
String
YES
Refer to - Standard API Request Headers
GET http:
//localhost:3800/v1/e2t/list
accept: application/json
Response Data Details
In case 200 OK, this is the payload
...
#
...
Parameter
...
Location
...
Data Type
...
Required?
...
Value Rules
...
content-type
...
Header
...
String
...
YES
...
Body
...
List of Object
...
YES
...
Can be empty in case no E2T. See e2tIdentity
e2tIdentity
Contains information of the E2T instance
#
Parameter
Data Type
Required?
Value Rules | |
---|---|
1 | accept |
Header | String |
yes
YES | Refer to - Standard API Request Headers |
2 |
ranNames
List of string
no
List of the RAN Names associated with this Instance. Can be empty
Code Block | ||||
---|---|---|---|---|
| ||||
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
...
PUT http:
//<serverBaseURL>/v#/nodeb/parameters
Request Data Details
Listed below are the key elements included in the request.
...
#
...
Parameter
...
Location
...
Data Type
...
Required?
...
Description and Value Rules
...
accept
...
Header
...
String
...
YES
...
Refer to - Standard API Request Headers
...
content-type
...
Header
...
String
...
See above - Standard API Request Headers
...
Parameters
...
Object
...
Object
...
YES
...
parameter
Contains information of the eNodeb. At least one parameter must exist in this Object
...
True meaning - Future Setup from RAN will be supported
False meaning - Future Setup from RAN will be rejected
content-type | Header | String | See above - Standard API Request Headers | ||
3 | Parameters | Object | Object | YES | At least one field in the Parameter Object |
parameter
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, } |
Response Data Details
200 OK with the list of All parameters or error
|
|
|
SDL Notification
When a RAN (eNB or gNB) is added, updated or deleted in RNIB, or when a state of RAN is changed, the following SDL Notification generated.
E2M supports 2 types of SDL Notification, the client can subscribe to each of them:
- RAN Manipulation - The Notification specifies the RAN Name + the action (Added, Updated, Deleted)
- RAN Connection Status Changed - The Notification specifies the RAN Name + its Status
In the following scenarios E2M generates SDL Notification:
Issue | RAN Connection Status Changed | RAN Manipulation | Comments |
---|---|---|---|
Setup Request from RAN | + (Connected) | Only in case the NodeB was previously Disconnected or it is a new RAN Note that the Function might be changed. In case new RAN - In most of the cases the status changed to Connected, n the rare case where the Routing Manager is down - E2M generate SDL RAN Connection Status Changed to Disconnected. | |
+ (Updated) | In case the NodeB was already Connected and there was some changes | ||
Insert eNB API | + (Added) | ||
Update eNB API, Update gNB API | + (Updated) | ||
RIC Service Update | + (Updated) | Only in case there was some changed (Function Added / Modified / Deleted) | |
Lost Connection, Red Button (Shut Down) | + (Disconnected) | Only in case the NodeB was previously Connected | |
E2T Restart, Keep Alive decides this E2T Instance is dead | + (Disconnected) | Only in case this NodeB was under the control of this E2T Instance and it was previously Connected | |
Delete eNB API | + (Deleted) |
Here are the values:
Channel | Events |
RAN_CONNECTION_STATUS_CHANGE | <RAN_NAME>_CONNECTED |
RAN_MANIPULATION | <RAN_NAME>_ADDED |
PUT http:
//localhost:3800/v1/nodeb/parameters
accept: application/json
{
"enableRic": true,
}
Response Data Details
200 OK with the list of All parameters or error