Change in osmo-ttcn3-hacks[master]: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME

Harald Welte gerrit-no-reply at lists.osmocom.org
Thu Mar 21 21:23:11 UTC 2019


Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/13379


Change subject: Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME
......................................................................

Osmocom_Gb_Types: Add more templates for BSSGP SUSPEND/RESUME

Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa
---
M library/Osmocom_Gb_Types.ttcn
1 file changed, 176 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/13379/1

diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 780c768..623be33 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -732,6 +732,40 @@
 		unstructured_value := f_oct_or_wc(bvci, 2)
 	}
 
+	template (value) TLLI_BSSGP ts_BSSGP_TLLI(template (value) GprsTlli tlli) := {
+		iEI := '1F'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 4
+		},
+		tLLI_Value := tlli
+	}
+	template TLLI_BSSGP tr_BSSGP_TLLI(template GprsTlli tlli) := {
+		iEI := '1F'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 4
+		},
+		tLLI_Value := tlli
+	}
+
+	template (value) Suspend_Reference_Number ts_BSSGP_SUSP_REF(template (value) OCT1 susp_ref) := {
+		iEI := '1D'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 1
+		},
+		suspend_Reference_Number_value := susp_ref
+	}
+	template Suspend_Reference_Number tr_BSSGP_SUSP_REF(template OCT1 susp_ref) := {
+		iEI := '1D'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 1
+		},
+		suspend_Reference_Number_value := susp_ref
+	}
+
 	template IMSI_BSSGP tr_BSSGP_IMSI(template hexstring imsi) := {
 		iEI := '0D'O,
 		ext := '1'B,
@@ -781,6 +815,18 @@
 		lLC_PDU := pdu
 	}
 
+	function ts_BSSGP_CAUSE(template (omit) BssgpCause cause) return template (omit) Cause_BSSGP {
+		var template (omit) Cause_BSSGP ret;
+		if (istemplatekind(cause, "omit")) {
+			ret := omit;
+		} else {
+			ret.iEI := '07'O;
+			ret.ext := '1'B;
+			ret.lengthIndicator := { length1 := 1 };
+			ret.cause_Value := int2oct(enum2int(valueof(cause)), 1);
+		}
+		return ret;
+	}
 	function t_BSSGP_CAUSE(template BssgpCause cause) return template Cause_BSSGP {
 		var template Cause_BSSGP ret;
 		ret.iEI := '07'O;
@@ -843,7 +889,7 @@
 		pDU_BSSGP_BVC_RESET := {
 			bssgpPduType := '22'O,
 			bVCI := t_BSSGP_BVCI(bvci),
-			cause := t_BSSGP_CAUSE(cause),
+			cause := ts_BSSGP_CAUSE(cause),
 			cell_Identifier := t_BSSGP_IE_CellId(cell_id),
 			feature_bitmap := omit,
 			extended_Feature_Bitmap := omit
@@ -1222,5 +1268,134 @@
 		}
 	}
 
