aboutsummaryrefslogtreecommitdiffstats
path: root/sgsn
diff options
context:
space:
mode:
Diffstat (limited to 'sgsn')
-rw-r--r--sgsn/SGSN_Tests.ttcn26
1 files changed, 26 insertions, 0 deletions
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index 89401f41..2bdbfb9b 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -2289,6 +2289,31 @@ testcase TC_xid_n201u() runs on test_CT {
vc_conn.done;
}
+private function f_TC_attach_pdp_act_gmm_detach(charstring id) runs on BSSGP_ConnHdlr {
+ var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip));
+
+ /* first perform regular attach */
+ f_TC_attach(id);
+ /* then activate PDP context */
+ f_pdp_ctx_act(apars);
+ /* do a normal detach */
+ f_detach_mo(c_GMM_DTT_MO_GPRS, false, true);
+}
+
+testcase TC_attach_pdp_act_gmm_detach() runs on test_CT {
+ /* MS -> SGSN: Attach Request
+ * MS <-> SGSN: [..]
+ * MS -> SGSN: Attach Complete
+ * MS -> SGSN: PDP Activate Request
+ * MS <- SGSN: PDP Activate Accept
+ * MS -> SGSN: GMM Detach Request
+ * MS <- SGSN: GMM Detach Accept
+ */
+ var BSSGP_ConnHdlr vc_conn;
+ f_init();
+ vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_gmm_detach), testcasename(), g_gb, 26);
+ vc_conn.done;
+}
control {
@@ -2334,6 +2359,7 @@ control {
execute( TC_attach_restart_ctr_create() );
execute( TC_attach_pdp_act_deact_mt_t3395_expire() );
execute( TC_attach_pdp_act_user_error_ind_ggsn() );
+ execute( TC_attach_pdp_act_gmm_detach() );
execute( TC_attach_gmm_attach_req_while_gmm_attach() );
execute( TC_xid_empty_l3() );