aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bts/BTS_Tests.ttcn20
-rw-r--r--library/RSL_Types.ttcn4
2 files changed, 24 insertions, 0 deletions
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index bf7e8399..9c2e74a8 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -1049,6 +1049,25 @@ testcase TC_ipa_crcx_mdcx_dlcx_not_active() runs on test_CT {
vc_conn.done;
}
+/* IPA CRCX on SDCCH/4 and SDCCH/8 (doesn't make sense) */
+function f_TC_ipa_crcx_sdcch_not_active(charstring id) runs on ConnHdlr {
+ f_rsl_transceive(ts_RSL_IPA_CRCX(g_chan_nr), tr_RSL_IPA_CRCX_NACK(g_chan_nr, ?),
+ "IPA CRCX NACK");
+}
+testcase TC_ipa_crcx_sdcch_not_active() runs on test_CT {
+ var ConnHdlrPars pars;
+ var ConnHdlr vc_conn;
+ f_init(testcasename());
+
+ pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0,1), ts_RSL_ChanMode_SIGN));
+ vc_conn := f_start_handler(refers(f_TC_ipa_crcx_sdcch_not_active), pars);
+ vc_conn.done;
+
+ pars := valueof(t_Pars(t_RslChanNr_SDCCH8(6,5), ts_RSL_ChanMode_SIGN));
+ vc_conn := f_start_handler(refers(f_TC_ipa_crcx_sdcch_not_active), pars);
+ vc_conn.done;
+}
+
/* TODO Areas:
@@ -1103,6 +1122,7 @@ control {
execute( TC_ipa_dlcx_not_active() );
execute( TC_ipa_crcx_twice_not_active() );
execute( TC_ipa_crcx_mdcx_dlcx_not_active() );
+ execute( TC_ipa_crcx_sdcch_not_active() );
}
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 1d689699..3c2db736 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -475,6 +475,10 @@ module RSL_Types {
RSL_ERR_SERV_OPT_UNIMPL ('4f'O),
/* invalid message */
RSL_ERR_RCH_ALR_ACTV_ALLOC ('50'O),
+ RSL_ERR_IPA_RCH_NOT_ACTV_ALLOC ('51'O),
+ RSL_ERR_IPA_CONN_INVALID ('52'O),
+ RSL_ERR_IPA_CONN_IN_USE ('53'O),
+ RSL_ERR_IPA_CONN_ALREADY_EXISTS ('54'O),
RSL_ERR_INVALID_MESSAGE ('5f'O),
/* protocol error */
RSL_ERR_MSG_DISCR ('60'O),