blob: d5857e32058a62757498a95e051bac9c3a21066c [file] [log] [blame]
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01001Testing generation of GSM0808 messages
Philipp Maier4f4905f2018-11-30 13:36:12 +01002test_gsm0808_enc_cause: encoded: 04 01 41 (rc = 3)
3test_gsm0808_enc_cause: encoded: 04 02 80 41 (rc = 4)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01004Testing creating Layer3
Philipp Maierfa896ab2017-03-27 16:55:32 +02005Testing creating Layer3 (AoIP)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01006Testing creating Reset
Philipp Maier15596e22017-04-05 17:55:27 +02007Testing creating Reset Ack
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +01008Testing creating Clear Command
9Testing creating Clear Complete
Philipp Maierb478dd32017-03-29 15:50:05 +020010Testing creating Chipher Mode Command
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010011Testing creating Cipher Complete
12Testing creating Cipher Reject
Maxed651d22018-11-07 15:25:05 +010013Testing creating Cipher Reject (extended)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010014Testing creating CM U
15Testing creating SAPI Reject
Philipp Maierc6144a22017-03-29 17:53:43 +020016Testing creating Assignment Request
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010017Testing creating Assignment Complete
Philipp Maierfa896ab2017-03-27 16:55:32 +020018Testing creating Assignment Complete (AoIP)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010019Testing creating Assignment Failure
Philipp Maierfa896ab2017-03-27 16:55:32 +020020Testing creating Assignment Failure (AoIP)
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010021Testing creating Clear Request
Philipp Maier3d48ec02017-03-29 17:37:55 +020022Testing creating Paging Request
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +010023Testing creating DTAP
24Testing prepend DTAP
Max969fb2e2018-12-10 11:01:10 +010025Testing Global Call Reference IE encoder...
26 15 bytes added: OK
27 decoded 15 bytes: OK
Neels Hofmeyrdb2fa4e2018-04-13 04:11:20 +020028test_gsm0808_enc_dec_cell_id_list_lac: encoded: 1a 07 05 01 24 ab cd 56 78 (rc = 9)
Neels Hofmeyr74663d92018-03-23 01:46:42 +010029------- test_cell_id_list_add
Neels Hofmeyra4399c82018-04-17 02:26:10 +020030 cell_id_list == CGI[0]:{}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010031gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 1
Neels Hofmeyra4399c82018-04-17 02:26:10 +020032 cell_id_list == LAC[1]:{123}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010033gsm0808_cell_id_list_add(&cil, &lac1) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020034 cell_id_list == LAC[1]:{123}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010035gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 2
Neels Hofmeyra4399c82018-04-17 02:26:10 +020036 cell_id_list == LAC[3]:{123, 456, 789}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010037gsm0808_cell_id_list_add(&cil, &lac2) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020038 cell_id_list == LAC[3]:{123, 456, 789}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010039gsm0808_cell_id_list_add(&cil, &cil) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020040 cell_id_list == LAC[3]:{123, 456, 789}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010041gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = -22
Neels Hofmeyra4399c82018-04-17 02:26:10 +020042 cell_id_list == LAC[3]:{123, 456, 789}
43* can't add to BSS list
44 cell_id_list == BSS[0]
Neels Hofmeyr74663d92018-03-23 01:46:42 +010045gsm0808_cell_id_list_add(&cil, &lac1) --> rc = -22
Neels Hofmeyra4399c82018-04-17 02:26:10 +020046 cell_id_list == BSS[0]
47* other types (including NO_CELL) take on new type iff empty
48 cell_id_list == NO-CELL[0]
Neels Hofmeyr74663d92018-03-23 01:46:42 +010049gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 1
Neels Hofmeyra4399c82018-04-17 02:26:10 +020050 cell_id_list == CGI[1]:{001-02-3-4}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010051gsm0808_cell_id_list_add(&cil, &cgi1) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020052 cell_id_list == CGI[1]:{001-02-3-4}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010053gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 2
Neels Hofmeyra4399c82018-04-17 02:26:10 +020054 cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
Neels Hofmeyr74663d92018-03-23 01:46:42 +010055gsm0808_cell_id_list_add(&cil, &cgi2) --> rc = 0
Neels Hofmeyra4399c82018-04-17 02:26:10 +020056 cell_id_list == CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}
57* test gsm0808_cell_id_list_name_buf()'s return val
58 strlen(gsm0808_cell_id_list_name(cil)) == 45
59 gsm0808_cell_id_list_name_buf(buf, 46, cil)) == 45 "CGI[3]:{001-02-3-4, 001-002-3-4, 005-006-7-8}"
60 gsm0808_cell_id_list_name_buf(buf, 23, cil)) == 45 "CGI[3]:{001-02-3-4, 00"
61 gsm0808_cell_id_list_name_buf(buf, 11, cil)) == 45 "CGI[3]:{00"
62 gsm0808_cell_id_list_name_buf(buf, 5, cil)) == 45 "CGI["
63 gsm0808_cell_id_list_name_buf(buf, 2, cil)) == 45 "C"
64 gsm0808_cell_id_list_name_buf(buf, 1, cil)) == 45 ""
65 gsm0808_cell_id_list_name_buf(buf, 0, cil)) == 45 "#"
66* list-full behavior
Neels Hofmeyr74663d92018-03-23 01:46:42 +010067cil.id_list_len = 126
68gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = 1
69cil.id_list_len = 127
Neels Hofmeyr74663d92018-03-23 01:46:42 +010070cil.id_list_len = 126
71gsm0808_cell_id_list_add(&cil, &cgi3) --> rc = -28
72cil.id_list_len = 127
73gsm0808_cell_id_list_add(&cil, &cgi2a) --> rc = -28
74cil.id_list_len = 127
75------- test_cell_id_list_add done
Neels Hofmeyr250e7f72018-04-13 03:30:14 +020076test_gsm0808_enc_dec_cell_id_lac: encoded: 05 03 05 01 24 (rc = 5)
77test_gsm0808_enc_dec_cell_id_bss: encoded: 05 01 06 (rc = 3)
78test_gsm0808_enc_dec_cell_id_no_cell: encoded: 05 01 03 (rc = 3)
79test_gsm0808_enc_dec_cell_id_lai_and_lac: encoded: 05 06 04 21 63 54 23 42 (rc = 8)
80test_gsm0808_enc_dec_cell_id_ci: encoded: 05 03 02 04 23 (rc = 5)
81test_gsm0808_enc_dec_cell_id_lac_and_ci: encoded: 05 05 01 04 23 02 35 (rc = 7)
82test_gsm0808_enc_dec_cell_id_global: encoded: 05 08 00 21 63 54 23 42 04 23 (rc = 10)
Philipp Maier5f2eb152018-09-19 13:40:21 +020083Testing gsm0808_sc_cfg_from_gsm48_mr_cfg():
84Input:
85 m4_75= 0 smod= 0
86 m5_15= 0 spare= 0
87 m5_90= 0 icmi= 0
88 m6_70= 0 nscb= 0
89 m7_40= 0 ver= 0
90 m7_95= 0
91 m10_2= 0
92 m12_2= 0
93Result (fr):
94 S15-S0 = 0000 = 0b0000000000000000
95Result (hr):
96 S15-S0 = 0000 = 0b0000000000000000
97
98Input:
99 m4_75= 1 smod= 0
100 m5_15= 0 spare= 0
101 m5_90= 0 icmi= 0
102 m6_70= 0 nscb= 0
103 m7_40= 0 ver= 0
104 m7_95= 0
105 m10_2= 0
106 m12_2= 0
107Result (fr):
108 S15-S0 = 5703 = 0b0101011100000011
109Result (hr):
110 S15-S0 = 0703 = 0b0000011100000011
111
112Input:
113 m4_75= 0 smod= 0
114 m5_15= 1 spare= 0
115 m5_90= 0 icmi= 0
116 m6_70= 0 nscb= 0
117 m7_40= 0 ver= 0
118 m7_95= 0
119 m10_2= 0
120 m12_2= 0
121Result (fr):
122 S15-S0 = 0000 = 0b0000000000000000
123Result (hr):
124 S15-S0 = 0000 = 0b0000000000000000
125
126Input:
127 m4_75= 0 smod= 0
128 m5_15= 0 spare= 0
129 m5_90= 1 icmi= 0
130 m6_70= 0 nscb= 0
131 m7_40= 0 ver= 0
132 m7_95= 0
133 m10_2= 0
134 m12_2= 0
135Result (fr):
136 S15-S0 = 5706 = 0b0101011100000110
137Result (hr):
138 S15-S0 = 0706 = 0b0000011100000110
139
140Input:
141 m4_75= 0 smod= 0
142 m5_15= 0 spare= 0
143 m5_90= 0 icmi= 0
144 m6_70= 1 nscb= 0
145 m7_40= 0 ver= 0
146 m7_95= 0
147 m10_2= 0
148 m12_2= 0
149Result (fr):
150 S15-S0 = 1608 = 0b0001011000001000
151Result (hr):
152 S15-S0 = 0608 = 0b0000011000001000
153
154Input:
155 m4_75= 0 smod= 0
156 m5_15= 0 spare= 0
157 m5_90= 0 icmi= 0
158 m6_70= 0 nscb= 0
159 m7_40= 1 ver= 0
160 m7_95= 0
161 m10_2= 0
162 m12_2= 0
163Result (fr):
164 S15-S0 = 0412 = 0b0000010000010010
165Result (hr):
166 S15-S0 = 0412 = 0b0000010000010010
167
168Input:
169 m4_75= 0 smod= 0
170 m5_15= 0 spare= 0
171 m5_90= 0 icmi= 0
172 m6_70= 0 nscb= 0
173 m7_40= 0 ver= 0
174 m7_95= 1
175 m10_2= 0
176 m12_2= 0
177Result (fr):
178 S15-S0 = 4020 = 0b0100000000100000
179Result (hr):
180 S15-S0 = 0020 = 0b0000000000100000
181
182Input:
183 m4_75= 0 smod= 0
184 m5_15= 0 spare= 0
185 m5_90= 0 icmi= 0
186 m6_70= 0 nscb= 0
187 m7_40= 0 ver= 0
188 m7_95= 0
189 m10_2= 1
190 m12_2= 0
191Result (fr):
192 S15-S0 = 1040 = 0b0001000001000000
193Result (hr):
194 S15-S0 = 0000 = 0b0000000000000000
195
196Input:
197 m4_75= 0 smod= 0
198 m5_15= 0 spare= 0
199 m5_90= 0 icmi= 0
200 m6_70= 0 nscb= 0
201 m7_40= 0 ver= 0
202 m7_95= 0
203 m10_2= 0
204 m12_2= 1
205Result (fr):
206 S15-S0 = 4082 = 0b0100000010000010
207Result (hr):
208 S15-S0 = 0002 = 0b0000000000000010
209
210Input:
211 m4_75= 1 smod= 0
212 m5_15= 1 spare= 0
213 m5_90= 1 icmi= 0
214 m6_70= 1 nscb= 0
215 m7_40= 0 ver= 0
216 m7_95= 0
217 m10_2= 0
218 m12_2= 0
219Result (fr):
220 S15-S0 = 570f = 0b0101011100001111
221Result (hr):
222 S15-S0 = 070f = 0b0000011100001111
223
224Input:
225 m4_75= 0 smod= 0
226 m5_15= 0 spare= 0
227 m5_90= 0 icmi= 0
228 m6_70= 0 nscb= 0
229 m7_40= 1 ver= 0
230 m7_95= 1
231 m10_2= 1
232 m12_2= 1
233Result (fr):
234 S15-S0 = 54f2 = 0b0101010011110010
235Result (hr):
236 S15-S0 = 0432 = 0b0000010000110010
237
238Input:
239 m4_75= 0 smod= 0
240 m5_15= 0 spare= 0
241 m5_90= 1 icmi= 0
242 m6_70= 1 nscb= 0
243 m7_40= 0 ver= 0
244 m7_95= 0
245 m10_2= 1
246 m12_2= 1
247Result (fr):
248 S15-S0 = 57ce = 0b0101011111001110
249Result (hr):
250 S15-S0 = 070e = 0b0000011100001110
251
252Input:
253 m4_75= 1 smod= 0
254 m5_15= 1 spare= 0
255 m5_90= 0 icmi= 0
256 m6_70= 0 nscb= 0
257 m7_40= 1 ver= 0
258 m7_95= 1
259 m10_2= 0
260 m12_2= 0
261Result (fr):
262 S15-S0 = 5733 = 0b0101011100110011
263Result (hr):
264 S15-S0 = 0733 = 0b0000011100110011
265
266Input:
267 m4_75= 0 smod= 0
268 m5_15= 1 spare= 0
269 m5_90= 0 icmi= 0
270 m6_70= 1 nscb= 0
271 m7_40= 0 ver= 0
272 m7_95= 1
273 m10_2= 0
274 m12_2= 1
275Result (fr):
276 S15-S0 = 56aa = 0b0101011010101010
277Result (hr):
278 S15-S0 = 062a = 0b0000011000101010
279
280Input:
281 m4_75= 1 smod= 0
282 m5_15= 0 spare= 0
283 m5_90= 1 icmi= 0
284 m6_70= 0 nscb= 0
285 m7_40= 1 ver= 0
286 m7_95= 0
287 m10_2= 1
288 m12_2= 0
289Result (fr):
290 S15-S0 = 5757 = 0b0101011101010111
291Result (hr):
292 S15-S0 = 0717 = 0b0000011100010111
293
294Input:
295 m4_75= 1 smod= 0
296 m5_15= 1 spare= 0
297 m5_90= 1 icmi= 0
298 m6_70= 1 nscb= 0
299 m7_40= 1 ver= 0
300 m7_95= 1
301 m10_2= 1
302 m12_2= 1
303Result (fr):
304 S15-S0 = 57ff = 0b0101011111111111
305Result (hr):
306 S15-S0 = 073f = 0b0000011100111111
307
Philipp Maier8515d032018-09-25 15:57:49 +0200308Testing gsm48_mr_cfg_from_gsm0808_sc_cfg():
309Input:
310 S15-S0 = ff03 = 0b1111111100000011
311Output:
312 m4_75= 1 smod= 0
313 m5_15= 1 spare= 0
314 m5_90= 0 icmi= 1
315 m6_70= 0 nscb= 0
316 m7_40= 0 ver= 1
317 m7_95= 0
318 m10_2= 0
319 m12_2= 0
320
321Input:
322 S15-S0 = 0000 = 0b0000000000000000
323Output:
324 m4_75= 0 smod= 0
325 m5_15= 1 spare= 0
326 m5_90= 0 icmi= 1
327 m6_70= 0 nscb= 0
328 m7_40= 0 ver= 1
329 m7_95= 0
330 m10_2= 0
331 m12_2= 0
332
333Input:
334 S15-S0 = ff06 = 0b1111111100000110
335Output:
336 m4_75= 0 smod= 0
337 m5_15= 1 spare= 0
338 m5_90= 1 icmi= 1
339 m6_70= 0 nscb= 0
340 m7_40= 0 ver= 1
341 m7_95= 0
342 m10_2= 0
343 m12_2= 0
344
345Input:
346 S15-S0 = 3e08 = 0b0011111000001000
347Output:
348 m4_75= 0 smod= 0
349 m5_15= 1 spare= 0
350 m5_90= 0 icmi= 1
351 m6_70= 1 nscb= 0
352 m7_40= 0 ver= 1
353 m7_95= 0
354 m10_2= 0
355 m12_2= 0
356
357Input:
358 S15-S0 = 0c12 = 0b0000110000010010
359Output:
360 m4_75= 0 smod= 0
361 m5_15= 1 spare= 0
362 m5_90= 0 icmi= 1
363 m6_70= 0 nscb= 0
364 m7_40= 1 ver= 1
365 m7_95= 0
366 m10_2= 0
367 m12_2= 0
368
369Input:
370 S15-S0 = c020 = 0b1100000000100000
371Output:
372 m4_75= 0 smod= 0
373 m5_15= 1 spare= 0
374 m5_90= 0 icmi= 1
375 m6_70= 0 nscb= 0
376 m7_40= 0 ver= 1
377 m7_95= 1
378 m10_2= 0
379 m12_2= 0
380
381Input:
382 S15-S0 = 3040 = 0b0011000001000000
383Output:
384 m4_75= 0 smod= 0
385 m5_15= 1 spare= 0
386 m5_90= 0 icmi= 1
387 m6_70= 0 nscb= 0
388 m7_40= 0 ver= 1
389 m7_95= 0
390 m10_2= 1
391 m12_2= 0
392
393Input:
394 S15-S0 = c082 = 0b1100000010000010
395Output:
396 m4_75= 0 smod= 0
397 m5_15= 1 spare= 0
398 m5_90= 0 icmi= 1
399 m6_70= 0 nscb= 0
400 m7_40= 0 ver= 1
401 m7_95= 0
402 m10_2= 0
403 m12_2= 1
404
405Input:
406 S15-S0 = ff4b = 0b1111111101001011
407Output:
408 m4_75= 1 smod= 0
409 m5_15= 1 spare= 0
410 m5_90= 0 icmi= 1
411 m6_70= 1 nscb= 0
412 m7_40= 0 ver= 1
413 m7_95= 0
414 m10_2= 1
415 m12_2= 0
416
417Input:
418 S15-S0 = fcd2 = 0b1111110011010010
419Output:
420 m4_75= 0 smod= 0
421 m5_15= 1 spare= 0
422 m5_90= 0 icmi= 1
423 m6_70= 0 nscb= 0
424 m7_40= 1 ver= 1
425 m7_95= 0
426 m10_2= 1
427 m12_2= 1
428
429Input:
430 S15-S0 = c0a2 = 0b1100000010100010
431Output:
432 m4_75= 0 smod= 0
433 m5_15= 1 spare= 0
434 m5_90= 0 icmi= 1
435 m6_70= 0 nscb= 0
436 m7_40= 0 ver= 1
437 m7_95= 1
438 m10_2= 0
439 m12_2= 1
440
Holger Hans Peter Freyther97510812012-01-22 13:36:52 +0100441Done