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
This commit is contained in:
Philipp Maier 2018-09-14 18:20:04 +02:00 committed by Harald Welte
parent 35677870c5
commit 48aeeecfac
1 changed files with 24 additions and 2 deletions

View File

@ -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,