summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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,