Change in osmo-ttcn3-hacks[master]: bsc: Alter Assignment Req + Complete depending on AoIP or SCCPlite

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Fri May 25 18:57:54 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/9323 )

Change subject: bsc: Alter Assignment Req + Complete depending on AoIP or SCCPlite
......................................................................

bsc: Alter Assignment Req + Complete depending on AoIP or SCCPlite

When sending BSSMAP Assignment Request, we need to decide if we want
to fill in the AoIP TransportIdentifier or the CIC.  The former
is needed in AoIP, the latter is needed for SCCPlite and classic SCCP.

Related: OS#2544
Change-Id: I8aa0cf2189101de49a6da81625226bdcbbaff027
---
M bsc/BSC_Tests.ttcn
1 file changed, 39 insertions(+), 21 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 762b5a2..95b7625 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -558,6 +558,32 @@
 	}
 }
 
+/* generate an assignment request for either AoIP or SCCPlite */
+private function f_gen_ass_req() return PDU_BSSAP {
+	var PDU_BSSAP ass_cmd;
+	if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) {
+		var BSSMAP_IE_AoIP_TransportLayerAddress tla :=
+						valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));
+		ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));
+	} else {
+		var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1));
+		ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit));
+	}
+	return ass_cmd;
+}
+
+/* generate an assignment complete template for either AoIP or SCCPlite */
+private function f_gen_exp_compl() return template PDU_BSSAP {
+	var template PDU_BSSAP exp_compl;
+	if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_AoIP) {
+		exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
+	} else {
+		/* CIC is optional "*" as the MSC allocated it */
+		exp_compl := tr_BSSMAP_AssignmentComplete(*, omit);
+	}
+	return exp_compl;
+}
+
 /* Run everything required up to sending a caller-specified assignment command and expect response */
 function f_assignment_exp(PDU_BSSAP ass_cmd, template PDU_BSSAP exp, charstring fail_text)
 runs on test_CT {
@@ -590,8 +616,7 @@
 }
 testcase TC_assignment_csd() 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));
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD);
 	//exp_fail.pdu.bssmap.assignmentFailure.cause.causeValue := int2bit(enum2int(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL), 7);
 	f_assignment_exp(ass_cmd, exp_fail, "BSC accepted Assignment for CSD");
@@ -599,8 +624,7 @@
 
 testcase TC_assignment_ctm() 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));
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCTM);
 	//exp_fail.pdu.bssmap.assignmentFailure.cause.causeValue := int2bit(enum2int(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL), 7);
 	f_assignment_exp(ass_cmd, exp_fail, "BSC accepted Assignment for Speech+CTM");
@@ -1436,9 +1460,8 @@
 
 /* Establish signalling channel (non-assignment case) followed by cipher mode */
 private function f_tc_ciph_mode_a5(charstring id) runs on MSC_ConnHdlr {
-	var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
-	var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342));
-	var template PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla));
+	var template PDU_BSSAP exp_compl := f_gen_exp_compl();
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeSIGNAL);
 
 	// Disable generation of ASSIGNMENT CMD, as OsmoBSC currently performs MODE MODFIY sign->sign (OS#2936)
@@ -1479,9 +1502,8 @@
 
 /* establish initial channel, enable ciphering followed by assignment to ciphered channel */
 private function f_tc_assignment_fr_a5(charstring id) runs on MSC_ConnHdlr {
-	var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
-	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));
+	var template PDU_BSSAP exp_compl := f_gen_exp_compl();
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
 	ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
@@ -1523,8 +1545,7 @@
 private function f_tc_assignment_fr_a5_1_codec_missing(charstring id) runs on MSC_ConnHdlr {
 	g_pars := valueof(t_def_TestHdlrPars);
 	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));
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	const OCT8 kc := '0001020304050607'O;
 
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);
@@ -1542,9 +1563,8 @@
 
 private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr {
 	g_pars := valueof(t_def_TestHdlrPars);
-	var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
-	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));
+	var template PDU_BSSAP exp_compl := f_gen_exp_compl();
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	const OCT8 kc := '0001020304050607'O;
 	const OCT16 kc128 := kc & kc;
 
@@ -1713,9 +1733,8 @@
 type record of CodecListTest CodecListTests
 
 private function f_TC_assignment_codec(charstring id) runs on MSC_ConnHdlr {
-	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));
-	var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
+	var template PDU_BSSAP exp_compl := f_gen_exp_compl();
 
 	/* puzzle together the ASSIGNMENT REQ for given codec[s] */
 	ass_cmd.pdu.bssmap.assignmentRequest.codecList := g_pars.ass_codec_list;
@@ -1970,9 +1989,8 @@
 /* intra-BSC hand-over between BTS0 and BTS1 */
 private function f_tc_ho_int(charstring id) runs on MSC_ConnHdlr {
 	g_pars := valueof(t_def_TestHdlrPars);
-	var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?);
-	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));
+	var template PDU_BSSAP exp_compl := f_gen_exp_compl();
+	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	const OCT8 kc := '0001020304050607'O;
 
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType);

-- 
To view, visit https://gerrit.osmocom.org/9323
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I8aa0cf2189101de49a6da81625226bdcbbaff027
Gerrit-Change-Number: 9323
Gerrit-PatchSet: 2
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180525/4107e25c/attachment.htm>


More information about the gerrit-log mailing list