Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Revision Description

Page properties


Document status
Status
titleDRAFT
Document owner
Owner Details

+972-54-2891166,   ab600d@intl.att.com


...

Table of Contents
maxLevel2

Revision History

R5 Release

...

Revision DescriptionTime

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 2020Ready
Changing the end point of Update GNB. Adding more information to the Cell Object like Update eNBJuly 2020Ready
Supporting E2M Set Parameter (New method) with Enable RIC parameterMay 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 DescriptionJune 2020NA

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.

...

#APIResource After base URIHTTP Verb

X2 Setup Request Message Request  (deprecated)

/v#/nodeb/x2-setup

POST


ENDC Setup Request Message Request   (deprecated)

/v#/nodeb/endc-setup

POST


Reset nodeb Request  (deprecated)/v#/nodeb/<ranName>/reset *PUT
1

Health Check Request 

/v#/health

GET

2

Get nodeb data Request  

/v#/nodeb/<ranName>

GET

3Update GNB Request  /v#/nodeb/gnb/<ranName>/updatePUT
4Insert ENB Request  /v#/nodeb/<ranName>/enbPOST
5Update ENB Request  /v#/nodeb/enb/<ranName>/enbPUT
6Delete ENB Request /v#/nodeb/enb/<ranName>/enbDELETE
7

Shut Down Request 

/v#/nodeb/shutdown

PUT

8

Get All nodeb States Request (Changed, Stretch Goal)Request  

/v#/nodeb/states

GET
9Get NodeB State Request (New, Stretch Goal)/v#/nodeb/states/<ranName>GET
10RAN Health Check Request  (New, Stretch Goal)/v#/nodeb/healthPUT
11Get All E2T Request /v#/e2t/listGET
1210E2M set parameters (New)parameters  /v#/nodeb/parametersPUT

Note: Due to router problem we change the Endpoint of Reset nodeb to /v1/nodeb-reset/<ranName>. 

...

404 RAN exist.
HTTP ErrorerrorCodeerrorMessageDetails
202 Accepted510No E2T Instance available. The existing RAN can't associated with any available E2T Instance. When E2T will be identified, this RAN will be served.
511No Routing Manager Available

Currently there is connectivity to the Routing Manager. E2M will try later.

400 Bad Request


401corrupted jsonCan't parse the payload of the body
402validation errorE.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 executionE.G: Reset  request is sent when state isn't Connected
405command already Add eNB to existing RANin progressE405command already in progressE.G: 2 parallel Red Button were sent
406Node Already ExistInsert 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.
404resource not foundThe classic 404 - Resource ID  doesn't exist in the system406No RAN in Connected Statee.g.: RAN Health Check and no one in Connected
415 Unsupported Media Type415Header validation errorIn case there is a body  and header  application/json is missing - error.

500 Internal Server Error

500RNIB error
501Internal Server Error. Please try again later
502RMR error
503 Service Unavailable510No E2T Instance available. The New RAN can't be added, please try later.
511No Routing Manager AvailableThe 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

404500, 501

Update GNB,

Insert ENB,

Update ENB

Delete ENB


 401, 402, 406404500, 501
Shut Down
405
500, 501, 502511
Get All nodeb 


500, 501
Get All E2T 


500, 501
E2M Set Parameters
401


...

This will be updated in R5 by REST API

#

Parameter

Data Type

Required?

Value Rules

1

cellLatitude

Integer

Float

Status
colourGreen
titleNO


2

cellLongitude

Integer

Float

Status
colourGreen
titleNO


3antennaHeight
Integer
Float

Status
colourGreen
titleNO

In meter
4antennaAzimuthDirection
Integer
Float

Status
colourGreen
titleNO
-

degree, 0-360
5antennaTiltAngle
Integer
Float

Status
colourGreen
titleNO

degree, 0-90
6antennaMaxTransmit
Integer
Float

Status
colourGreen
titleNO

dBm
7antennaMaxGain
Integer
Float

Status
colourGreen
titleNO

dB
8sectorIdInteger

Status
colourGreen
titleNO

