BSC_Tests: Ensure MSC passes SpeechCodecList in AoIP ASSIGNMENT
Change-Id: I66deffc50b5adcc8707747c0baa2e65ee36bf18e
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 77f3ef8..42de6be 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -484,6 +484,7 @@
const OCT8 kc := '0001020304050607'O;
ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
+ ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation :=
valueof(ts_BSSMAP_IE_EncrInfo(kc, '01'O));
f_assignment_exp(ass_cmd, exp_compl, "BSC failed TCH/F FR A5/0 assignment");
@@ -496,11 +497,26 @@
const OCT8 kc := '0001020304050607'O;
ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
+ ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation :=
valueof(ts_BSSMAP_IE_EncrInfo(kc, '02'O));
f_assignment_exp(ass_cmd, exp_compl, "BSC failed TCH/F FR A5/1 assignment");
}
+/* Exxpet ASSIGNMENT FAIL if mandatory IE is missing */
+testcase TC_assignment_fr_a5_1_codec_missing() runs on test_CT {
+ var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;
+ 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;
+
+ ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
+ ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation :=
+ valueof(ts_BSSMAP_IE_EncrInfo(kc, '02'O));
+ f_assignment_exp(ass_cmd, exp_fail, "BSC didn't reject missing mandatory speech codec IE");
+}
+
+
testcase TC_assignment_fr_a5_3() runs on test_CT {
var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
@@ -509,6 +525,7 @@
const OCT8 kc := '0001020304050607'O;
ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
+ ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation :=
valueof(ts_BSSMAP_IE_EncrInfo(kc, '08'O));
f_assignment_exp(ass_cmd, exp_compl, "BSC failed TCH/F FR A5/3 assignment");
@@ -522,6 +539,7 @@
const OCT16 kc128 := kc & kc;
ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
+ ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
ass_cmd.pdu.bssmap.assignmentRequest.encryptionInformation :=
valueof(ts_BSSMAP_IE_EncrInfo(kc, '10'O));
ass_cmd.pdu.bssmap.assignmentRequest.kC128 := valueof(ts_BSSMAP_IE_Kc128(kc128));
@@ -1244,6 +1262,7 @@
execute( TC_assignment_sign() );
execute( TC_assignment_fr_a5_0() );
execute( TC_assignment_fr_a5_1() );
+ execute( TC_assignment_fr_a5_1_codec_missing() );
execute( TC_assignment_fr_a5_3() );
execute( TC_assignment_fr_a5_4() );