summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2018-09-14 18:20:04 +0200
committerHarald Welte <laforge@gnumonks.org>2018-10-05 11:15:59 +0000
commit48aeeecfacf0867828f48506dc4e90046db8a35c (patch)
tree52bc18713248ca7ca58da5f9038963dcf1f41ffb
parent35677870c58f15eaae249ee81895aebcfa1bea1c (diff)
MSC_ConnectionHandler: Make sure COMPLETE LAYER 3 INFORMATION contains a codecList
Since our BSC implementation supports AoIP, the COMPLETE LAYER 3 INFORMATION message must contan a Codec List (BSS Supported) information element. The test currently just receive a L3 compl Template and then continue. This is implemented without an altstep. So lets have an altstep with timeout here and make sure that the codecList information element is always included. However, since AoIP was specified after sccp-lite, we need to make sure that for sccp-lite configurations, the Codec List is not included. - Check L3 compl message using an alt-step - Make sure codecList is always included (for AoIP) Change-Id: Ia16a454e78421430ec32cc37939d429970cb06ec Related: OS#3548
-rw-r--r--bsc/MSC_ConnectionHandler.ttcn26
1 files changed, 24 insertions, 2 deletions
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 0b11786..079cc74 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -829,6 +829,7 @@ runs on MSC_ConnHdlr {
var BSSMAP_FIELD_CodecType codecType;
var boolean sccplite := false;
+ timer T := 10.0;
/* Check if we run on SCCPLITE instead of SCCP by looking if a CIC is
* present or not. */
@@ -851,7 +852,28 @@ runs on MSC_ConnHdlr {
f_create_chan_and_exp();
/* we should now have a COMPL_L3 at the MSC */
- BSSAP.receive(tr_BSSMAP_ComplL3);
+
+ var template PDU_BSSAP exp_l3_compl;
+ exp_l3_compl := tr_BSSMAP_ComplL3()
+ if (sccplite) {
+ exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := omit;
+ } else {
+ exp_l3_compl.pdu.bssmap.completeLayer3Information.codecList := ?;
+ }
+ T.start;
+ alt {
+ [] BSSAP.receive(exp_l3_compl);
+ [] BSSAP.receive(tr_BSSMAP_ComplL3) {
+ setverdict(fail, "Received non-matching COMPLETE LAYER 3 INFORMATION");
+ all component.stop;
+ mtc.stop;
+ }
+ [] T.timeout {
+ setverdict(fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION");
+ all component.stop;
+ mtc.stop;
+ }
+ }
/* start ciphering, if requested */
if (ispresent(g_pars.encr)) {
@@ -865,10 +887,10 @@ runs on MSC_ConnHdlr {
var PDU_BSSAP ass_cmd := valueof(ass_tpl);
var PDU_BSSAP bssap;
- timer T := 10.0;
var boolean exp_compl := ischosen(exp_ass_cpl.pdu.bssmap.assignmentComplete);
var boolean exp_fail := ischosen(exp_ass_cpl.pdu.bssmap.assignmentFailure);
var boolean exp_modify;
+
var ExpectCriteria mgcpcrit := {
connid := omit,
endpoint := omit,