Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
105
Merge Requests
105
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
05bd12e9
Commit
05bd12e9
authored
Dec 03, 2024
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
simpleran: add PDN list parameter and add more default parameters
parent
30d97cf5
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
597 additions
and
60 deletions
+597
-60
software/simpleran/buildout.hash.cfg
software/simpleran/buildout.hash.cfg
+6
-6
software/simpleran/config/enb.jinja2.cfg
software/simpleran/config/enb.jinja2.cfg
+30
-30
software/simpleran/config/ims.jinja2.cfg
software/simpleran/config/ims.jinja2.cfg
+2
-2
software/simpleran/config/mme.jinja2.cfg
software/simpleran/config/mme.jinja2.cfg
+9
-6
software/simpleran/instance-core-network-input-schema.json
software/simpleran/instance-core-network-input-schema.json
+34
-0
software/simpleran/instance-core-network.jinja2.cfg
software/simpleran/instance-core-network.jinja2.cfg
+23
-4
software/simpleran/instance-enb-input-schema.json
software/simpleran/instance-enb-input-schema.json
+435
-0
software/simpleran/instance-enb.jinja2.cfg
software/simpleran/instance-enb.jinja2.cfg
+28
-0
software/simpleran/instance-ors-enb-input-schema.json
software/simpleran/instance-ors-enb-input-schema.json
+4
-4
software/simpleran/instance-ors-enb.jinja2.cfg
software/simpleran/instance-ors-enb.jinja2.cfg
+22
-4
software/simpleran/instance-ors-gnb-input-schema.json
software/simpleran/instance-ors-gnb-input-schema.json
+4
-4
No files found.
software/simpleran/buildout.hash.cfg
View file @
05bd12e9
...
...
@@ -60,11 +60,11 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
915af421eb59f36f7145c404c88b24b0
md5sum =
e89ee67dcee89923aace67759b3a7867
[template-ors-enb]
_update_hash_filename_ = instance-ors-enb.jinja2.cfg
md5sum =
f4221fa9088546a40449845dcfb15447
md5sum =
8ed4dcc068950078daadfa7dd63b67fe
[template-ors-ue]
_update_hash_filename_ = instance-ors-ue.jinja2.cfg
...
...
@@ -72,7 +72,7 @@ md5sum = f4389a92fb111447e7976e452db78607
[template-core-network]
_update_hash_filename_ = instance-core-network.jinja2.cfg
md5sum =
7b653b5bfd62e91d0c423ee9387ca04
5
md5sum =
92fd8377819ae6e844f77937cecfa60
5
[template-ue]
_update_hash_filename_ = instance-ue.jinja2.cfg
...
...
@@ -88,7 +88,7 @@ md5sum = dd50b4e4780830ddbde28b84af118f18
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum =
5f5441444d442e87526b6ced33265656
md5sum =
d19d631a0181a5449be8859274d4fade
[drb_lte.jinja2.cfg]
filename = config/drb_lte.jinja2.cfg
...
...
@@ -108,7 +108,7 @@ md5sum = 9dbd93036c15c87c6de74b88b34062b6
[mme.jinja2.cfg]
filename = config/mme.jinja2.cfg
md5sum =
d1df6c004ca74330699969818aec3252
md5sum =
eff3bd1b191cfab251a602ad99a8316e
[dnsmasq-core-network.jinja2.cfg]
filename = config/dnsmasq-core-network.jinja2.cfg
...
...
@@ -120,7 +120,7 @@ md5sum = 95f4f8fb85e0480eb3e9059b9db26540
[ims.jinja2.cfg]
filename = config/ims.jinja2.cfg
md5sum =
f07c85916bcb7e4002c8edc3d087c1be
md5sum =
8379c4edcccc03db94acceca77e3cd07
[ue.jinja2.cfg]
filename = config/ue.jinja2.cfg
...
...
software/simpleran/config/enb.jinja2.cfg
View file @
05bd12e9
...
...
@@ -451,32 +451,32 @@
a2_hysteresis: {{ slapparameter_dict.handover_a2_hysteresis }},
a2_time_to_trigger: {{ slapparameter_dict.handover_a2_time_to_trigger }},
eutra_handover: {
{%- if 'a3_rsrp' in slapparameter_dict.eutra_handover.event %}
{%- if 'a3_rsrp' in slapparameter_dict.eutra_
eutra_
handover.event %}
a3_report_type: "rsrp",
a3_offset: {{ slapparameter_dict.eutra_handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.eutra_handover.event %}
a3_offset: {{ slapparameter_dict.eutra_
eutra_
handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.eutra_
eutra_
handover.event %}
a4_report_type: "rsrp",
a4_threshold_rsrp: {{ slapparameter_dict.eutra_handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.eutra_handover.event %}
a4_threshold_rsrp: {{ slapparameter_dict.eutra_
eutra_
handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.eutra_
eutra_
handover.event %}
a5_report_type: "rsrp",
a5_threshold1_rsrp: {{ slapparameter_dict.eutra_handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.eutra_handover.event.a5_threshold2_rsrp }},
a5_threshold1_rsrp: {{ slapparameter_dict.eutra_
eutra_
handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.eutra_
eutra_
handover.event.a5_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.eutra_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.eutra_handover.time_to_trigger }}
hysteresis: {{ slapparameter_dict.eutra_
eutra_
handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.eutra_
eutra_
handover.time_to_trigger }}
{%- if len(list(ipeercell_dict|dictsort | selectattr('1._.cell_type', '==', 'nr'))) > 0 %}
},
nr_handover: {
{%- if 'b1_rsrp' in slapparameter_dict.nr_handover.event %}
{%- if 'b1_rsrp' in slapparameter_dict.
eutra_
nr_handover.event %}
b1_report_type: "rsrp",
b1_threshold_rsrp: {{ slapparameter_dict.nr_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.nr_handover.event %}
b1_threshold_rsrp: {{ slapparameter_dict.
eutra_
nr_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.
eutra_
nr_handover.event %}
b2_report_type: "rsrp",
b2_threshold1_rsrp: {{ slapparameter_dict.nr_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.nr_handover.event.b2_threshold2_rsrp }},
b2_threshold1_rsrp: {{ slapparameter_dict.
eutra_
nr_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.
eutra_
nr_handover.event.b2_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.nr_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.nr_handover.time_to_trigger }}
hysteresis: {{ slapparameter_dict.
eutra_
nr_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.
eutra_
nr_handover.time_to_trigger }}
},
{%- else %}
}
...
...
@@ -829,28 +829,28 @@
a2_hysteresis: {{ slapparameter_dict.handover_a2_hysteresis }},
a2_time_to_trigger: {{ slapparameter_dict.handover_a2_time_to_trigger }},
nr_handover: {
{%- if 'a3_rsrp' in slapparameter_dict.nr_handover.event %}
{%- if 'a3_rsrp' in slapparameter_dict.nr_
nr_
handover.event %}
a3_report_type: "rsrp",
a3_offset: {{ slapparameter_dict.nr_handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.nr_handover.event %}
a4_threshold_rsrp: {{ slapparameter_dict.nr_handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.nr_handover.event %}
a5_threshold1_rsrp: {{ slapparameter_dict.nr_handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.nr_handover.event.a5_threshold2_rsrp }},
a3_offset: {{ slapparameter_dict.nr_
nr_
handover.event.a3_rsrp }},
{%- elif 'a4_rsrp' in slapparameter_dict.nr_
nr_
handover.event %}
a4_threshold_rsrp: {{ slapparameter_dict.nr_
nr_
handover.event.a4_rsrp }},
{%- elif 'a5_rsrp' in slapparameter_dict.nr_
nr_
handover.event %}
a5_threshold1_rsrp: {{ slapparameter_dict.nr_
nr_
handover.event.a5_threshold1_rsrp }},
a5_threshold2_rsrp: {{ slapparameter_dict.nr_
nr_
handover.event.a5_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.nr_nr_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.nr_nr_handover.time_to_trigger }}
},
{%- if len(list(ipeercell_dict|dictsort | selectattr('1._.cell_type', '==', 'lte'))) > 0 %}
eutra_handover: {
{%- if 'b1_rsrp' in slapparameter_dict.eutra_handover.event %}
b1_threshold_rsrp: {{ slapparameter_dict.eutra_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.eutra_handover.event %}
b2_threshold1_rsrp: {{ slapparameter_dict.eutra_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.eutra_handover.event.b2_threshold2_rsrp }},
{%- if 'b1_rsrp' in slapparameter_dict.
nr_
eutra_handover.event %}
b1_threshold_rsrp: {{ slapparameter_dict.
nr_
eutra_handover.event.b1_rsrp }},
{%- elif 'b2_rsrp' in slapparameter_dict.
nr_
eutra_handover.event %}
b2_threshold1_rsrp: {{ slapparameter_dict.
nr_
eutra_handover.event.b2_threshold1_rsrp }},
b2_threshold2_rsrp: {{ slapparameter_dict.
nr_
eutra_handover.event.b2_threshold2_rsrp }},
{%- endif %}
hysteresis: {{ slapparameter_dict.eutra_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.eutra_handover.time_to_trigger }}
hysteresis: {{ slapparameter_dict.
nr_
eutra_handover.hysteresis }},
time_to_trigger: {{ slapparameter_dict.
nr_
eutra_handover.time_to_trigger }}
},
{%- endif %}
ssb_rsrq_filter_coeff: 3,
...
...
software/simpleran/config/ims.jinja2.cfg
View file @
05bd12e9
...
...
@@ -22,11 +22,11 @@
],
mms_server_bind_addr: "{{ internet_ipv4 }}:1111",
sctp_addr: "{{ slap
_configuration['configuration.ims_addr']
}}",
sctp_addr: "{{ slap
parameter_dict.ims_addr
}}",
cx_server_addr: "127.0.1.100",
cx_bind_addr: "{{ slap
_configuration['configuration.ims_addr']
}}",
cx_bind_addr: "{{ slap
parameter_dict.ims_addr
}}",
rx_server_addr: "127.0.1.100",
...
...
software/simpleran/config/mme.jinja2.cfg
View file @
05bd12e9
...
...
@@ -30,7 +30,7 @@
gtp_addr: "{{ gtp_addr_v6 }}",
{%- endif %}
{%- else %}
gtp_addr: "{{ slap
_configuration['configuration.gtp_addr']
}}",
gtp_addr: "{{ slap
parameter_dict.gtp_addr
}}",
{%- endif %}
plmn: "{{ slapparameter_dict.get('core_network_plmn', "00101") }}",
...
...
@@ -70,14 +70,18 @@
ims_list: [
{
ims_addr: "{{ slap
_configuration['configuration.ims_addr']
}}",
bind_addr: "{{ slap
_configuration['configuration.ims_bind']
}}",
ims_addr: "{{ slap
parameter_dict.ims_addr
}}",
bind_addr: "{{ slap
parameter_dict.ims_bind
}}",
}
],
pdn_list: [
{
access_point_name: ["default", "internet", "sos"],
access_point_name: [
{%- for _, pdn in slapparameter_dict.pdn_list |dictsort -%}
"{{ pdn.name }}",
{%- endfor -%}
],
pdn_type: "ipv4v6",
tun_ifname: "{{ tun_name }}",
first_ip_addr: "{{ internet_ipv4_start }}",
...
...
@@ -89,10 +93,9 @@
{%- else %}
dns_addr: ["8.8.8.8", "2001:4860:4860::8888"],
{%- endif %}
erabs: [
{
qci:
9
,
qci:
{{ slapparameter_dict.qci }}
,
priority_level: 15,
pre_emption_capability: "shall_not_trigger_pre_emption",
pre_emption_vulnerability: "not_pre_emptable",
...
...
software/simpleran/instance-core-network-input-schema.json
View file @
05bd12e9
...
...
@@ -51,6 +51,40 @@
"description"
:
"Set to true to force a static IPv4 for each UE. If true, the number of UE is limited."
,
"type"
:
"boolean"
},
"pdn_list"
:
{
"title"
:
"PDN list"
,
"description"
:
"Configure the available EPS Packet Data Networks and 5GS Data Network Names."
,
"default"
:
{
"internet"
:
{
"name"
:
"internet"
},
"default"
:
{
"name"
:
"default"
},
"sos"
:
{
"name"
:
"sos"
}
},
"patternProperties"
:
{
".*"
:
{
"properties"
:
{
"name"
:
{
"title"
:
"APN name"
,
"description"
:
"APN name"
,
"type"
:
"string"
}
},
"type"
:
"object"
}
},
"type"
:
"object"
},
"qci"
:
{
"default"
:
9
,
"title"
:
"QCI of default E-RAB"
,
"description"
:
"QoS Class Identifier of the default E-RAB"
,
"type"
:
"number"
},
"eps_5gs_interworking"
:
{
"title"
:
"EPS 5GS Interworking"
,
"type"
:
"string"
,
...
...
software/simpleran/instance-core-network.jinja2.cfg
View file @
05bd12e9
{#- defaults for global core network parameters.
TODO automatically load enb defaults from JSON schema #}
{%- set mme_defaults = {
'gtp_addr': '127.0.1.100',
'ims_addr': '127.0.0.1',
'ims_bind': '127.0.0.2',
'qci': 9,
'pdn_list': {
'internet': {'name': 'internet'},
'default': {'name': 'default'},
'sos': {'name': 'sos'}
}
} %}
{%- for k,v in mme_defaults|dictsort %}
{%- do slapparameter_dict.setdefault(k, v) %}
{%- endfor %}
{%- set dns_slave_instance_list = [] %}
{%- set sim_slave_instance_list = [] %}
{%- set fixed_ip = slapparameter_dict.get("fixed_ips", False) %}
...
...
@@ -93,6 +109,12 @@ eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
[myslap]
# NOTE we don't query slapos.cookbook:slapconfiguration the second time because
# slapparameter_dict is potentially modified with defaults.
parameter_dict = {{ dumps(slapparameter_dict) }}
configuration = {{ dumps(slap_configuration) }}
[slap-configuration]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = {{ slap_connection['computer-id'] }}
...
...
@@ -100,9 +122,6 @@ partition = {{ slap_connection['partition-id'] }}
url = {{ slap_connection['server-url'] }}
key = {{ slap_connection['key-file'] }}
cert = {{ slap_connection['cert-file'] }}
configuration.gtp_addr = 127.0.1.100
configuration.ims_addr = 127.0.0.1
configuration.ims_bind = 127.0.0.2
ue_db_path = ${ue-db-config:output}
{%- if fixed_ip %}
sim_list = ${sim-ip-configuration:sim-with-ip-list}
...
...
@@ -227,7 +246,7 @@ extra-context =
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict
slap-configuration:configuration
key slapparameter_dict
myslap:parameter_dict
raw gtp_addr_v6 {{ my_ipv6 }}
raw gtp_addr_v4 {{ lan_ipv4 }}
import netaddr netaddr
...
...
software/simpleran/instance-enb-input-schema.json
View file @
05bd12e9
...
...
@@ -165,6 +165,441 @@
"type"
:
"object"
,
"default"
:
{}
},
"handover_a1_rsrp"
:
{
"title"
:
"Handover A1 event RSRP threshold"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold value in dBm."
,
"type"
:
"number"
,
"default"
:
-70
},
"handover_a1_hysteresis"
:
{
"title"
:
"Handover A1 event hysteresis"
,
"description"
:
"Integer, range from 0 to 30. A1 hysteresis in 0.5dB steps used for the measurement report triggering condition."
,
"type"
:
"number"
,
"default"
:
0
},
"handover_a1_time_to_trigger"
:
{
"title"
:
"Handover A1 event time to trigger"
,
"description"
:
"Time in ms during which the A1 event condition must be met before triggering the measurement report."
,
"type"
:
"number"
,
"enum"
:
[
0
,
40
,
64
,
80
,
100
,
128
,
160
,
256
,
320
,
480
,
512
,
640
,
1024
,
1280
,
2560
,
5120
],
"default"
:
640
},
"handover_a2_rsrp"
:
{
"title"
:
"Handover A2 event RSRP threshold"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold value in dBm."
,
"type"
:
"number"
,
"default"
:
-80
},
"handover_a2_hysteresis"
:
{
"title"
:
"Handover A2 event hysteresis"
,
"description"
:
"Integer, range from 0 to 30. A2 hysteresis in 0.5dB steps used for the measurement report triggering condition."
,
"type"
:
"number"
,
"default"
:
0
},
"handover_a2_time_to_trigger"
:
{
"title"
:
"Handover A2 event time to trigger"
,
"description"
:
"Time in ms during which the A2 event condition must be met before triggering the measurement report."
,
"type"
:
"number"
,
"enum"
:
[
0
,
40
,
64
,
80
,
100
,
128
,
160
,
256
,
320
,
480
,
512
,
640
,
1024
,
1280
,
2560
,
5120
],
"default"
:
640
},
"eutra_eutra_handover"
:
{
"title"
:
"EUTRA Handover"
,
"type"
:
"object"
,
"default"
:
{
"event"
:
{
"a3_rsrp"
:
6
},
"hysteresis"
:
0
,
"time_to_trigger"
:
480
},
"properties"
:
{
"event"
:
{
"title"
:
"EUTRA Handover event"
,
"type"
:
"object"
,
"oneOf"
:
[
{
"title"
:
"A3 event"
,
"type"
:
"object"
,
"required"
:
[
"a3_rsrp"
],
"properties"
:
{
"a3_rsrp"
:
{
"title"
:
"Handover A3 event RSRP offset"
,
"description"
:
"Integer, range from -140 to -43. RSRP gain offset between eNBs and gNBs which will trigger handover"
,
"type"
:
"number"
}
}
},
{
"title"
:
"A4 event"
,
"type"
:
"object"
,
"required"
:
[
"a4_rsrp"
],
"properties"
:
{
"a4_rsrp"
:
{
"title"
:
"Handover A4 event RSRP threshold"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold value in dBm"
,
"type"
:
"number"
}
}
},
{
"title"
:
"A5 event"
,
"type"
:
"object"
,
"required"
:
[
"a5_threshold1_rsrp"
,
"a5_threshold2_rsrp"
],
"properties"
:
{
"a5_threshold1_rsrp"
:
{
"title"
:
"Handover A5 event RSRP threshold1"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold1 value in dBm"
,
"type"
:
"number"
},
"a5_threshold2_rsrp"
:
{
"title"
:
"Handover A5 event RSRP threshold2"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold2 value in dBm"
,
"type"
:
"number"
}
}
}
]
},
"hysteresis"
:
{
"title"
:
"EUTRA Handover hysteresis"
,
"description"
:
"Integer, range from 0 to 30. A3/A4/A5 hysteresis in 0.5dB steps used for the measurement report triggering condition."
,
"type"
:
"number"
},
"time_to_trigger"
:
{
"title"
:
"EUTRA Handover time to trigger"
,
"description"
:
"Time in ms during which the A3/A4/A5 event condition must be met before triggering the measurement report."
,
"type"
:
"number"
,
"enum"
:
[
0
,
40
,
64
,
80
,
100
,
128
,
160
,
256
,
320
,
480
,
512
,
640
,
1024
,
1280
,
2560
,
5120
]
}
}
},
"eutra_nr_handover"
:
{
"title"
:
"NR Handover"
,
"type"
:
"object"
,
"default"
:
{
"event"
:
{
"b1_rsrp"
:
-80
},
"hysteresis"
:
0
,
"time_to_trigger"
:
100
},
"properties"
:
{
"event"
:
{
"title"
:
"NR Handover event"
,
"type"
:
"object"
,
"oneOf"
:
[
{
"title"
:
"B1 event"
,
"type"
:
"object"
,
"required"
:
[
"b1_rsrp"
],
"properties"
:
{
"b1_rsrp"
:
{
"title"
:
"Handover B1 event RSRP threshold"
,
"description"
:
"Integer, range from -156 to -30. RSRP threshold value in dBm."
,
"type"
:
"number"
}
}
},
{
"title"
:
"B2 event"
,
"type"
:
"object"
,
"required"
:
[
"b2_threshold1_rsrp"
,
"b2_threshold2_rsrp"
],
"properties"
:
{
"b2_threshold1_rsrp"
:
{
"title"
:
"Handover B2 event RSRP threshold1"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold1 value in dBm"
,
"type"
:
"number"
},
"b2_threshold2_rsrp"
:
{
"title"
:
"Handover B2 event RSRP threshold2"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold2 value in dBm"
,
"type"
:
"number"
}
}
}
]
},
"hysteresis"
:
{
"title"
:
"NR Handover hysteresis"
,
"description"
:
"Integer, range from 0 to 30. NR B1 or B2 hysteresis in 0.5dB steps."
,
"type"
:
"number"
},
"time_to_trigger"
:
{
"title"
:
"NR Handover time to trigger"
,
"description"
:
"Time in ms during which the NR B1 or B2 event condition must be met before triggering the measurement report."
,
"type"
:
"number"
,
"enum"
:
[
0
,
40
,
64
,
80
,
100
,
128
,
160
,
256
,
320
,
480
,
512
,
640
,
1024
,
1280
,
2560
,
5120
]
}
}
},
"nr_nr_handover"
:
{
"title"
:
"NR Handover"
,
"type"
:
"object"
,
"default"
:
{
"event"
:
{
"a3_rsrp"
:
6
},
"hysteresis"
:
0
,
"time_to_trigger"
:
480
},
"properties"
:
{
"event"
:
{
"title"
:
"NR Handover event"
,
"type"
:
"object"
,
"oneOf"
:
[
{
"title"
:
"A3 event"
,
"type"
:
"object"
,
"required"
:
[
"a3_rsrp"
],
"properties"
:
{
"a3_rsrp"
:
{
"title"
:
"Handover A3 event RSRP offset"
,
"description"
:
"Integer, range from -140 to -43. RSRP gain offset between eNBs and gNBs which will trigger handover"
,
"type"
:
"number"
}
}
},
{
"title"
:
"A4 event"
,
"type"
:
"object"
,
"required"
:
[
"a4_rsrp"
],
"properties"
:
{
"a4_rsrp"
:
{
"title"
:
"Handover A4 event RSRP threshold"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold value in dBm"
,
"type"
:
"number"
}
}
},
{
"title"
:
"A5 event"
,
"type"
:
"object"
,
"required"
:
[
"a5_threshold1_rsrp"
,
"a5_threshold2_rsrp"
],
"properties"
:
{
"a5_threshold1_rsrp"
:
{
"title"
:
"Handover A5 event RSRP threshold1"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold1 value in dBm"
,
"type"
:
"number"
},
"a5_threshold2_rsrp"
:
{
"title"
:
"Handover A5 event RSRP threshold2"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold2 value in dBm"
,
"type"
:
"number"
}
}
}
]
},
"hysteresis"
:
{
"title"
:
"NR Handover hysteresis"
,
"description"
:
"Integer, range from 0 to 30. A3/A4/A5 hysteresis in 0.5dB steps used for the measurement report triggering condition."
,
"type"
:
"number"
},
"time_to_trigger"
:
{
"title"
:
"NR Handover time to trigger"
,
"description"
:
"Time in ms during which the A3/A4/A5 event condition must be met before triggering the measurement report."
,
"type"
:
"number"
,
"enum"
:
[
0
,
40
,
64
,
80
,
100
,
128
,
160
,
256
,
320
,
480
,
512
,
640
,
1024
,
1280
,
2560
,
5120
]
}
}
},
"nr_eutra_handover"
:
{
"title"
:
"EUTRA Handover"
,
"type"
:
"object"
,
"default"
:
{
"event"
:
{
"b1_rsrp"
:
-80
},
"hysteresis"
:
0
,
"time_to_trigger"
:
100
},
"properties"
:
{
"event"
:
{
"title"
:
"EUTRA Handover event"
,
"type"
:
"object"
,
"oneOf"
:
[
{
"title"
:
"B1 event"
,
"type"
:
"object"
,
"required"
:
[
"b1_rsrp"
],
"properties"
:
{
"b1_rsrp"
:
{
"title"
:
"Handover B1 event RSRP threshold"
,
"description"
:
"Integer, range from -156 to -30. RSRP threshold value in dBm."
,
"type"
:
"number"
}
}
},
{
"title"
:
"B2 event"
,
"type"
:
"object"
,
"required"
:
[
"b2_threshold1_rsrp"
,
"b2_threshold2_rsrp"
],
"properties"
:
{
"b2_threshold1_rsrp"
:
{
"title"
:
"Handover B2 event RSRP threshold1"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold1 value in dBm"
,
"type"
:
"number"
},
"b2_threshold2_rsrp"
:
{
"title"
:
"Handover B2 event RSRP threshold2"
,
"description"
:
"Integer, range from -140 to -43. RSRP threshold2 value in dBm"
,
"type"
:
"number"
}
}
}
]
},
"hysteresis"
:
{
"title"
:
"EUTRA Handover hysteresis"
,
"description"
:
"Integer, range from 0 to 30. EUTRA B1 or B2 hysteresis in 0.5dB steps."
,
"type"
:
"number"
},
"time_to_trigger"
:
{
"title"
:
"EUTRA Handover time to trigger"
,
"description"
:
"Time in ms during which the EUTRA B1 or B2 event condition must be met before triggering the measurement report."
,
"type"
:
"number"
,
"enum"
:
[
0
,
40
,
64
,
80
,
100
,
128
,
160
,
256
,
320
,
480
,
512
,
640
,
1024
,
1280
,
2560
,
5120
]
}
}
},
"handover_meas_gap_config"
:
{
"title"
:
"Handover measurement gap configuration"
,
"description"
:
"Configuration of the measurement gap. Ignored if no neighbour cells are configured."
,
"type"
:
"string"
,
"enum"
:
[
"None"
,
"Gap Pattern 0"
,
"Gap Pattern 1"
],
"default"
:
"Gap Pattern 1"
},
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
...
...
software/simpleran/instance-enb.jinja2.cfg
View file @
05bd12e9
...
...
@@ -17,6 +17,34 @@
'xlog_forwarding_enabled': True,
'wendelin_telecom_software_release_url': 'wendelin-telecom-enb-shared-instance',
'xlog_fluentbit_forward_port': 24224,
'nr_nr_handover': {
'event': {
'a3_rsrp': 6
},
'hysteresis': 0,
'time_to_trigger': 480
},
'nr_eutra_handover': {
'event': {
'b1_rsrp': -80
},
'hysteresis': 0,
'time_to_trigger': 100
},
'eutra_eutra_handover': {
'event': {
'a3_rsrp': 6
},
'hysteresis': 0,
'time_to_trigger': 480
},
'eutra_nr_handover': {
'event': {
'b1_rsrp': -80
},
'hysteresis': 0,
'time_to_trigger': 100
}
} %}
{%- set gtp_addr_lo = '127.0.1.1' %}
{%- for k,v in enb_defaults|dictsort %}
...
...
software/simpleran/instance-ors-enb-input-schema.json
View file @
05bd12e9
...
...
@@ -79,7 +79,7 @@
"mme_list"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/mme_list"
,
"default"
:
{
"
1
"
:
{
"
Local core-network
"
:
{
"mme_addr"
:
"127.0.1.100"
}
}
...
...
@@ -88,7 +88,7 @@
"$ref"
:
"instance-enb-input-schema.json#/properties/plmn_list"
,
"description"
:
"List of PLMNs broadcasted by the eNodeB, at most 6 (default: 00101)"
,
"default"
:
{
"
1
"
:
{
"
Test PLMN
"
:
{
"plmn"
:
"00101"
}
}
...
...
@@ -165,7 +165,7 @@
],
"default"
:
640
},
"eutra_handover"
:
{
"eutra_
eutra_
handover"
:
{
"title"
:
"EUTRA Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
@@ -260,7 +260,7 @@
}
}
},
"nr_handover"
:
{
"
eutra_
nr_handover"
:
{
"title"
:
"NR Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
software/simpleran/instance-ors-enb.jinja2.cfg
View file @
05bd12e9
...
...
@@ -17,8 +17,17 @@
"tac": "0x0001",
"root_sequence_index": 204,
"enb_id": "0x1A2D0",
"mme_list": {'1': {'mme_addr': '127.0.1.100'}},
"plmn_list": {"1": {'plmn': '00101'}},
'mme_list': {
'Local Core Network': {
'mme_addr': '127.0.1.100'
}
},
'plmn_list': {
'Test PLNM': {
'plmn': '00101',
'tac': 100
}
},
"ncell_list": {},
"x2_peers": {},
"inactivity_timer": 10000,
...
...
@@ -35,8 +44,17 @@
"cell_id": "0x01",
"gnb_id": "0x12345",
"gnb_id_bits": 28,
"amf_list": {'1': {'amf_addr': '127.0.1.100'}},
"plmn_list": {'1': {'plmn': '00101', 'tac': 100}},
'amf_list': {
'Local Core Network': {
'amf_addr': '127.0.1.100'
}
},
'plmn_list': {
'Test PLNM': {
'plmn': '00101',
'tac': 100
}
},
"ncell_list": {},
"xn_peers": {},
"inactivity_timer": 10000,
...
...
software/simpleran/instance-ors-gnb-input-schema.json
View file @
05bd12e9
...
...
@@ -60,7 +60,7 @@
"amf_list"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/amf_list"
,
"default"
:
{
"
1
"
:
{
"
Local core-network
"
:
{
"amf_addr"
:
"127.0.1.100"
}
}
...
...
@@ -69,7 +69,7 @@
"$ref"
:
"instance-enb-input-schema.json#/properties/plmn_list_5g"
,
"description"
:
"List of PLMNs broadcasted by the gNodeB, at most 12 (default: 00101)"
,
"default"
:
{
"
1
"
:
{
"
Test PLMN
"
:
{
"plmn"
:
"00101"
,
"tac"
:
100
}
...
...
@@ -150,7 +150,7 @@
],
"default"
:
640
},
"nr_handover"
:
{
"nr_
nr_
handover"
:
{
"title"
:
"NR Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
@@ -245,7 +245,7 @@
}
}
},
"eutra_handover"
:
{
"
nr_
eutra_handover"
:
{
"title"
:
"EUTRA Handover"
,
"type"
:
"object"
,
"default"
:
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment