blob: d343869ff19f9c332be426bbfdc7dfe41742da59 [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)'
Oliver Smith186f8782019-06-06 16:11:32 +0200189- Running test: decoding buffer is one byte too small (OS#4049)
190 - Decoding HEX (buffer limit=4) '022143'...
191 - Expected: (rc=-28) '123'
192 - Actual: (rc=-28) '123'
Vadim Yanitskiyaa0683d2019-05-25 23:14:00 +0700193
Maxf1ad60e2018-01-05 14:19:33 +0100194Constructed RA:
Neels Hofmeyrc38b32d2018-02-20 15:13:18 +0100195077-121-666-5
196MCC+MNC in BCD: 70 17 21
Neels Hofmeyrdbb25132018-02-20 15:12:23 +0100197077-121-666-5 (3-digit MNC)
Max99377c22017-08-30 19:17:50 +0200198RA test...passed
Maxf1ad60e2018-01-05 14:19:33 +0100199Constructed RA:
Neels Hofmeyrc38b32d2018-02-20 15:13:18 +0100200084-98-11-89
201MCC+MNC in BCD: 80 f4 89
202084-98-11-89
Max99377c22017-08-30 19:17:50 +0200203RA test...passed
Neels Hofmeyrb9fd7eb2018-02-20 15:14:03 +0100204Constructed RA:
205000-00-0-0
206MCC+MNC in BCD: 00 f0 00
207000-00-0-0
208RA test...passed
209Constructed RA:
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100210000-000-0-0 (3-digit MNC)
211MCC+MNC in BCD: 00 00 00
212000-000-0-0 (3-digit MNC)
213RA test...passed
214Constructed RA:
Neels Hofmeyrb9fd7eb2018-02-20 15:14:03 +0100215999-999-65535-255
216MCC+MNC in BCD: 99 99 99
Neels Hofmeyrdbb25132018-02-20 15:12:23 +0100217999-999-65535-255 (3-digit MNC)
Neels Hofmeyrb9fd7eb2018-02-20 15:14:03 +0100218RA test...passed
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100219Constructed RA:
220001-02-23-42
221MCC+MNC in BCD: 00 f1 20
222001-02-23-42
223RA test...passed
224Constructed RA:
225001-002-23-42 (3-digit MNC)
226MCC+MNC in BCD: 00 21 00
227001-002-23-42 (3-digit MNC)
228RA test...passed
229Constructed RA:
230012-34-56-78
231MCC+MNC in BCD: 10 f2 43
232012-34-56-78
233RA test...passed
234Constructed RA:
235012-034-23-42 (3-digit MNC)
236MCC+MNC in BCD: 10 42 30
237012-034-23-42 (3-digit MNC)
238RA test...passed
239Constructed RA:
240123-456-23-42
241MCC+MNC in BCD: 21 63 54
242123-456-23-42 (3-digit MNC)
243RA test...passed
244Constructed RA:
245123-456-23-42 (3-digit MNC)
246MCC+MNC in BCD: 21 63 54
247123-456-23-42 (3-digit MNC)
248RA test...passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100249- gsm48_generate_lai() from 077-121-666-0
250 Encoded 70 17 21 02 9a
251 gsm48_decode_lai() gives 077-121-666-0
252 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100253- gsm48_generate_lai2() from 077-121-666
254 Encoded 70 17 21 02 9a
255 gsm48_decode_lai2() gives 077-121-666 (3-digit MNC)
256 passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100257- gsm48_generate_lai() from 084-98-11-0
258 Encoded 80 f4 89 00 0b
259 gsm48_decode_lai() gives 084-98-11-0
260 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100261- gsm48_generate_lai2() from 084-98-11
262 Encoded 80 f4 89 00 0b
263 gsm48_decode_lai2() gives 084-98-11
264 passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100265- gsm48_generate_lai() from 000-00-0-0
266 Encoded 00 f0 00 00 00
267 gsm48_decode_lai() gives 000-00-0-0
268 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100269- gsm48_generate_lai2() from 000-00-0
270 Encoded 00 f0 00 00 00
271 gsm48_decode_lai2() gives 000-00-0
272 passed
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100273- gsm48_generate_lai() from 000-000-0-0 (3-digit MNC)
274 Encoded 00 f0 00 00 00
275 gsm48_decode_lai() gives 000-00-0-0
276 passed
277- gsm48_generate_lai2() from 000-000-0 (3-digit MNC)
278 Encoded 00 00 00 00 00
279 gsm48_decode_lai2() gives 000-000-0 (3-digit MNC)
280 passed
Neels Hofmeyrd5a577b2018-02-20 21:48:07 +0100281- gsm48_generate_lai() from 999-999-65535-0
282 Encoded 99 99 99 ff ff
283 gsm48_decode_lai() gives 999-999-65535-0
284 passed
Neels Hofmeyr4566f4e2018-02-20 22:19:56 +0100285- gsm48_generate_lai2() from 999-999-65535
286 Encoded 99 99 99 ff ff
287 gsm48_decode_lai2() gives 999-999-65535 (3-digit MNC)
288 passed
Neels Hofmeyr6c7b3e22018-02-20 22:20:42 +0100289- gsm48_generate_lai() from 001-02-23-0
290 Encoded 00 f1 20 00 17
291 gsm48_decode_lai() gives 001-02-23-0
292 passed
293- gsm48_generate_lai2() from 001-02-23
294 Encoded 00 f1 20 00 17
295 gsm48_decode_lai2() gives 001-02-23
296 passed
297- gsm48_generate_lai() from 001-002-23-0 (3-digit MNC)
298 Encoded 00 f1 20 00 17
299 gsm48_decode_lai() gives 001-02-23-0
300 passed
301- gsm48_generate_lai2() from 001-002-23 (3-digit MNC)
302 Encoded 00 21 00 00 17
303 gsm48_decode_lai2() gives 001-002-23 (3-digit MNC)
304 passed
305- gsm48_generate_lai() from 012-34-56-0
306 Encoded 10 f2 43 00 38
307 gsm48_decode_lai() gives 012-34-56-0
308 passed
309- gsm48_generate_lai2() from 012-34-56
310 Encoded 10 f2 43 00 38
311 gsm48_decode_lai2() gives 012-34-56
312 passed
313- gsm48_generate_lai() from 012-034-23-0 (3-digit MNC)
314 Encoded 10 f2 43 00 17
315 gsm48_decode_lai() gives 012-34-23-0
316 passed
317- gsm48_generate_lai2() from 012-034-23 (3-digit MNC)
318 Encoded 10 42 30 00 17
319 gsm48_decode_lai2() gives 012-034-23 (3-digit MNC)
320 passed
321- gsm48_generate_lai() from 123-456-23-0
322 Encoded 21 63 54 00 17
323 gsm48_decode_lai() gives 123-456-23-0
324 passed
325- gsm48_generate_lai2() from 123-456-23
326 Encoded 21 63 54 00 17
327 gsm48_decode_lai2() gives 123-456-23 (3-digit MNC)
328 passed
329- gsm48_generate_lai() from 123-456-23-0 (3-digit MNC)
330 Encoded 21 63 54 00 17
331 gsm48_decode_lai() gives 123-456-23-0
332 passed
333- gsm48_generate_lai2() from 123-456-23 (3-digit MNC)
334 Encoded 21 63 54 00 17
335 gsm48_decode_lai2() gives 123-456-23 (3-digit MNC)
336 passed
Stefan Sperlingfdf8b7b2018-07-27 12:19:15 +0200337Element is: 2 => freqs[i] = 121
338Element is: 2 => freqs[i] = 1
339Element is: 0 => freqs[i] = 68
340w[0]=122
341w[1]=2
342w[2]=69
343w[3]=204
344w[4]=75
345w[5]=66
346w[6]=60
347w[7]=70
348w[8]=83
349w[9]=3
350w[10]=24
351w[11]=67
352w[12]=54
353w[13]=64
354w[14]=70
355w[15]=9
356Range512: 89 4b 2a 95 65 95 55 2c a9 55 aa 55 6a 95 59 55
357Range test 0: range 511, num ARFCNs 12
358range=511, arfcns_used=11, f0=1, f0_included=1
359chan_list = 88 00 98 34 85 36 7c 50 22 dc 5e ec 00 00 00 00
360Decoded freqs 12 (expected 12)
361Decoded: 1 12 31 51 57 91 97 98 113 117 120 125
362Range test 1: range 511, num ARFCNs 17
363range=511, arfcns_used=16, f0=1, f0_included=1
364chan_list = 88 00 82 7f 01 3f 7e 04 0b ff ff fc 10 41 07 e0
365Decoded freqs 17 (expected 17)
366Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
367Range test 2: range 511, num ARFCNs 18
368range=511, arfcns_used=17, f0=1, f0_included=1
369chan_list = 88 00 82 7f 01 7f 7e 04 0b ff ff fc 10 41 07 ff
370Decoded freqs 18 (expected 18)
371Decoded: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
372Range test 3: range 511, num ARFCNs 18
373range=511, arfcns_used=17, f0=1, f0_included=1
374chan_list = 88 00 94 3a 44 32 d7 2a 43 2a 13 94 e5 38 39 f6
375Decoded freqs 18 (expected 18)
376Decoded: 1 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 417 511
377Range test 4: range 511, num ARFCNs 6
378range=511, arfcns_used=5, f0=1, f0_included=1
379chan_list = 88 00 8b 3c 88 b9 6b 00 00 00 00 00 00 00 00 00
380Decoded freqs 6 (expected 6)
381Decoded: 1 17 31 45 58 79
382Range test 5: range 511, num ARFCNs 6
383range=511, arfcns_used=5, f0=10, f0_included=1
384chan_list = 88 05 08 fc 88 b9 6b 00 00 00 00 00 00 00 00 00
385Decoded freqs 6 (expected 6)
386Decoded: 10 17 31 45 58 79
387Range test 6: range 1023, num ARFCNs 17
388range=1023, arfcns_used=16, f0=0, f0_included=1
389chan_list = 84 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f
390Decoded freqs 17 (expected 17)
391Decoded: 0 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023
392Range test 7: range 1023, num ARFCNs 16
393range=1023, arfcns_used=16, f0=0, f0_included=0
394chan_list = 80 71 e4 ab b9 58 05 cb 39 17 fd b0 75 62 0f 2f
395Decoded freqs 16 (expected 16)
396Decoded: 17 31 45 58 79 81 97 113 127 213 277 287 311 331 391 1023
397Random range test: range 127, max num ARFCNs 29
398Random range test: range 255, max num ARFCNs 22
399Random range test: range 511, max num ARFCNs 18
400Random range test: range 1023, max num ARFCNs 16