/* ltemme configuration file for ims * version 2022-01-17 * Copyright (C) 2015-2022 Amarisoft */ { /* 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,ngap.level=debug,ngap.max_size=1,rx.level=debug,rx.max_size=1,cx.level=debug,cx.max_size=1", log_filename: "/tmp/mme.log", /* Enable remote API and Web interface */ com_addr: "0.0.0.0: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: "127.0.1.100", plmn: "00101", mme_group_id: 32769, mme_code: 1, ims_vops_eps: true, /* IMS supported */ ims_vops_5gs_3gpp: true, /* IMS supported */ ims_vops_5gs_n3gpp: true, /* IMS supported */ //emc_bs: true, /* emergency calls supported */ //emc: 3, /* NR/E-UTRA connected to 5GCN emergency calls supported */ //emc_n3gpp: true, /* non-3GPP emergency calls supported */ emergency_number_list: [ /* Category bits: (Table 10.5.135d/3GPP TS 24.008) Bit 1 Police Bit 2 Ambulance Bit 3 Fire Brigade Bit 4 Marine Guard Bit 5 Mountain Rescue */ { category: 0x1f, digits: "911" }, { category: 0x1f, digits: "112" }, ], rx: { qci: {audio: 1, video: 2}, }, /* 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 */ dcnr_support: true, eps_5gs_interworking: "with_n26", /* 15 bearers support */ fifteen_bearers: false, ims_list: [{ims_addr: "127.0.0.1", bind_addr: "127.0.0.2"}], /* AMF slices configuration */ nssai: [ { sst: 1, sd: 1, }, { sst: 2, }, { sst: 3, sd: 50, } ], /* ePDG configuration */ //epdg: { // bind_addr: "127.0.1.100:500", // esp_duration: 900, // certificate: "epdg.pem", // /* required for some buggy Mediatek phones */ // //omit_auth_in_first_auth_rsp: true //}, /* Public Data Networks. The first one is the default. */ pdn_list: [ { pdn_type: "ipv4", access_point_name: "default", first_ip_addr: "192.168.2.2", last_ip_addr: "192.168.2.254", ip_addr_shift: 2, /* difference between allocated IP addresses is 4 */ dns_addr: "8.8.8.8", /* Google DNS address */ erabs: [ { qci: 9, priority_level: 15, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", }, ], }, { pdn_type: "ipv4", access_point_name: "internet", first_ip_addr: "192.168.3.2", last_ip_addr: "192.168.3.254", ip_addr_shift: 2, /* difference between allocated IP addresses is 4 */ dns_addr: "8.8.8.8", /* Google DNS address */ /* IPv6 sample config pdn_type: "ipv4v6", first_ipv6_prefix: "2001:468:2000:1::", last_ipv6_prefix: "2001:468:2000:ffff::", dns_addr: ["8.8.8.8", "2001:4860:4860::8888"], // Google IPv6 DNS address */ erabs: [ { qci: 9, priority_level: 15, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", }, ], slices: [ { snssai: { sst: 1, sd: 1, }, qos_flows: [ { "5qi": 6, priority_level: 9, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", }, ], }, { snssai: { sst: 3, sd: 50, }, qos_flows: [ { "5qi": 7, priority_level: 8, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", }, ], } ], }, { access_point_name: "ims", pdn_type: "ipv4v6", first_ip_addr: "192.168.4.2", last_ip_addr: "192.168.4.254", ip_addr_shift: 2, /* difference between allocated IP addresses is 4 */ first_ipv6_prefix: "2001:468:3000:1::", last_ipv6_prefix: "2001:468:3000:ffff::", p_cscf_addr: ["192.168.4.1", "2001:468:3000:1::"], dns_addr: ["8.8.8.8", "2001:4860:4860::8888"], // Google IPv6 DNS address erabs: [ { qci: 5, priority_level: 15, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", }, ], /* erabs */ }, { access_point_name: "sos", emergency: true, pdn_type: "ipv4v6", first_ip_addr: "192.168.5.2", last_ip_addr: "192.168.5.254", ip_addr_shift: 2, /* difference between allocated IP addresses is 4 */ first_ipv6_prefix: "2001:468:4000:1::", last_ipv6_prefix: "2001:468:4000:ffff::", p_cscf_addr: ["192.168.5.1", "2001:468:4000:1::"], dns_addr: ["8.8.8.8", "2001:4860:4860::8888"], // Google IPv6 DNS address erabs: [ { qci: 5, priority_level: 15, pre_emption_capability: "shall_not_trigger_pre_emption", pre_emption_vulnerability: "not_pre_emptable", }, ], /* erabs */ } ], /* 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: "mme-ifup", /* 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 */ include "ue_db-ims-slice-multi.cfg", /* persistent user database */ //ue_db_filename: "lte_ue.db", }