DIAMETER_ts29_272_Templates: Add missing templates for CLR and CLA messages
Change-Id: I9366b434e856828c5d441cbc7b0d952060cdc71b
diff --git a/library/DIAMETER_ts29_272_Templates.ttcn b/library/DIAMETER_ts29_272_Templates.ttcn
index 443e372..d3c7a95 100644
--- a/library/DIAMETER_ts29_272_Templates.ttcn
+++ b/library/DIAMETER_ts29_272_Templates.ttcn
@@ -301,6 +301,16 @@
}
}
+/* TS 29.272 7.3.24 Cancellation-Type */
+template (value) GenericAVP ts_AVP_3GPP_CancellationType(template (value) AAA_3GPP_Cancellation_Type t) := {
+ avp := {
+ avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Cancellation_Type),
+ avp_data := {
+ avp_AAA_3GPP_Cancellation_Type := t
+ }
+ }
+}
+
/* TS 29.272 7.3.34 APN-Configuration-Profile */
template (present) GenericAVP tr_AVP_3GPP_ApnConfigProfile(template (present) AVP_list content := ?) := {
avp := {
@@ -629,4 +639,53 @@
tr_AVP_3GPP_VisitedPlmnId
));
-}
+/* TS 29.272 7.2.7 Cancel-Location-Request */
+template (value) PDU_DIAMETER
+ts_DIA_CLR(/* template (value) */ hexstring imsi,
+ template (value) AAA_3GPP_Cancellation_Type cancel_type,
+ template (value) octetstring sess_id := c_def_sess_id,
+ template (value) charstring orig_host := "ttcn3.localdomain",
+ template (value) charstring orig_realm := "localdomain",
+ template (value) charstring dest_host := "iut.localdomain",
+ template (value) charstring dest_realm := "localdomain",
+ template (value) UINT32 hbh_id := '00000000'O,
+ template (value) UINT32 ete_id := '00000000'O) :=
+ ts_DIAMETER(flags := '11000000'B,
+ cmd_code := Cancel_Location,
+ app_id := int2oct(c_DIAMETER_3GPP_S6_AID, 4),
+ hbh_id := hbh_id,
+ ete_id := ete_id,
+ avps := {
+ ts_AVP_SessionId(sess_id),
+ ts_AVP_AuthSessionState(NO_STATE_MAINTAINED),
+ ts_AVP_OriginHost(orig_host),
+ ts_AVP_OriginRealm(orig_realm),
+ ts_AVP_DestinationHost(dest_host),
+ ts_AVP_DestinationRealm(dest_realm),
+ ts_AVP_UserNameImsi(imsi),
+ /* [Supported-Features ] */
+ ts_AVP_3GPP_CancellationType(cancel_type)
+ });
+
+/* TS 29.272 7.2.8 Cancel-Location-Answer */
+template (present) PDU_DIAMETER
+tr_DIA_CLA(template (present) AVP_list sub_data := ?,
+ template (present) octetstring sess_id := ?,
+ template (present) charstring orig_host := ?,
+ template (present) charstring orig_realm := ?,
+ template (present) UINT32 hbh_id := ?,
+ template (present) UINT32 ete_id := ?) :=
+ tr_DIAMETER(flags := '0???????'B,
+ cmd_code := Cancel_Location,
+ app_id := int2oct(c_DIAMETER_3GPP_S6_AID, 4),
+ hbh_id := hbh_id,
+ ete_id := ete_id,
+ avps := superset(
+ tr_AVP_SessionId(sess_id),
+ tr_AVP_ResultCode(DIAMETER_SUCCESS),
+ tr_AVP_AuthSessionState,
+ tr_AVP_OriginHost(orig_host),
+ tr_AVP_OriginRealm(orig_realm)
+ ));
+
+} /* module */