summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-05-28 11:13:09 +0200
committerHarald Welte <laforge@gnumonks.org>2018-05-31 13:30:18 +0000
commit53603961febbfe1524ba577bc6e1b880d3e8b03b (patch)
treebe1a1bb0e3a890c3b2ce3729550914f4e5e66848
parent69bce3bc4d2791ba164696fd8f34c95dc811bf68 (diff)
L3_Templates: Add templates related to Supplementaryt Services
-rw-r--r--library/L3_Templates.ttcn208
1 files changed, 208 insertions, 0 deletions
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index 824dbf2..593c990 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -1295,6 +1295,214 @@ template PDU_ML3_NW_MS tr_ML3_MT_CC_SETUP(integer tid, template hexstring called
}
/***********************************************************************
+ * Supplementary Services
+ ***********************************************************************/
+
+private template (value) Facility_TLV ts_FacTLV(OCTN facility) := {
+ elementIdentifier := '1C'O,
+ lengthIndicator := lengthof(facility),
+ facilityInformation := facility
+}
+private template Facility_TLV tr_FacTLV(template OCTN facility) := {
+ elementIdentifier := '1C'O,
+ lengthIndicator := ?,
+ facilityInformation := facility
+}
+
+private template (value) Facility_LV ts_FacLV(OCTN facility) := {
+ lengthIndicator := lengthof(facility),
+ facilityInformation := facility
+}
+private template Facility_LV tr_FacLV(template OCTN facility) := {
+ lengthIndicator := ?,
+ facilityInformation := facility
+}
+
+template (value) PDU_ML3_MS_NW ts_ML3_MO_SS_REGISTER(
+ uint3_t tid, BIT1 ti_flag,
+ OCTN facility,
+ template (omit) SS_VersionIndicator ss_ver := omit
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ register := {
+ messageType := '111011'B,
+ nsd := '00'B,
+ facility := ts_FacTLV(facility),
+ ss_version := ss_ver
+ }
+ }
+ }
+}
+template PDU_ML3_MS_NW tr_ML3_MO_SS_REGISTER(
+ template uint3_t tid, template BIT1 ti_flag,
+ template OCTN facility,
+ template SS_VersionIndicator ss_ver := omit
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := f_tid_or_wc(tid),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ register := {
+ messageType := '111011'B,
+ nsd := '00'B,
+ facility := tr_FacTLV(facility),
+ ss_version := ss_ver
+ }
+ }
+ }
+}
+
+template (value) PDU_ML3_NW_MS ts_ML3_MT_SS_REGISTER(
+ uint3_t tid, BIT1 ti_flag,
+ OCTN facility
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ register := {
+ messageType := '111011'B,
+ nsd := '00'B,
+ facility := ts_FacTLV(facility)
+ }
+ }
+ }
+}
+template PDU_ML3_NW_MS tr_ML3_MT_SS_REGISTER(
+ template uint3_t tid, template BIT1 ti_flag,
+ template OCTN facility
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := f_tid_or_wc(tid),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ register := {
+ messageType := '111011'B,
+ nsd := '00'B,
+ facility := tr_FacTLV(facility)
+ }
+ }
+ }
+}
+
+template (value) PDU_ML3_MS_NW ts_ML3_MO_SS_FACILITY(
+ uint3_t tid, BIT1 ti_flag,
+ OCTN facility
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ facility := {
+ messageType := '111010'B,
+ nsd := '00'B,
+ facility := ts_FacLV(facility)
+ }
+ }
+ }
+}
+template PDU_ML3_MS_NW tr_ML3_MO_SS_FACILITY(
+ template uint3_t tid, template BIT1 ti_flag,
+ template OCTN facility
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := f_tid_or_wc(tid),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ facility := {
+ messageType := '111010'B,
+ nsd := '00'B,
+ facility := tr_FacLV(facility)
+ }
+ }
+ }
+}
+
+template (value) PDU_ML3_NW_MS ts_ML3_MT_SS_FACILITY(
+ uint3_t tid, BIT1 ti_flag,
+ OCTN facility
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ facility := {
+ messageType := '111010'B,
+ nsd := '00'B,
+ facility := ts_FacLV(facility)
+ }
+ }
+ }
+}
+template PDU_ML3_NW_MS tr_ML3_MT_SS_FACILITY(
+ template uint3_t tid, template BIT1 ti_flag,
+ template OCTN facility
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := f_tid_or_wc(tid),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ facility := {
+ messageType := '111010'B,
+ nsd := '00'B,
+ facility := tr_FacLV(facility)
+ }
+ }
+ }
+}
+
+/***********************************************************************
* GPRS Mobility Management
***********************************************************************/