epdg: TC_hss_initiated_update_user_profile: test SWx PPR -> S6b RAR propagation
Related: OS#6400
Change-Id: I064ee9e18809a507d0185f640b4a972ee5a2ce3f
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index 933c97b..7148513 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -1144,6 +1144,23 @@
}
}
+/* RFC6733 8.12. Re-Auth-Request-Type AVP */
+template (value) GenericAVP ts_AVP_ReAuthRequestType(BASE_NONE_Re_Auth_Request_Type reauth_req_type) := {
+ avp := {
+ avp_header := ts_DIA_Hdr(c_AVP_Code_BASE_NONE_Re_Auth_Request_Type, '00000000'B),
+ avp_data := {
+ avp_BASE_NONE_Re_Auth_Request_Type := reauth_req_type
+ }
+ }
+}
+template (present) GenericAVP tr_AVP_ReAuthRequestType(template (present) BASE_NONE_Re_Auth_Request_Type reauth_req_type) := {
+ avp := {
+ avp_header := tr_DIA_Hdr(c_AVP_Code_BASE_NONE_Re_Auth_Request_Type),
+ avp_data := {
+ avp_BASE_NONE_Re_Auth_Request_Type := reauth_req_type
+ }
+ }
+}
/* 5.3.1 Capabilities Exchange Request */
template (value) PDU_DIAMETER
diff --git a/library/DIAMETER_ts29_273_Templates.ttcn b/library/DIAMETER_ts29_273_Templates.ttcn
index dcb5a31..6ed00ff 100644
--- a/library/DIAMETER_ts29_273_Templates.ttcn
+++ b/library/DIAMETER_ts29_273_Templates.ttcn
@@ -623,4 +623,55 @@
ts_AVP_OriginRealm(orig_realm)
});
+/* TS 29.273 9.2.2.6.1 Re-Auth-Request (RAR)
+ * TS 29.273 Table 9.1.2.5.1/1: S6b Re-authorization request */
+template (present) PDU_DIAMETER
+tr_DIA_S6b_RAR(template (present) charstring username_nai := ?,
+ template (present) octetstring sess_id := ?,
+ template (present) charstring orig_host := ?,
+ template (present) charstring orig_realm := ?,
+ template (present) charstring dest_realm := ?,
+ template (present) charstring dest_host := ?,
+ template (present) UINT32 hbh_id := ?,
+ template (present) UINT32 ete_id := ?) :=
+ tr_DIAMETER(flags := '1???????'B,
+ cmd_code := Re_Auth,
+ app_id := int2oct(c_DIAMETER_3GPP_S6b_AID, 4),
+ hbh_id := hbh_id,
+ ete_id := ete_id,
+ avps := superset(
+ tr_AVP_SessionId(sess_id),
+ /* Optional: DRMP, */
+ tr_AVP_OriginHost(orig_host),
+ tr_AVP_OriginRealm(orig_realm),
+ tr_AVP_DestinationRealm(dest_realm),
+ tr_AVP_DestinationHost(dest_host),
+ tr_AVP_AuthAppId(int2oct(c_DIAMETER_3GPP_S6b_AID, 4)),
+ tr_AVP_ReAuthRequestType(AUTHORIZE_ONLY),
+ tr_AVP_UserName(char2oct_tmpl_present(username_nai))
+ /* Optional: RAR-Flags, */
+ ));
+
+/* TS 29.273 9.2.2.6.2 Re-Auth-Answer (RAA)
+ * TS 29.273 Table 9.1.2.5.1/2: S6b Re-authorization response */
+template (value) PDU_DIAMETER
+ts_DIA_S6b_RAA(template (value) DIAMETER_Resultcode res_code := DIAMETER_SUCCESS,
+ template (value) octetstring sess_id := c_def_sess_id,
+ template (value) charstring orig_host := "aaa.localdomain",
+ template (value) charstring orig_realm := "localdomain",
+ template (value) charstring dest_realm := "localdomain",
+ template (value) UINT32 hbh_id := '00000000'O,
+ template (value) UINT32 ete_id := '00000000'O) :=
+ ts_DIAMETER(flags := '01000000'B,
+ cmd_code := Re_Auth,
+ app_id := int2oct(c_DIAMETER_3GPP_S6b_AID, 4),
+ hbh_id := hbh_id, ete_id := ete_id,
+ avps := {
+ ts_AVP_SessionId(sess_id),
+ /* Optional: DRMP, */
+ ts_AVP_ResultCode(res_code),
+ ts_AVP_OriginHost(orig_host),
+ ts_AVP_OriginRealm(orig_realm)
+ });
+
}