Table of Contents
Introduction
This design matches the requirements in the following USs:
...
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
RnibReader
...
Changes
We shall modify the ServedCellInfo message inside the Enb proto message:Current enb.protoadd a new proto message, named AdditionalCellInformation
:
Code Block |
---|
message EnbAdditionalCellInformation { EnbType enb_type float cell_latitude = 1; repeated ServedCellInfo served_cells float cell_longitude = 2; repeated string gu_group_ids float antenna_height = 3; } message ServedCellInfo { uint32 pci = 1; string cell_id = 2; string tac = 3; repeated string broadcast_plmns float antenna_azimuth_direction = 4; ChoiceEUTRAMode choice_eutra_mode float antenna_tilt_angle = 5; Eutra.Mode eutra_mode float antenna_max_transmit = 6; NumberOfAntennaPorts number_of_antenna_ports float antenna_max_gain = 7; PrachConfiguration prach_configuration uint32 sector_id = 8; } |
- Expand ServedCellInfo (enb.proto) with this proto message:
enb.proto:
Code Block |
---|
message repeated MbsfnSubframe mbsfn_subframe_infos = 9;Enb { stringEnbType csgenb_idtype = 101; repeated stringServedCellInfo mbms_service_area_identitiesserved_cells = 112; repeated uint32string multiband_infos = 12; FreqBandIndicatorPriority freq_band_indicator_prioritygu_group_ids = 13; BandwidthReducedSI bandwidth_reduced_si = 14; repeated NeighbourInformation neighbour_infos = 15; } |
Now, ServedCellInfo message is expanded by adding the AdditionalCellInformation message:
Code Block |
---|
message3; } message ServedCellInfo { ... AdditionalCellInformation additional_cell_information = 16; } |
- Expand ServedNRCellInformation (gnb.proto) with this proto message:
gnb.proto:
Code Block |
---|
message AdditionalCellInformationGnb { float cell_latitude repeated ServedNRCell served_nr_cells = 1; float cell_longitude repeated RanFunction ran_functions = 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 } message ServedNRCell { ServedNRCellInformation served_nr_cell_information = 1; repeated NrNeighbourInformation nr_neighbour_infos = 2; } message ServedNRCellInformation { ... AdditionalCellInformation additional_cell_information = 16; } |
E2 Manager Configuration Changes
...
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:
|
RnibWriter Changes
- Modify the following method:
Code Block | ||
---|---|---|
| ||
SaveNodeb(nbIdentity *entities.NbIdentity, nodebInfo *entities.NodebInfo) error |
→ For Gnb type, we execute sdl's Set method.
→ For Enb type, we execute sdl's SetAndPublish method instead, sending RAN_MANIPULATION channel and <RAN_NAME>_ADDED event.
...
Code Block |
---|
RemoveServedCells(inventoryName string, servedCells []*entities.ServedCellInfo) error UpdateEnb(nodebInfo *entities.NodebInfo, servedCells []*entities.ServedCellInfo) error DeleteEnb(nodebInfo *entities.NodebInfo) error |
Info | ||
---|---|---|
|
Add eNB REST API
Info | ||||||
---|---|---|---|---|---|---|
| ||||||
|
...
Code Block | ||
---|---|---|
| ||
{ "ranName": "", "globalNbId": { plmnId: "", nbId: "" }, "ip": "", "port": 1234, "enb": { "enbType": "", "servedCells": [{}], "guGroupIds": [""] } } |
Sequence Diagram
Update eNB REST API & Update gNB REST API
Info | ||||||
---|---|---|---|---|---|---|
| ||||||
|
...