blob: 586642b27cafe74aabb2fee4c510b49dcd4c3d30 [file] [log] [blame]
Harald Weltee13cfb22019-04-23 16:52:02 +02001module MSC_Tests_Iu {
2
Harald Welte34b5a952019-05-27 11:54:11 +02003/* Osmocom MSC test suite for Iu interface in TTCN-3
4 * (C) 2019 Harald Welte <laforge@gnumonks.org>
5 * All rights reserved.
6 *
7 * Released under the terms of GNU General Public License, Version 2 or
8 * (at your option) any later version.
9 *
10 * SPDX-License-Identifier: GPL-2.0-or-later
11 */
12
Harald Weltee13cfb22019-04-23 16:52:02 +020013import from General_Types all;
14import from Osmocom_Types all;
15
16import from BSC_ConnectionHandler all;
17import from MSC_Tests all;
18
19import from Osmocom_VTY_Functions all;
20
21import from GSUP_Emulation all;
22import from RAN_Emulation all;
23
24import from RANAP_Templates all;
25
26import from MobileL3_Types all;
27import from MobileL3_CommonIE_Types all;
28import from MobileL3_SMS_Types all;
29import from L3_Templates all;
30import from L3_Common all;
31
32
33
34testcase TC_iu_lu_imsi_reject() runs on MTC_CT {
35 var BSC_ConnHdlr vc_conn;
36 f_init(3);
37
38 vc_conn := f_start_handler(refers(f_tc_lu_imsi_reject), 1003, ran_idx := 2, ran_is_geran := false);
39 vc_conn.done;
40}
41
42testcase TC_iu_lu_imsi_timeout_gsup() runs on MTC_CT {
43 var BSC_ConnHdlr vc_conn;
44 f_init(3);
45
46 vc_conn := f_start_handler(refers(f_tc_lu_imsi_timeout_gsup), 1004, ran_idx := 2, ran_is_geran := false);
47 vc_conn.done;
48}
49
50testcase TC_iu_lu_imsi_auth3g_tmsi() runs on MTC_CT {
51 var BSC_ConnHdlr vc_conn;
52 f_init(3);
53 f_vty_config(MSCVTY, "network", "authentication required");
54
55 vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth3g_tmsi), 1005, ran_idx := 2, ran_is_geran := false);
56 vc_conn.done;
57}
58
Pau Espin Pedrold3d54a92019-12-17 17:02:54 +010059testcase TC_iu_lu_imsi_timeout_tmsi_realloc() runs on MTC_CT {
60 var BSC_ConnHdlr vc_conn;
61 f_init(3);
62 f_vty_config(MSCVTY, "network", "authentication required");
63
64 vc_conn := f_start_handler(refers(f_tc_lu_imsi_timeout_tmsi_realloc), 1005, ran_idx := 2, ran_is_geran := false);
65 vc_conn.done;
66}
67
Harald Weltee13cfb22019-04-23 16:52:02 +020068testcase TC_iu_cmserv_imsi_unknown() runs on MTC_CT {
69 var BSC_ConnHdlr vc_conn;
70 f_init(3);
71 vc_conn := f_start_handler(refers(f_tc_cmserv_imsi_unknown), 1006, ran_idx := 2, ran_is_geran := false);
72 vc_conn.done;
73}
74
75testcase TC_iu_lu_and_mo_call() runs on MTC_CT {
76 var BSC_ConnHdlr vc_conn;
77 f_init(3);
78
79 vc_conn := f_start_handler(refers(f_tc_lu_and_mo_call), 1007, ran_idx := 2, ran_is_geran := false);
80 vc_conn.done;
81}
82
83testcase TC_iu_lu_auth_sai_timeout() runs on MTC_CT {
84 var BSC_ConnHdlr vc_conn;
85 f_init(3);
86 f_vty_config(MSCVTY, "network", "authentication required");
87
88 vc_conn := f_start_handler(refers(f_tc_lu_auth_sai_timeout), 1008, ran_idx := 2, ran_is_geran := false);
89 vc_conn.done;
90}
91
92testcase TC_iu_lu_auth_sai_err() runs on MTC_CT {
93 var BSC_ConnHdlr vc_conn;
94 f_init(3);
95 f_vty_config(MSCVTY, "network", "authentication required");
96
97 vc_conn := f_start_handler(refers(f_tc_lu_auth_sai_err), 1009, ran_idx := 2, ran_is_geran := false);
98 vc_conn.done;
99}
100
101/* Test LU but RNC will send a Iu Release request in the middle */
102private function f_tc_iu_lu_release_request(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr {
103 f_init_handler(pars);
104
105 var PDU_ML3_MS_NW l3_lu := f_build_lu_imsi(g_pars.imsi)
106 var PDU_DTAP_MT dtap_mt;
107
108 /* tell GSUP dispatcher to send this IMSI to us */
109 f_create_gsup_expect(hex2str(g_pars.imsi));
110
111 /* Send BSSAP_Conn_Req with COMPL L3 INFO to MSC */
112 f_cl3_or_initial_ue(l3_lu);
113
114 f_sleep(1.0);
115 /* send release request in the middle of the LU */
116 BSSAP.send(ts_RANAP_IuReleaseRequest(ts_RanapCause_om_intervention));
117 alt {
118 [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) { repeat; }
119 [] BSSAP.receive(tr_RANAP_IuReleaseCommand(?)) {}
120 }
121 BSSAP.send(ts_RANAP_IuReleaseComplete);
122 alt {
123 /* See https://osmocom.org/issues/2862 */
124 [] BSSAP.receive(tr_RANAP_IuReleaseCommand(?)) {
125 setverdict(fail, "Got a second Iu Release Command, only one expected");
126 mtc.stop;
127 repeat;
128 }
129 [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND) {}
130 }
131 setverdict(pass);
132}
133testcase TC_iu_lu_release_request() runs on MTC_CT {
134 var BSC_ConnHdlr vc_conn;
135 f_init(3);
136
137 vc_conn := f_start_handler(refers(f_tc_iu_lu_release_request), 1010, ran_idx := 2, ran_is_geran := false);
138 vc_conn.done;
139}
140
141testcase TC_iu_lu_disconnect() runs on MTC_CT {
142 var BSC_ConnHdlr vc_conn;
143 f_init(3);
144
145 vc_conn := f_start_handler(refers(f_tc_lu_disconnect), 1011, ran_idx := 2, ran_is_geran := false);
146 vc_conn.done;
147}
148
149testcase TC_iu_lu_by_imei() runs on MTC_CT {
150 var BSC_ConnHdlr vc_conn;
151 f_init(3);
152
153 vc_conn := f_start_handler(refers(f_tc_lu_by_imei), 1012, ran_idx := 2, ran_is_geran := false);
154 vc_conn.done;
155}
156
157testcase TC_iu_imsi_detach_by_imsi() runs on MTC_CT {
158 var BSC_ConnHdlr vc_conn;
159 f_init(3);
160
161 vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_imsi), 1014, ran_idx := 2, ran_is_geran := false);
162 vc_conn.done;
163}
164
165testcase TC_iu_imsi_detach_by_tmsi() runs on MTC_CT {
166 var BSC_ConnHdlr vc_conn;
167 f_init(3);
168
169 vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_tmsi), 1015, ran_idx := 2, ran_is_geran := false);
170 vc_conn.done;
171}
172
173testcase TC_iu_imsi_detach_by_imei() runs on MTC_CT {
174 var BSC_ConnHdlr vc_conn;
175 f_init(3);
176
177 vc_conn := f_start_handler(refers(f_tc_imsi_detach_by_imei), 1016, ran_idx := 2, ran_is_geran := false);
178 vc_conn.done;
179}
180
181testcase TC_iu_emerg_call_imei_reject() runs on MTC_CT {
182 var BSC_ConnHdlr vc_conn;
183 f_init(3);
184
185 vc_conn := f_start_handler(refers(f_tc_emerg_call_imei_reject), 1017, ran_idx := 2, ran_is_geran := false);
186 vc_conn.done;
187}
188
189testcase TC_iu_emerg_call_imsi() runs on MTC_CT {
190 var BSC_ConnHdlr vc_conn;
191 f_init(3);
192
193 vc_conn := f_start_handler(refers(f_tc_emerg_call_imsi), 1018, ran_idx := 2, ran_is_geran := false);
194 vc_conn.done;
195}
196
197testcase TC_iu_establish_and_nothing() runs on MTC_CT {
198 var BSC_ConnHdlr vc_conn;
199 f_init(3);
200
201 vc_conn := f_start_handler(refers(f_tc_establish_and_nothing), 1027, ran_idx := 2, ran_is_geran := false);
202 vc_conn.done;
203}
204
205testcase TC_iu_mo_setup_and_nothing() runs on MTC_CT {
206 var BSC_ConnHdlr vc_conn;
207 f_init(3);
208
209 vc_conn := f_start_handler(refers(f_tc_mo_setup_and_nothing), 1028, ran_idx := 2, ran_is_geran := false);
210 vc_conn.done;
211}
212
213testcase TC_iu_mo_crcx_ran_timeout() runs on MTC_CT {
214 var BSC_ConnHdlr vc_conn;
215 f_init(3);
216
217 vc_conn := f_start_handler(refers(f_tc_mo_crcx_ran_timeout), 1029, ran_idx := 2, ran_is_geran := false);
218 vc_conn.done;
219}
220
221testcase TC_iu_mo_crcx_ran_reject() runs on MTC_CT {
222 var BSC_ConnHdlr vc_conn;
223 f_init(3);
224
225 vc_conn := f_start_handler(refers(f_tc_mo_crcx_ran_reject), 1030, ran_idx := 2, ran_is_geran := false);
226 vc_conn.done;
227}
228
229testcase TC_iu_mt_crcx_ran_reject() runs on MTC_CT {
230 var BSC_ConnHdlr vc_conn;
231 f_init(3);
232
233 vc_conn := f_start_handler(refers(f_tc_mt_crcx_ran_reject), 1031, ran_idx := 2, ran_is_geran := false);
234 vc_conn.done;
235}
236
237testcase TC_iu_mt_t310() runs on MTC_CT {
238 var BSC_ConnHdlr vc_conn;
239 f_init(3);
240
241 vc_conn := f_start_handler(refers(f_tc_mt_t310), 1032, ran_idx := 2, ran_is_geran := false);
242 vc_conn.done;
243}
244
245testcase TC_iu_gsup_cancel() runs on MTC_CT {
246 var BSC_ConnHdlr vc_conn;
247 f_init(3);
248
249 vc_conn := f_start_handler(refers(f_tc_gsup_cancel), 1033, ran_idx := 2, ran_is_geran := false);
250 vc_conn.done;
251}
252
253testcase TC_iu_mo_release_timeout() runs on MTC_CT {
254 var BSC_ConnHdlr vc_conn;
255 f_init(3);
256
257 vc_conn := f_start_handler(refers(f_tc_mo_release_timeout), 1040, ran_idx := 2, ran_is_geran := false);
258 vc_conn.done;
259}
260
Neels Hofmeyr8fe8a902019-11-03 05:51:03 +0100261testcase TC_iu_lu_and_mt_call() runs on MTC_CT {
262 var BSC_ConnHdlr vc_conn;
263 f_init(3);
264 vc_conn := f_start_handler(refers(f_tc_lu_and_mt_call), 1142, ran_idx := 2, ran_is_geran := false);
265 vc_conn.done;
266}
267
Harald Weltee13cfb22019-04-23 16:52:02 +0200268testcase TC_iu_lu_and_mo_sms() runs on MTC_CT {
269 var BSC_ConnHdlr vc_conn;
270 f_init(3);
271 vc_conn := f_start_handler(refers(f_tc_lu_and_mo_sms), 1042, ran_idx := 2, ran_is_geran := false);
272 vc_conn.done;
273}
274
275testcase TC_iu_lu_and_mt_sms() runs on MTC_CT {
276 var BSC_ConnHdlrPars pars;
277 var BSC_ConnHdlr vc_conn;
278 f_init(3);
279 pars := f_init_pars(1043, ran_idx := 2, ran_is_geran := false);
280 vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms), pars);
281 vc_conn.done;
282}
283
284testcase TC_iu_lu_and_mt_sms_paging_and_nothing() runs on MTC_CT {
285 var BSC_ConnHdlrPars pars;
286 var BSC_ConnHdlr vc_conn;
287 f_init(3);
288 pars := f_init_pars(101843, ran_idx := 2, ran_is_geran := false);
289 vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_and_nothing), pars);
290 vc_conn.done;
291}
292
Alexander Couzensfc02f242019-09-12 03:43:18 +0200293testcase TC_iu_lu_and_mt_sms_paging_repeated() runs on MTC_CT {
294 var BSC_ConnHdlrPars pars;
295 var BSC_ConnHdlr vc_conn;
296 f_init(3);
Neels Hofmeyrd8ad7c02019-11-28 01:36:01 +0100297 pars := f_init_pars(101844, ran_idx := 2, ran_is_geran := false);
Alexander Couzensfc02f242019-09-12 03:43:18 +0200298 vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_paging_repeated), pars);
299 vc_conn.done;
300}
301
Harald Weltee13cfb22019-04-23 16:52:02 +0200302testcase TC_iu_smpp_mo_sms() runs on MTC_CT {
303 var BSC_ConnHdlr vc_conn;
304 f_init(3);
305 f_vty_config2(MSCVTY, { "smpp", "esme msc_tester"}, "default-route");
306 vc_conn := f_start_handler(refers(f_tc_smpp_mo_sms), 1044, ran_idx := 2, ran_is_geran := false);
307 vc_conn.done;
308 f_vty_config2(MSCVTY, { "smpp", "esme msc_tester"}, "no default-route");
309}
310
311testcase TC_iu_gsup_mo_sms() runs on MTC_CT {
312 var BSC_ConnHdlr vc_conn;
313 f_init(3);
314 f_vty_config(MSCVTY, "msc", "sms-over-gsup");
315 vc_conn := f_start_handler(refers(f_tc_gsup_mo_sms), 1088, ran_idx := 2, ran_is_geran := false);
316 vc_conn.done;
317 f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
318}
319
320testcase TC_iu_gsup_mo_smma() runs on MTC_CT {
321 var BSC_ConnHdlr vc_conn;
322 f_init(3);
323 f_vty_config(MSCVTY, "msc", "sms-over-gsup");
324 vc_conn := f_start_handler(refers(f_tc_gsup_mo_smma), 1089, ran_idx := 2, ran_is_geran := false);
325 vc_conn.done;
326 f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
327}
328
329testcase TC_iu_gsup_mt_sms_ack() runs on MTC_CT {
330 var BSC_ConnHdlrPars pars;
331 var BSC_ConnHdlr vc_conn;
332 f_init(3);
333 pars := f_init_pars(1090, ran_idx := 2, ran_is_geran := false);
334 f_vty_config(MSCVTY, "msc", "sms-over-gsup");
335 vc_conn := f_start_handler_with_pars(refers(f_tc_gsup_mt_sms_ack), pars);
336 vc_conn.done;
337 f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
338}
339
340testcase TC_iu_gsup_mt_sms_err() runs on MTC_CT {
341 var BSC_ConnHdlrPars pars;
342 var BSC_ConnHdlr vc_conn;
343 f_init(3);
344 pars := f_init_pars(1091, ran_idx := 2, ran_is_geran := false);
345 f_vty_config(MSCVTY, "msc", "sms-over-gsup");
346 vc_conn := f_start_handler_with_pars(refers(f_tc_gsup_mt_sms_err), pars);
347 vc_conn.done;
348 f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
349}
350
351testcase TC_iu_gsup_mt_sms_rp_mr() runs on MTC_CT {
352 var BSC_ConnHdlrPars pars;
353 var BSC_ConnHdlr vc_conn;
354 f_init(3);
355 pars := f_init_pars(1092, ran_idx := 2, ran_is_geran := false);
356 f_vty_config(MSCVTY, "msc", "sms-over-gsup");
357 vc_conn := f_start_handler_with_pars(refers(f_tc_gsup_mt_sms_rp_mr), pars);
358 vc_conn.done;
359 f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
360}
361
362testcase TC_iu_gsup_mo_mt_sms_rp_mr() runs on MTC_CT {
363 var BSC_ConnHdlrPars pars;
364 var BSC_ConnHdlr vc_conn;
365 f_init(3);
366 pars := f_init_pars(1093, ran_idx := 2, ran_is_geran := false);
367 f_vty_config(MSCVTY, "msc", "sms-over-gsup");
368 vc_conn := f_start_handler_with_pars(refers(f_tc_gsup_mo_mt_sms_rp_mr), pars);
369 vc_conn.done;
370 f_vty_config(MSCVTY, "msc", "no sms-over-gsup");
371}
372
373testcase TC_iu_lu_and_mo_ussd_single_request() runs on MTC_CT {
374 var BSC_ConnHdlr vc_conn;
375 f_init(3);
376 vc_conn := f_start_handler(refers(f_tc_lu_and_mo_ussd_single_request), 1046, ran_idx := 2, ran_is_geran := false);
377 vc_conn.done;
378}
379
380testcase TC_iu_lu_and_mt_ussd_notification() runs on MTC_CT {
381 var BSC_ConnHdlr vc_conn;
382 f_init(3);
383 vc_conn := f_start_handler(refers(f_tc_lu_and_mt_ussd_notification), 1047, ran_idx := 2, ran_is_geran := false);
384 vc_conn.done;
385}
386
387testcase TC_iu_lu_and_mo_ussd_during_mt_call() runs on MTC_CT {
388 var BSC_ConnHdlr vc_conn;
389 f_init(3);
390 vc_conn := f_start_handler(refers(f_tc_lu_and_mo_ussd_during_mt_call), 1048, ran_idx := 2, ran_is_geran := false);
391 vc_conn.done;
392}
393
394testcase TC_mo_cc_iu_release() runs on MTC_CT {
395 var BSC_ConnHdlr vc_conn;
396 f_init(3);
397
398 vc_conn := f_start_handler(refers(f_tc_mo_cc_bssmap_clear), 1043, ran_idx := 2, ran_is_geran := false);
399 vc_conn.done;
400}
401
402testcase TC_iu_lu_and_mt_ussd_during_mt_call() runs on MTC_CT {
403 var BSC_ConnHdlr vc_conn;
404 f_init(3);
405 vc_conn := f_start_handler(refers(f_tc_lu_and_mt_ussd_during_mt_call), 1049, ran_idx := 2, ran_is_geran := false);
406 vc_conn.done;
407}
408
409testcase TC_iu_lu_and_mo_ussd_mo_release() runs on MTC_CT {
410 var BSC_ConnHdlr vc_conn;
Vadim Yanitskiyba0b0aa2019-06-20 06:53:47 +0700411 f_init(3);
Harald Weltee13cfb22019-04-23 16:52:02 +0200412 vc_conn := f_start_handler(refers(f_tc_lu_and_mo_ussd_mo_release), 1050, ran_idx := 2, ran_is_geran := false);
413 vc_conn.done;
414}
415
416testcase TC_iu_lu_and_ss_session_timeout() runs on MTC_CT {
417 var BSC_ConnHdlr vc_conn;
418 f_init(3);
419 f_vty_config(MSCVTY, "msc", "ncss guard-timeout 3");
420 vc_conn := f_start_handler(refers(f_tc_lu_and_ss_session_timeout), 1051, ran_idx := 2, ran_is_geran := false);
421 vc_conn.done;
422 f_vty_config(MSCVTY, "msc", "ncss guard-timeout 0");
423}
424
Vadim Yanitskiy373b0542020-01-07 22:57:46 +0100425testcase TC_iu_mt_ussd_for_unknown_subscr() runs on MTC_CT {
426 var BSC_ConnHdlr vc_conn;
427 f_init(3);
428 vc_conn := f_start_handler(refers(f_tc_mt_ussd_for_unknown_subscr), 1052,
429 ran_idx := 2, ran_is_geran := false);
430 vc_conn.done;
431}
432
433testcase TC_iu_mo_ussd_for_unknown_trans() runs on MTC_CT {
434 var BSC_ConnHdlr vc_conn;
435 f_init(3);
436 vc_conn := f_start_handler(refers(f_tc_mo_ussd_for_unknown_trans), 1053,
437 ran_idx := 2, ran_is_geran := false);
438 vc_conn.done;
439}
440
441testcase TC_iu_proc_ss_for_unknown_session() runs on MTC_CT {
442 var BSC_ConnHdlr vc_conn;
443 f_init(3);
444 vc_conn := f_start_handler(refers(f_tc_proc_ss_for_unknown_session), 1055,
445 ran_idx := 2, ran_is_geran := false);
446 vc_conn.done;
447}
448
449testcase TC_iu_proc_ss_paging_fail() runs on MTC_CT {
450 var BSC_ConnHdlr vc_conn;
451 f_init(3);
452 vc_conn := f_start_handler(refers(f_tc_proc_ss_paging_fail), 1056,
453 ran_idx := 2, ran_is_geran := false);
454 vc_conn.done;
455}
456
457testcase TC_iu_proc_ss_abort() runs on MTC_CT {
458 var BSC_ConnHdlr vc_conn;
459 f_init(3);
460 vc_conn := f_start_handler(refers(f_tc_proc_ss_abort), 1057,
461 ran_idx := 2, ran_is_geran := false);
462 vc_conn.done;
463}
464
Harald Welteb2284bd2019-05-10 11:30:43 +0200465testcase TC_iu_lu_with_invalid_mcc_mnc() runs on MTC_CT {
466 var BSC_ConnHdlr vc_conn;
467 f_init(3);
468 vc_conn := f_start_handler(refers(f_tc_lu_with_invalid_mcc_mnc), 1054, ran_idx := 2, ran_is_geran := false);
469 vc_conn.done;
470}
471
Harald Weltee13cfb22019-04-23 16:52:02 +0200472control {
473 execute( TC_iu_lu_imsi_reject() );
474 execute( TC_iu_lu_imsi_timeout_gsup() );
475 execute( TC_iu_lu_imsi_auth3g_tmsi() );
Pau Espin Pedrold3d54a92019-12-17 17:02:54 +0100476 execute( TC_iu_lu_imsi_timeout_tmsi_realloc() );
Harald Weltee13cfb22019-04-23 16:52:02 +0200477 execute( TC_iu_cmserv_imsi_unknown() );
478 execute( TC_iu_lu_and_mo_call() );
479 execute( TC_iu_lu_auth_sai_timeout() );
480 execute( TC_iu_lu_auth_sai_err() );
481 execute( TC_iu_lu_release_request() );
482 execute( TC_iu_lu_disconnect() );
483 execute( TC_iu_lu_by_imei() );
484 execute( TC_iu_imsi_detach_by_imsi() );
485 execute( TC_iu_imsi_detach_by_tmsi() );
486 execute( TC_iu_imsi_detach_by_imei() );
487 execute( TC_iu_emerg_call_imei_reject() );
488 execute( TC_iu_emerg_call_imsi() );
489 execute( TC_iu_establish_and_nothing() );
490 execute( TC_iu_mo_setup_and_nothing() );
491 execute( TC_iu_mo_crcx_ran_timeout() );
492 execute( TC_iu_mo_crcx_ran_reject() );
493 execute( TC_iu_mt_crcx_ran_reject() );
494 execute( TC_iu_gsup_cancel() );
495 execute( TC_iu_mo_release_timeout() );
496 execute( TC_reset_two_1iu() );
497
Neels Hofmeyr8fe8a902019-11-03 05:51:03 +0100498 execute( TC_iu_lu_and_mt_call() );
499
Harald Weltee13cfb22019-04-23 16:52:02 +0200500 execute( TC_iu_lu_and_mo_sms() );
501 execute( TC_iu_lu_and_mt_sms() );
502 execute( TC_iu_lu_and_mt_sms_paging_and_nothing() );
Alexander Couzensfc02f242019-09-12 03:43:18 +0200503 execute( TC_iu_lu_and_mt_sms_paging_repeated() );
Harald Weltee13cfb22019-04-23 16:52:02 +0200504 execute( TC_iu_smpp_mo_sms() );
505
506 execute( TC_iu_gsup_mo_sms() );
507 execute( TC_iu_gsup_mo_smma() );
508 execute( TC_iu_gsup_mt_sms_ack() );
509 execute( TC_iu_gsup_mt_sms_err() );
510 execute( TC_iu_gsup_mt_sms_rp_mr() );
511 execute( TC_iu_gsup_mo_mt_sms_rp_mr() );
512
513 execute( TC_iu_lu_and_mo_ussd_single_request() );
514 execute( TC_iu_lu_and_mt_ussd_notification() );
515 execute( TC_iu_lu_and_mo_ussd_during_mt_call() );
516 execute( TC_iu_lu_and_mt_ussd_during_mt_call() );
517 execute( TC_iu_lu_and_mo_ussd_mo_release() );
518 execute( TC_iu_lu_and_ss_session_timeout() );
Vadim Yanitskiy373b0542020-01-07 22:57:46 +0100519
520 execute( TC_iu_mt_ussd_for_unknown_subscr() );
521 execute( TC_iu_mo_ussd_for_unknown_trans() );
522 execute( TC_iu_proc_ss_for_unknown_session() );
523 execute( TC_iu_proc_ss_paging_fail() );
524 execute( TC_iu_proc_ss_abort() );
525
Harald Welteb2284bd2019-05-10 11:30:43 +0200526 execute( TC_iu_lu_with_invalid_mcc_mnc() );
Harald Weltee13cfb22019-04-23 16:52:02 +0200527
528 /* TODO: Iu + SGsAP related tests, e.g. paging on IuCS */
529
530 /* Run this last: at the time of writing this test crashes the MSC */
531 execute( TC_mo_cc_iu_release() );
532}
533
534
535}