Versions Compared

Key

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

This design matches the requirements in the following USs:   

Jira
serverORAN Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5ec52304-b77c-3ce7-af6a-112cb13e6008
keyRIC-431

...

Jira
serverORAN Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5ec52304-b77c-3ce7-af6a-112cb13e6008
keyRIC-433

Jira
serverORAN Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5ec52304-b77c-3ce7-af6a-112cb13e6008
keyRIC-434


RnibReader changes

We shall modify the ServedCellInfo message inside the Enb proto message:

...

Code Block
message Enb {
    EnbType enb_type = 1;
    repeated ServedCellInfo served_cells = 2;
    repeated string gu_group_ids = 3;
}

message ServedCellInfo {
    uint32 pci = 1;
    string cell_id = 2;
    string tac = 3;
    repeated string broadcast_plmns = 4;
    ChoiceEUTRAMode choice_eutra_mode = 5;
    Eutra.Mode eutra_mode = 6;
    NumberOfAntennaPorts number_of_antenna_ports = 7;
    PrachConfiguration prach_configuration = 8;
    repeated MbsfnSubframe mbsfn_subframe_infos = 9;
    string csg_id = 10;
    repeated string mbms_service_area_identities = 11;
    repeated uint32 multiband_infos = 12;
    FreqBandIndicatorPriority freq_band_indicator_priority = 13;
    BandwidthReducedSI bandwidth_reduced_si = 14;
    repeated NeighbourInformation neighbour_infos = 15;
}

We shall add the followingNow, ServedCellInfo message is expanded by adding the AdditionalCellInformation message:


Code Block
message ServedCellInfo {
	...
	AdditionalCellInformation additional_cell_information = 16;
}

message AdditionalCellInformation {
	float cell_latitude = 1;
	float cell_longitude = 2;
	float antenna_height = 3;
	float antenna_azimuth_direction = 4;
	float antenna_tilt_angle = 5;
	float antenna_max_transmit = 6;
	float antenna_max_gain = 7;
	uint32 sector_id = 8;
}


E2 Manager Changes

Configuration

Add a new configuration key to the yaml file.

...

Info

This key will be used by RnibWriter for adding/updating/deleting eNBs and updating gNBs.

RnibWriter will trigger Sdl.SetAndPublish method, sending the RAN_MANIPULATION channel, and one of the following events:

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

RnibWriter

  • Modify the following method:

...

Code Block
RemoveServedCells(inventoryName string, servedCells []*entities.ServedCellInfo) error
UpdateEnb(nodebInfo *entities.NodebInfo, servedCells []*entities.ServedCellInfo) error
DeleteEnb(nodebInfo *entities.NodebInfo) error

Jira
serverORAN Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5ec52304-b77c-3ce7-af6a-112cb13e6008
keyRIC-431
: Add eNB REST API


Agenda

  • POST /v1/nodeb/enb is triggered, request body is validated
  • Execute GetNodeb for the request's RAN. If we have a DB error or if it's already exists → error
  • Create a NodebInfo struct with an Enb configuration, populate it with the request data and set its connection status to DISCONNECTED
  • Execute SaveNodeb, where SetAndPublish will be triggered for eNB type, sending the RAN_MANIPULATION channel and the <RAN_NAME>_ADDED event.
  • Return 201 Created with NodebInfo response.

...

Code Block
{
	"ranName": "",
	"globalNbId": {
					plmnId: "",
					nbId:	""
	},
	"ip": "",
	"port": 1234,
	"enb": {
			"enbType": "",
			"servedCells": [{}],
			"guGroupIds": [""]
	}
}


Sequence Diagram

Update eNB REST API


PUT /v1/nodeb/enb/<RAN_NAME>


Sequence Diagram

Delete eNB REST API

DELETE /v1/nodeb/enb/<RAN_NAME>

...