summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2018-05-29 03:35:16 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2018-06-02 04:55:18 +0700
commit0319813c4139c7c14fcb793ffbfd5905f97b8911 (patch)
treee4c33fabc9f1cc90d1772f88750a6fc6adebd178
parentd5a30625cf432e2e261adda4de8227af1783b1d0 (diff)
L3_Templates: add GSM 04.80 RELEASE_COMPLETE message
-rw-r--r--library/L3_Templates.ttcn117
1 files changed, 117 insertions, 0 deletions
diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn
index 593c990..b346da6 100644
--- a/library/L3_Templates.ttcn
+++ b/library/L3_Templates.ttcn
@@ -1318,6 +1318,25 @@ private template Facility_LV tr_FacLV(template OCTN facility) := {
facilityInformation := facility
}
+private function f_facility_or_omit(template (omit) OCTN facility)
+return template (omit) Facility_TLV {
+ if (istemplatekind(facility, "omit")) {
+ return omit;
+ } else {
+ return ts_FacTLV(valueof(facility));
+ }
+}
+private function f_facility_or_wc(template OCTN facility)
+return template Facility_TLV {
+ if (istemplatekind(facility, "*")) {
+ return *;
+ } else if (istemplatekind(facility, "?")) {
+ return ?;
+ } else {
+ return tr_FacTLV(facility);
+ }
+}
+
template (value) PDU_ML3_MS_NW ts_ML3_MO_SS_REGISTER(
uint3_t tid, BIT1 ti_flag,
OCTN facility,
@@ -1502,6 +1521,104 @@ template PDU_ML3_NW_MS tr_ML3_MT_SS_FACILITY(
}
}
+template (value) PDU_ML3_MS_NW ts_ML3_MO_SS_RELEASE_COMPLETE(
+ uint3_t tid, BIT1 ti_flag,
+ template (omit) ML3_Cause_TLV cause := omit,
+ template (omit) OCTN facility := omit
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ releaseComplete_MS_NW := {
+ messageType := '101010'B,
+ nsd := '00'B,
+ cause := cause,
+ facility := f_facility_or_omit(facility)
+ }
+ }
+ }
+}
+template PDU_ML3_MS_NW tr_ML3_MO_SS_RELEASE_COMPLETE(
+ template uint3_t tid, template BIT1 ti_flag,
+ template ML3_Cause_TLV cause := *,
+ template OCTN facility := *
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := f_tid_or_wc(tid),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ releaseComplete_MS_NW := {
+ messageType := '101010'B,
+ nsd := '00'B,
+ cause := cause,
+ facility := f_facility_or_wc(facility)
+ }
+ }
+ }
+}
+
+template (value) PDU_ML3_NW_MS ts_ML3_MT_SS_RELEASE_COMPLETE(
+ uint3_t tid, BIT1 ti_flag,
+ template (omit) ML3_Cause_TLV cause := omit,
+ template (omit) OCTN facility := omit
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := int2bit(tid, 3),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ releaseComplete_NW_MS := {
+ messageType := '101010'B,
+ nsd := '00'B,
+ cause := cause,
+ facility := f_facility_or_omit(facility)
+ }
+ }
+ }
+}
+template PDU_ML3_NW_MS tr_ML3_MT_SS_RELEASE_COMPLETE(
+ template uint3_t tid, template BIT1 ti_flag,
+ template ML3_Cause_TLV cause := *,
+ template OCTN facility := *
+) := {
+ discriminator := '1011'B,
+ tiOrSkip := {
+ transactionId := {
+ tio := f_tid_or_wc(tid),
+ tiFlag := ti_flag,
+ tIExtension := omit
+ }
+ },
+ msgs := {
+ ss := {
+ releaseComplete_NW_MS := {
+ messageType := '101010'B,
+ nsd := '00'B,
+ cause := cause,
+ facility := f_facility_or_wc(facility)
+ }
+ }
+ }
+}
+
/***********************************************************************
* GPRS Mobility Management
***********************************************************************/