blob: 844c20183d784459c6caeac6946fa98087e50a3f [file] [log] [blame]
Harald Weltec8a0b932012-08-24 21:27:26 +02001Test `CSD 9600/V.110/transparent' passed
2Test `Speech, all codecs' passed
Holger Hans Peter Freythercd252e32013-07-03 09:56:53 +02003Simple TMSI encoding test....passed
Maxd55d7d42018-02-15 11:27:18 +01004Simple IMSI encoding test....passed: [10] 17 08 99 10 07 00 00 00 64 02
Neels Hofmeyr49686282018-12-05 21:32:21 +01005
6Testing Mobile Identity conversions
7- IMSI 123456789012345
8 -> MI-TLV-hex='17081932547698103254'
9 -> MI-str="123456789012345" rc=16
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010010 -> MI-name="IMSI-123456789012345"
Neels Hofmeyr49686282018-12-05 21:32:21 +010011- IMSI 12345678901234
12 -> MI-TLV-hex='170811325476981032f4'
13 -> MI-str="12345678901234" rc=15
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010014 -> MI-name="IMSI-12345678901234"
Neels Hofmeyr49686282018-12-05 21:32:21 +010015- IMSI 423423
16 -> MI-TLV-hex='1704413224f3'
17 -> MI-str="423423" rc=7
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010018 -> MI-name="IMSI-423423"
Neels Hofmeyr49686282018-12-05 21:32:21 +010019- unknown 0x9 423423
Neels Hofmeyr23187fa2018-12-05 23:24:50 +010020 -> MI-TLV-hex='1704413224f3'
21 -> MI-str="423423" rc=7
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010022 -> MI-name="IMSI-423423"
Neels Hofmeyr49686282018-12-05 21:32:21 +010023- IMSI 4234235
24 -> MI-TLV-hex='170449322453'
25 -> MI-str="4234235" rc=8
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010026 -> MI-name="IMSI-4234235"
Neels Hofmeyr49686282018-12-05 21:32:21 +010027- IMSI 4234235
28 -> MI-TLV-hex='170449322453'
Neels Hofmeyr627e0112018-12-05 21:32:40 +010029 -> MI-str="423" rc=4
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010030 -> MI-name="IMSI-4234235"
Neels Hofmeyr49686282018-12-05 21:32:21 +010031- IMEI 123456789012345
32 -> MI-TLV-hex='17081a32547698103254'
33 -> MI-str="123456789012345" rc=16
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010034 -> MI-name="IMEI-123456789012345"
Neels Hofmeyr49686282018-12-05 21:32:21 +010035- IMEI 98765432109876
36 -> MI-TLV-hex='170892785634129078f6'
37 -> MI-str="98765432109876" rc=15
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010038 -> MI-name="IMEI-98765432109876"
Neels Hofmeyr49686282018-12-05 21:32:21 +010039- IMEI 987654321098765
40 -> MI-TLV-hex='17089a78563412907856'
41 -> MI-str="987654321098765" rc=16
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010042 -> MI-name="IMEI-987654321098765"
Harald Welte13177712019-01-20 13:41:26 +010043- IMEI-SV 9876543210987654
44 -> MI-TLV-hex='17099378563412907856f4'
45 -> MI-str="9876543210987654" rc=17
46 -> MI-name="IMEI-SV-9876543210987654"
47- IMEI-SV 9876543210987654
48 -> MI-TLV-hex='17099378563412907856f4'
49 -> MI-str="9876543210987654" rc=17
50 -> MI-name="IMEI-SV-9876543210987654"
Neels Hofmeyr49686282018-12-05 21:32:21 +010051- TMSI 305419896
52 -> MI-TLV-hex='1705f412345678'
53 -> MI-str="305419896" rc=9
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010054 -> MI-name="TMSI-0x12345678"
Neels Hofmeyr49686282018-12-05 21:32:21 +010055- TMSI 12648430
56 -> MI-TLV-hex='1705f400c0ffee'
57 -> MI-str="12648430" rc=8
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010058 -> MI-name="TMSI-0x00C0FFEE"
Neels Hofmeyr49686282018-12-05 21:32:21 +010059- TMSI 0
60 -> MI-TLV-hex='1705f400000000'
61 -> MI-str="0" rc=1
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010062 -> MI-name="TMSI-0x00000000"
Neels Hofmeyr49686282018-12-05 21:32:21 +010063- TMSI 305419896
64 -> MI-TLV-hex='1705f412345678'
65 -> MI-str="3054" rc=9
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010066 -> MI-name="TMSI-0x12345678"
Neels Hofmeyr49686282018-12-05 21:32:21 +010067- NONE 123
68 -> MI-TLV-hex='17021832'
69 -> MI-str="" rc=1
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010070 -> MI-name="unknown"
Neels Hofmeyr49686282018-12-05 21:32:21 +010071- NONE 1234
72 -> MI-TLV-hex='17031032f4'
73 -> MI-str="" rc=1
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010074 -> MI-name="unknown"
Neels Hofmeyr49686282018-12-05 21:32:21 +010075- unknown 0x8 1234
Neels Hofmeyr23187fa2018-12-05 23:24:50 +010076 -> MI-TLV-hex='17031032f4'
Neels Hofmeyr49686282018-12-05 21:32:21 +010077 -> MI-str="" rc=1
Neels Hofmeyr02fd83d2019-01-05 00:38:54 +010078 -> MI-name="unknown"
Neels Hofmeyr49686282018-12-05 21:32:21 +010079
80Decoding zero length Mobile Identities
81- MI type: IMSI
82 - writing to zero-length string:
Neels Hofmeyr627e0112018-12-05 21:32:40 +010083 rc=0
84 nothing written
Neels Hofmeyr49686282018-12-05 21:32:21 +010085 - writing to 1-byte-length string:
86 rc=1
Neels Hofmeyr627e0112018-12-05 21:32:40 +010087 returned empty string
Neels Hofmeyr49686282018-12-05 21:32:21 +010088 - decode zero-length mi:
Neels Hofmeyr627e0112018-12-05 21:32:40 +010089 rc=1
90 returned empty string
Neels Hofmeyr49686282018-12-05 21:32:21 +010091- MI type: TMSI
92 - writing to zero-length string:
Neels Hofmeyrea2a0ab2018-12-05 23:30:08 +010093 rc=0
94 nothing written
Neels Hofmeyr49686282018-12-05 21:32:21 +010095 - writing to 1-byte-length string:
96 rc=1
97 returned empty string
98 - decode zero-length mi:
99 rc=1
100 returned empty string
101- MI type: NONE
102 - writing to zero-length string:
Neels Hofmeyrea2a0ab2018-12-05 23:30:08 +0100103 rc=0
104 nothing written
Neels Hofmeyr49686282018-12-05 21:32:21 +0100105 - writing to 1-byte-length string:
106 rc=1
107 returned empty string
108 - decode zero-length mi:
109 rc=1
110 returned empty string
111- MI type: IMSI | GSM_MI_ODD
112 - writing to zero-length string:
Neels Hofmeyr627e0112018-12-05 21:32:40 +0100113 rc=0
114 nothing written
Neels Hofmeyr49686282018-12-05 21:32:21 +0100115 - writing to 1-byte-length string:
116 rc=1
Neels Hofmeyr627e0112018-12-05 21:32:40 +0100117 returned empty string
Neels Hofmeyr49686282018-12-05 21:32:21 +0100118 - decode zero-length mi:
Neels Hofmeyr627e0112018-12-05 21:32:40 +0100119 rc=1
120 returned empty string
Neels Hofmeyr49686282018-12-05 21:32:21 +0100121- MI type: TMSI | GSM_MI_ODD
122 - writing to zero-length string:
Neels Hofmeyrea2a0ab2018-12-05 23:30:08 +0100123 rc=0
124 nothing written
Neels Hofmeyr49686282018-12-05 21:32:21 +0100125 - writing to 1-byte-length string:
126 rc=1
127 returned empty string
128 - decode zero-length mi:
129 rc=1
130 returned empty string
131- MI type: NONE | GSM_MI_ODD
132 - writing to zero-length string:
Neels Hofmeyrea2a0ab2018-12-05 23:30:08 +0100133 rc=0
134 nothing written
Neels Hofmeyr49686282018-12-05 21:32:21 +0100135 - writing to 1-byte-length string:
136 rc=1
137 returned empty string
138 - decode zero-length mi:
139 rc=1
140 returned empty string
141
Vadim Yanitskiyaa0683d2019-05-25 23:14:00 +0700142BSD number encoding / decoding test
143- Running test: regular 9-digit MSISDN
144 - Encoding ASCII (buffer limit=0) '123456789'...
145 - Expected: (rc=6) '0521436587f9'
146 - Actual: (rc=6) '0521436587f9'
147 - Decoding HEX (buffer limit=0) '0521436587f9'...
148 - Expected: (rc=0) '123456789'
149 - Actual: (rc=0) '123456789'
150- Running test: regular 6-digit MSISDN with optional header (LHV)
151 - Encoding ASCII (buffer limit=0) '123456'...
Vadim Yanitskiy1dc82642019-05-27 00:53:54 +0700152 - Expected: (rc=8) '07ffffffff214365'
153 - Actual: (rc=8) '07ffffffff214365'
Vadim Yanitskiyaa0683d2019-05-25 23:14:00 +0700154 - Decoding HEX (buffer limit=0) '07deadbeef214365'...
155 - Expected: (rc=0) '123456'
156 - Actual: (rc=0) '123456'
157- Running test: long 15-digit (maximum) MSISDN
158 - Encoding ASCII (buffer limit=0) '123456789012345'...
159 - Expected: (rc=9) '0821436587092143f5'
160 - Actual: (rc=9) '0821436587092143f5'
161 - Decoding HEX (buffer limit=0) '0821436587092143f5'...
162 - Expected: (rc=0) '123456789012345'
163 - Actual: (rc=0) '123456789012345'
164- Running test: long 15-digit (maximum) MSISDN, limited buffer
165 - Encoding ASCII (buffer limit=9) '123456789012345'...
166 - Expected: (rc=9) '0821436587092143f5'
167 - Actual: (rc=9) '0821436587092143f5'
168 - Decoding HEX (buffer limit=16) '0821436587092143f5'...
169 - Expected: (rc=0) '123456789012345'
Vadim Yanitskiy2cd1dda2019-05-26 00:14:16 +0700170 - Actual: (rc=0) '123456789012345'
Vadim Yanitskiyaa0683d2019-05-25 23:14:00 +0700171- Running test: to be truncated 20-digit MSISDN
172 - Encoding ASCII (buffer limit=9) '12345678901234567890'...
173 - Expected: (rc=-5) ''
174 - Actual: (rc=-5) ''
175 - Decoding HEX (buffer limit=16) '0a21436587092143658709'...
Vadim Yanitskiy71940872019-05-26 00:49:57 +0700176 - Expected: (rc=-28) '123456789012345'
177 - Actual: (rc=-28) '123456789012345'
Vadim Yanitskiyaa0683d2019-05-25 23:14:00 +0700178- Running test: LV incorrect length
179 - Decoding HEX (buffer limit=0) '05214365'...
Vadim Yanitskiye4799f52019-05-26 00:55:20 +0700180 - Expected: (rc=-22) '(none)'
181 - Actual: (rc=-22) '(none)'
Vadim Yanitskiyaa0683d2019-05-25 23:14:00 +0700182- Running test: empty input buffer
183 - Encoding ASCII (buffer limit=0) ''...
184 - Expected: (rc=1) '00'
185 - Actual: (rc=1) '00'
186 - Decoding HEX (buffer limit=0) ''...
187 - Expected: (rc=-5) '(none)'
188 - Actual: (rc=-5) '(none)'
189
Maxf1ad60e2018-01-05 14:19:33 +0100190Constructed RA:
Neels Hofmeyrc38b32d2018-02-20 15:13:18 +0100191077-121-666-5
192MCC+MNC in BCD: 70 17 21
Neels Hofmeyrdbb25132018-02-20 15:12:23 +0100193077-121-666-5 (3-digit MNC)
Max99377c22017-08-30 19:17:50 +0200194RA test...passed
Maxf1ad60e2018-01-05 14:19:33 +0100195Constructed RA:
Neels Hofmeyrc38b32d2018-02-20 15:13:18 +0100196084-98-11-89
197MCC+MNC in BCD: 80 f4 89
198084-98-11-89
Max99377c22017-08-30 19:17:50 +0200199RA test...passed
Neels Hofmeyrb9fd7eb2018-02-20 15:14:03 +0100200Constructed RA:
201000-00-0-0
202MCC+MNC in BCD: 00 f0 00
203000-00-0-0
204RA test...passed
205Constructed RA:
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100206000-000-0-0 (3-digit MNC)
207MCC+MNC in BCD: 00 00 00
208000-000-0-0 (3-digit MNC)
209RA test...passed
210Constructed RA:
Neels Hofmeyrb9fd7eb2018-02-20 15:14:03 +0100211999-999-65535-255
212MCC+MNC in BCD: 99 99 99
Neels Hofmeyrdbb25132018-02-20 15:12:23 +0100213999-999-65535-255 (3-digit MNC)
Neels Hofmeyrb9fd7eb2018-02-20 15:14:03 +0100214RA test...passed
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100215Constructed RA:
216001-02-23-42
217MCC+MNC in BCD: 00 f1 20
218001-02-23-42
219RA test...passed
220Constructed RA:
221001-002-23-42 (3-digit MNC)
222MCC+MNC in BCD: 00 21 00
223001-002-23-42 (3-digit MNC)
224RA test...passed
225Constructed RA:
226012-34-56-78
227MCC+MNC in BCD: 10 f2 43
228012-34-56-78
229RA test...passed
230Constructed RA:
231012-034-23-42 (3-digit MNC)
232MCC+MNC in BCD: 10 42 30
233012-034-23-42 (3-digit MNC)
234RA test...passed
235Constructed RA:
236123-456-23-42
237MCC+MNC in BCD: 21 63 54
238123-456-23-42 (3-digit MNC)
239RA test...passed
240Constructed RA:
241123-456-23-42 (3-digit MNC)
242MCC+MNC in BCD: 21 63 54
243123-456-23-42 (3-digit MNC)
244RA test...passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100245- gsm48_generate_lai() from 077-121-666-0
246 Encoded 70 17 21 02 9a
247 gsm48_decode_lai() gives 077-121-666-0
248 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100249- gsm48_generate_lai2() from 077-121-666
250 Encoded 70 17 21 02 9a
251 gsm48_decode_lai2() gives 077-121-666 (3-digit MNC)
252 passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100253- gsm48_generate_lai() from 084-98-11-0
254 Encoded 80 f4 89 00 0b
255 gsm48_decode_lai() gives 084-98-11-0
256 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100257- gsm48_generate_lai2() from 084-98-11
258 Encoded 80 f4 89 00 0b
259 gsm48_decode_lai2() gives 084-98-11
260 passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100261- gsm48_generate_lai() from 000-00-0-0
262 Encoded 00 f0 00 00 00
263 gsm48_decode_lai() gives 000-00-0-0
264 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100265- gsm48_generate_lai2() from 000-00-0
266 Encoded 00 f0 00 00 00
267 gsm48_decode_lai2() gives 000-00-0
268 passed
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100269- gsm48_generate_lai() from 000-000-0-0 (3-digit MNC)
270 Encoded 00 f0 00 00 00
271 gsm48_decode_lai() gives 000-00-0-0
272 passed
273- gsm48_generate_lai2() from 000-000-0 (3-digit MNC)
274 Encoded 00 00 00 00 00
275 gsm48_decode_lai2() gives 000-000-0 (3-digit MNC)
276 passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100277- gsm48_generate_lai() from 999-999-65535-0
278 Encoded 99 99 99 ff ff
279 gsm48_decode_lai() gives 999-999-65535-0
280 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100281- gsm48_generate_lai2() from 999-999-65535
282 Encoded 99 99 99 ff ff
283 gsm48_decode_lai2() gives 999-999-65535 (3-digit MNC)
284 passed
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100285- gsm48_generate_lai() from 001-02-23-0
286 Encoded 00 f1 20 00 17
287 gsm48_decode_lai() gives 001-02-23-0
288 passed
289- gsm48_generate_lai2() from 001-02-23
290 Encoded 00 f1 20 00 17
291 gsm48_decode_lai2() gives 001-02-23
292 passed
293- gsm48_generate_lai() from 001-002-23-0 (3-digit MNC)
294 Encoded 00 f1 20 00 17
295 gsm48_decode_lai() gives 001-02-23-0
296 passed
297- gsm48_generate_lai2() from 001-002-23 (3-digit MNC)
298 Encoded 00 21 00 00 17
299 gsm48_decode_lai2() gives 001-002-23 (3-digit MNC)
300 passed
301- gsm48_generate_lai() from 012-34-56-0
302 Encoded 10 f2 43 00 38
303 gsm48_decode_lai() gives 012-34-56-0
304 passed
305- gsm48_generate_lai2() from 012-34-56
306 Encoded 10 f2 43 00 38
307 gsm48_decode_lai2() gives 012-34-56
308 passed
309- gsm48_generate_lai() from 012-034-23-0 (3-digit MNC)
310 Encoded 10 f2 43 00 17
311 gsm48_decode_lai() gives 012-34-23-0
312 passed
313- gsm48_generate_lai2() from 012-034-23 (3-digit MNC)
314 Encoded 10 42 30 00 17
315 gsm48_decode_lai2() gives 012-034-23 (3-digit MNC)
316 passed
317- gsm48_generate_lai() from 123-456-23-0
318 Encoded 21 63 54 00 17
319 gsm48_decode_lai() gives 123-456-23-0
320 passed
321- gsm48_generate_lai2() from 123-456-23
322 Encoded 21 63 54 00 17
323 gsm48_decode_lai2() gives 123-456-23 (3-digit MNC)
324 passed
325- gsm48_generate_lai() from 123-456-23-0 (3-digit MNC)
326 Encoded 21 63 54 00 17
327 gsm48_decode_lai() gives 123-456-23-0
328 passed
329- gsm48_generate_lai2() from 123-456-23 (3-digit MNC)
330 Encoded 21 63 54 00 17
331 gsm48_decode_lai2() gives 123-456-23 (3-digit MNC)
332 passed
Stefan Sperlingfdf8b7b2018-07-27 12:19:15 +0200333Element is: 2 => freqs[i] = 121
334Element is: 2 => freqs[i] = 1
335Element is: 0 => freqs[i] = 68
336w[0]=122
337w[1]=2
338w[2]=69
339w[3]=204
340w[4]=75
341w[5]=66
342w[6]=60
343w[7]=70
344w[8]=83
345w[9]=3
346w[10]=24
347w[11]=67
348w[12]=54
349w[13]=64
350w[14]=70
351w[15]=9
352Range512: 89 4b 2a 95 65 95 55 2c a9 55 aa 55 6a 95 59 55
353Range test 0: range 511, num ARFCNs 12
354range=511, arfcns_used=11, f0=1, f0_included=1
355chan_list = 88 00 98 34 85 36 7c 50 22 dc 5e ec 00 00 00 00
356Decoded freqs 12 (expected 12)
357Decoded: 1 12 31 51 57 91 97 98 113 117 120 125
358Range test 1: range 511, num ARFCNs 17
359range=511, arfcns_used=16, f0=1, f0_included=1
360chan_list = 88 00 82 7f 01 3f 7e 04 0b ff ff fc 10 41 07 e0
361Decoded freqs 17 (expected 17)
362Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
363Range test 2: range 511, num ARFCNs 18
364range=511, arfcns_used=17, f0=1, f0_included=1
365chan_list = 88 00 82 7f 01 7f 7e 04 0b ff ff fc 10 41 07 ff
366Decoded freqs 18 (expected 18)
367Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
368Range test 3: range 511, num ARFCNs 18
369range=511, arfcns_used=17, f0=1, f0_included=1
370chan_list = 88 00 94 3a 44 32 d7 2a 43 2a 13 94 e5 38 39 f6
371Decoded freqs 18 (expected 18)
372Decoded: 1 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 417 511
373Range test 4: range 511, num ARFCNs 6
374range=511, arfcns_used=5, f0=1, f0_included=1
375chan_list = 88 00 8b 3c 88 b9 6b 00 00 00 00 00 00 00 00 00
376Decoded freqs 6 (expected 6)
377Decoded: 1 17 31 45 58 79
378Range test 5: range 511, num ARFCNs 6
379range=511, arfcns_used=5, f0=10, f0_included=1
380chan_list = 88 05 08 fc 88 b9 6b 00 00 00 00 00 00 00 00 00
381Decoded freqs 6 (expected 6)
382Decoded: 10 17 31 45 58 79
383Range test 6: range 1023, num ARFCNs 17
384range=1023, arfcns_used=16, f0=0, f0_included=1
385chan_list = 84 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f
386Decoded freqs 17 (expected 17)
387Decoded: 0 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023
388Range test 7: range 1023, num ARFCNs 16
389range=1023, arfcns_used=16, f0=0, f0_included=0
390chan_list = 80 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f
391Decoded freqs 16 (expected 16)
392Decoded: 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023
393Random range test: range 127, max num ARFCNs 29
394Random range test: range 255, max num ARFCNs 22
395Random range test: range 511, max num ARFCNs 18
396Random range test: range 1023, max num ARFCNs 16