aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-12 02:33:59 +0300
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-15 05:06:24 +0300
commit5e1bdc04d19727a5a497323a4c85053be9f1d3e6 (patch)
tree3db11537b1622b58e150f093a21d38aa69ff2153
parent0e8f516d22ace7d3504c5c7e046206f163701bbc (diff)
library/DIAMETER_Templates: add missing templates for ULR/ULA
-rw-r--r--library/DIAMETER_Templates.ttcn54
1 files changed, 54 insertions, 0 deletions
diff --git a/library/DIAMETER_Templates.ttcn b/library/DIAMETER_Templates.ttcn
index 4cd2b6bf..45a4a99a 100644
--- a/library/DIAMETER_Templates.ttcn
+++ b/library/DIAMETER_Templates.ttcn
@@ -560,6 +560,15 @@ template (value) GenericAVP ts_AVP_3GPP_SubscriptionData(template (value) AVP_li
}
}
}
+template (present) GenericAVP
+tr_AVP_3GPP_SubscriptionData(template (present) AVP_list content := ?) := {
+ avp := {
+ avp_header := tr_DIA_Hdr_3GPP(c_AVP_Code_AAA_3GPP_Subscription_Data),
+ avp_data := {
+ avp_AAA_3GPP_Subscription_Data := content
+ }
+ }
+}
/* TS 29.262 7.3.17 Authentication-Info */
@@ -909,6 +918,30 @@ ts_DIA_AIA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
/* TS 29.262 7.2.3 Update Location Request */
+template (value) PDU_DIAMETER
+ts_DIA_ULR(/* template (value) */ hexstring imsi,
+ 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_realm := "localdomain",
+ template (value) UINT32 hbh_id := '00000000'O,
+ template (value) UINT32 ete_id := '00000000'O) :=
+ ts_DIAMETER(flags := '11000000'B,
+ cmd_code := Update_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_UserNameImsi(imsi),
+ ts_AVP_3GPP_UlrFlags('00000000'O),
+ ts_AVP_3GPP_VisitedPlmnId('11111F'O),
+ ts_AVP_3GPP_RatType(EUTRAN),
+ ts_AVP_OriginHost(orig_host),
+ ts_AVP_OriginRealm(orig_realm),
+ ts_AVP_DestinationRealm(dest_realm)
+ });
template (present) PDU_DIAMETER
tr_DIA_ULR(/* template (present) */ hexstring imsi,
template (present) octetstring sess_id := ?,
@@ -955,6 +988,27 @@ ts_DIA_ULA(template (value) AVP_list sub_data,
ts_AVP_3GPP_UlaFlags('00000002'O),
ts_AVP_3GPP_SubscriptionData(sub_data)
});
+template (present) PDU_DIAMETER
+tr_DIA_ULA(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 := Update_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),
+ tr_AVP_3GPP_UlaFlags,
+ tr_AVP_3GPP_SubscriptionData(sub_data)
+ ));