/* UE simulator configuration file version 2018-10-18
 * Copyright (C) 2015-2018 Amarisoft
 */
{

%if ue.license_server_addr != '0.0.0.0':
  license_server: {
    server_addr: "${ue.license_server_addr}",
    name: "amarisoft",
  },
%endif

  bandwidth: ${ue.bandwidth},

//  log_options: "all.level=debug,all.max_size=32",
  log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
  log_filename: "${ue.log_filename}",

  /* Enable remote API and Web interface */
  com_addr: "${ue.addr}:9002",

  include "amarisoft_rf_driver.cfg",

  /* If true, allow the simulation of several UEs at the same time and
     allow dynamic UE creation from remote API */
  multi_ue: true,

  custom_freq_band: [
%for band in ue.custom_band_list:
    {
      band: ${band.number},
      dl_earfcn_min: ${band.dl_earfcn_min},
      dl_earfcn_max: ${band.dl_earfcn_max},
      dl_freq_min: ${band.dl_freq_min},
      ul_freq_min: ${band.ul_freq_min},
      ul_earfcn_min: ${band.ul_earfcn_min},
      ul_earfcn_max: ${band.ul_earfcn_max},
    },
%endfor
  ],

  cells: [
    {
      dl_earfcn: ${ue.dl_earfcn},
      ul_earfcn: ${ue.ul_earfcn},
      n_antenna_dl: 1,
      n_antenna_ul: 1,

      /* must be provided if multi_ue = true */
      //global_timing_advance: 1,
    }
  ],

  ue_list: [
    {
      /* UE capabilities */
      as_release: 8,
      ue_category: 4,

      /* USIM data */
      sim_algo: "${ue.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */
      imsi: "${ue.imsi}",
      K: "${ue.ki}",
% if ue.opc is not None:
      opc: "${ue.opc}",
% endif

      /* If enabled, will try to use external SIM card using libpcsclite */
      //external_sim: true,

      /* Enable it to create a TUN interface for each UE PDN */
      tun_setup_script: "${ue.ifup_filename}",

      sim_events: [{
        event: "power_on",
        start_time: 1,
      }],
      ue_count: ${ue.count},
    }
  ],

  /* If case your system have a high SNR and you are running high number of
   * UEs, enable this option to optimize PDCCH decoding and save CPU
   */
  pdcch_decode_opt: false,
  pdcch_decode_opt_threshold: 0.1,

}
