aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-12-23 02:42:58 +0100
committerHarald Welte <laforge@gnumonks.org>2017-12-25 00:00:58 +0100
commit38b2a10e0b28f2367a4b894a5ff5a51b06f434fa (patch)
treec1672ea2ab9928eef7e20b24383750dbb3f3e3d4
parent1a40de6a7f71ff4fecb1c9d5b9c2dfa21cdd7e55 (diff)
BSC_Tests: Fix TC_assignment_fr_a5_4
Don't expect the ASSIGNMENT to fail in case of unsupported A5/4, but expect a CIPHERING MODE REJECT. Change-Id: I15024f61e67795b7e5ce72e1b641db6ca92ff76d
-rw-r--r--bsc/BSC_Tests.ttcn6
-rw-r--r--bsc/MSC_ConnectionHandler.ttcn15
2 files changed, 15 insertions, 6 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 4c887882..4cf418ed 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1338,7 +1338,7 @@ testcase TC_assignment_fr_a5_3() runs on test_CT {
private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr {
var TestHdlrParams pars := valueof(t_def_TestHdlrPars);
- var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;
+ var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));
var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));
const OCT8 kc := '0001020304050607'O;
@@ -1346,9 +1346,9 @@ private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr {
ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
+ f_establish_fully(pars, ass_cmd, exp_compl);
+ f_cipher_mode('10'O, kc, kc128, true);
/* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */
- f_establish_fully(pars, ass_cmd, exp_fail);
- f_cipher_mode('10'O, kc, kc128);
}
testcase TC_assignment_fr_a5_4() runs on test_CT {
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 51ac650a..f683ef4d 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -104,7 +104,8 @@ function f_rsl_reply(template PDU_ML3_MS_NW l3, RSL_Message orig) runs on MSC_Co
RSL.send(ts_RSL_DATA_IND(chan_nr, link_id, enc_PDU_ML3_MS_NW(valueof(l3))));
}
-function f_cipher_mode(OCT1 alg, OCT8 key, template OCT16 kc128 := omit) runs on MSC_ConnHdlr {
+function f_cipher_mode(OCT1 alg, OCT8 key, template OCT16 kc128 := omit, boolean exp_fail := false)
+runs on MSC_ConnHdlr {
var PDU_BSSAP bssap;
var RSL_Message rsl;
@@ -125,10 +126,18 @@ function f_cipher_mode(OCT1 alg, OCT8 key, template OCT16 kc128 := omit) runs on
}
[] BSSAP.receive(tr_BSSMAP_CipherModeCompl) -> value bssap {
// bssap.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algoritmhIdentifier
- setverdict(pass);
+ if (exp_fail == true) {
+ setverdict(fail, "Unexpected Cipher Mode Complete");
+ } else {
+ setverdict(pass);
+ }
}
[] BSSAP.receive(tr_BSSMAP_CipherModeRej) -> value bssap {
- setverdict(fail, "Ciphering Mode Reject");
+ if (exp_fail == false) {
+ setverdict(fail, "Ciphering Mode Reject");
+ } else {
+ setverdict(pass);
+ }
}
}
}