119 lines
3.2 KiB
Plaintext
119 lines
3.2 KiB
Plaintext
module SGSN_Tests_Iu {
|
|
|
|
import from Osmocom_Types all;
|
|
import from Osmocom_VTY_Functions 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();
|
|
}
|
|
|
|
testcase TC_iu_attach_encr() 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: Security Mode Command
|
|
* MS -> SGSN: Security Mode Complete
|
|
* hNodeB <- SGSN: Common Id
|
|
* MS <- SGSN: Attach Accept
|
|
* MS -> SGSN: Attach Complete
|
|
*/
|
|
var BSSGP_ConnHdlr vc_conn;
|
|
g_ranap_enable := true;
|
|
f_init();
|
|
f_vty_config(SGSNVTY, "sgsn", "encryption uea 1 2");
|
|
f_sleep(1.0);
|
|
vc_conn := f_start_handler(refers(f_TC_iu_attach), testcasename(), g_gb, 1001, expect_ciph := true);
|
|
vc_conn.done;
|
|
f_vty_config(SGSNVTY, "sgsn", "encryption uea 0");
|
|
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_encr() );
|
|
execute( TC_iu_attach_geran_rau() );
|
|
execute( TC_geran_attach_iu_rau() );
|
|
}
|
|
|
|
|
|
}
|