blob: b2df9cad03bf018a184fef853fcc9bd21c84d4b9 [file] [log] [blame]
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +02001/* ltemme configuration file
2 * version 2018-10-18
3 * Copyright (C) 2015-2018 Amarisoft
4 */
5{
6
Pau Espin Pedrolc04528c2020-04-01 13:55:51 +02007%if epc.license_server_addr != '0.0.0.0':
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +02008 license_server: {
9 server_addr: "${epc.license_server_addr}",
10 name: "amarisoft",
11 },
Pau Espin Pedrolc04528c2020-04-01 13:55:51 +020012%endif
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +020013
14 /* Log filter: syntax: layer.field=value[,...]
15
16 Possible layers are nas, ip, s1ap, gtpu and all. The 'all' layer
17 is used to address all the layers at the same time.
18
19 field values:
20
21 - 'level': the log level of each layer can be set to 'none',
22 'error', 'info' or 'debug'. Use 'debug' to log all the messages.
23
24 - 'max_size': set the maximum size of the hex dump. 0 means no
25 hex dump. -1 means no limit.
26 */
27 //log_options: "all.level=debug,all.max_size=32",
28 log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1",
29 log_filename: "${epc.log_filename}",
30
31 /* Enable remote API and Web interface */
32 com_addr: "${epc.run_addr}:9000",
33
34 /* bind address for GTP-U. Normally = address of the PC, here bound
35 on local interface to be able to run ltemme on the same PC as
36 lteenb. By default, the S1AP SCTP connection is bound on the same
37 address. */
38 gtp_addr: "${epc.run_addr}",
39
40 s1ap_bind_addr: "${epc.run_addr}",
41
Andre Puschmann5c4c0522020-07-09 15:55:04 +020042 plmn: "${'{0:03}'.format(int(epc.mcc))}${'{0:02}'.format(int(epc.mnc))}",
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +020043 mme_group_id: 32769,
44 mme_code: 1,
45
46 /* network name and network short name sent in the EMM information
47 message to the UE */
48 network_name: "Amarisoft Network",
49 network_short_name: "Amarisoft",
50
51 /* Control Plane Cellular IoT EPS optimization support */
52 cp_ciot_opt: true,
53
54 /* Public Data Networks. The first one is the default. */
55 pdn_list: [
56 {
57 /* Some UE requires a specific PDN for data access */
58 pdn_type: "ipv4",
59 access_point_name: "internet",
60 first_ip_addr: "192.168.4.2",
61 last_ip_addr: "192.168.4.254",
62 ip_addr_shift: 2,
63 dns_addr: "8.8.8.8", /* Google DNS address */
64 erabs: [
65 {
Pau Espin Pedrol04ad3b52020-04-06 12:25:22 +020066 qci: ${epc.qci},
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +020067 priority_level: 15,
68 pre_emption_capability: "shall_not_trigger_pre_emption",
69 pre_emption_vulnerability: "not_pre_emptable",
70 },
Andre Puschmannd5a58d02020-06-17 15:43:43 +020071 {
72 qci: 1,
73 priority_level: 1,
74 pre_emption_capability: "shall_not_trigger_pre_emption",
75 pre_emption_vulnerability: "not_pre_emptable",
76 setup_type: "on_demand",
77 filters: [
78 {
79 direction: "both",
80 id: 1,
81 precedence: 0,
82 components: [
83 {
84 type_of_service: 0xb8,
85 mask: 255
86 }
87 ]
88 }
89 ],
90 on_demand_timeout: 10000,
91 on_demand_ul_trigger: true,
92 transaction_identifier: 20,
93 radio_priority: 1,
94 packet_flow_identifier: 20
95 },
96 {
97 qci: 2,
98 priority_level: 1,
99 pre_emption_capability: "shall_not_trigger_pre_emption",
100 pre_emption_vulnerability: "not_pre_emptable",
101 setup_type: "on_demand",
102 filters: [
103 {
104 direction: "both",
105 id: 2,
106 precedence: 1,
107 components: [
108 {
109 type_of_service: 0x60,
110 mask: 255
111 }
112 ]
113 }
114 ],
115 on_demand_timeout: 10000,
116 on_demand_ul_trigger: true,
117 transaction_identifier: 21,
118 radio_priority: 1,
119 packet_flow_identifier: 21
120 },
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +0200121 ],
122 },
123 ],
124 /* Setup script for the network interface.
125 If no script is given, no network interface is created.
126 Script is called for each PDN with following parameters:
127 1) Interface name
128 2) PDN index
129 3) Access Point Name
130 4) IP version: 'ipv4' or 'ipv6'
131 5) IP address: first IP address for ipv4 and link local address for IPv6
132 6) First IP address
133 7) Last IP address
134 */
135 tun_setup_script: "${epc.ifup_filename}",
136
137 /* If true, inter-UE routing is done inside the MME (hence no IP
138 packet is output to the virtual network interface in case of
139 inter-UE communication). Otherwise, it is done by the Linux IP
140 layer. */
141 ue_to_ue_forwarding: false,
142
143 /* NAS ciphering algorithm preference. EEA0 is always the last. */
144 nas_cipher_algo_pref: [ ],
145 /* NAS integrity algorithm preference. EIA0 is always the last. */
146 nas_integ_algo_pref: [ 2, 1 ],
147
148 /* user data base */
149 ue_db: [
150%for sub in epc.hss.subscribers:
151 {
152 sim_algo: "${sub.auth_algo}", /* USIM authentication algorithm: xor, milenage or tuak */
153 imsi: "${sub.imsi}", /* Anritsu Test USIM */
154 amf: 0x9001, /* Authentication Management Field */
155 sqn: "000000000000", /* Sequence Number */
156 K: "${sub.ki}", /* Anritsu Test USIM */
Pau Espin Pedrol0f7f2652020-07-13 12:01:10 +0200157% if sub.opc:
158 opc: "${sub.opc}",
159% endif
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +0200160 /* if true, allow several UEs to have the same IMSI (useful
161 with test SIM cards). They are distinguished with their
162 IMEI. default = false. */
Pau Espin Pedrol0f7f2652020-07-13 12:01:10 +0200163 multi_sim: false,
Andre Puschmann0e72f9d2021-01-28 21:22:01 +0100164 count: ${sub.count},
Pau Espin Pedrolda2e31f2020-03-31 13:45:01 +0200165 },
166%endfor
167 /* Add new entries for each IMSI/K */
168 ],
169
170 /* persistent user database */
171 //ue_db_filename: "lte_ue.db",
172}