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