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

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

  /* Log filter: syntax: layer.field=value[,...]

     Possible layers are nas, ip, s1ap, gtpu and all. The 'all' layer
     is used to address all the layers at the same time.

     field values:

     - 'level': the log level of each layer can be set to 'none',
     'error', 'info' or 'debug'. Use 'debug' to log all the messages.

     - 'max_size': set the maximum size of the hex dump. 0 means no
       hex dump. -1 means no limit.
  */
  //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,s1ap.level=debug,s1ap.max_size=1",
  log_filename: "${epc.log_filename}",

  /* Enable remote API and Web interface */
  com_addr: "${epc.run_addr}:9000",

  /* bind address for GTP-U. Normally = address of the PC, here bound
    on local interface to be able to run ltemme on the same PC as
    lteenb. By default, the S1AP SCTP connection is bound on the same
    address. */
  gtp_addr: "${epc.run_addr}",

  s1ap_bind_addr: "${epc.run_addr}",

  plmn: "${'{0:03}'.format(int(epc.mcc))}${'{0:02}'.format(int(epc.mnc))}",
  mme_group_id: 32769,
  mme_code: 1,

  /* network name and network short name sent in the EMM information
     message to the UE */
  network_name: "Amarisoft Network",
  network_short_name: "Amarisoft",

  /* Control Plane Cellular IoT EPS optimization support */
  cp_ciot_opt: true,

  /* Public Data Networks. The first one is the default. */
  pdn_list: [
    {
      /* Some UE requires a specific PDN for data access */
      pdn_type: "ipv4",
      access_point_name: "internet",
      first_ip_addr: "192.168.4.2",
      last_ip_addr: "192.168.4.254",
      ip_addr_shift: 2,
      dns_addr: "8.8.8.8", /* Google DNS address */
      erabs: [
        {
          qci: ${epc.qci},
          priority_level: 15,
          pre_emption_capability: "shall_not_trigger_pre_emption",
          pre_emption_vulnerability: "not_pre_emptable",
        },
        {
          qci: 1,
          priority_level: 1,
          pre_emption_capability: "shall_not_trigger_pre_emption",
          pre_emption_vulnerability: "not_pre_emptable",
          setup_type: "on_demand",
          filters: [
            {
              direction: "both",
              id: 1,
              precedence: 0,
              components: [
                {
                  type_of_service: 0xb8,
                  mask: 255
                }
              ]
            }
          ],
          on_demand_timeout: 10000,
          on_demand_ul_trigger: true,
          transaction_identifier: 20,
          radio_priority: 1,
          packet_flow_identifier: 20
        },
        {
          qci: 2,
          priority_level: 1,
          pre_emption_capability: "shall_not_trigger_pre_emption",
          pre_emption_vulnerability: "not_pre_emptable",
          setup_type: "on_demand",
          filters: [
            {
              direction: "both",
              id: 2,
              precedence: 1,
              components: [
                {
                  type_of_service: 0x60,
                  mask: 255
                }
              ]
            }
          ],
          on_demand_timeout: 10000,
          on_demand_ul_trigger: true,
          transaction_identifier: 21,
          radio_priority: 1,
          packet_flow_identifier: 21
        },
      ],
    },
  ],
  /* Setup script for the network interface.
     If no script is given, no network interface is created.
     Script is called for each PDN with following parameters:
        1) Interface name
        2) PDN index
        3) Access Point Name
        4) IP version: 'ipv4' or 'ipv6'
        5) IP address: first IP address for ipv4 and link local address for IPv6
        6) First IP address
        7) Last IP address
  */
  tun_setup_script: "${epc.ifup_filename}",

  /* If true, inter-UE routing is done inside the MME (hence no IP
     packet is output to the virtual network interface in case of
     inter-UE communication). Otherwise, it is done by the Linux IP
     layer. */
  ue_to_ue_forwarding: false,

  /* NAS ciphering algorithm preference. EEA0 is always the last. */
  nas_cipher_algo_pref: [ ],
  /* NAS integrity algorithm preference. EIA0 is always the last. */
  nas_integ_algo_pref: [ 2, 1 ],

  /* user data base */
  ue_db: [
%for sub in epc.hss.subscribers:
    {
      sim_algo: "${sub.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */
      imsi: "${sub.imsi}", /* Anritsu Test USIM */
      amf: 0x9001, /* Authentication Management Field */
      sqn: "000000000000", /* Sequence Number */
      K: "${sub.ki}", /* Anritsu Test USIM */
% if sub.opc:
      opc: "${sub.opc}",
% endif
      /* if true, allow several UEs to have the same IMSI (useful
         with test SIM cards). They are distinguished with their
         IMEI. default = false. */
      multi_sim: false,
    },
%endfor
    /* Add new entries for each IMSI/K */
  ],

  /* persistent user database */
  //ue_db_filename: "lte_ue.db",
}
