@ -864,9 +864,31 @@ template (value) GenericAVP ts_AVP_3GPP_PdnType(template (value) AAA_3GPP_PDN_Ty
/* 5.3.2 Capabilities Exchange Answer */
template (value) PDU_DIAMETER
ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
template (value) charstring origin_host, template (value) charstring origin_realm,
template (value) octetstring host_ip, uint32_t vendor_app_id)
ts_DIA_CEA_AUTH_APP_ID(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
template (value) charstring origin_host,
template (value) charstring origin_realm,
template (value) octetstring host_ip, uint32_t auth_app_id)
:= ts_DIAMETER(flags:='00000000'B, cmd_code:=Capabilities_Exchange, hbh_id:=hbh_id, ete_id:=ete_id,
avps := {
ts_AVP_ResultCode(DIAMETER_SUCCESS),
ts_AVP_OriginHost(origin_host),
ts_AVP_OriginRealm(origin_realm),
ts_AVP_HostIpAddr(host_ip),
ts_AVP_VendorId(vendor_id_3GPP),
ts_AVP_ProductName("TTCN-3 Testsuite"),
ts_AVP_OriginStateId('00000001'O),
ts_AVP_SuppVendorIdRaw(5535), /* 3GPP2 */
ts_AVP_SuppVendorId(vendor_id_3GPP),
ts_AVP_SuppVendorIdRaw(13019), /* ETSI */
ts_AVP_AuthAppId('FFFFFFFF'O),
ts_AVP_AuthAppId(int2oct(auth_app_id, 4)),
ts_AVP_InbSecId('00000000'O)
});
template (value) PDU_DIAMETER
ts_DIA_CEA_VENDOR_APP_ID(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
template (value) charstring origin_host,
template (value) charstring origin_realm,
template (value) octetstring host_ip, uint32_t vendor_app_id)
:= ts_DIAMETER(flags:='00000000'B, cmd_code:=Capabilities_Exchange, hbh_id:=hbh_id, ete_id:=ete_id,
avps := {
ts_AVP_ResultCode(DIAMETER_SUCCESS),
@ -883,6 +905,21 @@ ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
ts_AVP_InbSecId('00000000'O),
ts_AVP_VendorSpecAppId(vendor_id_3GPP, vendor_app_id)
});
function f_ts_DIA_CEA(template (value) UINT32 hbh_id, template (value) UINT32 ete_id,
template (value) charstring origin_host,
template (value) charstring origin_realm,
template (value) octetstring host_ip, template (omit) uint32_t auth_app_id,
template (omit) uint32_t vendor_app_id)
return template (value) PDU_DIAMETER
{
var template (value) PDU_DIAMETER diam_pdu;
if (istemplatekind(vendor_app_id, "omit")) {
diam_pdu := ts_DIA_CEA_AUTH_APP_ID(hbh_id, ete_id, origin_host, origin_realm, host_ip, valueof(auth_app_id));
} else {
diam_pdu := ts_DIA_CEA_VENDOR_APP_ID(hbh_id, ete_id, origin_host, origin_realm, host_ip, valueof(vendor_app_id));
}
return diam_pdu;
}
template (value) PDU_DIAMETER