diff options
Diffstat (limited to 'library/DIAMETER_Templates.ttcn')
-rw-r--r-- | library/DIAMETER_Templates.ttcn | 54 |
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) + )); |