/* 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, /* DCNR support */ nr_support: 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", gbr: { maximum_bitrate_dl: 2000000, maximum_bitrate_ul: 2000000, guaranteed_bitrate_dl: 1000000, guaranteed_bitrate_ul: 1000000 }, 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", gbr: { maximum_bitrate_dl: 2000000, maximum_bitrate_ul: 2000000, guaranteed_bitrate_dl: 1000000, guaranteed_bitrate_ul: 1000000 }, 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}", /* 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, count: ${sub.count}, }, %endfor /* Add new entries for each IMSI/K */ ], /* persistent user database */ //ue_db_filename: "lte_ue.db", }