ID of the Sector

Gnb

Contains information of the gnodeb

...

#Parameter

Data Type

Required?Value Rules
1

ranFunctionId

Integer

Status
colourRed
titleYES


2ranFunctionDefinitionObjectArray of bytes

Status
colourRed
titleYES

See  Ran Function Definition


3ranFunctionRevisionInteger

Status
colourRed
titleYES

...



Setup Failure

Contains information of the error

#Parameter

Data Type

Required?Value Rules
1
e2smGnbNrtRanFunctionDefinition

cause_group

Object

ENUM

Status
colour

Red

Green
title

YES

See E2 SM GNB NRT Ran Function Definition

E2 SM GNB NRT Ran Function Definition

...

Data Type

...

ranFunctionName

...

Object

...

Status
colourRed
titleYES

...

Status
colourGreen
titleNO

...

Status
colourGreen
titleNO

...

Status
colourGreen
titleNO

...

Status
colourGreen
titleNO

...

NO

One of the following ENUM

  • RadioNetworkLayerCause
  • TransportLayerCause
  • ProtocolCause
  • MiscellaneousCause
2

TimeToWait

ENUM


Look on TimeToWait ENUM

3

CriticalityDiagnostics

Object



Criticality Diagnostics

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

Information Element Criticality Diagnostics

Contains information of the error

...

#Parameter

Data Type

Required?Value Rules
1
ranFunctionShortName

ieCriticality

String

ENUM

status


Refer to Criticality ENUM

colour
2
Red

ieId

title

Integer

YES



3
2

typeOfError

ranFunctionE2smOid

ENUM

String

Status
colourRed
titleYES

3ranFunctionDescriptionString

Status
colourRed
titleYES

4ranFunctionInstanceInteger

Status
colourGreen
titleNO

RIC Event Trigger Styles


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


PUT http://<serverBaseURL>/v#/nodeb/gnb/<ranName>

Request Data Details

#Parameter

#

Parameter

Location

Data Type

Required?

Value Rules

1

accept
ricEventTriggerStyleType
Header
Integer
String

Status
colourRed
titleYES

2ricEventTriggerStyleNameString

Status
colourRed
titleYES

3ricEventTriggerFormatTypeInteger

Status
colourRed
titleYES

RIC Report Styles

...

Data Type

...

ricReportStyleType

...

Integer

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

RIC Report RAN Parameter Defs

...

Data Type

...

ranParameterId

...

Integer

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

RIC Insert Styles

...

Data Type

...

ricInsertStyleType

...

Integer

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

RIC Control Styles

...

Data Type

...

ricControlStyleType

...

Integer

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

...

Status
colourRed
titleYES

Setup Failure

Contains information of the error

...

Data Type

...

cause_group

...

ENUM

...

Status
colourGreen
titleNO

...

One of the following ENUM

  • RadioNetworkLayerCause
  • TransportLayerCause
  • ProtocolCause
  • MiscellaneousCause

...

TimeToWait

...

ENUM

...

Look on TimeToWait ENUM

...

CriticalityDiagnostics

...

Object

Criticality Diagnostics

Contains information of the error

...

Data Type

...

informationElementCriticalityDiagnostics

...

Object

...

·       

...

procedureCode

...

Integer

...

procedureCriticality

...

ENUM

...

Refer to Criticality ENUM

...

triggeringMessage

...

ENUM

...

Refer to TriggeringMessage ENUM

Information Element Criticality Diagnostics

Contains information of the error

...

Data Type

...

ieCriticality

...

ENUM

...

Refer to Criticality ENUM

...

ieId

...

Integer

...

typeOfError

...

ENUM

...

Refer to TypeOfError ENUM

...

3. Update GNB Request  

...

Resource

 

...

Resource for this interface

/v#/nodeb

...

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

...

PUT http://<serverBaseURL>/v#/nodeb/<ranName>/update

YES

Refer to Standard API Request Headers

content-type

Header

String

YES

Refer to Standard API Request Headers


