Commit 290e7bbe authored by Kirill Smelkov's avatar Kirill Smelkov

software/ors-amarisoft: enb: Intra-ENB handover

If a base station has multiple cells, it should be possible for UE to be handed
over from one cell into another, for example when UE crosses border of sectors.

So far we had only Inter-ENB Ho and now we are also adding configuration for
HO in between all own cells.

Tests will be added later as full tests for generic MultiRU.
parent b0df87ae
......@@ -20,9 +20,33 @@
{%- set do_nr = len(cell_dict_nr) > 0 %}
{#- handover_config emits handover configuration #}
{%- macro handover_config() %}
{#- handover_config emits handover configuration for specified cell #}
{%- macro handover_config(cell_ref) %}
ncell_list: [
// Intra-ENB HO
{%- for cell2_ref, cell2 in cell_dict|dictsort %}
{%- if cell2_ref != cell_ref %} {#- NOTE: HO to both LTE and NR #}
{%- set ru2_ref = cell2.ru_ref %}
{%- set ru2 = ru_dict[ru2_ref] %}
{
{%- if cell2.cell_type == 'lte' %}
rat: "eutra",
cell_id: {{ slapparameter_dict.enb_id }}{{ cell2.cell_id.removeprefix('0x') }}, // -> {{ cell2_ref }}
n_id_cell: {{ cell2.pci }},
dl_earfcn: {{ cell2.dl_earfcn }},
tac: {{ cell2.tac }},
allowed_meas_bandwidth: {{ jlte_n_rb_dl(cell2.bandwidth) }},
antenna_port_1: {{ (ru2.n_antenna_dl > 1) | tojson }},
{%- elif cell2.cell_type == 'nr' %}
rat: "nr",
cell_id: {{ cell2.cell_id }}, // -> {{ cell2_ref }}
{%- else %}
{%- do bug('unreachable') %}
{%- endif %}
},
{%- endif %}
{%- endfor %}
// Inter-ENB HO
{%- for _, ncell in slapparameter_dict.get('ncell_list', {})|dictsort %}
{
......@@ -184,7 +208,7 @@
inactivity_timer: {{ cell.inactivity_timer }},
// Handover
{{- handover_config() }}
{{- handover_config(cell_ref) }}
// Carrier Aggregation: LTE + LTE
scell_list: [
......@@ -429,7 +453,7 @@
inactivity_timer: {{ cell.inactivity_timer }},
// Handover
{{- handover_config() }}
{{- handover_config(cell_ref) }}
// Carrier Aggregation: NR + NR
scell_list: [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment