summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2020-11-19 14:20:33 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2020-11-20 15:53:55 +0100
commit05d4638b9b933efe68f70dfa0cc0f6bdf0929863 (patch)
tree070af538c3b61f26dac349e7433f52df905b61f8 /library
parent443fc57fc7e7cc356e798b7c42bd73323d257c4b (diff)
Add templates for BSSGP Radio Status procedure
Diffstat (limited to 'library')
-rw-r--r--library/Osmocom_Gb_Types.ttcn54
1 files changed, 54 insertions, 0 deletions
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 3ba3fca..8d48cb1 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -1746,7 +1746,61 @@ tr_BSSGP_RA_CAP_UPD_ACK(template (present) GprsTlli tlli, template OCT1 tag, tem
}
}
+type enumerated BssgpRadioCause {
+ BSSGP_RADIO_CAUSE_CONTACT_LOST ('00'H),
+ BSSGP_RADIO_CAUSE_LINK_QUAL_INSUFF ('01'H),
+ BSSGP_RADIO_CAUSE_CELL_RESEL_ORDERED ('02'H),
+ BSSGP_RADIO_CAUSE_CELL_RESEL_PREPARE ('03'H),
+ BSSGP_RADIO_CAUSE_CELL_RESEL_FAILURE ('04'H)
+} with { variant "FIELDLENGTH(8)" };
+
+
+function ts_BSSGP_RADIO_CAUSE(template (omit) BssgpRadioCause cause) return template (omit) Radio_Cause {
+ var template (omit) Radio_Cause ret;
+ if (istemplatekind(cause, "omit")) {
+ ret := omit;
+ } else {
+ ret.iEI := '19'O;
+ ret.ext := '1'B;
+ ret.lengthIndicator := { length1 := 1 };
+ ret.radio_Cause_Value := int2oct(enum2int(valueof(cause)), 1);
+ }
+ return ret;
+}
+function tr_BSSGP_RADIO_CAUSE(template BssgpRadioCause cause) return template (present) Radio_Cause {
+ var template Radio_Cause ret;
+ ret.iEI := '19'O;
+ ret.ext := '1'B;
+ ret.lengthIndicator := { length1 := 1 };
+ if (isvalue(cause)) {
+ ret.radio_Cause_Value := int2oct(enum2int(valueof(cause)), 1);
+ } else {
+ ret.radio_Cause_Value := ?
+ }
+ return ret;
+}
+/* 10.3.5 */
+template (value) PDU_BSSGP
+ts_BSSGP_RADIO_STATUS(GprsTlli tlli, template (value) BssgpRadioCause cause) := {
+ pDU_BSSGP_RADIO_STATUS := {
+ bssgpPduType := '0a'O,
+ tLLI := ts_BSSGP_TLLI(tlli),
+ tMSI := omit,
+ iMSI := omit,
+ radio_Cause := ts_BSSGP_RADIO_CAUSE(cause)
+ }
+}
+template (present) PDU_BSSGP
+tr_BSSGP_RADIO_STATUS(template (present) GprsTlli tlli, template (present) BssgpRadioCause cause) := {
+ pDU_BSSGP_RADIO_STATUS := {
+ bssgpPduType := '0a'O,
+ tLLI := ts_BSSGP_TLLI(tlli),
+ tMSI := omit,
+ iMSI := omit,
+ radio_Cause := tr_BSSGP_RADIO_CAUSE(cause)
+ }
+}