Osmocom test suites in TTCN-3 (Eclipse Titan) https://osmocom.org/projects/core-testing-infra
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
osmo-ttcn3-hacks/sgsn/SGSN_Tests_Iu.ttcn

93 lines
2.5 KiB

module SGSN_Tests_Iu {
import from Osmocom_Types all;
import from SGSN_Tests all;
import from RAN_Adapter all;
import from RAN_Emulation all;
import from RANAP_Templates all;
import from RANAP_PDU_Descriptions all;
import from RANAP_IEs all;
private function f_TC_iu_attach(charstring id) runs on BSSGP_ConnHdlr {
var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
/* first perform regular attach */
f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3);
setverdict(pass);
}
testcase TC_iu_attach() runs on test_CT {
/* MS -> SGSN: Attach Request IMSI
* MS <- SGSN: Identity Request IMEI
* MS -> SGSN: Identity Response IMEI
* MS <- SGSN: Auth Request
* MS -> SGSN: Auth Response
* MS <- SGSN: Attach Accept
* MS -> SGSN: Attach Complete
*/
var BSSGP_ConnHdlr vc_conn;
g_ranap_enable := true;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_iu_attach), testcasename(), g_gb, 1001);
vc_conn.done;
f_cleanup();
}
private function f_TC_iu_attach_geran_rau(charstring id) runs on BSSGP_ConnHdlr {
var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
/* first perform regular attach */
f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 3);
/* do a routing area update */
f_routing_area_update(g_pars.ra);
}
testcase TC_iu_attach_geran_rau() runs on test_CT {
/* MS <-> SGSN: Successful Attach over Iu
* MS <-> SGSN: Routing Area Update over Geran
*/
var BSSGP_ConnHdlr vc_conn;
g_ranap_enable := true;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_iu_attach_geran_rau), testcasename(), g_gb, 1002);
vc_conn.done;
f_cleanup();
}
private function f_TC_geran_attach_iu_rau(charstring id) runs on BSSGP_ConnHdlr {
var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
/* first perform regular attach */
f_gmm_attach(umts_aka_challenge := true, force_gsm_sres := false, ran_index := 0);
/* do a routing area update */
f_routing_area_update(g_pars.ra, ran_index := 3);
setverdict(pass);
}
testcase TC_geran_attach_iu_rau() runs on test_CT {
/* MS <-> SGSN: Successful Attach over Geran
* MS <-> SGSN: Routing Area Update over Iu
*/
var BSSGP_ConnHdlr vc_conn;
g_ranap_enable := true;
f_init();
f_sleep(1.0);
vc_conn := f_start_handler(refers(f_TC_geran_attach_iu_rau), testcasename(), g_gb, 1003);
vc_conn.done;
f_cleanup();
}
control {
execute( TC_iu_attach() );
execute( TC_iu_attach_geran_rau() );
execute( TC_geran_attach_iu_rau() );
}
}