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 @@
 	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 (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
  ***********************************************************************/
