DIAMETER: Add tr_DIA_AIR() to send AuthInfoRequest
Change-Id: Ib30fafaa2c660d32e864a57f4d3b0f50a158de6c
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index 2779536..533ede2 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -572,6 +572,41 @@
}
}
+
+
+template (value) GenericAVP ts_AVP_NumOfReqVectors(template (value) UINT32 num_req := '00000004'O) := {
+ avp := {
+ avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Number_Of_Requested_Vectors),
+ avp_data := {
+ avp_AAA_3GPP_Number_Of_Requested_Vectors := num_req
+ }
+ }
+}
+
+template (value) GenericAVP ts_AVP_ImmReqPref(template (value) UINT32 par := '00000000'O) := {
+ avp := {
+ avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Immediate_Response_Preferred),
+ avp_data := {
+ avp_AAA_3GPP_Immediate_Response_Preferred := par
+ }
+ }
+}
+
+
+/* 7.3.11 Requested-EUTRAN-Authentication-Info */
+template (value) GenericAVP ts_AVP_RequestedEutranAuthInfo(template (value) UINT32 num_vec := '00000004'O) := {
+ avp := {
+ avp_header := ts_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Requested_EUTRAN_Authentication_Info),
+ avp_data := {
+ avp_AAA_3GPP_Requested_EUTRAN_Authentication_Info := {
+ ts_AVP_NumOfReqVectors(num_vec),
+ ts_AVP_ImmReqPref('00000000'O)
+ }
+ }
+ }
+}
+
+
/* TS 29.262 7.3.27 Context-Identifier */
template (value) GenericAVP ts_AVP_3GPP_ContextId(uint32_t ctx) := {
avp := {
@@ -757,6 +792,21 @@
ts_AVP_VendorSpecAppId(vendor_id_3GPP, c_DIAMETER_3GPP_S6_AID)
});
+
+template (value) PDU_DIAMETER
+ts_DIA_AIR(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
+ template (value) octetstring sess_id,
+ template (value) charstring dest_realm, hexstring imsi)
+:= ts_DIAMETER(flags:='00000000'B, cmd_code:=Authentication_Information, hbh_id:=hbh_id, ete_id:=ete_id,
+ avps := {
+ ts_AVP_SessionId(sess_id),
+ ts_AVP_DestinationRealm(dest_realm),
+ ts_AVP_UserNameImsi(imsi),
+ /* Requested EUTRAN Auth Info */
+ ts_AVP_RequestedEutranAuthInfo,
+ ts_AVP_3GPP_VisitedPlmnId('11111F'O)
+ });
+
template (present) PDU_DIAMETER
tr_DIA_AIR(hexstring imsi) := tr_DIAMETER(flags := '11000000'B, cmd_code:=Authentication_Information,
app_id := int2oct(c_DIAMETER_3GPP_S6_AID, 4),