This design matches the requirements in the following USs:
- RIC-431Getting issue details... STATUS
- RIC-432Getting issue details... STATUS
- RIC-433Getting issue details... STATUS
RnibReader changes
We shall modify the ServedCellInfo message inside the Enb proto message:
Current enb.proto:
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 following:
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.
Recently we've added:
stateChangeMessageChannel: RAN_CONNECTION_STATUS_CHANGE
Now we shall add a new channel for RAN changes:
ranManipulationMessageChannel: RAN_MANIPULATION
This key, as others, should be read to the app's configuration which is injected to various flows.
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
Add the following methods:
UpdateEnb() DeleteEnb() SaveNodeb()
Add eNB REST API
POST /v1/nodeb/enb
Request Body:
{ ranName: string, globalNbId: { plmnId: string, nbId: string }, ip: string, port: number, enb: { enbType: string, servedCells: [{}], guGroupIds: [string] } }
Sequence Diagram
Update eNB REST API
PUT /v1/nodeb/enb/<RAN_NAME>
Sequence Diagram
Delete eNB REST API
DELETE /v1/nodeb/enb/<RAN_NAME>
Sequence Diagram