From 0319813c4139c7c14fcb793ffbfd5905f97b8911 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 29 May 2018 03:35:16 +0700 Subject: L3_Templates: add GSM 04.80 RELEASE_COMPLETE message Change-Id: Iaf295aeb4ef475d41d0eeddcca5e864016fd91cc --- library/L3_Templates.ttcn | 117 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 593c990d..b346da67 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 ***********************************************************************/ -- cgit v1.2.3