[MERGED] osmo-ttcn3-hacks[master]: BSSMAP_Templates: Enable use for AoIP, not just E1-CIC

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 Dec 15 13:31:21 UTC 2017


Harald Welte has submitted this change and it was merged.

Change subject: BSSMAP_Templates: Enable use for AoIP, not just E1-CIC
......................................................................


BSSMAP_Templates: Enable use for AoIP, not just E1-CIC

Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205
---
M bsc-nat/MSC_ConnectionHandler.ttcn
M bsc/BSC_Tests.ttcn
M bsc/MSC_ConnectionHandler.ttcn
M library/BSSMAP_Templates.ttcn
4 files changed, 29 insertions(+), 13 deletions(-)

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



diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn
index 6a9a57f..3fc11e9 100644
--- a/bsc-nat/MSC_ConnectionHandler.ttcn
+++ b/bsc-nat/MSC_ConnectionHandler.ttcn
@@ -86,9 +86,9 @@
 		[g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap {
 			/* respond with ASSIGNMENT CMD  */
 			g_state := MSC_STATE_WAIT_ASS_COMPL;
-			BSSAP.send(ts_BSSMAP_AssignmentReq(0, e1_timeslot));
+			BSSAP.send(ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, e1_timeslot)));
 			}
-		[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete) {
+		[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete(?,*)) {
 			/* FIXME: Send MGCP CRCX */
 			g_state := MSC_STATE_WAIT_CRCX_ACK;
 			var MgcpTransId trans_id := f_mgcp_alloc_tid();
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index faf1a6e..090ed0c 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -392,7 +392,7 @@
 
 	dt := f_est_dchan('23'O, 23, '00000000'O);
 	/* send assignment without AoIP IEs */
-	BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_AssignmentReq(0, 1)));
+	BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, 1))));
 	alt {
 	[] BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_AssignmentComplete)) {
 		setverdict(fail, "AoIP BSC cannot accept ASSIGNMENT without AoIP Transport IE");
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 6a9a57f..8fa71fb 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -86,9 +86,11 @@
 		[g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap {
 			/* respond with ASSIGNMENT CMD  */
 			g_state := MSC_STATE_WAIT_ASS_COMPL;
-			BSSAP.send(ts_BSSMAP_AssignmentReq(0, e1_timeslot));
+			var BSSMAP_IE_AoIP_TransportLayerAddress tla;
+			tla := valueof(ts_BSSMAP_IE_AoIP_TLA({ipv4:='01020304'O}, 12345));
+			BSSAP.send(ts_BSSMAP_AssignmentReq(omit, tla));
 			}
-		[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete) {
+		[g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete(*,?)) {
 			/* FIXME: Send MGCP CRCX */
 			g_state := MSC_STATE_WAIT_CRCX_ACK;
 			var MgcpTransId trans_id := f_mgcp_alloc_tid();
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 6e7813f..0d2db3d 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -256,7 +256,17 @@
 	cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5))
 }
 
-template (value) PDU_BSSAP ts_BSSMAP_AssignmentReq(uint11_t span, uint5_t ts)
+template (value) BSSMAP_IE_AoIP_TransportLayerAddress ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr,
+									    uint16_t udp_port) := {
+	elementIdentifier := '7C'O,
+	lengthIndicator := 0, /* overwritten */
+	ipAddress := addr,
+	uDPPortValue := udp_port
+}
+
+template PDU_BSSAP
+ts_BSSMAP_AssignmentReq(template BSSMAP_IE_CircuitIdentityCode cic := omit,
+			template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)
 modifies ts_BSSAP_BSSMAP := {
 	pdu := {
 		bssmap := {
@@ -265,7 +275,7 @@
 				channelType := ts_BSSMAP_IE_ChannelType,
 				layer3HeaderInfo := omit,
 				priority := omit,
-				circuitIdentityCode := ts_BSSMAP_IE_CIC(span, ts),
+				circuitIdentityCode := cic,
 				downLinkDTX_Flag := omit,
 				interferenceBandToBeUsed := omit,
 				classmarkInformationType2 := omit,
@@ -276,7 +286,7 @@
 				serviceHandover := omit,
 				encryptionInformation := omit,
 				talkerPriority := omit,
-				aoIPTransportLayer := omit,
+				aoIPTransportLayer := aoip,
 				codecList := omit,
 				callIdentifier := omit,
 				kC128 := omit,
@@ -321,7 +331,9 @@
 	}
 }
 
-template (value) PDU_BSSAP ts_BSSMAP_AssignmentComplete(BSSMAP_IE_CircuitIdentityCode cic)
+template PDU_BSSAP
+ts_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := omit,
+			     template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)
 modifies ts_BSSAP_BSSMAP := {
 	pdu := {
 		bssmap := {
@@ -336,7 +348,7 @@
 				speechVersion := omit,
 				lSAIdentifier := omit,
 				talkerPriority := omit,
-				aoIPTransportLayer := omit,
+				aoIPTransportLayer := aoip,
 				speechCodec := omit,
 				codecList := omit,
 				lCLS_BSS_Status := omit
@@ -345,13 +357,15 @@
 	}
 }
 
-template PDU_BSSAP tr_BSSMAP_AssignmentComplete modifies tr_BSSAP_BSSMAP := {
+template PDU_BSSAP tr_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := *,
+						template BSSMAP_IE_AoIP_TransportLayerAddress aoip := *)
+modifies tr_BSSAP_BSSMAP := {
 	pdu := {
 		bssmap := {
 			assignmentComplete := {
 				messageType := '02'O,	/* overwritten */
 				rR_Cause := *,
-				circuitIdentityCode := ?,
+				circuitIdentityCode := cic,
 				cellIdentifier := *,
 				chosenChannel := *,
 				chosenEncryptionAlgorithm := *,
@@ -359,7 +373,7 @@
 				speechVersion := *,
 				lSAIdentifier := *,
 				talkerPriority := *,
-				aoIPTransportLayer := *,
+				aoIPTransportLayer := aoip,
 				speechCodec := *,
 				codecList := *,
 				lCLS_BSS_Status := *

-- 
To view, visit https://gerrit.osmocom.org/5393
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list