+	template (value) Routeing_Area ts_BSSGP_RA_ID(RoutingAreaIdentification input) := {
+		iEI := '1B'O,
+		ext := '1'B,
+		lengthIndicator := {
+			length1 := 6
+		},
+		mccDigit1 := input.lai.mcc_mnc[0],
+		mccDigit2 := input.lai.mcc_mnc[1],
+		mccDigit3 := input.lai.mcc_mnc[2],
+		mncDigit3 := input.lai.mcc_mnc[3],
+		mncDigit1 := input.lai.mcc_mnc[4],
+		mncDigit2 := input.lai.mcc_mnc[5],
+		lac := int2oct(input.lai.lac, 2),
+		rac := int2oct(input.rac, 1)
+	}
+
+	template (value) PDU_BSSGP ts_BSSGP_SUSPEND(GprsTlli tlli, RoutingAreaIdentification ra_id) := {
+		pDU_BSSGP_SUSPEND := {
+			bssgpPduType := '0B'O,
+			tLLI := ts_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id)
+		}
+	}
+	template PDU_BSSGP tr_BSSGP_SUSPEND(template GprsTlli tlli, RoutingAreaIdentification ra_id) := {
+		pDU_BSSGP_SUSPEND := {
+			bssgpPduType := '0B'O,
+			tLLI := tr_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id)
+		}
+	}
+
+	template (value) PDU_BSSGP ts_BSSGP_SUSPEND_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id,
+							template (value) OCT1 susp_ref) := {
+		pDU_BSSGP_SUSPEND_ACK := {
+			bssgpPduType := '0C'O,
+			tLLI := ts_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			suspend_Reference_Number := ts_BSSGP_SUSP_REF(susp_ref)
+		}
+	}
+	template PDU_BSSGP tr_BSSGP_SUSPEND_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id,
+						template OCT1 susp_ref) := {
+		pDU_BSSGP_SUSPEND_ACK := {
+			bssgpPduType := '0C'O,
+			tLLI := tr_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			suspend_Reference_Number := tr_BSSGP_SUSP_REF(susp_ref)
+		}
+	}
+
+	template (value) PDU_BSSGP ts_BSSGP_SUSPEND_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id,
+							 template (omit) BssgpCause cause) := {
+		pDU_BSSGP_SUSPEND_NACK := {
+			bssgpPduType := '0D'O,
+			tLLI := ts_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			cause := ts_BSSGP_CAUSE(cause)
+		}
+	}
+	template PDU_BSSGP tr_BSSGP_SUSPEND_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id,
+						template BssgpCause cause) := {
+		pDU_BSSGP_SUSPEND_NACK := {
+			bssgpPduType := '0D'O,
+			tLLI := tr_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			cause := t_BSSGP_CAUSE(cause)
+		}
+	}
+
+
+
+	template (value) PDU_BSSGP ts_BSSGP_RESUME(GprsTlli tlli, RoutingAreaIdentification ra_id,
+						   OCT1 susp_ref) := {
+		pDU_BSSGP_RESUME := {
+			bssgpPduType := '0E'O,
+			tLLI := ts_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			suspend_Reference_Number := ts_BSSGP_SUSP_REF(susp_ref)
+		}
+	}
+	template PDU_BSSGP tr_BSSGP_RESUME(template GprsTlli tlli, RoutingAreaIdentification ra_id,
+					   template OCT1 susp_ref) := {
+		pDU_BSSGP_RESUME := {
+			bssgpPduType := '0E'O,
+			tLLI := tr_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			suspend_Reference_Number := tr_BSSGP_SUSP_REF(susp_ref)
+		}
+	}
+
+	template (value) PDU_BSSGP ts_BSSGP_RESUME_ACK(GprsTlli tlli, RoutingAreaIdentification ra_id)
+		:= {
+		pDU_BSSGP_RESUME_ACK := {
+			bssgpPduType := '0F'O,
+			tLLI := ts_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id)
+		}
+	}
+	template PDU_BSSGP tr_BSSGP_RESUME_ACK(template GprsTlli tlli,
+						RoutingAreaIdentification ra_id) := {
+		pDU_BSSGP_RESUME_ACK := {
+			bssgpPduType := '0F'O,
+			tLLI := tr_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id)
+		}
+	}
+
+	template (value) PDU_BSSGP ts_BSSGP_RESUME_NACK(GprsTlli tlli, RoutingAreaIdentification ra_id,
+						template (omit) BssgpCause cause) := {
+		pDU_BSSGP_RESUME_NACK := {
+			bssgpPduType := '10'O,
+			tLLI := ts_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			cause := ts_BSSGP_CAUSE(cause)
+		}
+	}
+	template PDU_BSSGP tr_BSSGP_RESUME_NACK(template GprsTlli tlli,
+						RoutingAreaIdentification ra_id,
+						template BssgpCause cause) := {
+		pDU_BSSGP_RESUME_NACK := {
+			bssgpPduType := '10'O,
+			tLLI := tr_BSSGP_TLLI(tlli),
+			routeing_Area := ts_BSSGP_RA_ID(ra_id),
+			cause := t_BSSGP_CAUSE(cause)
+		}
+	}
+
+
+
 
 } with { encode "RAW" };

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

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ife25401043d565e52a73206c562bbb68bcfdbafa
Gerrit-Change-Number: 13379
Gerrit-PatchSet: 1
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190321/639fa0bd/attachment.html>


More information about the gerrit-log mailing list