{%- import 'amari_slap.jinja2' as slaplte with context %} {%- set J = slaplte.J %} {%- set jcell_ru_ref = slaplte.jcell_ru_ref %} {#- for standalone testing via slapos-render-config.py NOTE: keep in sync with instance-ue.jinja2.cfg and ru/libinstance.jinja2.cfg #} {%- if _standalone is defined %} {%- set iru_dict = {} %} {%- set icell_dict = {} %} {%- set iue_dict = {} %} {%- do slaplte.load_iru_and_icell(iru_dict, icell_dict, icell_kind='ue') %} {%- do slaplte.load_iue(iue_dict) %} {%- do slaplte.check_loaded_everything() %} {%- endif %} {#- start of the config -#} { log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", log_filename: "{{ directory['log'] }}/ue.log", rue_bind_addr: "{{ pub_info['rue_bind_addr'] }}", com_addr: "{{ pub_info['com_addr'] }}", {# instantiate radio units #} {{ slaplte.ru_config(iru_dict, slapparameter_dict) }} cell_groups: [{ // LTE cells group_type: "lte", multi_ue: true, cells: [ {%- for cell_ref, icell in icell_dict|dictsort %} {%- set cell = icell['_'] %} {%- if cell.ue_cell_type == 'lte' %} {%- set ru_ref = J(jcell_ru_ref(icell)) %} {%- set iru = iru_dict[ru_ref] %} {%- set ru = iru['_'] %} // {{ cell_ref }} { rf_port: {{ ru._rf_port }}, n_antenna_dl: {{ ru.n_antenna_dl }}, n_antenna_ul: {{ ru.n_antenna_ul }}, dl_earfcn: {{ cell.dl_earfcn }}, ul_earfcn: {{ cell.ul_earfcn }}, bandwidth: {{ cell.bandwidth.removesuffix(' MHz') }}, global_timing_advance: -1, }, {%- endif %} {%- endfor %} ], pdcch_decode_opt: false, pdcch_decode_opt_threshold: 0.1, }, { // NR cells group_type: "nr", multi_ue: true, cells: [ {%- for cell_ref, icell in icell_dict|dictsort %} {%- set cell = icell['_'] %} {%- if cell.ue_cell_type == 'nr' %} {%- set ru_ref = J(jcell_ru_ref(icell)) %} {%- set iru = iru_dict[ru_ref] %} {%- set ru = iru['_'] %} // {{ cell_ref }} { rf_port: {{ ru._rf_port }}, n_antenna_dl: {{ ru.n_antenna_dl }}, n_antenna_ul: {{ ru.n_antenna_ul }}, band: {{ cell.nr_band }}, dl_nr_arfcn: {{ cell.dl_nr_arfcn }}, ul_nr_arfcn: {{ cell.ul_nr_arfcn }}, ssb_nr_arfcn: {{ cell.ssb_nr_arfcn }}, bandwidth: {{ cell.bandwidth }}, subcarrier_spacing: {{ 30 if cell.rf_mode == 'tdd' else 15 }}, }, {%- endif %} {%- endfor %} ] }], ue_list: [ {%- for ue_ref, iue in iue_dict|dictsort %} {%- set ue = iue['_'] %} // {{ ue_ref }} { sim_algo: "{{ ue.sim_algo }}", opc: "{{ ue.opc }}", amf: {{ ue.amf }}, sqn: "{{ ue.sqn }}", impu: "{{ ue.impu }}", impi: "{{ ue.impi }}", imsi: "{{ ue.imsi }}", K: "{{ ue.k }}", rue_addr: "{{ ue.rue_addr }}", {%- if ue.ue_type == 'lte' %} as_release: 13, ue_category: 13, {%- elif ue.ue_type == 'nr' %} as_release: 15, ue_category: "nr", {%- else %} {%- do bug('unreachable') %} {%- endif %} tun_setup_script: "ue-ifup", apn: "internet", }, {%- endfor %} ], }