servedNrCellsBodyArray of ObjectYESPlease refer to Served NR Cells array inside the gNB Object (In the Get NodeB Response)

Example:

Code Block
languagejava
themeConfluence
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": {
                       

Request Data Details

...

#

...

Parameter

...

Location

...

Data Type

...

Required?

...

Value Rules

...

YES

...

content-type

...

Header

...

String

...

YES

...

Refer to Standard API Request Headers

...

Example:

Code Block
languagejava
themeConfluence
PUT http://localhost:3800/v1/nodeb/test1/update
accept: application/json
{
       "servedNrCells": [
      {
        "servedNrCellInformation": {
         "nrPcinrArFcn": 1001,
                     "cellId": "02f829:0007ab0178",
          "servedPlmnssulInformation": [{
                "02f829"
          ],
          "nrModesulArFcn": "FDD"2,
          "choiceNrMode": {
              "fdd": {
              "ulFreqInfosulTransmissionBandwidth": {
                       "nrArFcn": "100",
                "frequencyBandsnrscs": [1,
                    {
                    "nrFrequencyBandncnrb": 9,1
                    "supportedSulBands": [
               }
       9
                    ]
     },
             }
                ]
   "frequencyBands": [
          },
              "dlFreqInfo": {
           {
     "nrArFcn": "100",
                "frequencyBands": [
                  {
 "nrFrequencyBand": 3,
                   "nrFrequencyBand": 9,
                    "supportedSulBands": [
                      9
                    ]
    1,
              }
                ]
              }2,
              "ulTransmissionBandwidth": {
                "nrscs": "SCS15",
                "ncnrb": "NRB11"
 3
             },
              "dlTransmissionBandwidth": {
            ]
    "nrscs": "SCS15",
                "ncnrb": "NRB11"
              }
            }
          }
        },
    ]
    "nrNeighbourInfos": [
          {
            "nrCgi": "string",
 }
             "choiceNrMode": {
          }
    "fdd": {
                "ulFreqInfo": {
},
                    "nrArFcnnrMode": "100"1,
                    "frequencyBandsnrPci": [1
                }
         {
   ]
        }
           "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"
          }
        ]
      }
    ]
}

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/<ranName>

...

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

]
}

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/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


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


                }


            }


        ]


    }


Request Data Details

#

Parameter

Location

Data Type

Required?

Value Rules

1acceptHeaderString

YES

Refer to Standard API Request Headers
2

content-type

Header

String

YES

Refer to Standard API Request Headers

3ranNameBodyStringYESThe Key to the RAN. Can't be Updated.
4globalNbIdBodyObjectYESThe Key to the RAN. Can't be Updated. Refer to object globalNbId
5ipBodyStringNO
6portBodyIntegerNO
7enbBodyObjectYESPlease refer to 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/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


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

                }

            }

        ]

    }

}

...

POST http://<serverBaseURL>/v#/nodeb/<ranName>/enb

Request Data Details

...

#

...

Parameter

...

Location

...

Data Type

...

Required?

...

Value Rules

...

YES

...

content-type

...

Header

...

String

...

YES

...

Refer to Standard API Request Headers

...

ENB Node

...

#

...

Parameter

...

Data Type

...

Required?

...

Value Rules

...

enbType

...

ENUM

...

YES

...

ranName

...

String

...

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/<ranName>

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

PUT http://<serverBaseURL>/v#/nodeb/<ranName>/enb

Request Data Details

Please refer to Served Cells array inside the eNB (In the Get NodeB Response)

#

Parameter

Location

Data Type

Required?

Value Rules

1acceptHeaderString

YES

Refer to Standard API Request Headers
2

content-type

Header

String

YES

Refer to Standard API Request Headers

3enbNodeenbBodyObjectYESPlease refer to ENB Node4servedCellsBodyArray of ObjectYES Object

Response Data Details

In case 200 OK, the payload is identical to Get NodeB <RAN Name>.

6. Delete ENB

Request  (New)

Request  


Resource

Resource for this interface - /v#/nodeb/<ranName>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/<ranName>/enb

Request Data Details

...

#

...

Parameter

...

Location

...

Data Type

...

Required?

...

Value Rules

etc

Successful HTTP Response Code

200 OK


DELETE http://<serverBaseURL>/v#/nodeb/enb/<ranName>

Request Data Details

no need in Request Body

...

YES

...

content-type

...

Header

...

String

...

YES

...

Refer to Standard API Request Headers

...

Response Data Details

In case success -  204 No Content

...

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


GET http://<serverBaseURL>/v#/nodeb/states

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

GET http://localhost:3800/v1/nodeb/states
accept: application/json


Response Data Details

In case 200 OK, this is the payload

...

Timestamp (Unix epoch) when the Health Check (RIC Service Update) was received

#

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

3connectionStatusENUMYESStatus of RAN
4healthCheckTimestampSentLong

NO

The Unix epoch  (The number of nanoseconds that have elapsed since January 1, 1970) when the Health Check (RIC Service Query) was sent

globalNbId

Object

YES

ID of the RAN - Refer globalNbId object

3connectionStatusENUMYESStatus of RAN5healthCheckTimestampReceivedLong

NO

globalNbId

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

ObjectString

yes

ID of the PLMN (Public Land Mobile Network)

...



Example ...


9. Get

NodeB State Request (New, Stretch Goal)

All E2T Request 


Resource

 

Resource for this interface

/v#/nodeb/states/<ran name>e2t/list

Description

E2 Manager is requested to get specific RAN - Health checklist 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

...

GET http://<serverBaseURL>/v#/nodeb/states/<ran name>e2t/list

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


GET http://localhost:3800/v1/nodeb/statese2t/<ran name>list 
accept: application/json


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
ran


Body

 Object

List of 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

PUT http://<serverBaseURL>/v#/nodeb/health

Request Data Details

Listed below are the key elements included in the request.

Can be empty in case no E2T. See e2tIdentity


e2tIdentity

Contains information of the E2T instance 


#

Parameter

#

Parameter

Location

Data Type

Required?

Description and Header

Value Rules

1

accept

e2tAddress

String

YES

Refer to - Standard API Request Headers

yes

Address of the E2T Instance

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.

PUT http://localhost:3800/v1/nodeb/health
 
accept: application/json

Response Data Details

202 Accepted or error.

ranNames

List of string

no

List of the RAN Names associated with this Instance. Can be empty


Code Block
languagejava
themeConfluence
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#/

e2t

nodeb/

list

parameters

Description

E2 Manager is requested to

get list of all E2T Instances address and list of RANs associate with each E2T Instance

set some Parameter

HTTP Method

GET

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


GET PUT http://<serverBaseURL>/v#/e2tnodeb/listparameters

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

...

GET http://localhost:3800/v1/e2t/list 
accept: application/json

Response Data Details

In case 200 OK, this is the payloadare 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

YES

2

Body

List of


See above - Standard API Request Headers

3

Parameters

Object

Object

YES

Can be empty in case no E2T. See e2tIdentity

...

At least one field in the Parameter Object


parameter

Contains information of the

...

eNodeb. At least one parameter must exist in this Object

ParameterData
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

...

languagejava
themeConfluence

...

TypeDescription
enableRicBoolean

True meaning - Future Setup from RAN will be supported

False meaning - Future Setup from RAN will be rejected


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


X2 Setup Request (Deprecated) 


ENDC Setup Request (Deprecated)


Reset nodeb Request  (Deprecated)


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:

  1. RAN Manipulation - The Notification specifies the RAN Name + the action (Added, Updated, Deleted)
  2. RAN Connection Status Changed - The Notification specifies the RAN Name + its Status 

In the following scenarios E2M generates SDL Notification:

IssueRAN 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_NAME>_DISCONNECTED

RAN_MANIPULATION

<RAN_NAME>_ADDED
<RAN_NAME>_UPDATED
<RAN_NAME>_DELETED

...

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

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

X2 Setup Request (Deprecated) 

ENDC Setup Request (Deprecated)

Reset nodeb Request  (Deprecated)