From 48aeeecfacf0867828f48506dc4e90046db8a35c Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Fri, 14 Sep 2018 18:20:04 +0200 Subject: 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 --- bsc/MSC_ConnectionHandler.ttcn | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 0b117862..079cc74b 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, -- cgit v1.2.3