module LibDiameter_EncdecDeclarations {
//LibDiameter
import from LibDiameter_TypesAndValues all;
external function fx_enc_CER_MSG(in CER_MSG p_CER_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_CER_MSG(inout bitstring pdu, out CER_MSG p_CER_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_CEA_MSG(in CEA_MSG p_CEA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_CEA_MSG(inout bitstring pdu, out CEA_MSG p_CEA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_RAR_MSG(in RAR_MSG p_RAR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_RAR_MSG(inout bitstring pdu, out RAR_MSG p_RAR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_RAA_MSG(in RAA_MSG p_RAA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_RAA_MSG(inout bitstring pdu, out RAA_MSG p_RAA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_ACR_MSG(in ACR_MSG p_ACR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_ACR_MSG(inout bitstring pdu, out ACR_MSG p_ACR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_ACA_MSG(in ACA_MSG p_ACA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_ACA_MSG(inout bitstring pdu, out ACA_MSG p_ACA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_ASR_MSG(in ASR_MSG p_ASR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_ASR_MSG(inout bitstring pdu, out ASR_MSG p_ASR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_ASA_MSG(in ASA_MSG p_ASA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_ASA_MSG(inout bitstring pdu, out ASA_MSG p_ASA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_STR_MSG(in STR_MSG p_STR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_STR_MSG(inout bitstring pdu, out STR_MSG p_STR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_STA_MSG(in STA_MSG p_STA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_STA_MSG(inout bitstring pdu, out STA_MSG p_STA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_DWR_MSG(in DWR_MSG p_DWR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_DWR_MSG(inout bitstring pdu, out DWR_MSG p_DWR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_DWA_MSG(in DWA_MSG p_DWA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_DWA_MSG(inout bitstring pdu, out DWA_MSG p_DWA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_DPR_MSG(in DPR_MSG p_DPR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_DPR_MSG(inout bitstring pdu, out DPR_MSG p_DPR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_DPA_MSG(in DPA_MSG p_DPA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_DPA_MSG(inout bitstring pdu, out DPA_MSG p_DPA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_UAR_MSG(in UAR_MSG p_UAR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_UAR_MSG(inout bitstring pdu, out UAR_MSG p_UAR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_UAA_MSG(in UAA_MSG p_UAA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_UAA_MSG(inout bitstring pdu, out UAA_MSG p_UAA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_SAR_MSG(in SAR_MSG p_SAR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_SAR_MSG(inout bitstring pdu, out SAR_MSG p_SAR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_SAA_MSG(in SAA_MSG p_SAA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_SAA_MSG(inout bitstring pdu, out SAA_MSG p_SAA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_LIR_MSG(in LIR_MSG p_LIR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_LIR_MSG(inout bitstring pdu, out LIR_MSG p_LIR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_LIA_MSG(in LIA_MSG p_LIA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_LIA_MSG(inout bitstring pdu, out LIA_MSG p_LIA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_MAR_MSG(in MAR_MSG p_MAR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_MAR_MSG(inout bitstring pdu, out MAR_MSG p_MAR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_MAA_MSG(in MAA_MSG p_MAA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_MAA_MSG(inout bitstring pdu, out MAA_MSG p_MAA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_RTR_MSG(in RTR_MSG p_RTR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_RTR_MSG(inout bitstring pdu, out RTR_MSG p_RTR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_RTA_MSG(in RTA_MSG p_RTA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_RTA_MSG(inout bitstring pdu, out RTA_MSG p_RTA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PPR_MSG(in PPR_MSG p_PPR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PPR_MSG(inout bitstring pdu, out PPR_MSG p_PPR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PPA_MSG(in PPA_MSG p_PPA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PPA_MSG(inout bitstring pdu, out PPA_MSG p_PPA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_UDR_MSG(in UDR_MSG p_UDR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_UDR_MSG(inout bitstring pdu, out UDR_MSG p_UDR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_UDA_MSG(in UDA_MSG p_UDA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_UDA_MSG(inout bitstring pdu, out UDA_MSG p_UDA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PUR_MSG(in PUR_MSG p_PUR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PUR_MSG(inout bitstring pdu, out PUR_MSG p_PUR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PUA_MSG(in PUA_MSG p_PUA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PUA_MSG(inout bitstring pdu, out PUA_MSG p_PUA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_SNR_MSG(in SNR_MSG p_SNR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_SNR_MSG(inout bitstring pdu, out SNR_MSG p_SNR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_SNA_MSG(in SNA_MSG p_SNA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_SNA_MSG(inout bitstring pdu, out SNA_MSG p_SNA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PNR_MSG(in PNR_MSG p_PNR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PNR_MSG(inout bitstring pdu, out PNR_MSG p_PNR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PNA_MSG(in PNA_MSG p_PNA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PNA_MSG(inout bitstring pdu, out PNA_MSG p_PNA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_CCR_MSG(in CCR_MSG p_CCR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_CCR_MSG(inout bitstring pdu, out CCR_MSG p_CCR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_CCA_MSG(in CCA_MSG p_CCA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_CCA_MSG(inout bitstring pdu, out CCA_MSG p_CCA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_AAR_MSG(in AAR_MSG p_AAR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_AAR_MSG(inout bitstring pdu, out AAR_MSG p_AAR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_AAA_MSG(in AAA_MSG p_AAA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_AAA_MSG(inout bitstring pdu, out AAA_MSG p_AAA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_ULR_MSG(in ULR_MSG p_ULR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_ULR_MSG(inout bitstring pdu, out ULR_MSG p_ULR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_ULA_MSG(in ULA_MSG p_ULA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_ULA_MSG(inout bitstring pdu, out ULA_MSG p_ULA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_AIR_MSG(in AIR_MSG p_AIR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_AIR_MSG(inout bitstring pdu, out AIR_MSG p_AIR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_AIA_MSG(in AIA_MSG p_AIA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_AIA_MSG(inout bitstring pdu, out AIA_MSG p_AIA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_CLR_MSG(in CLR_MSG p_CLR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_CLR_MSG(inout bitstring pdu, out CLR_MSG p_CLR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_CLA_MSG(in CLA_MSG p_CLA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_CLA_MSG(inout bitstring pdu, out CLA_MSG p_CLA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_IDR_MSG(in IDR_MSG p_IDR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_IDR_MSG(inout bitstring pdu, out IDR_MSG p_IDR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_IDA_MSG(in IDA_MSG p_IDA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_IDA_MSG(inout bitstring pdu, out IDA_MSG p_IDA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_DSR_MSG(in DSR_MSG p_DSR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_DSR_MSG(inout bitstring pdu, out DSR_MSG p_DSR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_DSA_MSG(in DSA_MSG p_DSA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_DSA_MSG(inout bitstring pdu, out DSA_MSG p_DSA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_RSR_MSG(in RSR_MSG p_RSR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_RSR_MSG(inout bitstring pdu, out RSR_MSG p_RSR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_RSA_MSG(in RSA_MSG p_RSA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_RSA_MSG(inout bitstring pdu, out RSA_MSG p_RSA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_NOR_MSG(in NOR_MSG p_NOR_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_NOR_MSG(inout bitstring pdu, out NOR_MSG p_NOR_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_NOA_MSG(in NOA_MSG p_NOA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_NOA_MSG(inout bitstring pdu, out NOA_MSG p_NOA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PUER_MSG(in PUER_MSG p_PUER_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PUER_MSG(inout bitstring pdu, out PUER_MSG p_PUER_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_PUEA_MSG(in PUEA_MSG p_PUEA_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_PUEA_MSG(inout bitstring pdu, out PUEA_MSG p_PUEA_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
external function fx_enc_UNKNOWN_MSG(in UNKNOWN_MSG p_UNKNOWN_MSG) return bitstring
with {extension "prototype(convert) encode(DIAMETERCodec)"}
external function fx_dec_UNKNOWN_MSG(inout bitstring pdu, out UNKNOWN_MSG p_UNKNOWN_MSG) return integer
with {extension "prototype(sliding) decode(DIAMETERCodec)"}
} // End of module LibDiameter_EncdecDeclarations
\ No newline at end of file
/**
* @author STF 434
* @version $Id$
* @desc This module defines Diameter Templates for message, header, and
* structured types. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Any additions to the templates shall follow the design rules
* and always modify base templates only;
*/
module LibDiameter_Templates {
//LibCommon
import from LibCommon_DataStrings all;
import from LibCommon_BasicTypesAndValues all;
//LibDiameter
import from LibDiameter_Types_Base_AVPs all;
import from LibDiameter_Types_Gx_AVPs all;
import from LibDiameter_Types_CxDx_AVPs all;
import from LibDiameter_TypesAndValues all;
import from LibDiameter_PIXITS all;
import from LibDiameter_TypesAndValues all;
group LowerLayerPrimitives {
template Lower_Layer_Primitive m_llp_listen(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port) := {
ll_header := m_llh_listen(p_ETS_address, p_ETS_port, p_SUT_address, p_SUT_port),
pdu := omit
}
template Lower_Layer_Primitive m_llp_connect(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port, template integer p_ETS_conn) := {
ll_header := m_llh_connect(p_ETS_address, p_ETS_port, p_SUT_address, p_SUT_port, p_ETS_conn),
pdu := omit
}
template Lower_Layer_Primitive mw_llp_connectIndication(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port, template integer p_ETS_conn) := {
ll_header := mw_llh_connectIndication(p_ETS_address, p_ETS_port, p_SUT_address, p_SUT_port, p_ETS_conn),
pdu := *
}
template Lower_Layer_Primitive mw_llp_connectConfirm(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port, template integer p_ETS_conn) := {
ll_header := mw_llh_connectConfirm(p_ETS_address, p_ETS_port, p_SUT_address, p_SUT_port, p_ETS_conn),
pdu := *
}
template Lower_Layer_Primitive m_llp_disconnect(template integer p_ETS_conn) := {
ll_header := m_llh_disconnect(p_ETS_conn),
pdu := omit
}
template Lower_Layer_Primitive mw_llp_disconnectIndication(template integer p_ETS_conn) := {
ll_header := mw_llh_disconnectIndication(p_ETS_conn),
pdu := *
}
template Lower_Layer_Primitive m_llp_dataRequest( template integer p_ETS_conn, template DIAMETER_MSG p_pdu) := {
ll_header := m_llh_dataRequest(p_ETS_conn),
pdu := p_pdu
}
template Lower_Layer_Primitive mw_llp_dataIndication(template integer p_ETS_conn, template DIAMETER_MSG p_pdu) := {
ll_header := mw_llh_dataIndication(p_ETS_conn),
pdu := p_pdu
}
template Lower_Layer_Header m_llh_listen(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port) := {
primitive := LISTEN_REQUEST_E,
transport_used := c_defaultTransportProtocol,
ETS_address := p_ETS_address,
ETS_port := p_ETS_port,
SUT_address := p_SUT_address,
SUT_port := p_SUT_port,
ETS_conn := omit
}
template Lower_Layer_Header m_llh_connect(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port, template integer p_ETS_conn) := {
primitive := CONNECT_REQUEST_E,
transport_used := c_defaultTransportProtocol,
ETS_address := p_ETS_address,
ETS_port := p_ETS_port,
SUT_address := p_SUT_address,
SUT_port := p_SUT_port,
ETS_conn := p_ETS_conn
}
template Lower_Layer_Header mw_llh_connectIndication(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port, template integer p_ETS_conn) := {
primitive := CONNECT_INDICATION_E,
transport_used := c_defaultTransportProtocol,
ETS_address := p_ETS_address,
ETS_port := p_ETS_port,
SUT_address := p_SUT_address,
SUT_port := p_SUT_port,
ETS_conn := p_ETS_conn
}
template Lower_Layer_Header mw_llh_connectConfirm(template charstring p_ETS_address, template integer p_ETS_port, template charstring p_SUT_address, template integer p_SUT_port, template integer p_ETS_conn) := {
primitive := CONNECT_CONFIRM_E,
transport_used := c_defaultTransportProtocol,
ETS_address := p_ETS_address,
ETS_port := p_ETS_port,
SUT_address := p_SUT_address,
SUT_port := p_SUT_port,
ETS_conn := p_ETS_conn
}
template Lower_Layer_Header m_llh_disconnect(template integer p_ETS_conn) := {
primitive := DISCONNECT_REQUEST_E,
transport_used := c_defaultTransportProtocol,
ETS_address := omit,
ETS_port := omit,
SUT_address := omit,
SUT_port := omit,
ETS_conn := p_ETS_conn
}
template Lower_Layer_Header mw_llh_disconnectIndication(template integer p_ETS_conn) := {
primitive := DISCONNECT_INDICATION_E,
transport_used := c_defaultTransportProtocol,
ETS_address := *,
ETS_port := *,
SUT_address := *,
SUT_port := *,
ETS_conn := p_ETS_conn
}
template Lower_Layer_Header m_llh_dataRequest(template integer p_ETS_conn) := {
primitive := DATA_REQUEST_E,
transport_used := c_defaultTransportProtocol,
ETS_address := omit,
ETS_port := omit,
SUT_address := omit,
SUT_port := omit,
ETS_conn := p_ETS_conn
}
template Lower_Layer_Header mw_llh_dataIndication(template integer p_ETS_conn) := {
primitive := DATA_INDICATION_E,
transport_used := c_defaultTransportProtocol,
ETS_address := *,
ETS_port := *,
SUT_address := *,
SUT_port := *,
ETS_conn := p_ETS_conn
}
}//end group LowerLayerPrimitives
//internal PIXITS if some
group ModuleParameters {
} //end group ModuleParameters
group SubFields{
template Result_Code_Type/*integer*/ m_resultCode_diameterSuccess := DIAMETER_SUCCESS_E/*2001*/;
template Result_Code_Type/*integer*/ mw_resultCode_diameterSuccess := (DIAMETER_SUCCESS_E,DIAMETER_LIMITED_SUCCESS_E/*2000..2999*/);
template AVP_Type mw_avpType(template (present) AVP_Header p_avpHeader) := {
aVP_Header := p_avpHeader,
aVP_Data := *
}
} //end group SubFields
group HeaderFieldTemplates{
group DiameterHeaderGroup{
template (value) Command_Flags m_cmdFlagsAns := {
r_bit := '0'B,
p_bit := '0'B,
e_bit := '0'B,
t_bit := '0'B,
reserved_bits := '0000'B
}
template (value) Command_Flags m_cmdFlagsAnsProx modifies m_cmdFlagsAns:= {
p_bit := '1'B
}
template (value) Command_Flags m_cmdFlagsReq modifies m_cmdFlagsAns:= {
r_bit := '1'B
}
template (value) Command_Flags m_cmdFlagsReqDuplicated modifies m_cmdFlagsAns:= {
r_bit := '1'B,
t_bit := '1'B
}
template Command_Flags mw_cmdFlags := {
r_bit := ?,
p_bit := ?,
e_bit := ?,
t_bit := ?,
reserved_bits := ?
}
template (value) DiameterHeader m_diameterHeaderReq_dummy(Command_Code p_cmdcode, UInt32 p_applid) := {
version := c_versionId,
msglen := 0, //Message lenght with AVPs has to be calculated
cmdflags := m_cmdFlagsReq, //RPETrrrr
cmdcode := p_cmdcode, //Command code
applid := p_applid, //Diameter common messages =0, Vendor specific applications = 16777216 - 4294967294(0x01000000-0xfffffffe) -Gx=16777238,Rx=16777236, 3GPP Cx/Dx=13777216,3GPP Sh=16777217
hopid := 0,
endid := 0
}
template (value) DiameterHeader m_diameterHeaderReqDuplicated_dummy(Command_Code p_cmdcode, UInt32 p_applid) modifies m_diameterHeaderReq_dummy := {
cmdflags := m_cmdFlagsReqDuplicated
}
template DiameterHeader mw_diameterHeaderReq_dummy(Command_Code p_cmdcode, template (present) UInt32 p_applid) := {
version := c_versionId,
msglen := ?, //Message lenght with AVPs has to be calculated
cmdflags := mw_cmdFlags, //RPETrrrr
cmdcode := p_cmdcode, //Command code
applid := p_applid, //Diameter common messages =0, Vendor specific applications = 16777216 - 4294967294(0x01000000-0xfffffffe) -Gx=16777238,Rx=16777236, 3GPP Cx/Dx=13777216,3GPP Sh=16777217
hopid := ?,
endid := ?
}
template (value) DiameterHeader m_diameterHeaderAns_dummy(Command_Code p_cmdcode, UInt32 p_applid) := {
version := c_versionId,
msglen := 0, //Message lenght with AVPs has to be calculated
cmdflags := m_cmdFlagsAns, //RPETrrrr
cmdcode := p_cmdcode, //Command code
applid := p_applid, //Diameter common messages =0, Vendor specific applications = 16777216 - 4294967294(0x01000000-0xfffffffe) -Gx=16777238,Rx=16777236, 3GPP Cx/Dx=13777216,3GPP Sh=16777217
hopid := 0,
endid := 0
}
template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template (present) UInt32 p_applid) := {
version := c_versionId,
msglen := ?, //Message lenght with AVPs has to be calculated
cmdflags := mw_cmdFlags, //RPETrrrr
cmdcode := p_cmdcode, //Command code
applid := p_applid, //Diameter common messages =0, Vendor specific applications = 16777216 - 4294967294(0x01000000-0xfffffffe) -Gx=16777238,Rx=16777236, 3GPP Cx/Dx=13777216,3GPP Sh=16777217
hopid := ?,
endid := ?
}
template (value) AVP_Flags m_avpFlags_Mbit1 := {
v_bit := '0'B,
m_bit := '1'B,
p_bit := '0'B,
reserved_bits := '00000'B
}
template (value) AVP_Flags m_avpFlags_Mbit0 := {
v_bit := '0'B,
m_bit := '0'B,
p_bit := '0'B,
reserved_bits := '00000'B
}
template (value) AVP_Flags m_avpFlags_VMbit1 := {
v_bit := '1'B,
m_bit := '1'B,
p_bit := '0'B,
reserved_bits := '00000'B
}
template AVP_Flags mw_avpFlags_any := {
v_bit := ?,
m_bit := ?,
p_bit := ?,
reserved_bits := '00000'B
}
template AVP_Flags mw_avpFlags_VMbits(template (present) Bit1 p_vbit, template (present) Bit1 p_mbit) := {
v_bit := p_vbit,
m_bit := p_mbit,
p_bit := ?,
reserved_bits := '00000'B
}
template AVP_Header mw_aVP_Header_any := {
aVP_Code :=?,
aVP_flags := mw_avpFlags_any,
aVP_len := ?,
aVP_vid := *
}
template AVP_Header mw_aVP_Header_any_Code (template (present) AVP_Code p_avpCode):= {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_any,
aVP_len := ?,
aVP_vid := *
}
template AVP_Header mw_aVP_Header_Vbit0 (AVP_Code p_avpCode) := {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_VMbits('0'B, ?),
aVP_len := ?,
aVP_vid := *
}
template AVP_Header mw_aVP_Header_Vbit0Mbit0 (AVP_Code p_avpCode) := {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_VMbits('0'B, '0'B),
aVP_len := ?,
aVP_vid := *
}
template AVP_Header mw_aVP_Header_Vbit0Mbit1 (AVP_Code p_avpCode) := {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_VMbits('0'B, '1'B),
aVP_len := ?,
aVP_vid := *
}
template AVP_Header mw_aVP_Header_Vbit1Mbit0 (AVP_Code p_avpCode) := {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_VMbits('1'B, '0'B),
aVP_len := ?,
aVP_vid := ?
}
//Same template as mw_aVP_Header_VMbit1 but same name style as above templates mw_aVP_Header_VbitXMbitX
template AVP_Header mw_aVP_Header_Vbit1Mbit1 (AVP_Code p_avpCode) := {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_VMbits('1'B, '1'B),
aVP_len := ?,
aVP_vid := ?
}
template AVP_Header mw_aVP_Header_VMbit1 (AVP_Code p_avpCode) := {
aVP_Code := p_avpCode,
aVP_flags := mw_avpFlags_VMbits('1'B, '1'B),
aVP_len := ?,
aVP_vid := ?
}
template (value) AVP_Header m_aVP_Header_Mbit1(AVP_Code p_avpCode, AVP_Length p_dataLen:=0) := {
aVP_Code := p_avpCode,
aVP_flags := m_avpFlags_Mbit1,
aVP_len := f_aVP_len(8, p_dataLen, omit),
aVP_vid := omit
}
template (value) AVP_Header m_aVP_Header_Mbit0(AVP_Code p_avpCode, AVP_Length p_dataLen:=0) := {
aVP_Code := p_avpCode,
aVP_flags := m_avpFlags_Mbit0,
aVP_len := f_aVP_len(8, p_dataLen, omit),
aVP_vid := omit
}
/**
* @desc complete AVP header field template
* @param p_avpCode specific Code of the AVP parameter
* @param p_avpDataLen additional length caused if AVP data field is present
* @param p_avpVid vendor id if needed
*/
template (value) AVP_Header m_aVP_HeaderVid_Mbit0(AVP_Code p_avpCode, AVP_Length p_avpDataLen, template (omit) AVP_Vendor_ID p_avpVid := omit) := {
aVP_Code := p_avpCode,
aVP_flags := {v_bit := f_aVPvBit(p_avpVid),
m_bit := '0'B,
p_bit := '0'B,
reserved_bits := '00000'B},
aVP_len :=f_aVP_len(8, p_avpDataLen, p_avpVid), // add length of avpData and optional 4 (if Vid is present)
aVP_vid := p_avpVid
}
/**
* @desc complete AVP header field template
* @param p_avpCode specific Code of the AVP parameter
* @param p_avpDataLen additional length caused if AVP data field is present
* @param p_avpVid vendor id if needed
*/
template (value) AVP_Header m_aVP_HeaderVid_Mbit1(AVP_Code p_avpCode, AVP_Length p_avpDataLen, template (omit) AVP_Vendor_ID p_avpVid := omit) := {
aVP_Code := p_avpCode,
aVP_flags := {v_bit := f_aVPvBit(p_avpVid),
m_bit := '1'B,
p_bit := '0'B,
reserved_bits := '00000'B},
aVP_len :=f_aVP_len(8, p_avpDataLen, p_avpVid), // add length of avpData and optional 4 (if Vid is present)
aVP_vid := p_avpVid
}
/**
* @desc complete AVP header field receive template
* @param p_avpCode specific Code of the AVP parameter
* @param p_avpDataLen additional length caused if AVP data field is present
* @param p_avpVid vendor id if needed
*/
template (present) AVP_Header mw_aVP_HeaderVid_Mbit1(
in AVP_Code p_avpCode,
in template (present) AVP_Length p_avpDataLen := ?,
in template (present) AVP_Vendor_ID p_avpVid) := {
aVP_Code := p_avpCode,
aVP_flags := {v_bit := f_aVPvBit(p_avpVid),
m_bit := '1'B,
p_bit := ?,
reserved_bits := '00000'B},
aVP_len := p_avpDataLen,
aVP_vid := p_avpVid
}
function f_aVP_len(AVP_Length p_length8, AVP_Length p_avpDataLen, template AVP_Vendor_ID p_avpVid)return AVP_Length {
var AVP_Length v_sum;
v_sum := p_length8 + p_avpDataLen + f_lengthVid(p_avpVid);
return v_sum
}
function f_lengthof_AVP(AVP_Header p_header) return AVP_Length {
var AVP_Length v_sum;
v_sum := f_aVP_len (8, p_header.aVP_len, p_header.aVP_vid);
return v_sum
}
function f_getByteAlignedLength(template AVP_Length p_length) return AVP_Length {
return (valueof(p_length) + ((4-valueof(p_length) mod 4) mod 4));
}
function f_lengthVid(template AVP_Vendor_ID p_avpVid) return AVP_Length {
if(isvalue(p_avpVid)){return 4} else{return 0}
}
function f_aVPvBit(template AVP_Vendor_ID p_avpVid) return Bit1 {
if(isvalue(p_avpVid)){return '1'B} else{return '0'B}
}
} //end group DiameterHeaderGroup
group DummyAVPHeaders{
template (value) Origin_Host_AVP m_originHost_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_origin_Host_AVP_Code, 3),
aVP_Data := "abc"
}
template (value) Origin_Realm_AVP m_originRealm_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_origin_Realm_AVP_Code, 3),
aVP_Data := "abc"
}
template Vendor_Id_AVP m_vendorId_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_vendor_Id_AVP_Code, 4),
aVP_Data := 0
}
template Product_Name_AVP m_productName_dummy := {
aVP_Header := m_aVP_Header_Mbit0(c_product_Name_AVP_Code, 3),
aVP_Data := "abc"
}
template Disconnect_Cause_AVP m_disconnectCause_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_disconnect_Cause_AVP_Code, 4),
aVP_Data := REBOOTING_E
}
template Result_Code_AVP m_resultCode_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_result_Code_AVP_Code, 4),
aVP_Data := DIAMETER_DUMMY_E
}
template (value) Destination_Host_AVP m_destinationHost_dummy :=
{
aVP_Header := m_aVP_Header_Mbit1(c_destination_Host_AVP_Code, 3),
aVP_Data := "abc"
}
template (value) Destination_Realm_AVP m_destinationRealm_dummy :=
{
aVP_Header := m_aVP_Header_Mbit1(c_destination_Realm_AVP_Code, 3),
aVP_Data := "abc"
}
template Termination_Cause_AVP m_terminationCause_dummy :=
{
aVP_Header := m_aVP_Header_Mbit1(c_termination_Cause_AVP_Code, 4),
aVP_Data := DIAMETER_LOGOUT_E
}
template (value) Session_Id_AVP m_sessionId_dummy :=
{
aVP_Header := m_aVP_Header_Mbit1(c_session_Id_AVP_Code, 3),
aVP_Data := "abc"
}
template (value) Auth_Application_Id_AVP m_authApplicationId_dummy :=
{
aVP_Header := m_aVP_Header_Mbit1(c_auth_Application_Id_AVP_Code, 4),
aVP_Data := 0
}
template Accounting_Record_Type_AVP m_accounting_Record_Type_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_accounting_Record_Type_AVP_Code,4),
aVP_Data := EVENT_RECORD_E
}
template Accounting_Record_Number_AVP m_accounting_Record_Number_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_accounting_Record_Number_AVP_Code,4),
aVP_Data := 0
}
template Auth_Session_State_AVP m_auth_Session_State_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_auth_Session_State_AVP_Code,4),
aVP_Data := STATE_MAINTAINED_E
}
template Auth_Session_State_AVP m_auth_Session_State_no_maintained := {
aVP_Header := m_aVP_Header_Mbit1(c_auth_Session_State_AVP_Code,4),
aVP_Data := NO_STATE_MAINTAINED_E
}
template SIP_AOR_AVP m_sIP_AOR_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_AOR_AVP_Code, 18, omit),
aVP_Data := f_DiameterURI_2_UTF8String(m_diameterURI_dummy)
}
template (value) DiameterURI m_diameterURI_dummy :=
{
scheme := "aaa",
diameterId_FQDN := "www.etsi.org",
portField := omit,
transport := omit,
protocol := omit
}
template SIP_Visited_Network_Id_AVP m_sIP_Visited_Network_Id_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Visited_Network_Id_AVP_Code, 6, omit),
aVP_Data := "abcabc"
}
template SIP_Digest_Authenticate_AVP m_sIP_Digest_Authenticate(
in template (value) Digest_Realm_AVP p_digest_Realm
) := {
aVP_Header := m_aVP_Header_Mbit1(c_sIP_Digest_Authenticate_AVP_Code),
digest_Realm := p_digest_Realm,
digest_Algorithm := omit,
digest_QoP := omit,
digest_HA1 := omit,
aVP_Type := omit
}
template SIP_User_Authorization_Type_AVP m_sIP_User_Authorization_Type(
in template (value) SIP_User_Auth_Ty_Type p_aVP_Data := REGISTRATION_E
) := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_User_Authorization_Type_AVP_Code, 4, omit),
aVP_Data := p_aVP_Data
}
template SIP_User_Data_Already_Available_AVP m_sIP_User_Data_Already_Available_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Already_Available_AVP_Code, 4, omit),
aVP_Data := USER_DATA_NOT_AVAILABLE_E
}
template SIP_Server_Assignment_Type_AVP m_sIP_Server_Assignment_Type_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Server_Assignment_Type_AVP_Code, 4, omit),
aVP_Data := NO_ASSIGNMENT_E
}
template SIP_User_Data_AVP m_sIP_User_Data_dummy :=
{
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_User_Data_AVP_Code, 0, omit),
sIP_User_Data_Type := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Type_AVP_Code, 3 ,omit),
aVP_Data := "abc"
},
sIP_User_Data_Contents := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_User_Data_Contents_AVP_Code, 1, omit),
aVP_Data := '00'O
},
aVP_Type := omit
}
template SIP_Accounting_Information_AVP m_sIP_Accounting_Information_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Accounting_Information_AVP_Code, 0, omit),
sIP_Accounting_Server_URI := omit,
sIP_Credit_Control_Server_URI := omit,
aVP_Type := omit
}
template SIP_Method_AVP m_sIP_Method_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Method_AVP_Code, 3, omit),
aVP_Data := "sip"
}
template SIP_Deregistration_Reason_AVP m_sIP_Deregistration_Reason_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Deregistration_Reason_AVP_Code, 8, omit),
sIP_Reason_Code_AVP := m_sIP_Reason_Code_dummy,
sIP_Reason_Info_AVP := omit,
aVP_Type := omit
}
template SIP_Reason_Code_AVP m_sIP_Reason_Code_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Reason_Code_AVP_Code, 4, omit),
aVP_Data := PERMANENT_TERMINATION_E
}
template User_Name_AVP m_user_Name_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_user_Name_AVP_Code, 3),
aVP_Data := "dbo"
}
template User_Identity_AVP m_user_Identity_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_user_Identity_AVP_Code, 0, c_vendId3gpp),
public_Identity_AVP := omit,
mSISDN_AVP := omit,
aVP_Type := omit
}
template User_Data_AVP m_user_Data_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_user_Data_AVP_Code, 1, c_vendId3gpp),
aVP_Data := '00'O
}
template CC_Request_Type_AVP m_cC_Request_Type_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_cC_Request_Type_AVP_Code,4, omit),
aVP_Data := INITIAL_REQUEST_E
}
template CC_Request_Number_AVP m_cC_Request_Number_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_cC_Request_Number_AVP_Code,4, omit),
aVP_Data := 0
}
template Data_Reference_AVP m_data_Reference_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_data_Reference_AVP_Code, 4, c_vendId3gpp),
aVP_Data := REPOSITORY_DATA_E
}
template (value) Server_Name_AVP m_server_name_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, 4, c_vendId3gpp),
aVP_Data := "sip_url"
}
template Service_Indication_AVP m_service_Indication_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_service_Indication_AVP_Code, 4, c_vendId3gpp),
aVP_Data := '00'O
}
template Vendor_Specific_Appl_Id_AVP m_vendor_Specific_Appl_Id_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_vendor_Specific_Appl_Id_AVP_Code),
vendor_Id := omit,
auth_Application_Id := omit,
acct_Application_Id := omit
}
template Re_Auth_Request_Type_AVP m_re_Auth_Request_dummy := {
aVP_Header := m_aVP_Header_Mbit1(c_re_Auth_Request_Type_AVP_Code, 4),
aVP_Data := AUTHORIZE_ONLY_E
}
template SIP_Number_Auth_Items_AVP m_sIPNumberAuthItems_RFC_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Number_Auth_Items_AVP_Code_RFC, 4, omit),
aVP_Data := 1
}
template SIP_Auth_Data_Item_RFC_AVP m_sIPAuthDataItem_dummy_RFC := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC, 1, c_vendId3gpp),
sIP_Authentication_Scheme := m_sIPAuthenticationScheme_digest_RFC,
sIP_Item_Number := omit,
sIP_Authenticate := omit,
sIP_Authorization := omit,
sIP_Authentication_Info := omit,
aVP_Type := omit
}
template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_digest_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC, 4, omit),
aVP_Data := DIGEST_E
}
}
template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_unknown_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC, 4, omit),
aVP_Data := UNKNOWN_E
}
}
template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_digest_aka_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC, 4, omit),
aVP_Data := DIGEST_AKAv1_MD5_E
}
}
template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_nass_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC, 4, omit),
aVP_Data := NASS_BUNDLE_E
}
}
template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_giga_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC, 4, omit),
aVP_Data := GIBA_E
}
}
template Subs_Req_Type_AVP m_subs_Req_Type_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_subs_Req_Type_AVP_Code, 4, c_vendId3gpp),
aVP_Data := SUBSCRIBE_E
}
} //end group DummyAVPHeaders
group SpecificAVPHeaders {
template Session_Id_AVP m_sessionId(UTF8String p_avpData) :=
{
aVP_Header := m_aVP_Header_Mbit1(c_session_Id_AVP_Code, f_getUTF8StringLength(p_avpData)),
aVP_Data := p_avpData
}
template Auth_Application_Id_AVP m_authApplicationId(UInt32 p_avpData):=
{
aVP_Header := m_aVP_HeaderVid_Mbit1(c_auth_Application_Id_AVP_Code, 4, omit),
aVP_Data := p_avpData
}
template Acct_Application_Id_AVP m_acctApplicationId(UInt32 p_avpData):=
{
aVP_Header := m_aVP_HeaderVid_Mbit1(c_acct_Application_Id_AVP_Code, 4, omit),
aVP_Data := p_avpData
}
template Disconnect_Cause_AVP m_disconnectCause(Disconnect_Cause_Type p_aVP_Data) := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_disconnect_Cause_AVP_Code, 4, omit ),
aVP_Data := p_aVP_Data
}
template Host_IP_Address_AVP m_hostIPAddress(Address p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_host_IP_Address_AVP_Code, f_IPAdressLengthUInt24()),
aVP_Data := p_avpData
}
template Origin_Host_AVP m_originHost(template(value) charstring p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_origin_Host_AVP_Code, f_getCharStringLength(valueof(p_avpData))),
aVP_Data := p_avpData
}
template Origin_Realm_AVP m_originRealm(template(value) charstring p_avpData) :=
{
aVP_Header := m_aVP_Header_Mbit1(c_origin_Realm_AVP_Code, f_getCharStringLength(valueof(p_avpData))),
aVP_Data := p_avpData
}
template Destination_Host_AVP m_destinationHost(template(value) charstring p_avpData) :=
{
aVP_Header := m_aVP_Header_Mbit1(c_destination_Host_AVP_Code, f_getCharStringLength(valueof(p_avpData))),
aVP_Data := p_avpData
}
template Destination_Realm_AVP m_destinationRealm(template(value) charstring p_avpData) :=
{
aVP_Header := m_aVP_Header_Mbit1(c_destination_Realm_AVP_Code, f_getCharStringLength(valueof(p_avpData))),
aVP_Data := p_avpData
}
template Product_Name_AVP m_productName(template(value) UTF8String p_avpData) :=
{
aVP_Header := m_aVP_Header_Mbit0(c_product_Name_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
}
template Result_Code_AVP m_resultCode(template (value) /*integer*/Result_Code_Type p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_result_Code_AVP_Code, 4),
aVP_Data := p_avpData
}
template Vendor_Id_AVP m_supportedVendorId(template(value) UInt32 p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_supported_Vendor_Id_AVP_Code, 4),
aVP_Data := p_avpData
}
template Vendor_Id_AVP m_vendorId(template(value) UInt32 p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_vendor_Id_AVP_Code, 4),
aVP_Data := p_avpData
}
template Vendor_Specific_Appl_Id_AVP m_vendor_Specific_Appl_Id(UInt32 p_authApplicationId) := {
aVP_Header := m_aVP_Header_Mbit1(c_vendor_Specific_Appl_Id_AVP_Code, 24),
vendor_Id := {m_vendorId(c_vendId3gpp)},
auth_Application_Id := {m_authApplicationId(p_authApplicationId)},
acct_Application_Id := omit
}
template Vendor_Specific_Appl_Id_AVP m_vendor_Specific_Acct_Id(UInt32 p_acctApplicationId) := {
aVP_Header := m_aVP_Header_Mbit1(c_vendor_Specific_Appl_Id_AVP_Code, 24),
vendor_Id := {m_vendorId(c_vendId3gpp)},
auth_Application_Id := omit,
acct_Application_Id := {m_acctApplicationId(p_acctApplicationId)}
}
template Auth_Application_Id_AVP mw_authApplicationId(UInt32 p_avpData) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_auth_Application_Id_AVP_Code),
aVP_Data := p_avpData
}
template Acct_Application_Id_AVP mw_acctApplicationId(UInt32 p_avpData) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_acct_Application_Id_AVP_Code),
aVP_Data := p_avpData
}
template QoS_Information_AVP mw_qosInformation_QosInfo_ARP := {
aVP_Header := mw_aVP_Header_VMbit1(c_qoS_Information_AVP_Code), //<AVP header: 1016 ....>
qoS_Class_Identifier :=?,
max_Requested_Bandwidth_UL :=*,
max_Requested_Bandwidth_DL :=*,
guaranteed_Bitrate_UL :=*,
guaranteed_Bitrate_DL :=*,
bearer_Identifier :=*,
allocation_Retention_Priority :=?,
aPN_Aggregate_Max_Bitrate_UL :=*,
aPN_Aggregate_Max_Bitrate_DL :=*,
aVP_Type:=*
}
template Result_Code_AVP mw_resultCode(template (present)/*integer*/Result_Code_Type p_avpData) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_result_Code_AVP_Code),
aVP_Data := p_avpData
}
//
// template Experimental_Result_AVP mw_experimentalResult(template (present)/*integer*/Experimental_Result_Code_AVP p_experimental_Result_Code) := {
// aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_AVP_Code),
// vendor_Id := ?,
// experimental_Result_Code := p_experimental_Result_Code
// }
template Experimental_Result_Code_AVP mw_experimentalResultCode(template (present)/*integer*/Experimental_Result_Type p_avpData) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_experimental_Result_Code_AVP_Code),
aVP_Data := p_avpData
}
template Session_Release_Cause_AVP mw_sessReleaseCause(template (present) Session_Release_Cause p_avpData) :=
{
aVP_Header := mw_aVP_Header_VMbit1(c_session_Release_Cause_AVP_Code),
aVP_Data := p_avpData
}
template Supported_Features_AVP mw_supportedFeatures_dummy := {
aVP_Header := mw_aVP_HeaderVid_Mbit1(c_supported_Features_AVP_Code, ?, c_vendId3gpp),
vendor_Id := ?,
feature_list_Id := *,
feature_list := ?,
aVP_Data := *
}
template Supported_Features_AVP m_supportedFeatures (
template Vendor_Id_AVP p_vendorId,
template Feature_List_ID_AVP p_feature_list_Id,
template (value) Feature_List_AVP p_feature_list,
template Supported_Features_AVP.aVP_Data p_aVP_Data
):= {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_supported_Features_AVP_Code, 1, c_vendId3gpp),
vendor_Id := m_vendorId(c_vendId3gpp),
feature_list_Id := p_feature_list_Id,
feature_list := p_feature_list,
aVP_Data := p_aVP_Data
}
template Feature_List_AVP m_featureList(template (present) UInt32 p_avpData) :=
{
aVP_Header := m_aVP_HeaderVid_Mbit1(c_feature_List_AVP_Code, 1, c_vendId3gpp),
aVP_Data := p_avpData
}
template Feature_List_ID_AVP m_featureListId(template (present) UInt32 p_avpData) :=
{
aVP_Header := m_aVP_HeaderVid_Mbit1(c_feature_List_ID_AVP_Code, 1, c_vendId3gpp),
aVP_Data := p_avpData
}
template Failed_AVP mw_failed(template (present) Failed_AVP.aVP p_avpData) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_failed_AVP_Code),
aVP := p_avpData
}
template SIP_Number_Auth_Items_AVP m_sIPNumberAuthItems_RFC (template (value) UInt32 p_avpData) := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Number_Auth_Items_AVP_Code_RFC, 4, omit),
aVP_Data := p_avpData
}
template SIP_Authentication_Scheme_AVP m_sIPAuthenticationScheme_RFC(template (value) SIP_Auth_Schm_Type p_SIPAuthSchmType) := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC, 4, omit),
aVP_Data := p_SIPAuthSchmType
}
}
template User_Name_AVP m_userName(template (value) UTF8String p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_user_Name_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
}
template SIP_Item_Number_AVP m_sIPItemNumber_RFC(template (value) UInt32 p_aVP_Data) := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Item_Number_AVP_Code_RFC, 4, omit),
aVP_Data := p_aVP_Data
}
template SIP_Authorization_RFC_AVP m_sIP_Authorization_RFC(
template (value) Digest_Username_AVP p_digest_Username,
template (value) Digest_Realm_AVP p_digestRealm,
template (value) Digest_Nonce_AVP p_digestNonce,
template (value) Digest_URI_AVP p_digestUri,
template (value) Digest_Response_AVP p_digest_Response
) := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_sIP_Authorization_AVP_Code_RFC, 4, omit),
digest_Username := p_digest_Username,
digest_Realm := p_digestRealm,
digest_Nonce := p_digestNonce,
digest_URI := p_digestUri,
digest_Response := p_digest_Response,
digest_Algorithm := omit,
digest_CNonce := omit,
digest_Opaque := omit,
digest_QoP := omit,
digest_Nonce_Count := omit,
digest_Method := omit,
digest_Entity_Body_Hash := omit,
digest_Auth_Param := omit,
aVP_Type := omit
}
template SIP_Authorization_RFC_AVP m_sIP_Authorization_digest_aka_RFC(
template (value) Digest_Username_AVP p_digest_Username,
template (value) Digest_Realm_AVP p_digestRealm,
template (value) Digest_Nonce_AVP p_digestNonce,
template (value) Digest_URI_AVP p_digestUri,
template (value) Digest_Response_AVP p_digest_Response
) modifies m_sIP_Authorization_RFC := {
// TODO How to pass RAND + AUX
}
template Digest_Username_AVP m_digestUsername(template (value) UTF8String p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_digest_Username_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
// Type := c_digest_Username_AVP_Code,
// Length := f_getUTF8StringLength(valueof(p_text)),
// Text := p_text
}
template Digest_Realm_AVP m_digestRealm(template (value) UTF8String p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_digest_Realm_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
// Type := c_digest_Realm_AVP_Code,
// Length := f_getUTF8StringLength(valueof(p_text)),
// Text := p_text
}
template Digest_Nonce_AVP m_digestNonce(template (value) UTF8String p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_digest_Realm_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
// Type := c_digest_Realm_AVP_Code,
// Length := f_getUTF8StringLength(valueof(p_text)),
// Text := p_text
}
template Digest_URI_AVP m_digestUri(template (value) UTF8String p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_digest_URI_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
// Type := c_digest_URI_AVP_Code,
// Length := f_getUTF8StringLength(valueof(p_text)),
// Text := p_text
}
template Digest_Response_AVP m_digestResponse(template (value) UTF8String p_avpData) := {
aVP_Header := m_aVP_Header_Mbit1(c_digest_Response_AVP_Code, f_getUTF8StringLength(valueof(p_avpData))),
aVP_Data := p_avpData
// Type := c_digest_Response_AVP_Code,
// Length := f_getUTF8StringLength(valueof(p_text)),
// Text := p_text
}
template User_Name_AVP mw_userName(template (present) UTF8String p_avpData) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_user_Name_AVP_Code),
aVP_Data := p_avpData
}
template User_Data_AVP m_user_Data_shData (octetstring p_ud) modifies m_user_Data_dummy := {
aVP_Header := m_aVP_HeaderVid_Mbit1(c_user_Data_Sh_AVP_Code, lengthof(p_ud), c_vendId3gpp),
aVP_Data := p_ud
}
} //end group SpecificAVPHeaders
} //end group HeaderFieldTemplates
/** Message templates for CER,CEA, DWR, DWA, AAA, AAR, .... methods */
group MessageTemplates {
group dummy_templates {
template UNKNOWN_MSG mw_UNKNOWN_dummy := {
header := ?,
aVP_Type := *
}
group dummy_request_templates_send {
template (value) AAR_MSG m_AAR_dummy :=
{
header := m_diameterHeaderReq_dummy(AAR_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
aAR_Body := m_AAR_Body_dummy
}
template (value) AAR_Body_AVP m_AAR_Body_dummy :=
{
//dRMP := omit,
auth_Application_Id := m_authApplicationId_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
destination_Host := m_destinationHost_dummy,
iP_Domain := omit,
af_Application_Id := omit,
media_Component_Description := omit,
service_Info_Status := omit,
af_Charging_Identifier := omit,
sip_Forking_Indication := omit,
specific_Action := omit,
subscription_Id := omit,
//oC_Supported_Features := omit,
supported_Features := omit,
reservation_Priority := omit,
framed_IP_Address := omit,
framed_IPv6_Address := omit,
called_Station_Id := omit,
service_URN := omit,
sponsored_Connectivity_Data := omit,
mps_Identifier := omit,
gcs_Identifier := omit,
mcptt_Identifier := omit,
mCVideo_Identifier := omit,
iMS_Content_Identifier := omit,
iMS_Content_Type := omit,
rx_Request_Type := omit,
required_Access_Info := omit,
aF_Requested_Data := omit,
//reference_Id := omit,
pre_emption_Control_Info := omit,
user_Name := omit,
origin_State_Id := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) ACR_MSG m_ACR_dummy := {
header := m_diameterHeaderReq_dummy(ACR_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
aCR_Body := m_ACR_Body_dummy
}
template (omit) ACR_Body_AVP m_ACR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
accounting_Record_Type := m_accounting_Record_Type_dummy,
accounting_Record_Number := m_accounting_Record_Number_dummy,
acct_Application_Id := omit,
vendor_Specific_Application_Id := omit,
user_Name := omit,
supported_Features := omit,
accounting_Sub_Session_Id := omit,
acct_Session_Id := omit,
acct_Multi_Session_Id := omit,
acct_Interim_Interval := omit,
accounting_Realtime_Required := omit,
origin_State_Id := omit,
event_Timestamp := omit,
proxy_Info := omit,
route_Record := omit,
service_Context_Id := omit,
service_Information := omit,
aVP_Type := omit
}
template (value) ASR_MSG m_ASR_dummy := {
header := m_diameterHeaderReq_dummy(ASR_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
aSR_Body := m_ASR_Body_dummy
}
template (value) ASR_Body_AVP m_ASR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
destination_Host := m_destinationHost_dummy,
auth_Application_Id := m_authApplicationId_dummy,
abort_cause := omit,
user_Name := omit,
origin_State_Id := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) CCR_MSG m_CCR_dummy := {
header := m_diameterHeaderReq_dummy(CCR_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
cCR_Body := m_CCR_Body_dummy
}
template (omit) CCR_Body_AVP m_CCR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
auth_Application_Id := m_authApplicationId_dummy,
service_Context_Id := omit,
cC_Request_Type := m_cC_Request_Type_dummy,
cC_Request_Number := m_cC_Request_Number_dummy,
destination_Host := omit,
user_Name := omit,
cC_Sub_Session_Id := omit,
acct_Multi_Session_Id := omit,
origin_State_Id := omit,
event_Timestamp := omit,
subscription_Id := omit,
service_Identifier := omit,
termination_Cause := omit,
requested_Service_Unit := omit,
requested_Action := omit,
used_Service_Unit := omit,
aoc_Request_Type_AVP := omit,
multiple_Services_Indicator := omit,
multiple_Services_Credit_Control := omit,
service_Parameter_Info := omit,
cC_Correlation_Id := omit,
supported_Features := omit,
network_Request_Support := omit,
packet_Filter_Information := omit,
packet_Filter_Operation := omit,
bearer_Identifier := omit,
bearer_Operation := omit,
framed_IP_Address := omit,
framed_IPv6_Prefix := omit,
iP_CAN_Type := omit,
threeGPP_RAT_Type := omit,
rat_Type := omit,
qoS_Information := omit,
qoS_Negotiation := omit,
qoS_Upgrade := omit,
default_EPS_Bearer_QoS := omit,
aN_GW_Address := omit,
threeGPP_SGSN_MCC_MNC := omit,
threeGPP_SGSN_Address := omit,
threeGPP_SGSN_IPv6_Address := omit,
rAI := omit,
threeGPP_User_Location_Info := omit,
threeGPP_MS_TimeZone := omit,
called_Station_Id := omit,
pDN_Connection_ID := omit,
bearer_Usage := omit,
online := omit,
offline := omit,
tFT_Packet_Filter_Information := omit,
charging_Rule_Report := omit,
event_Trigger := omit,
event_Report_Indication := omit,
access_Network_Charging_Address := omit,
access_Network_Charging_Identifier_Gx := omit,
coA_Information := omit,
usage_Monitoring_Information := omit,
routing_Rule_Install := omit,
routing_Rule_Remove := omit,
maximum_Bandwidth := omit,
logical_Access_ID := omit,
physical_Access_ID := omit,
session_Linking_Indicator := omit,
qoS_Rule_Report := omit,
subsesion_Enforcement_Info := omit,
threeGPP2_BSID := omit,
multiple_BBERF_Action := omit,
user_CSG_Information := omit,
user_Equipment_Info := omit,
proxy_Info := omit,
route_Record := omit,
service_Information := omit,
aVP_Type := omit
}
template (value) CER_MSG m_CER_dummy := {
header := m_diameterHeaderReq_dummy(CER_E, c_applIdCommonMsg),
cER_Body := m_CER_Body_dummy
}
template (value) CER_Body_AVP m_CER_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
host_IP_Address := {m_hostIPAddress(c_address)}, // Address:{'0001'O, {ipv4 := {127, 0, 0,1}}})},
vendor_Id := m_vendorId_dummy,
product_Name := m_productName_dummy,
origin_State_Id := omit,
supported_Vendor_Id := omit,
auth_Application_Id := omit,
inband_Security_Id := omit,
acct_Application_Id := omit,
vendor_Specific_Application_Id := omit,
firmware_Revision := omit,
aVP_Type := omit
}
template (value) DWR_MSG m_DWR_dummy := {
header := m_diameterHeaderReq_dummy(DWR_E, c_applIdCommonMsg),
dWR_Body := m_DWR_Body_dummy
}
template (value) DWR_Body_AVP m_DWR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
origin_State_Id := omit,
aVP_Type := omit
}
template (value) DPR_MSG m_DPR_dummy := {
header := m_diameterHeaderReq_dummy(DPR_E, c_applIdCommonMsg),
dPR_Body := m_DPR_Body_dummy
}
template (value) DPR_Body_AVP m_DPR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
disconnect_Cause := m_disconnectCause_dummy,
aVP_Type := omit
}
template (value) LIR_MSG m_LIR_dummy := {
header := m_diameterHeaderReq_dummy(LIR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
lIR_Body := m_LIR_Body_dummy
}
template (value) LIR_Body_AVP m_LIR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
sIP_AOR := m_sIP_AOR_dummy,
destination_Host := omit,
originating_Request := omit, //only TS129 229
supported_Features := omit, //only TS129 229
public_Identity := omit, //required only in TS129 229
user_Authorization_Type := omit, //only TS129 229
session_Priority := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) MAR_MSG m_MAR_dummy := {
header := m_diameterHeaderReq_dummy(MAR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
mAR_Body := m_MAR_Body_dummy
}
template (value) MAR_Body_AVP m_MAR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
sIP_AOR := m_sIP_AOR_dummy,
sIP_Method := m_sIP_Method_dummy,
destination_Host := omit,
user_Name := omit,
supported_Features := omit, //only TS129 229
public_Identity := omit, //required only in TS129 229
sIP_Server_URI := omit,
sIP_Number_Auth_Items := omit,
sIP_Auth_Data_Item := omit,
server_Name := omit, //only TS129 229
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) PNR_MSG m_PNR_dummy := {
header := m_diameterHeaderReq_dummy(PNR_E, c_applId3GPPShDh),
session_Id := m_sessionId_dummy,
pNR_Body := m_PNR_Body_dummy
}
template (value) PNR_Body_AVP m_PNR_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Host := omit,
destination_Realm := m_destinationRealm_dummy,
supported_Features := omit,
user_Identity := m_user_Identity_dummy,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
user_Data := m_user_Data_dummy,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) PPR_MSG m_PPR_dummy := {
header := m_diameterHeaderReq_dummy(PPR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
pPR_Body := m_PPR_Body_dummy
}
template (value) PPR_Body_AVP m_PPR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
user_Name := m_user_Name_dummy,
sIP_User_Data := omit,
sIP_Accounting_Information := m_sIP_Accounting_Information_dummy,
destination_Host := m_destinationHost_dummy,
authorization_Lifetime := omit,
auth_Grace_Period := omit,
supported_Features := omit, //only TS129 229
user_Data := omit, //only TS129 229
charging_Information := omit, //only TS129 229
sIP_Auth_Data_Item := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) PUR_MSG m_PUR_dummy := {
header := m_diameterHeaderReq_dummy(PUR_E, c_applId3GPPShDh),
session_Id := m_sessionId_dummy,
pUR_Body := m_PUR_Body_dummy
}
template (value) PUR_Body_AVP m_PUR_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Host := omit,
destination_Realm := m_destinationRealm_dummy,
supported_Features := omit,
user_Identity := m_user_Identity_dummy,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
data_Reference := {m_data_Reference_dummy},
user_Data := m_user_Data_dummy,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) RAR_MSG m_RAR_dummy := {
header := m_diameterHeaderReq_dummy(RAR_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
rAR_Body := m_RAR_Body_dummy
}
template (value) RAR_Body_AVP m_RAR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
destination_Host := m_destinationHost_dummy,
auth_Application_Id := m_authApplicationId_dummy,
specific_Action := omit,
re_Auth_Request_Type := m_re_Auth_Request_dummy,
user_Name := omit,
acc_nc_ident := omit,
acc_nc_addr := omit,
flows := omit,
subscription_Id := omit,
abort_Cause := omit,
ip_Can := omit,
rat_Type := omit,
sponsored_Connectivity_Data := omit,
origin_State_Id := omit,
class := omit,
session_Release_Cause := omit,
event_Trigger := omit,
event_Report_Indication := omit,
charging_Rule_Remove := omit,
charging_Rule_Install := omit,
default_EPS_Bearer_QoS := omit,
qoS_Information := omit,
revalidation_Time := omit,
usage_Monitoring_Information := omit,
qoS_Rule_Install := omit,
qoS_Rule_Remove := omit,
subsession_Decision_Info := omit,
aN_GW_Address := omit,
multiple_BBERF_Action := omit,
proxy_Info := omit,
route_Record := omit,
g_s_u_Pool_Identifier := omit,
service_Identifier := omit,
rating_Group := omit,
aVP_Type := omit
}
template (value) RTR_MSG m_RTR_dummy := {
header := m_diameterHeaderReq_dummy(RTR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
rTR_Body := m_RTR_Body_dummy
}
template (value) RTR_Body_AVP m_RTR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Host := m_destinationHost_dummy,
sIP_Deregistration_Reason := m_sIP_Deregistration_Reason_dummy,
destination_Realm := m_destinationRealm_dummy,
user_Name := omit,
sIP_AOR := omit,
associated_Identities := omit, //only TS129 229
supported_Features := omit, //only TS129 229
public_Identity := omit, //only TS129 229
deregistration_Reason := omit, //required only in TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) SAR_MSG m_SAR_dummy := {
header := m_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
sAR_Body := m_SAR_Body_dummy
}
template (value) SAR_Body_AVP m_SAR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
sIP_Server_Assignment_Type := m_sIP_Server_Assignment_Type_dummy,
sIP_User_Data_Already_Available := m_sIP_User_Data_Already_Available_dummy,
destination_Host := omit,
user_Name := omit,
sIP_Server_URI := omit,
sIP_Supported_User_Data_Type := omit,
sIP_AOR := omit,
supported_Features := omit, //only in TS129 229
public_Identity := omit, //only in TS129 229
wildcarded_Public_Identity := omit, //only in TS129 229
server_Name := omit, //required only in TS129 229
server_Assignment_Type := omit, //required only in TS129 229
user_Data_Already_Available := omit, //required only in TS129 229
sCSCF_Restoration_Info := omit, //only in TS129 229
multiple_Registration_Indication := omit,//only in TS129 229
session_Priority := omit, //only in TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) SNR_MSG m_SNR_dummy := {
header := m_diameterHeaderReq_dummy(SNR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
sNR_Body := m_SNR_Body_dummy
}
template (value) SNR_Body_AVP m_SNR_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,//required only in TS129 229
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Host := omit,
destination_Realm := m_destinationRealm_dummy,
supported_Features := omit,
user_Identity := m_user_Identity_dummy,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
service_Indication := omit,
send_Data_Indication := omit,
server_Name := omit,
subs_Req_Type := m_subs_Req_Type_dummy,
data_Reference := {m_data_Reference_dummy},
identity_Set := omit,
expiry_Time := omit,
dSAI_Tag := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit,
user_Name := omit
}
template (value) STR_MSG m_STR_dummy :=
{
header := m_diameterHeaderReq_dummy(STR_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
sTR_Body := m_STR_Body_dummy
}
template (value) STR_Body_AVP m_STR_Body_dummy :=
{
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
auth_Application_Id := m_authApplicationId_dummy,
termination_Cause := m_terminationCause_dummy,
user_Name := omit,
destination_Host := omit,
class := omit,
origin_State_Id := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) UAR_MSG m_UAR_dummy :=
{
header := m_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
uAR_Body := m_UAR_Body_dummy
}
template (value) UAR_Body_AVP m_UAR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Realm := m_destinationRealm_dummy,
sIP_AOR := m_sIP_AOR_dummy,
destination_Host := omit,
user_Name := omit,
sIP_Visited_Network_Id := m_sIP_Visited_Network_Id_dummy,
sIP_User_Authorization_Type := m_sIP_User_Authorization_Type,
supported_Features := omit,
public_Identity := omit,
visited_Network_Identifier := omit,
user_Authorization_Type := omit,
uAR_Flags := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) UDR_MSG m_UDR_dummy := {
header := m_diameterHeaderReq_dummy(UDR_E, c_applId3GPPShDh),
session_Id := m_sessionId_dummy,
uDR_Body := m_UDR_Body_dummy
}
template (value) UDR_Body_AVP m_UDR_Body_dummy :=
{
vendor_Specific_Application_Id := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
destination_Host := omit,
destination_Realm := m_destinationRealm_dummy,
supported_Features := omit,
user_Identity := m_user_Identity_dummy,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
server_Name := omit,
service_Indication := omit,
data_Reference := {m_data_Reference_dummy},
identity_Set := omit,
requested_Domain := omit,
current_Location := omit,
dSAI_Tag := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
}//end group dummy_request_templates_send
group dummy_request_templates_receive {
template AAR_MSG mw_AAR_dummy :=
{
header := mw_diameterHeaderReq_dummy(AAR_E, ?),
session_Id := ?,
aAR_Body := mw_AAR_Body_dummy
}
template AAR_Body_AVP mw_AAR_Body_dummy :=
{
//dRMP := *,
auth_Application_Id := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
destination_Host := *,
iP_Domain := *,
af_Application_Id := *,
media_Component_Description := *,
service_Info_Status := *,
af_Charging_Identifier := *,
sip_Forking_Indication := *,
specific_Action := *,
subscription_Id := *,
//oC_Supported_Features := *,
supported_Features := *,
reservation_Priority := *,
framed_IP_Address := *,
framed_IPv6_Address := *,
called_Station_Id := *,
service_URN := *,
sponsored_Connectivity_Data := *,
mps_Identifier := *,
gcs_Identifier := *,
mcptt_Identifier := *,
mCVideo_Identifier := *,
iMS_Content_Identifier := *,
iMS_Content_Type := *,
rx_Request_Type := *,
required_Access_Info := *,
aF_Requested_Data := *,
//reference_Id := omit,
pre_emption_Control_Info := *,
user_Name := *,
origin_State_Id := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template ACR_MSG mw_ACR_dummy := {
header := mw_diameterHeaderReq_dummy(ACR_E, ?),
session_Id := ?,
aCR_Body := mw_ACR_Body_dummy
}
template ACR_Body_AVP mw_ACR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
accounting_Record_Type := ?,
accounting_Record_Number := ?,
acct_Application_Id := *,
vendor_Specific_Application_Id := *,
user_Name := *,
supported_Features := *,
accounting_Sub_Session_Id := *,
acct_Session_Id := *,
acct_Multi_Session_Id := *,
acct_Interim_Interval := *,
accounting_Realtime_Required := *,
origin_State_Id := *,
event_Timestamp := *,
proxy_Info := *,
route_Record := *,
service_Context_Id := *,
service_Information := *,
aVP_Type := *
}
template ASR_MSG mw_ASR_dummy := {
header := mw_diameterHeaderReq_dummy(ASR_E, ?),
session_Id := ?,
aSR_Body := mw_ASR_Body_dummy
}
template ASR_Body_AVP mw_ASR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
destination_Host := ?,
auth_Application_Id := ?,
abort_cause := *,
user_Name := *,
origin_State_Id := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template CCR_MSG mw_CCR_dummy := {
header := mw_diameterHeaderReq_dummy(CCR_E, ?),
session_Id := ?,
cCR_Body := mw_CCR_Body_dummy
}
template CCR_Body_AVP mw_CCR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
auth_Application_Id := ?,
service_Context_Id := *,
cC_Request_Type := ?,
cC_Request_Number := ?,
destination_Host := *,
user_Name := *,
cC_Sub_Session_Id := *,
acct_Multi_Session_Id := *,
origin_State_Id := *,
event_Timestamp := *,
subscription_Id := *,
service_Identifier := *,
termination_Cause := *,
requested_Service_Unit := *,
requested_Action := *,
used_Service_Unit := *,
aoc_Request_Type_AVP := *,
multiple_Services_Indicator := *,
multiple_Services_Credit_Control := *,
service_Parameter_Info := *,
cC_Correlation_Id := *,
supported_Features := *,
network_Request_Support := *,
packet_Filter_Information := *,
packet_Filter_Operation := *,
bearer_Identifier := *,
bearer_Operation := *,
framed_IP_Address := *,
framed_IPv6_Prefix := *,
iP_CAN_Type := *,
threeGPP_RAT_Type := *,
rat_Type := *,
qoS_Information := *,
qoS_Negotiation := *,
qoS_Upgrade := *,
default_EPS_Bearer_QoS := *,
aN_GW_Address := *,
threeGPP_SGSN_MCC_MNC := *,
threeGPP_SGSN_Address := *,
threeGPP_SGSN_IPv6_Address := *,
rAI := *,
threeGPP_User_Location_Info := *,
threeGPP_MS_TimeZone := *,
called_Station_Id := *,
pDN_Connection_ID := *,
bearer_Usage := *,
online := *,
offline := *,
tFT_Packet_Filter_Information := *,
charging_Rule_Report := *,
event_Trigger := *,
event_Report_Indication := *,
access_Network_Charging_Address := *,
access_Network_Charging_Identifier_Gx := *,
coA_Information := *,
usage_Monitoring_Information := *,
routing_Rule_Install := *,
routing_Rule_Remove := *,
maximum_Bandwidth := *,
logical_Access_ID := *,
physical_Access_ID := *,
session_Linking_Indicator := *,
qoS_Rule_Report := *,
subsesion_Enforcement_Info := *,
threeGPP2_BSID := *,
multiple_BBERF_Action := *,
user_CSG_Information := *,
user_Equipment_Info := *,
proxy_Info := *,
route_Record := *,
service_Information := *,
aVP_Type := *
}
template CER_MSG mw_CER_dummy := {
header := mw_diameterHeaderReq_dummy(CER_E, ?),
cER_Body := mw_CER_Body_dummy
}
template CER_Body_AVP mw_CER_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
host_IP_Address := ?,
vendor_Id := ?,
product_Name := ?,
origin_State_Id := *,
supported_Vendor_Id := *,
auth_Application_Id := *,
inband_Security_Id := *,
acct_Application_Id := *,
vendor_Specific_Application_Id := *,
firmware_Revision := *,
aVP_Type := *
}
template DWR_MSG mw_DWR_dummy := {
header := mw_diameterHeaderReq_dummy(DWR_E, ?),
dWR_Body := mw_DWR_Body_dummy
}
template DWR_Body_AVP mw_DWR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
origin_State_Id := *,
aVP_Type := *
}
template DPR_MSG mw_DPR_dummy := {
header := mw_diameterHeaderReq_dummy(DPR_E, ?),
dPR_Body := mw_DPR_Body_dummy
}
template DPR_Body_AVP mw_DPR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
disconnect_Cause := ?,
aVP_Type := *
}
template LIR_MSG mw_LIR_dummy := {
header := mw_diameterHeaderReq_dummy(LIR_E, ?),
session_Id := ?,
lIR_Body := mw_LIR_Body_dummy
}
template LIR_Body_AVP mw_LIR_Body_dummy :=
{
vendor_Specific_Application_Id := *,
auth_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
sIP_AOR := ?,
destination_Host := *,
originating_Request := *, //only TS129 229
supported_Features := *, //only TS129 229
public_Identity := *, //required only in TS129 229
user_Authorization_Type := *, //only TS129 229
session_Priority := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template MAR_MSG mw_MAR_dummy := {
header := mw_diameterHeaderReq_dummy(MAR_E, ?),
session_Id := ?,
mAR_Body := mw_MAR_Body_dummy
}
template MAR_Body_AVP mw_MAR_Body_dummy :=
{
vendor_Specific_Application_Id := *,
auth_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
sIP_AOR := ?,
sIP_Method := ?,
destination_Host := *,
user_Name := *,
supported_Features := *,//only TS129 229
public_Identity := *, //required only in TS129 229
sIP_Server_URI := *,
sIP_Number_Auth_Items := *,
sIP_Auth_Data_Item := *,
server_Name := *, //only TS129 229
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template PNR_MSG mw_PNR_dummy := {
header := mw_diameterHeaderReq_dummy(PNR_E, ?),
session_Id := ?,
pNR_Body := mw_PNR_Body_dummy
}
template PNR_Body_AVP mw_PNR_Body_dummy :=
{
vendor_Specific_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Host := *,
destination_Realm := ?,
supported_Features := *,
user_Identity := ?,
wildcarded_PSI := *,
wildcarded_IMPU := *,
user_Data := ?,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template PPR_MSG mw_PPR_dummy := {
header := mw_diameterHeaderReq_dummy(PPR_E, ?),
session_Id := ?,
pPR_Body := mw_PPR_Body_dummy
}
template PPR_Body_AVP mw_PPR_Body_dummy :=
{
vendor_Specific_Application_Id := *,
auth_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Host := ?,
destination_Realm := ?,
user_Name := ?,
sIP_User_Data := *,
sIP_Accounting_Information := ?,
authorization_Lifetime := *,
auth_Grace_Period := *,
supported_Features := *, //only TS129 229
user_Data := *, //only TS129 229
charging_Information := *, //only TS129 229
sIP_Auth_Data_Item := *, //only TS129 229
proxy_Info := ?,
route_Record := ?,
aVP_Type := ?
}
template PUR_MSG mw_PUR_dummy := {
header := mw_diameterHeaderReq_dummy(PUR_E, ?),
session_Id := ?,
pUR_Body := mw_PUR_Body_dummy
}
template PUR_Body_AVP mw_PUR_Body_dummy :=
{
vendor_Specific_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Host := *,
destination_Realm := ?,
supported_Features := *,
user_Identity := ?,
wildcarded_PSI := *,
wildcarded_IMPU := *,
data_Reference := ?,
user_Data := ?,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template RAR_MSG mw_RAR_dummy := {
header := mw_diameterHeaderReq_dummy(RAR_E, ?),
session_Id := ?,
rAR_Body := mw_RAR_Body_dummy
}
template RAR_Body_AVP mw_RAR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
destination_Host := ?,
auth_Application_Id := ?,
specific_Action := *,
re_Auth_Request_Type := ?,
user_Name := *,
acc_nc_ident := *,
acc_nc_addr := *,
flows := *,
subscription_Id := *,
abort_Cause := *,
ip_Can := *,
rat_Type := *,
sponsored_Connectivity_Data := *,
origin_State_Id := *,
class := *,
session_Release_Cause := *,
event_Trigger := *,
event_Report_Indication := *,
charging_Rule_Remove := *,
charging_Rule_Install := *,
default_EPS_Bearer_QoS := *,
qoS_Information := *,
revalidation_Time := *,
usage_Monitoring_Information := *,
qoS_Rule_Install := *,
qoS_Rule_Remove := *,
subsession_Decision_Info := *,
aN_GW_Address := *,
multiple_BBERF_Action := *,
proxy_Info := *,
route_Record := *,
g_s_u_Pool_Identifier := *,
service_Identifier := *,
rating_Group := *,
aVP_Type := *
}
template RTR_MSG mw_RTR_dummy := {
header := mw_diameterHeaderReq_dummy(RTR_E, ?),
session_Id := ?,
rTR_Body := mw_RTR_Body_dummy
}
template RTR_Body_AVP mw_RTR_Body_dummy :=
{
vendor_Specific_Application_Id := *,//required only in TS129 229
auth_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Host := ?,
destination_Realm := ?,
sIP_Deregistration_Reason := ?,
user_Name := *,
sIP_AOR := *,
associated_Identities := *, //only TS129 229
supported_Features := *, //only TS129 229
public_Identity := *, //only TS129 229
deregistration_Reason := *, //required only in TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template SAR_MSG mw_SAR_dummy := {
header := mw_diameterHeaderReq_dummy(SAR_E, ?),
session_Id := ?,
sAR_Body := mw_SAR_Body_dummy
}
template SAR_Body_AVP mw_SAR_Body_dummy :=
{
vendor_Specific_Application_Id :=*, //required only in TS129 229
auth_Application_Id := ?,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
sIP_Server_Assignment_Type := ?,
sIP_User_Data_Already_Available := ?,
destination_Host := *,
user_Name := *,
sIP_Server_URI := *,
sIP_Supported_User_Data_Type := *,
sIP_AOR := *,
supported_Features := *, //only in TS129 229
public_Identity := *, //only in TS129 229
wildcarded_Public_Identity := *, //only in TS129 229
server_Name := *, //required only in TS129 229
server_Assignment_Type := *, //required only in TS129 229
user_Data_Already_Available := *, //required only in TS129 229
sCSCF_Restoration_Info := *, //only in TS129 229
multiple_Registration_Indication := *,//only in TS129 229
session_Priority := *, //only in TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template SNR_MSG mw_SNR_dummy := {
header := mw_diameterHeaderReq_dummy(SNR_E, ?),
session_Id := ?,
sNR_Body := mw_SNR_Body_dummy
}
template SNR_Body_AVP mw_SNR_Body_dummy :=
{
vendor_Specific_Application_Id := ?,//required only in TS129 229
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Host := *,
destination_Realm := ?,
supported_Features := *,
user_Identity := ?,
wildcarded_PSI := *,
wildcarded_IMPU := *,
service_Indication := *,
send_Data_Indication := *,
server_Name := *,
subs_Req_Type := ?,
data_Reference := ?,
identity_Set := *,
expiry_Time := *,
dSAI_Tag := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *,
user_Name := *
}
template STR_MSG mw_STR_dummy :=
{
header := mw_diameterHeaderReq_dummy(STR_E, ?),
session_Id := ?,
sTR_Body := mw_STR_Body_dummy
}
template STR_Body_AVP mw_STR_Body_dummy :=
{
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
auth_Application_Id := ?,
termination_Cause := ?,
user_Name := *,
destination_Host := *,
class := *,
origin_State_Id := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template UAR_MSG mw_UAR_dummy := {
header := mw_diameterHeaderReq_dummy(UAR_E, ?),
session_Id := ?,
uAR_Body := mw_UAR_Body_dummy
}
template UAR_Body_AVP mw_UAR_Body_dummy :=
{
vendor_Specific_Application_Id := *,
auth_Application_Id := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Realm := ?,
sIP_AOR := ?,
destination_Host := *,
user_Name := *,
sIP_Visited_Network_Id := ?,
sIP_User_Authorization_Type := ?,
supported_Features := *,
public_Identity := *,
visited_Network_Identifier := *,
user_Authorization_Type := *,
uAR_Flags := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template UDR_MSG mw_UDR_dummy := {
header := mw_diameterHeaderReq_dummy(UDR_E, ?),
session_Id := ?,
uDR_Body := mw_UDR_Body_dummy
}
template UDR_Body_AVP mw_UDR_Body_dummy :=
{
vendor_Specific_Application_Id := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
destination_Host := *,
destination_Realm := ?,
supported_Features := *,
user_Identity := ?,
wildcarded_PSI := *,
wildcarded_IMPU := *,
server_Name := *,
service_Indication := *,
data_Reference := ?,
identity_Set := *,
requested_Domain := *,
current_Location := *,
dSAI_Tag := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
}//end group dummy_request_templates_receive
group dummy_answer_templates_send {
template (value) AAA_MSG m_AAA_dummy :=
{
header := m_diameterHeaderAns_dummy(AAA_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
aAA_Body := m_AAA_Body_dummy
}
template (value) AAA_Body_AVP m_AAA_Body_dummy :=
{
//dRMP := omit,
auth_Application_Id := m_authApplicationId_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
result_Code := omit,
experimental_Result := omit,
auth_Session_State := omit,
access_network_charging_Identifier := omit,
access_network_charging_address := omit,
acceptable_service_info := omit,
aN_GW_Address := omit,
//aN_Trusted := omit,
service_Authorization_Info := omit,
ip_Can_Type := omit,
//netLoc_Access_Support := omit,
rat_Type := omit,
flows := omit,
//oC_Supported_Features := *,
//oC_OLR := *,
supported_Features := omit,
subscription_Id_AVP := omit,
user_Equipment_Info := omit,
threeGPP_SGSN_MCC_MNC := omit,
class_ := omit,
user_Name := omit,
error_Message := omit,
error_Reporting_Host := omit,
failed := omit,
retry_Interval := omit,
origin_State_Id := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
proxy_Info := omit,
// load:= omit,
aVP_Type := omit
}
template (value) ACA_MSG m_ACA_dummy := {
header := m_diameterHeaderAns_dummy(ACA_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
aCA_Body := m_ACA_Body_dummy
}
template (omit) ACA_Body_AVP m_ACA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
accounting_Record_Type := m_accounting_Record_Type_dummy,
accounting_Record_Number := m_accounting_Record_Number_dummy,
acct_Application_Id := omit,
vendor_Specific_Application_Id := omit,
user_Name := omit,
accounting_Sub_Session_Id := omit,
acct_Session_Id := omit,
acct_Multi_Session_Id := omit,
error_Reporting_Host := omit,
acct_Interim_Interval := omit,
accounting_Realtime_Required := omit,
origin_State_Id := omit,
event_Timestamp := omit,
proxy_Info := omit,
aVP_Type := omit
}
template (value) ASA_MSG m_ASA_dummy := {
header := m_diameterHeaderAns_dummy(ASA_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
aSA_Body := m_ASA_Body_dummy
}
template (value) ASA_Body_AVP m_ASA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
user_Name := omit,
origin_State_Id := omit,
error_Message := omit,
error_Reporting_Host := omit,
failed := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
proxy_Info := omit,
aVP_Type := omit
}
template (value) CCA_MSG m_CCA_dummy := {
header := m_diameterHeaderAns_dummy(CCA_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
cCA_Body := m_CCA_Body_dummy
}
template (omit) CCA_Body_AVP m_CCA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
auth_Application_Id := m_authApplicationId_dummy,
cC_Request_Type := m_cC_Request_Type_dummy,
cC_Request_Number := m_cC_Request_Number_dummy,
user_Name := omit,
cC_Session_Failover := omit,
cC_Sub_Session_Id := omit,
acct_Multi_Session_Id := omit,
origin_State_Id := omit,
event_Timestamp := omit,
granted_Service_Unit := omit,
multiple_Services_Credit_Control := omit,
cost_Information := omit,
final_Unit_Indication := omit,
check_Balance_Result := omit,
low_Balance_Indication := omit,
remaining_Balance := omit,
credit_Control_Failure_Handling := omit,
direct_Debiting_Failure_Handling := omit,
validity_Time := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
experimental_Result := omit,
supported_Features := omit,
bearer_Control_Mode := omit,
event_Trigger := omit,
charging_Rule_Remove := omit,
charging_Rule_Install := omit,
charging_Information := omit,
online := omit,
offline := omit,
qoS_Information := omit,
revalidation_Time := omit,
default_EPS_Bearer_QoS := omit,
bearer_Usage := omit,
threeGPP_User_Location_Info := omit,
usage_Monitoring_Information := omit,
cSG_Information_Reporting := omit,
user_CSG_Information := omit,
error_Message := omit,
error_Reporting_Host := omit,
qoS_Rule_Install := omit,
qoS_Rule_Remove := omit,
subsession_Decision_Info := omit,
aN_GW_Address := omit,
proxy_Info := omit,
route_Record := omit,
failed := omit,
service_Information := omit,
aVP_Type := omit
}
template (value) CEA_MSG m_CEA_dummy := {
header := m_diameterHeaderAns_dummy(CEA_E, c_applIdCommonMsg),
cEA_Body := m_CEA_Body_dummy
}
template (value) CEA_Body_AVP m_CEA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
host_IP_Address := {m_hostIPAddress(c_address)}, // Address:{'0001'O, {ipv4 := {127, 0, 0,1}}})},
vendor_Id := m_vendorId_dummy,
product_Name := m_productName_dummy,
origin_State_Id := omit,
error_Message := omit,
failed := omit,
supported_Vendor_Id := omit,
auth_Application_Id := omit,
inband_Security_Id := omit,
acct_Application_Id := omit,
vendor_Specific_Application_Id := omit,
firmware_Revision := omit,
aVP_Type := omit
}
template (value) DWA_MSG m_DWA_dummy := {
header := m_diameterHeaderAns_dummy(DWA_E, c_applIdCommonMsg),
dWA_Body := m_DWA_Body_dummy
}
template (value) DWA_Body_AVP m_DWA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
error_Message := omit,
failed := omit,
origin_State_Id := omit,
aVP_Type := omit
}
template (value) DPA_MSG m_DPA_dummy := {
header := m_diameterHeaderAns_dummy(DPA_E, c_applIdCommonMsg),
dPA_Body := m_DPA_Body_dummy
}
template (value) DPA_Body_AVP m_DPA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
error_Message := omit,
failed := omit,
aVP_Type := omit
}
template (value) LIA_MSG m_LIA_dummy := {
header := m_diameterHeaderAns_dummy(LIA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
lIA_Body := m_LIA_Body_dummy
}
template (value) LIA_Body_AVP m_LIA_Body_dummy :=
{
vendor_Specific_Application_Id := omit, //required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
sIP_Server_URI := omit,
sIP_Server_Capabilities := omit,
auth_Grace_Period := omit,
authorization_Lifetime := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
supported_Features := omit, //only TS129 229
server_Name := omit, //only TS129 229
server_Capabilities := omit, //only TS129 229
wildcarded_Public_Identity := omit, //only TS129 229
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) MAA_MSG m_MAA_dummy := {
header := m_diameterHeaderAns_dummy(MAA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
mAA_Body := m_MAA_Body_dummy
}
template (value) MAA_Body_AVP m_MAA_Body_dummy :=
{
vendor_Specific_Application_Id := omit, //required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
user_Name := omit,
supported_Features := omit, //required only in TS129 229
public_Identity := omit, //only in RFC4740
sIP_AOR := omit,
sIP_Number_Auth_Items := omit,
sIP_Auth_Data_Item := omit,
auth_Grace_Period := omit,
authorization_Lifetime := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) PNA_MSG m_PNA_dummy := {
header := m_diameterHeaderAns_dummy(PNA_E, c_applId3GPPShDh),
session_Id := m_sessionId_dummy,
pNA_Body := m_PNA_Body_dummy
}
template (value) PNA_Body_AVP m_PNA_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
supported_Features := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
failed := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) PPA_MSG m_PPA_dummy := {
header := m_diameterHeaderAns_dummy(PPA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
pPA_Body := m_PPA_Body_dummy
}
template (value) PPA_Body_AVP m_PPA_Body_dummy :=
{
vendor_Specific_Application_Id := omit, //required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
supported_Features := omit, //only TS129 229
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) PUA_MSG m_PUA_dummy := {
header := m_diameterHeaderAns_dummy(PUA_E, c_applId3GPPShDh),
session_Id := m_sessionId_dummy,
pUA_Body := m_PUA_Body_dummy
}
template (value) PUA_Body_AVP m_PUA_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,
result_Code := omit,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
repository_Data_Id := omit,
data_Reference := omit,
supported_Features := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
failed := omit,
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) RAA_MSG m_RAA_dummy := {
header := m_diameterHeaderAns_dummy(RAA_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
rAA_Body := m_RAA_Body_dummy
}
template (value) RAA_Body_AVP m_RAA_Body_dummy :=
{
result_Code := omit,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
experimental_Result := omit,
user_Name := omit,
media_Component_Description := omit,
service_URN := omit,
origin_State_Id := omit,
class := omit,
iP_CAN_Type := omit,
rat_Type := omit,
aN_GW_Address := omit,
threeGPP_SGSN_MCC_MNC := omit,
threeGPP_SGSN_Address := omit,
threeGPP_SGSN_IPv6_Address := omit,
rAI := omit,
threeGPP_User_Location_Info := omit,
threeGPP_MS_TimeZone := omit,
charging_Rule_Report := omit,
error_Message := omit,
error_Reporting_Host := omit,
failed := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
framed_IP_Address := omit,
framed_IPv6_Prefix := omit,
threeGPP2_BSID := omit,
qoS_Information := omit,
qoS_Rule_Report := omit,
subsesion_Enforcement_Info := omit,
user_CSG_Information := omit,
proxy_Info := omit,
aVP_Type := omit
}
template (value) RTA_MSG m_RTA_dummy := {
header := m_diameterHeaderAns_dummy(RTA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
rTA_Body := m_RTA_Body_dummy
}
template (value) RTA_Body_AVP m_RTA_Body_dummy :=
{
vendor_Specific_Application_Id := omit, //required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
authorization_Lifetime := omit,
auth_Grace_Period := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
associated_Identities := omit, //only TS129 229
supported_Features := omit, //only TS129 229
identity_with_Emergency_Registration := omit, //only TS129 229
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) SAA_MSG m_SAA_dummy :=
{
header := m_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
sAA_Body := m_SAA_Body_dummy
}
template (value) SAA_Body_AVP m_SAA_Body_dummy :=
{
vendor_Specific_Application_Id := omit, //required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
sIP_User_Data := {m_sIP_User_Data_dummy},
sIP_Accounting_Information := m_sIP_Accounting_Information_dummy,
sIP_Supported_User_Data_Type := omit,
user_Name := omit,
auth_Grace_Period := omit,
authorization_Lifetime := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
supported_Features := omit, //only TS129 229
user_Data := omit, //only TS129 229
charging_Information := omit, //only TS129 229
associated_Identities := omit, //only TS129 229
loose_Route_Indication := omit, //only TS129 229
sCSCF_Restoration_Info := omit, //only TS129 229
associated_Registered_Identities := omit, //only TS129 229
server_Name := omit, //only TS129 229
wildcarded_Public_Identity := omit, //only TS129 229
priviledged_Sender_Indication := omit, //only TS129 229
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) SNA_MSG m_SNA_dummy :=
{
header := m_diameterHeaderAns_dummy(SNA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
sNA_Body := m_SNA_Body_dummy
}
template (value) SNA_Body_AVP m_SNA_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,//required only in TS129 229
auth_Session_State := m_auth_Session_State_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
supported_Features := omit,
user_Data := omit, //only TS129 229
expiry_Time := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
failed := omit, //only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) STA_MSG m_STA_dummy :=
{
header := m_diameterHeaderAns_dummy(STA_E, c_applIdCommonMsg),
session_Id := m_sessionId_dummy,
sTA_Body := m_STA_Body_dummy
}
template (value) STA_Body_AVP m_STA_Body_dummy :=
{
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
user_Name := omit,
class := omit,
error_Message := omit,
error_Reporting_Host := omit,
failed := omit,
sponsored_Connectivity_Data := omit,
origin_State_Id := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
proxy_Info := omit,
aVP_Type := omit
}
template (value) UAA_MSG m_UAA_dummy := {
header := m_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
session_Id := m_sessionId_dummy,
uAA_Body := m_UAA_Body_dummy
}
template (value) UAA_Body_AVP m_UAA_Body_dummy :=
{
vendor_Specific_Application_Id := omit, //required only in TS129 229
auth_Application_Id := m_authApplicationId_dummy,
auth_Session_State := m_auth_Session_State_dummy,
result_Code := m_resultCode_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
sIP_Server_URI := omit,
sIP_Server_Capabilities := omit,
authorization_Lifetime := omit,
auth_Grace_Period := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
experimental_Result := omit,//only TS129 229
supported_Features := omit,//only TS129 229
server_Name := omit,//only TS129 229
server_Capabilities := omit,//only TS129 229
failed := omit,//only TS129 229
proxy_Info := omit,
route_Record := omit,
aVP_Type := omit
}
template (value) UDA_MSG m_UDA_dummy := {
header := m_diameterHeaderAns_dummy(UDA_E, c_applId3GPPShDh),
session_Id := m_sessionId_dummy,
uDA_Body := m_UDA_Body_dummy
}
template (value) UDA_Body_AVP m_UDA_Body_dummy :=
{
vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_dummy,
result_Code := m_resultCode_dummy,
experimental_Result := omit,
auth_Session_State := m_auth_Session_State_dummy,
origin_Host := m_originHost_dummy,
origin_Realm := m_originRealm_dummy,
supported_Features := omit,
wildcarded_PSI := omit,
wildcarded_IMPU := omit,
user_Data := omit,
redirect_Host := omit,
redirect_Host_Usage := omit,
redirect_Max_Cache_Time := omit,
aVP_Type := omit,
failed := omit,
proxy_Info := omit,
route_Record := omit
}
}//end group dummy_answer_templates_send
group dummy_answer_templates_receive {
template AAA_MSG mw_AAA_dummy :=
{
header := mw_diameterHeaderAns_dummy(AAA_E, ?),
session_Id := ?,
aAA_Body := mw_AAA_Body_dummy
}
template AAA_Body_AVP mw_AAA_Body_dummy :=
{
//dRMP := *,
auth_Application_Id := ?,
origin_Host := ?,
origin_Realm := ?,
result_Code := *,
experimental_Result := *,
auth_Session_State :=*,
access_network_charging_Identifier := *,
access_network_charging_address := *,
acceptable_service_info := *,
aN_GW_Address := *,
//aN_Trusted := *,
service_Authorization_Info := *,
ip_Can_Type := *,
//netLoc_Access_Support := *,
rat_Type := *,
flows := *,
//oC_Supported_Features := *,
//oC_OLR := *,
supported_Features := *,
subscription_Id_AVP := *,
user_Equipment_Info := *,
threeGPP_SGSN_MCC_MNC := *,
class_ := *,
user_Name := *,
error_Message := *,
error_Reporting_Host := *,
failed := *,
retry_Interval := *,
origin_State_Id := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
proxy_Info := *,
// load:= *,
aVP_Type := *
}
template ACA_MSG mw_ACA_dummy := {
header := mw_diameterHeaderAns_dummy(ACA_E, ?),
session_Id := ?,
aCA_Body := mw_ACA_Body_dummy
}
template ACA_Body_AVP mw_ACA_Body_dummy :=
{
result_Code := ?,
origin_Host := ?,
origin_Realm := ?,
accounting_Record_Type := ?,
accounting_Record_Number := ?,
acct_Application_Id := *,
vendor_Specific_Application_Id := *,
user_Name := *,
accounting_Sub_Session_Id := *,
acct_Session_Id := *,
acct_Multi_Session_Id := *,
error_Reporting_Host := *,
acct_Interim_Interval := *,
accounting_Realtime_Required := *,
origin_State_Id := *,
event_Timestamp := *,
proxy_Info := *,
aVP_Type := *
}
template ASA_MSG mw_ASA_dummy := {
header := mw_diameterHeaderAns_dummy(ASA_E, ?),
session_Id := ?,
aSA_Body := mw_ASA_Body_dummy
}
template ASA_Body_AVP mw_ASA_Body_dummy :=
{
result_Code := ?,
origin_Host := ?,
origin_Realm := ?,
user_Name := *,
origin_State_Id := *,
error_Message := *,
error_Reporting_Host := *,
failed := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
proxy_Info := *,
aVP_Type := *
}
template CCA_MSG mw_CCA_dummy := {
header := mw_diameterHeaderAns_dummy(CCA_E, ?),
session_Id := ?,
cCA_Body := mw_CCA_Body_dummy
}
template CCA_Body_AVP mw_CCA_Body_dummy :=
{
result_Code := *,
origin_Host := ?,
origin_Realm := ?,
auth_Application_Id := ?,
cC_Request_Type := ?,
cC_Request_Number := ?,
user_Name := *,
cC_Session_Failover := *,
cC_Sub_Session_Id := *,
acct_Multi_Session_Id := *,
origin_State_Id := *,
event_Timestamp := *,
granted_Service_Unit := *,
multiple_Services_Credit_Control := *,
cost_Information := *,
final_Unit_Indication := *,
check_Balance_Result := *,
low_Balance_Indication := *,
remaining_Balance := *,
credit_Control_Failure_Handling := *,
direct_Debiting_Failure_Handling := *,
validity_Time := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
experimental_Result := *,
supported_Features := *,
bearer_Control_Mode := *,
event_Trigger := *,
charging_Rule_Remove := *,
charging_Rule_Install := *,
charging_Information := *,
online := *,
offline := *,
qoS_Information := *,
revalidation_Time := *,
default_EPS_Bearer_QoS := *,
bearer_Usage := *,
threeGPP_User_Location_Info := *,
usage_Monitoring_Information := *,
cSG_Information_Reporting := *,
user_CSG_Information := *,
error_Message := *,
error_Reporting_Host := *,
qoS_Rule_Install := *,
qoS_Rule_Remove := *,
subsession_Decision_Info := *,
aN_GW_Address := *,
proxy_Info := *,
route_Record := *,
failed := *,
service_Information := *,
aVP_Type := *
}
template CEA_MSG mw_CEA_dummy := {
header := mw_diameterHeaderAns_dummy(CEA_E, ?),
cEA_Body := mw_CEA_Body_dummy
}
template CEA_Body_AVP mw_CEA_Body_dummy :=
{
result_Code := ?,
origin_Host := ?,
origin_Realm := ?,
host_IP_Address := ?,
vendor_Id := ?,
product_Name := ?,
origin_State_Id := *,
error_Message := *,
failed := *,
supported_Vendor_Id := *,
auth_Application_Id := *,
inband_Security_Id := *,
acct_Application_Id := *,
vendor_Specific_Application_Id := *,
firmware_Revision := *,
aVP_Type := *
}
template DWA_MSG mw_DWA_dummy := {
header := mw_diameterHeaderAns_dummy(DWA_E, ?),
dWA_Body := mw_DWA_Body_dummy
}
template DWA_Body_AVP mw_DWA_Body_dummy :=
{
result_Code := ?,
origin_Host := ?,
origin_Realm := ?,
error_Message := *,
failed := *,
origin_State_Id := *,
aVP_Type := *
}
template DPA_MSG mw_DPA_dummy := {
header := mw_diameterHeaderAns_dummy(DPA_E, ?),
dPA_Body := mw_DPA_Body_dummy
}
template DPA_Body_AVP mw_DPA_Body_dummy :=
{
result_Code := ?,
origin_Host := ?,
origin_Realm := ?,
error_Message := *,
failed := *,
aVP_Type := *
}
template LIA_MSG mw_LIA_dummy := {
header := mw_diameterHeaderAns_dummy(LIA_E, ?),
session_Id := ?,
lIA_Body := mw_LIA_Body_dummy
}
template LIA_Body_AVP mw_LIA_Body_dummy :=
{
vendor_Specific_Application_Id := *,//only TS129 229
auth_Application_Id := ?,
result_Code := ?,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
sIP_Server_URI := *,
sIP_Server_Capabilities := *,
auth_Grace_Period := *,
authorization_Lifetime := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
supported_Features := *, //only TS129 229
server_Name := *, //only TS129 229
server_Capabilities := *, //only TS129 229
wildcarded_Public_Identity := *, //only TS129 229
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template MAA_MSG mw_MAA_dummy := {
header := mw_diameterHeaderAns_dummy(MAA_E, ?),
session_Id := ?,
mAA_Body := mw_MAA_Body_dummy
}
template MAA_Body_AVP mw_MAA_Body_dummy :=
{
vendor_Specific_Application_Id := *,//only TS129 229
auth_Application_Id := ?,
result_Code := ?,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
user_Name := *,
supported_Features :=*, //required only in TS129 229
public_Identity :=*, //only in RFC4740
sIP_AOR := *,
sIP_Number_Auth_Items := *,
sIP_Auth_Data_Item := *,
auth_Grace_Period := *,
authorization_Lifetime := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template PNA_MSG mw_PNA_dummy := {
header := mw_diameterHeaderAns_dummy(PNA_E, ?),
session_Id := ?,
pNA_Body := mw_PNA_Body_dummy
}
template PNA_Body_AVP mw_PNA_Body_dummy :=
{
vendor_Specific_Application_Id := ?,
result_Code := ?,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
supported_Features := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
failed := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template PPA_MSG mw_PPA_dummy := {
header := mw_diameterHeaderAns_dummy(PPA_E, ?),
session_Id := ?,
pPA_Body := mw_PPA_Body_dummy
}
template PPA_Body_AVP mw_PPA_Body_dummy :=
{
vendor_Specific_Application_Id := *,//only TS129 229
auth_Application_Id := ?,
result_Code := ?,
experimental_Result :=*,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
supported_Features := *, //only TS129 229
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template PUA_MSG mw_PUA_dummy := {
header := mw_diameterHeaderAns_dummy(PUA_E, ?),
session_Id := ?,
pUA_Body := mw_PUA_Body_dummy
}
template PUA_Body_AVP mw_PUA_Body_dummy :=
{
vendor_Specific_Application_Id := ?,
result_Code := *,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
wildcarded_PSI := *,
wildcarded_IMPU := *,
repository_Data_Id := *,
data_Reference := *,
supported_Features := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
failed := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template RAA_MSG mw_RAA_dummy := {
header := mw_diameterHeaderAns_dummy(RAA_E, ?),
session_Id := ?,
rAA_Body := mw_RAA_Body_dummy
}
template RAA_Body_AVP mw_RAA_Body_dummy :=
{
result_Code := *,
origin_Host := ?,
origin_Realm := ?,
experimental_Result := *,
user_Name := *,
media_Component_Description := *,
service_URN := *,
origin_State_Id := *,
class := *,
iP_CAN_Type := *,
rat_Type := *,
aN_GW_Address := *,
threeGPP_SGSN_MCC_MNC := *,
threeGPP_SGSN_Address := *,
threeGPP_SGSN_IPv6_Address := *,
rAI := *,
threeGPP_User_Location_Info := *,
threeGPP_MS_TimeZone := *,
charging_Rule_Report := *,
error_Message := *,
error_Reporting_Host := *,
failed := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
framed_IP_Address := *,
framed_IPv6_Prefix := *,
threeGPP2_BSID := *,
qoS_Information := *,
qoS_Rule_Report := *,
subsesion_Enforcement_Info := *,
user_CSG_Information := *,
proxy_Info := *,
aVP_Type := *
}
template RTA_MSG mw_RTA_dummy := {
header := mw_diameterHeaderAns_dummy(RTA_E, ?),
session_Id := ?,
rTA_Body := mw_RTA_Body_dummy
}
template RTA_Body_AVP mw_RTA_Body_dummy :=
{
vendor_Specific_Application_Id := *,//only TS129 229
auth_Application_Id := ?,
result_Code := ?,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
authorization_Lifetime := *,
auth_Grace_Period := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
associated_Identities := *, //only TS129 229
supported_Features := *, //only TS129 229
identity_with_Emergency_Registration := *, //only TS129 229
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template SAA_MSG mw_SAA_dummy :=
{
header := mw_diameterHeaderAns_dummy(SAA_E, ?),
session_Id := ?,
sAA_Body := mw_SAA_Body_dummy
}
template SAA_Body_AVP mw_SAA_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//only TS129 229
auth_Application_Id := ?,
result_Code := ?,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
sIP_User_Data := ?,
sIP_Accounting_Information := ?,
sIP_Supported_User_Data_Type := *,
user_Name := *,
auth_Grace_Period := *,
authorization_Lifetime := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
supported_Features := *, //only TS129 229
user_Data := *, //only TS129 229
charging_Information := *, //only TS129 229
associated_Identities := *, //only TS129 229
loose_Route_Indication := *, //only TS129 229
sCSCF_Restoration_Info := *, //only TS129 229
associated_Registered_Identities := *, //only TS129 229
server_Name := *, //only TS129 229
wildcarded_Public_Identity := *, //only TS129 229
priviledged_Sender_Indication := *, //only TS129 229
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template SNA_MSG mw_SNA_dummy :=
{
header := mw_diameterHeaderAns_dummy(SNA_E, ?),
session_Id := ?,
sNA_Body := mw_SNA_Body_dummy
}
template SNA_Body_AVP mw_SNA_Body_dummy :=
{
vendor_Specific_Application_Id := ?,//required only in TS129 229
auth_Session_State := ?,
result_Code := ?,
experimental_Result := *,
origin_Host := ?,
origin_Realm := ?,
wildcarded_PSI := *,
wildcarded_IMPU := *,
supported_Features := *,
user_Data := *, //only TS129 229
expiry_Time := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
failed := *, //only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template STA_MSG mw_STA_dummy :=
{
header := mw_diameterHeaderAns_dummy(STA_E, ?),
session_Id := ?,
sTA_Body := mw_STA_Body_dummy
}
template STA_Body_AVP mw_STA_Body_dummy :=
{
result_Code := *,
origin_Host := ?,
origin_Realm := ?,
user_Name := *,
class := *,
error_Message := *,
error_Reporting_Host := *,
failed := *,
sponsored_Connectivity_Data := *,
origin_State_Id := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
proxy_Info := *,
aVP_Type := *
}
template UAA_MSG mw_UAA_dummy := {
header := mw_diameterHeaderAns_dummy(UAA_E, c_applIdCommonMsg),
session_Id := ?,
uAA_Body := mw_UAA_Body_dummy
}
template UAA_Body_AVP mw_UAA_Body_dummy :=
{
vendor_Specific_Application_Id := omit,//only TS129 229
auth_Application_Id := ?,
auth_Session_State := ?,
result_Code := ?,
origin_Host := ?,
origin_Realm := ?,
sIP_Server_URI := *,
sIP_Server_Capabilities := *,
authorization_Lifetime := *,
auth_Grace_Period := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
experimental_Result := omit,//only TS129 229
supported_Features := omit,//only TS129 229
server_Name := omit,//only TS129 229
server_Capabilities := omit,//only TS129 229
failed := omit,//only TS129 229
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
template UDA_MSG mw_UDA_dummy := {
header := mw_diameterHeaderAns_dummy(UDA_E, ?),
session_Id := ?,
uDA_Body := mw_UDA_Body_dummy
}
template UDA_Body_AVP mw_UDA_Body_dummy :=
{
vendor_Specific_Application_Id := ?,
result_Code := *,
experimental_Result := *,
auth_Session_State := ?,
origin_Host := ?,
origin_Realm := ?,
supported_Features := *,
wildcarded_PSI := *,
wildcarded_IMPU := *,
user_Data := *,
redirect_Host := *,
redirect_Host_Usage := *,
redirect_Max_Cache_Time := *,
failed := *,
proxy_Info := *,
route_Record := *,
aVP_Type := *
}
}//end group dummy_answer_templates_receive
} //end group dummy_templates
group base_templates {
group basic_request_templates_send {
template (value) CER_MSG m_CER_basic(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm,
Address p_address)
modifies m_CER_dummy := {
cER_Body := {
origin_Host := p_originHost,
origin_Realm := p_originRealm,
host_IP_Address := {m_hostIPAddress(p_address)},
vendor_Id := m_vendorId(c_vendId3gpp),
product_Name := m_productName("ETSI")
}
}
template (value) DWR_MSG m_DWR_basic(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm)
modifies m_DWR_dummy := {
dWR_Body := {
origin_Host := p_originHost,
origin_Realm := p_originRealm
}
}
template (value) DPR_MSG m_DPR_basic(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm)
modifies m_DPR_dummy := {
dPR_Body := {
origin_Host := p_originHost,
origin_Realm := p_originRealm,
disconnect_Cause := m_disconnectCause(REBOOTING_E)
}
}
} // end group basic_request_templates_send
group basic_request_templates_receive {
template CER_MSG mw_CER_basic(
template Auth_Application_Id_AVP p_authApplicationId)
modifies mw_CER_dummy := {
cER_Body := {
auth_Application_Id := {p_authApplicationId}
}
}
}//end group basic_request_templates_receive
group basic_answer_templates_send {
template (value) CEA_MSG m_CEA_basic(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm,
Address p_address)
modifies m_CEA_dummy := {
cEA_Body := {
result_Code := m_resultCode(m_resultCode_diameterSuccess),
origin_Host := p_originHost,
origin_Realm := p_originRealm,
host_IP_Address := {m_hostIPAddress(p_address)},
vendor_Id := m_vendorId(c_vendId3gpp),
product_Name := m_productName("ETSI")
}
}
template (value) DWA_MSG m_DWA_basic(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm)
modifies m_DWA_dummy := {
dWA_Body := {
result_Code := m_resultCode(m_resultCode_diameterSuccess),
origin_Host := p_originHost,
origin_Realm := p_originRealm
}
}
template (value) RAA_MSG m_RAA_basic(
template (value)Session_Id_AVP p_sessionId,
template (value)Origin_Host_AVP p_originHost,
template (value)Origin_Realm_AVP p_originRealm)
modifies m_RAA_dummy := {
session_Id := p_sessionId,
rAA_Body := {
result_Code := m_resultCode(m_resultCode_diameterSuccess),
origin_Host := p_originHost,
origin_Realm := p_originRealm
}
}
}//end group basic_answer_templates_send
group basic_answer_templates_receive {
}//end group basic_answer_templates_receive
} //end group base_templates
group modified_templates {
group modified_request_templates_send {
template (value) CER_MSG m_CER_AppId(
in template (value) Origin_Host_AVP p_originHost,
in template (value) Origin_Realm_AVP p_originRealm,
in Address p_address,
in UInt32 p_authApplicationId
) modifies m_CER_basic := {
cER_Body := {
origin_Host := p_originHost,
origin_Realm := p_originRealm,
host_IP_Address := {m_hostIPAddress(p_address)},
vendor_Id := m_vendorId(c_vendId3gpp),
product_Name := m_productName("ETSI"),
supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)},
vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id(p_authApplicationId)},
auth_Application_Id := {m_authApplicationId(p_authApplicationId)}
}
}
template (value) CER_MSG m_CER_AppId_acct_Application_Id(
in template (value) Origin_Host_AVP p_originHost,
in template (value) Origin_Realm_AVP p_originRealm,
in Address p_address,
in UInt32 p_acctApplicationId
) modifies m_CER_basic := {
cER_Body := {
origin_Host := p_originHost,
origin_Realm := p_originRealm,
host_IP_Address := {m_hostIPAddress(p_address)},
vendor_Id := m_vendorId(c_vendId3gpp),
product_Name := m_productName("ETSI"),
supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)},
vendor_Specific_Application_Id := {m_vendor_Specific_Acct_Id(p_acctApplicationId)},
acct_Application_Id := {m_acctApplicationId(p_acctApplicationId)}
}
}
} //end group modified_request_templates_send
group modified_request_templates_receive {
template User_Data_AVP mw_user_Data_dummy_RFC := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_user_Data_AVP_Code),
aVP_Data := ?
}
template SIP_Auth_Data_Item_RFC_AVP mw_sIPAuthDataItem_dummy_RFC := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC),
sIP_Authentication_Scheme := mw_sIPAuthenticationScheme_digest_RFC,
sIP_Item_Number := omit,
sIP_Authenticate := omit,
sIP_Authorization := omit,
sIP_Authentication_Info := omit,
aVP_Type := omit
}
template (present) SIP_Auth_Data_Item_RFC_AVP mw_sIPAuthDataItem_RFC(
template (present) SIP_Authentication_Scheme_AVP p_sIP_Authentication_Scheme,
template (present) SIP_Item_Number_AVP p_sIP_Item_Number := ?,
template (present) SIP_Authenticate_AVP p_sIP_Authenticate := ?,
template SIP_Authorization_AVP p_sIP_Authorization := omit
) modifies mw_sIPAuthDataItem_dummy_RFC := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Auth_Data_Item_AVP_Code_RFC),
sIP_Authentication_Scheme := p_sIP_Authentication_Scheme,
sIP_Item_Number := p_sIP_Item_Number,
sIP_Authenticate := p_sIP_Authenticate,
sIP_Authorization := p_sIP_Authorization
}
template SIP_Authentication_Scheme_AVP mw_sIPAuthenticationScheme_digest_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC),
aVP_Data := ?
}
}
template SIP_Authentication_Scheme_AVP mw_sIPAuthenticationScheme_digest_aka_RFC := {
sIP_Authentication_Scheme_RFC_AVP := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Authentication_Scheme_AVP_Code_RFC),
aVP_Data := DIGEST_AKAv1_MD5_E
}
}
template SIP_Number_Auth_Items_AVP mw_sIPNumberAuthItems_RFC (template (present) UInt32 p_avpData := ?) := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Number_Auth_Items_AVP_Code_RFC),
aVP_Data := p_avpData
}
template SIP_Authenticate_RFC_AVP mw_sIPAuthenticate_dummy := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Authenticate_AVP_Code_RFC),
digest_Realm := ?,
digest_Nonce := ?,
digest_Domain := *,
digest_Opaque := *,
digest_Stale := *,
digest_Algorithm := *,
digest_QoP := *,
digest_HA1 := *,
digest_Auth_Param := *,
aVP_Type := *
}
template SIP_Authorization_RFC_AVP mw_sIPAuthorization_dummy_RFC := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_Authorization_AVP_Code_RFC),
digest_Username := ?,
digest_Realm := ?,
digest_Nonce := ?,
digest_URI := ?,
digest_Response := ?,
digest_Algorithm := *,
digest_CNonce := *,
digest_Opaque := *,
digest_QoP := *,
digest_Nonce_Count := *,
digest_Method := *,
digest_Entity_Body_Hash := *,
digest_Auth_Param := *,
aVP_Type := *
}
template SIP_Authenticate_RFC_AVP mw_sIPAuthenticate_digest (
template (present) Digest_Realm_AVP p_digest_Realm := ?,
template (present) Digest_QoP_AVP p_digest_QoP := ?,
template (present) Digest_HA1_AVP p_digest_HA1 := ?
) modifies mw_sIPAuthenticate_dummy := {
digest_Realm := p_digest_Realm,
digest_QoP := p_digest_QoP,
digest_HA1 := p_digest_HA1
}
template (present) SIP_Authenticate_RFC_AVP mw_sIPAuthenticate_digest_aka (
template (present) Digest_Realm_AVP p_digest_Realm := ?,
template (present) Digest_QoP_AVP p_digest_QoP := ?,
template (present) Digest_HA1_AVP p_digest_HA1 := ?
) modifies mw_sIPAuthenticate_digest := {
digest_Opaque := ?
}
template SIP_User_Data_AVP mw_sIP_User_Data_dummy :=
{
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_AVP_Code),
sIP_User_Data_Type := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_Type_AVP_Code),
aVP_Data := ?
},
sIP_User_Data_Contents := {
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_sIP_User_Data_Contents_AVP_Code),
aVP_Data := ?
},
aVP_Type := *
}
template Framed_IP_Address_AVP mw_framed_IP_Address_dummy := {
// Ref: RFC4005 6.11.1 Framed_IP_Address AVP
aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_framed_IP_Address_AVP_Code),
aVP_Data := ?
}
} //end group modified_request_templates_receive
group modified_answer_templates_send {
template (value) CEA_MSG m_CEA_AppId(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm,
Address p_address,
UInt32 p_authApplicationId)
modifies m_CEA_basic := {
cEA_Body := {
result_Code := m_resultCode(m_resultCode_diameterSuccess),
origin_Host := p_originHost,
origin_Realm := p_originRealm,
host_IP_Address := {m_hostIPAddress(p_address)},
vendor_Id := m_vendorId(c_vendId3gpp),
product_Name := m_productName("ETSI "),
supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)},
vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id(p_authApplicationId)},
auth_Application_Id := {m_authApplicationId(p_authApplicationId)}
}
}
template (value) CEA_MSG m_CEA_AppId_all(
template (value) Origin_Host_AVP p_originHost,
template (value) Origin_Realm_AVP p_originRealm,
Address p_address)
modifies m_CEA_basic := {
cEA_Body := {
result_Code := m_resultCode(m_resultCode_diameterSuccess),
origin_Host := p_originHost,
origin_Realm := p_originRealm,
host_IP_Address := {m_hostIPAddress(p_address)},
vendor_Id := m_vendorId(c_vendId3gpp),
product_Name := m_productName("ETSI "),
supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)},
vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id(c_applIdRx),
m_vendor_Specific_Appl_Id(c_applIdGx),
m_vendor_Specific_Appl_Id(c_applId3GPPCxDx),
m_vendor_Specific_Appl_Id(c_applIdRf),
m_vendor_Specific_Appl_Id(c_applIdRo)
//add new if needed
},
auth_Application_Id := {m_authApplicationId(c_applIdRx),
m_authApplicationId(c_applIdGx),
m_authApplicationId(c_applId3GPPCxDx),
m_authApplicationId(c_applIdRf),
m_authApplicationId(c_applIdRo)
//add new if needed
}
}
}
} //end group modified_answer_templates_send
group modified_answer_templates_receive {
} //end group modified_answer_templates_receive
} //end group modified_templates
} //end group MessageTemplates
/** Type convertion functions to reduce warnings due to type mismaches */
group FunctionsForTemplates {
/** @desc Calculates the IP address length in bytes
*/
function f_IPAdressLengthUInt24 ()
return UInt24
{if (PX_IPv6)
{return(16+2) } //+2 address family
else {return(4+2) }
}
/** @desc Calculates the Diameter-Identity length in bytes
*/
function f_getDiameterIdentityAvpLength(in Diameter_Identity p_avpData) return AVP_Length {
return lengthof(p_avpData);
} // End of function f_getDiameterIdentityAvpLength
/** @desc Calculates the UTF8String AVP data length
*/
function f_getUTF8StringLength(in UTF8String p_avpData) return AVP_Length {
return lengthof(p_avpData);
} // End of function f_getUTF8StringLength
/** @desc Calculates the charstring AVP data length
*/
function f_getCharStringLength(in charstring p_avpData) return AVP_Length {
return lengthof(p_avpData);
} // End of function f_getCharStringLength
/** @desc Calculates the octetstring AVP data length
*/
function f_getOctetStringLength(in octetstring p_octetstring) return AVP_Length {
return lengthof(p_octetstring);
} // End of function f_getOctetStringLength
/** @desc Returns the enumerated AVP data length
*/
function f_getEnumLength() return AVP_Length {
return 4;
} // End of function f_getEnumLength
/** @desc Calculates the encoded playload length
*/
function f_getEncvalueLength(in bitstring p_bitstring) return AVP_Length {
return lengthof(p_bitstring) / 8;
} // End of function f_getEncvalueLength
/** @desc Calculates leghth of AVP with padded bytes (padded bytes are added in TA)
*/
function f_addPaddedBytes2Length(integer p_currLength) return integer {
var integer v_currLength;
select(p_currLength mod 4){
case (0) {v_currLength := p_currLength}
case (1) {v_currLength := p_currLength+3}
case (2) {v_currLength := p_currLength+2}
case (3) {v_currLength := p_currLength+1}
}
return v_currLength;
} // End of f_addPaddedBytes2Length
/** @desc Converts DiameterURI to UTF8String
*/
function f_DiameterURI_2_UTF8String(in template DiameterURI p_diameterURI) return UTF8String {
var UTF8String v_utf8String;
var template charstring v_scheme, v_diameterId_FQDN, v_port, v_transport, v_protocol;
var integer v_portField;
var template charstring v_tailString := "";
v_scheme := p_diameterURI.scheme;
v_diameterId_FQDN := p_diameterURI.diameterId_FQDN;
if (ispresent(p_diameterURI.portField))
{
v_portField := valueof (p_diameterURI.portField);
v_port := int2char( v_portField );
v_tailString := ":" & v_port;
}
if (ispresent(p_diameterURI.transport))
{
v_transport := p_diameterURI.transport;
v_tailString := ";transport=" & v_transport;
}
if (ispresent(p_diameterURI.protocol))
{
v_protocol := p_diameterURI.protocol;
v_tailString := ";protocol=" & v_protocol;
}
v_utf8String := valueof(v_scheme) & "://" & valueof(v_diameterId_FQDN) & valueof(v_tailString);
return v_utf8String;
} // End of f_addPaddedBytes2Length
/* Function f_char_to_BCD
* @desc: Returns BCD code in a hexstring converted from
* address digits (p_char) in charstring format
* Filler character '0'H is added where necessary
* End-of-Pulsing charater is added, if p_eop is TRUE
* Works for address lengths starting from 0 (i.e. empty string)
*/
function f_char_to_BCD(in charstring p_char, in boolean p_eop := false) return octetstring {
var integer v_string_length := lengthof(p_char);
var charstring v_address_char := p_char;
var octetstring v_address_oct;
var hexstring v_address_hex_ASCII;
var integer i;
var hexstring v_address_hex_NUM := ''H;
if (p_eop) // End of Pulsing required
{
if (v_string_length mod 2 == 1) // odd number of digits
{
v_address_char := v_address_char & "O"; // instead of "?"
// add End of Pulsing, ASCII code of "O" = '4F'H
v_string_length := v_string_length + 1;
}
else // even number of digits
{
v_address_char := v_address_char & "O0"; // instead of "0?"
// add filler and End of Pulsing, ASCII code of "O" = '4F'H
v_string_length := v_string_length + 2;
}
}
else // End of Pulsing NOT required
{
if (v_string_length mod 2 == 1) // odd number of digits
{
v_address_char := v_address_char & "0";
// add filler
v_string_length := v_string_length + 1;
}
}
v_address_oct := (char2oct(v_address_char));
v_address_hex_ASCII := oct2hex(v_address_oct);
/* Examples
"1234" -> '31323334'H
"12345O" -> '31323334353F' */
// fill hexstring with adequate number of hex digits
for (i := 0; i < v_string_length; i := i + 1)
{
v_address_hex_NUM := v_address_hex_NUM & '0'H;
}
// fill hexstring with address in BCD format
for (i := 0; i < v_string_length; i := i + 2)
{
v_address_hex_NUM[i] := v_address_hex_ASCII[2*i + 3];
v_address_hex_NUM[i+1] := v_address_hex_ASCII[2*i + 1];
}
v_address_oct := hex2oct(v_address_hex_NUM);
return v_address_oct;
} // End function f_char_to_BCD
} // End group FunctionsForTemplates
}//end module LibDiameter_Templates
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
* @author STF 480
* @version $Id$
* @desc This module defines Diameter Cx and Dx AVP types used by LibDiameter constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Adding of new Rx AVP types is ok;
*/
module LibDiameter_Types_CxDx_AVPs {
import from LibCommon_BasicTypesAndValues all;
//import from LibDiameter_TypesAndValues all;
import from LibDiameter_Types_Base_AVPs all;
group AVPCodeConstants {
/**
* ETSI TS 129 229 V10.5.0 (2013-04) Clause 6.3.42 Line-Identifier AVP
*/
const integer c_line_Identifier_AVP_Code := 500;
}
group AVPTypes{
group Enum_AVP_Cx_Dx_Types{
type enumerated User_Authorization_Type_Code{
// Ref: ETSI TS 129 299 6.3.24
REGISTRATION (0),
DE_REGISTRATION (1),
REGISTRATION_AND_CAPABILITIES (2)
// }
// with {
// variant "length=32"
}
type enumerated Srv_Assgmt_Type_Code{
NO_ASSIGNMENT_E (0),
REGISTRATION_E (1),
RE_REGISTRATION_E (2),
UNREGISTERED_USER_E (3),
TIMEOUT_DEREGISTRATION_E (4),
USER_DEREGISTRATION_E (5),
TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME_E (6),
USER_DEREGISTRATION_STORE_SERVER_NAME_E (7),
ADMINISTRATIVE_DEREGISTRATION_E (8),
AUTHENTICATION_FAILURE_E (9),
AUTHENTICATION_TIMEOUT_E (10),
DEREGISTRATION_TOO_MUCH_DATA_E (11),
AAA_USER_DATA_REQUEST (12),
PGW_UPDATE (13)
// }
// with {
// variant "length=32"
}
type enumerated Usr_Dat_Al_Av_Code{
USER_DATA_NOT_AVAILABLE_E (0),
USER_DATA_ALREADY_AVAILABLE_E (1)
// }
// with {
// variant "length=32"
}
type enumerated Multiple_Reg_Id_Code{
NOT_MULTIPLE_REGISTRATION (0),
MULTIPLE_REGISTRATION (1)
// }
// with {
// variant "length=32"
}
type enumerated Loose_Route_Ind_Code{
LOOSE_ROUTE_NOT_REQUIRED (0),
LOOSE_ROUTE_REQUIRED (1)
// }
// with {
// variant "length=32"
}
type enumerated Priviledged_Sender_Ind_Code{
NOT_PRIVILEDGED_SENDER (0),
PRIVILEDGED_SENDER (1)
// }
// with {
// variant "length=32"
}
type enumerated Originating_Request_Code{
ORIGINATING (0)
// }
// with {
// variant "length=32"
}
type enumerated Reason_Code_Type{
PERMANENT_TERMINATION_E (0),
NEW_SERVER_ASSIGNED_E (1),
SERVER_CHANGE_E (2),
REMOVE_S_CSCF_E (3)
// }
// with {
// variant "length=32"
}
}//end group Enum_AVP_Cx_Dx_Types
}//end group AVP_Types
group AVPs{
group TS129_229Cx_Dx_AVPS{
type record Visited_Network_Identifier_AVP{
// Ref: ETSI TS 129 229 6.3.1 Visited-Network-Id AVP
AVP_Header aVP_Header,//<AVP header: 600 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 600);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record UAR_Flags_AVP{
//Ref: ETSI TS 129 229 6.3.44 UAR_Flags_AVP
AVP_Header aVP_Header,//<AVP header: 637 ....>
UInt32 aVP_Data
// }
// with {
// variant "present=bytes(4, 637);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record User_Authorization_Type_AVP{
//Ref: ETSI TS 129 229 6.3.24 User_Authorization_Type AVP
AVP_Header aVP_Header,//<AVP header: 623 ....>
User_Authorization_Type_Code aVP_Data
// }
// with {
// variant "present=bytes(4, 520);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Wildcarded_Public_Identity_AVP{
//Ref: ETSI TS 129 229 6.3.35 Wildcarded_Public_Identity AVP
AVP_Header aVP_Header,//<AVP header: 634 ....>
UTF8String aVP_Data
// }
// with {
// variant "present=bytes(4, 634);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Server_Assignment_Type_AVP{
//Ref: ETSI TS 129 229 6.3.15 Server-Assignment-Type AVP
AVP_Header aVP_Header,//<AVP header: 614 ....>
Srv_Assgmt_Type_Code aVP_Data
// }
// with {
// variant "present=bytes(4, 614);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record User_Data_Already_Available_AVP{
//Ref: ETSI TS 129 229 6.3.26 User_Data_Already_Available AVP
AVP_Header aVP_Header,//<AVP header: 624 ....>
Usr_Dat_Al_Av_Code aVP_Data
// }
// with {
// variant "present=bytes(4,624);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record SCSCF_Restoration_Info_AVP{
//Ref: ETSI TS 129 229 6.3.46 SCSCF_Restoration_Info AVP
AVP_Header aVP_Header,// < AVP Header: 639 >
set length (1..infinity) of Restoration_Info_AVP restoration_Info,
SIP_Authentication_Scheme_AVP sIP_Authentication_Scheme,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 639);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
type record Restoration_Info_AVP{
//Ref: ETSI TS 129 229 6.3.52 Restoration_Info AVP
AVP_Header aVP_Header,// < AVP Header: 649 >
Path_AVP path,
Contact_AVP contact,
Subscription_Info_AVP subscription_Info optional,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 649);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
type record Path_AVP{
// Ref: ETSI TS 129 229 6.3.47 Path AVP
AVP_Header aVP_Header,//<AVP header: 640 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 640);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Subscription_Info_AVP{
//Ref: ETSI TS 129 229 6.3.49 Subscription_Info AVP
AVP_Header aVP_Header,// < AVP Header: 642 >
Call_ID_SIP_Header_AVP call_ID_SIP_Header,
From_SIP_Header_AVP from_SIP_Header,
To_SIP_Header_AVP to_SIP_Header,
Record_Route_AVP record_Route,
Contact_AVP contact,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 642);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
type record Contact_AVP{
// Ref: ETSI TS 129 229 6.3.48 Contact AVP
AVP_Header aVP_Header,//<AVP header: 641 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 641);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Call_ID_SIP_Header_AVP{
// Ref: ETSI TS 129 229 6.3.49.1 Call_ID_SIP_Header AVP
AVP_Header aVP_Header,//<AVP header: 643 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 643);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record From_SIP_Header_AVP{
// Ref: ETSI TS 129 229 6.3.49.2 From_SIP_Header AVP
AVP_Header aVP_Header,//<AVP header: 644 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 644);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record To_SIP_Header_AVP{
// Ref: ETSI TS 129 229 6.3.49.3 To_SIP_Header AVP
AVP_Header aVP_Header,//<AVP header: 645 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 645);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Record_Route_AVP{
// Ref: ETSI TS 129 229 6.3.49.4 Record_Route AVP
AVP_Header aVP_Header,//<AVP header: 646 ....>
octetstring aVP_Data
// }
// with {
// variant "present=bytes(4, 646);use=com.testingtech.ttcn.tci.codec.CodecHelper;"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Multiple_Registration_Indication_AVP{
//Ref: ETSI TS 129 229 6.3.51 Multiple_Registration_Indication AVP
AVP_Header aVP_Header,//<AVP header: 648 ....>
Multiple_Reg_Id_Code aVP_Data
// }
// with {
// variant "present=bytes(4,648);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Associated_Identities_AVP{
//Ref: ETSI TS 129 229 6.3.33 Subscription_Info AVP
AVP_Header aVP_Header,// < AVP Header: 632 >
User_Name_AVP user_Name optional,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 632);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
type record Associated_Registered_Identities_AVP{
//Ref: ETSI TS 129 229 6.3.50 Subscription_Info AVP
AVP_Header aVP_Header,// < AVP Header: 647 >
User_Name_AVP user_Name optional,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 647);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
type record Loose_Route_Indication_AVP{
//Ref: ETSI TS 129 229 6.3.45 Multiple_Registration_Indication AVP
AVP_Header aVP_Header,//<AVP header: 638 ....>
Loose_Route_Ind_Code aVP_Data
// }
// with {
// variant "present=bytes(4,638);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Priviledged_Sender_Indication_AVP{
//Ref: ETSI TS 129 229 6.3.58 Multiple_Registration_Indication AVP
AVP_Header aVP_Header,//<AVP header: 652 ....>
Priviledged_Sender_Ind_Code aVP_Data
// }
// with {
// variant "present=bytes(4,652);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Originating_Request_AVP{
//Ref: ETSI TS 129 229 6.3.58 Multiple_Registration_Indication AVP
AVP_Header aVP_Header,//<AVP header: 652 ....>
Originating_Request_Code aVP_Data
// }
// with {
// variant "present=bytes(4,652);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Deregistration_Reason_AVP{
//Ref: ETSI TS 129 229 6.3.16 Deregistration_Reason AVP
AVP_Header aVP_Header,//SIP-Deregistration-Reason ::= < AVP Header: 615 >
Reason_Code_AVP reason_Code,//requi.
Reason_Info_AVP reason_Info optional,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 615);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
type record Reason_Code_AVP{
//Ref: ETSI TS 129 229 6.3.17 Reason_Code AVP
AVP_Header aVP_Header,//<AVP header: 616 ....>
Reason_Code_Type aVP_Data
// }
// with {
// variant "present=bytes(4, 616);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Reason_Info_AVP{
//Ref: ETSI TS 129 229 6.3.18 Reason_Info AVP
AVP_Header aVP_Header,//<AVP header: 617 ....>
UTF8String aVP_Data
// }
// with {
// variant "present=bytes(4, 617);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
}
type record Identity_with_Emergency_Registration_AVP{
//Ref: ETSI TS 129 229 6.3.57 Identity_with_Emergency_Registration AVP
AVP_Header aVP_Header,//SIP-Deregistration-Reason ::= < AVP Header: 651 >
User_Name_AVP user_Name,
Public_Identity_AVP public_Identity,
set of AVP_Type aVP_Type optional
// }
// with {
// variant "present=bytes(4, 651);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
}
}//end of group TS129_229Cx_Dx_AVPs
}//end group AVPs
} with {
encode "DIAMETERCodec"; variant "";
} //end module LibDiameter_Types_Cx_Dx_AVPs
\ No newline at end of file
/**
* @author STF 466
* @version $Id$
* @desc This module defines Diameter Gx and Gxx AVP types used by LibDiameter constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Adding of new Gx and Gxx AVP types is ok;
*/
module LibDiameter_Types_Gx_AVPs {
import from LibCommon_BasicTypesAndValues all;
//import from LibDiameter_TypesAndValues all;
import from LibDiameter_Types_Base_AVPs all;
//import from LibDiameter_Types_Rx_AVPs all;
//mport from LibDiameter_Types_RfRo_AVPs all;
group AVPTypes{
group AVP_Gx_Types{
type enumerated IP_CAN_Type{
// Ref: ETSI TS 129 212 5.3.27
ThreeGPP_GPRS_E (0),
DOCSIS_E (1),
XDSL_E (2),
WIMAX_E (3),
ThreeGPP2_E (4),
ThreeGPP_EPS_E (5),
NON_3GPP_EPS_E (6)
}
// with {
// variant "length=32"
// }
type enumerated Bearer_Control_Mode{
// Ref: ETSI TS 129 212 5.3.23
UE_ONLY_E (0),
RESERVED_E (1),
UE_NW_E (2)
}
// with {
// variant "length=32"
// }
type enumerated Bearer_Operation{
// Ref: ETSI TS 129 212 5.3.21
TERMINATION_E (0),
ESTABLISHMENT_E (1),
MODIFICATION_E (2)
}
// with {
// variant "length=32"
// }
type enumerated Bearer_Usage{
// Ref: ETSI TS 129 212 5.3.1
GENERAL_E (0),
IMS_SIGNALLING_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Charging_Correlation_Indicator{
// Ref: ETSI TS 129 212 5.3.67
CHARGING_IDENTIFIER_REQUIRED_E (0)
}
// with {
// variant "length=32"
// }
type enumerated CSG_Information_Reporting{
// Ref: ETSI TS 129 212 5.3.64
CHANGE_CSG_CELL_E (0),
CHANGE_CSG_SUBSCRIBED_HYBRID_CELL_E (1),
CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL_E (2)
}
// with {
// variant "length=32"
// }
type enumerated Event_Trigger{
// Ref: ETSI TS 129 212 5.3.7
SGSN_CHANGE_E (0),
QOS_CHANGE_E (1),
RAT_CHANGE_E (2),
TFT_CHANGE_E (3),
PLMN_CHANGE_E (4),
LOSS_OF_BEARER_E (5),
RECOVERY_OF_BEARER_E (6),
IP_CAN_CHANGE_E (7),
QOS_CHANGE_EXCEEDING_AUTHORIZATION_E (11),
RAI_CHANGE_E (12),
USER_LOCATION_CHANGE_E (13),
NO_EVENT_TRIGGERS_E (14),
OUT_OF_CREDIT_E (15),
REALLOCATION_OF_CREDIT_E (16),
REVALIDATION_TIMEOUT_E (17),
UE_IP_ADDRESS_ALLOCATE_E (18),
UE_IP_ADDRESS_RELEASE_E (19),
DEFAULT_EPS_BEARER_QOS_CHANGE_E (20),
AN_GW_CHANGE_E (21),
SUCCESSFUL_RESOURCE_ALLOCATION_E (22),
RESOURCE_MODIFICATION_REQUEST_E (23),
PGW_TRACE_CONTROL_E (24),
UE_TIME_ZONE_CHANGE_E (25),
TAI_CHANGE_E (26),
ECGI_CHANGE_E (27),
CHARGING_CORRELATION_EXCHANGE_E (28),
APN_AMBR_MODIFICATION_FAILURE_E (29),
USER_CSG_INFORMATION_CHANGE_E (30),
USAGE_REPORT_E (33),
DEFAULT_EPS_BEARER_QOS_MODIFICATION_FAILURE_E (34),
USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE_E (35),
USER_CSG_HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE_E (36),
ROUTING_RULE_CHANGE_E (37),
MAX_MBR_APN_AMBR_CHANGE_E (38)
}
// with {
// variant "length=32"
// }
type enumerated Flow_Direction{
// Ref: ETSI TS 129 212 5.3.65
UNSPECIFIED_E (0),
DOWNLINK_E (1),
UPLINK_E (2),
BIDIRECTIONAL_E (3)
}
// with {
// variant "length=32"
// }
type enumerated Metering_Method{
// Ref: ETSI TS 129 212 5.3.8
DURATION_E (0),
VOLUME_E (1),
DURATION_VOLUME_E (2)
}
// with {
// variant "length=32"
// }
type enumerated Network_Request_Support{
// Ref: ETSI TS 129 212 5.3.24
NETWORK_REQUEST_NOT_SUPPORTED_E (0),
NETWORK_REQUEST_SUPPORTED_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Offline{
// Ref: ETSI TS 129 212 5.3.9
DISABLE_OFFLINE_E (0),
ENABLE_OFFLINE_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Online{
// Ref: ETSI TS 129 212 5.3.10
DISABLE_ONLINE_E (0),
ENABLE_ONLINE_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Packet_Filter_Operation{
// Ref: ETSI TS 129 212 5.3.57
DELETION_E (0),
ADDITION_E (1),
MODIFICATION_E (2)
}
// with {
// variant "length=32"
// }
type enumerated Packet_Filter_Usage{
// Ref: ETSI TS 129 212 5.3.66
SEND_TO_UE_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Reporting_Level{
// Ref: ETSI TS 129 212 5.3.12
SERVICE_IDENTIFIER_LEVEL_E (0),
RATING_GROUP_LEVEL_E (1),
SPONSORED_CONNECTIVITY_LEVEL_E (2)
}
// with {
// variant "length=32"
// }
type enumerated PCC_Rule_Status{
// Ref: ETSI TS 129 212 5.3.19
ACTIVE_E (0),
INACTIVE_E (1),
TEMPORARILY_INACTIVE_E (2)
}
type enumerated Session_Release_Cause{
// Ref: ETSI TS 129 212 5.3.44
UNSPECIFIED_REASON_E (0),
UE_SUBSCRIPTION_REASON_E (1),
INSUFFICIENT_SERVER_RESOURCES_E (2)
}
// with {
// variant "length=32"
// }
type enumerated QoS_Negotiation{
// Ref: ETSI TS 129 212 5.3.28
NO_QoS_NEGOTIATION_E (0),
QoS_NEGOTIATION_SUPPORTED_E (1)
}
// with {
// variant "length=32"
// }
type enumerated QoS_Upgrade{
// Ref: ETSI TS 129 212 5.3.29
QoS_UPGRADE_NOT_SUPPORTED_E (0),
QoS_UPGRADE_SUPPORTED_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Resource_Allocation_Notification{
// Ref: ETSI TS 129 212 5.3.50
ENABLE_NOTIFICATION_E (0)
}
// with {
// variant "length=32"
// }
type enumerated Rule_Failure_Code{
// Ref: ETSI TS 129 212 5.3.38
UNKNOWN_RULE_NAME_E (1),
RATING_GROUP_ERROR_E (2),
SERVICE_IDENTIFIER_ERROR_E (3),
GW_PCEF_MALFUNCTION_E (4),
RESOURCES_LIMITATION_E (5),
MAX_NR_BEARERS_REACHED_E (6),
UNKNOWN_BEARER_ID_E (7),
MISSING_BEARER_ID_E (8),
MISSING_FLOW_INFORMATION_E (9),
RESOURCE_ALLOCATION_FAILURE_E (10),
UNSUCCESSFUL_QOS_VALIDATION_E (11),
INCORRECT_FLOW_INFORMATION_E (12),
PS_TO_CS_HANDOVER_E (13),
NO_BEARER_BOUND_E (15)
}
type enumerated Usage_Monitoring_Level{
// Ref: ETSI TS 129 212 5.3.61
SESSION_LEVEL_E (0),
PCC_RULE_LEVEL_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Usage_Monitoring_Report{
// Ref: ETSI TS 129 212 5.3.62
USAGE_MONITORING_REPORT_REQUIRED_E (0)
}
// with {
// variant "length=32"
// }
type enumerated Usage_Monitoring_Support{
// Ref: ETSI TS 129 212 5.3.63
USAGE_MONITORING_DISABLED_E (0)
}
// with {
// variant "length=32"
// }
}//end group AVP_Gx_Types
}//end group AVP_Types
group AVPs{
group TS129_212Gx_AVPs{
type record IP_CAN_Type_AVP{
//Ref: ETSI TS 129 212 IP CAN Type AVP
AVP_Header aVP_Header,//<AVP header: 1027 ....>
IP_CAN_Type aVP_Data
}
// with {
// variant "present=bytes(4, 1027);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Bearer_Control_Mode_AVP{
//Ref: ETSI TS 129 212 Bearer_Control_Mode_AVP
AVP_Header aVP_Header,//<AVP header: 1023 ....>
Bearer_Control_Mode aVP_Data
}
// with {
// variant "present=bytes(4, 1023);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Bearer_Operation_AVP{
//Ref: ETSI TS 129 212 Bearer_Operation_AVP
AVP_Header aVP_Header,//<AVP header: 1021 ....>
Bearer_Operation aVP_Data
}
// with {
// variant "present=bytes(4, 1021);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Bearer_Usage_AVP{
//Ref: ETSI TS 129 212 Bearer_Usage_AVP
AVP_Header aVP_Header,//<AVP header: 1000 ....>
Bearer_Usage aVP_Data
}
// with {
// variant "present=bytes(4, 1000);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Charging_Correlation_Indicator_AVP{
//Ref: ETSI TS 129 212 Charging_Correlation_Indicator_AVP
AVP_Header aVP_Header,//<AVP header: 1073 ....>
Charging_Correlation_Indicator aVP_Data
}
// with {
// variant "present=bytes(4, 1073);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record CSG_Information_Reporting_AVP{
//Ref: ETSI TS 129 212 CSG_Information_Reporting_AVP
AVP_Header aVP_Header,//<AVP header: 1071 ....>
CSG_Information_Reporting aVP_Data
}
// with {
// variant "present=bytes(4, 1071);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Event_Trigger_AVP{
//Ref: ETSI TS 129 212 Event_Trigger_AVP
AVP_Header aVP_Header,//<AVP header: 1006 ....>
Event_Trigger aVP_Data
}
// with {
// variant "present=bytes(4, 1006);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Flow_Direction_AVP{
//Ref: ETSI TS 129 212 Flow_Direction_AVP
AVP_Header aVP_Header,//<AVP header: 1080 ....>
Flow_Direction aVP_Data
}
// with {
// variant "present=bytes(4, 1080);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Metering_Method_AVP{
//Ref: ETSI TS 129 212 Metering_Method_AVP
AVP_Header aVP_Header,//<AVP header: 1007 ....>
Metering_Method aVP_Data
}
// with {
// variant "present=bytes(4, 1007);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Network_Request_Support_AVP{
//Ref: ETSI TS 129 212 Network_Request_Support_AVP
AVP_Header aVP_Header,//<AVP header: 1024 ....>
Network_Request_Support aVP_Data
}
// with {
// variant "present=bytes(4, 1024);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Offline_AVP{
//Ref: ETSI TS 129 212 Offlinet_AVP
AVP_Header aVP_Header,//<AVP header: 1008 ....>
Offline aVP_Data
}
// with {
// variant "present=bytes(4, 1008);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Online_AVP{
//Ref: ETSI TS 129 212 Online_AVP
AVP_Header aVP_Header,//<AVP header: 1009 ....>
Online aVP_Data
}
// with {
// variant "present=bytes(4, 1009);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Packet_Filter_Operation_AVP{
//Ref: ETSI TS 129 212 Packet_Filter_Operation_AVP
AVP_Header aVP_Header,//<AVP header: 1062 ....>
Packet_Filter_Operation aVP_Data
}
// with {
// variant "present=bytes(4, 1062);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Packet_Filter_Usage_AVP{
//Ref: ETSI TS 129 212 Packet_Filter_Usage_AVP
AVP_Header aVP_Header,//<AVP header: 1072 ....>
Packet_Filter_Usage aVP_Data
}
// with {
// variant "present=bytes(4, 1072);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
//Ref: ETSI TS 129 212 Reporting_Levele_AVP
type record Reporting_Level_AVP{
AVP_Header aVP_Header,//<AVP header: 1011 ....>
Reporting_Level aVP_Data
}
// with {
// variant "present=bytes(4, 1011);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record PCC_Rule_Status_AVP{
//Ref: ETSI TS 129 212 PCC_Rule_Status_AVP
AVP_Header aVP_Header,//<AVP header: 1019 ....>
PCC_Rule_Status aVP_Data
}
type record Session_Release_Cause_AVP{
//Ref: ETSI TS 129 212 Session_Release_Cause_AVP
AVP_Header aVP_Header,//<AVP header: 1045 ....>
Session_Release_Cause aVP_Data
}
// with {
// variant "present=bytes(4, 1045);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record QoS_Negotiation_AVP{
//Ref: ETSI TS 129 212 QoS_Negotiation_AVP
AVP_Header aVP_Header,//<AVP header: 1029 ....>
QoS_Negotiation aVP_Data
}
// with {
// variant "present=bytes(4, 1029);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record QoS_Upgrade_AVP{
//Ref: ETSI TS 129 212 QoS_Upgrade_AVP
AVP_Header aVP_Header,//<AVP header: 1030 ....>
QoS_Upgrade aVP_Data
}
// with {
// variant "present=bytes(4, 1030);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Resource_Allocation_Notification_AVP{
//Ref: ETSI TS 129 212 Resource_Allocation_Notification_AVP
AVP_Header aVP_Header,//<AVP header: 1063 ....>
Resource_Allocation_Notification aVP_Data
}
// with {
// variant "present=bytes(4, 1063);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Rule_Failure_Code_AVP{
//Ref: ETSI TS 129 212 Rule_Failure_Code_AVP
AVP_Header aVP_Header,//<AVP header: 1031 ....>
Rule_Failure_Code aVP_Data
}
type record Usage_Monitoring_Level_AVP{
//Ref: ETSI TS 129 212 Usage_Monitoring_Level_AVP
AVP_Header aVP_Header,//<AVP header: 1068 ....>
Usage_Monitoring_Level aVP_Data
}
// with {
// variant "present=bytes(4, 1068);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Usage_Monitoring_Report_AVP{
//Ref: ETSI TS 129 212 Usage_Monitoring_Report_AVP
AVP_Header aVP_Header,//<AVP header: 1069 ....>
Usage_Monitoring_Report aVP_Data
}
// with {
// variant "present=bytes(4, 1069);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Usage_Monitoring_Support_AVP{
//Ref: ETSI TS 129 212 Usage_Monitoring_Support_AVP
AVP_Header aVP_Header,//<AVP header: 1070 ....>
Usage_Monitoring_Support aVP_Data
}
// with {
// variant "present=bytes(4, 1070);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Charging_Rule_Name_AVP{
//Ref: ETSI TS 129 212 Charging_Rule_Name_AVP
AVP_Header aVP_Header,//<AVP header: 1005 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1005);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Flow_Label_AVP{
//Ref: ETSI TS 129 212 Flow_Label_AVP
AVP_Header aVP_Header,//<AVP header: 1057 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1057);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Monitoring_Key_AVP{
//Ref: ETSI TS 129 212 Monitoring_Key_AVP
AVP_Header aVP_Header,//<AVP header: 1066 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1066);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Packet_Filter_Identifier_AVP{
//Ref: ETSI TS 129 212 Packet_Filter_Identifier_AVP
AVP_Header aVP_Header,//<AVP header: 1060 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1060);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record PDN_Connection_ID_AVP{
//Ref: ETSI TS 129 212 PDN_Connection_ID_AVP
AVP_Header aVP_Header,//<AVP header: 1065 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1065);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Routing_Rule_Identifier_AVP{
//Ref: ETSI TS 129 212 Routing_Rule_Identifier_AVP
AVP_Header aVP_Header,//<AVP header: 1077 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1077);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Security_Parameter_Index_AVP{
//Ref: ETSI TS 129 212 Security_Parameter_Index_AVP
AVP_Header aVP_Header,//<AVP header: 1056 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1056);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record ToS_Traffic_Class_AVP{
//Ref: ETSI TS 129 212 ToS_Traffic_Class_AVP
AVP_Header aVP_Header,//<AVP header: 1014 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 1014);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Max_Supported_Bandwidth_DL_AVP{
//Ref: ETSI TS 129 212 Max_Supported_Bandwidth_DL_AVP
AVP_Header aVP_Header,//<AVP header: 1083 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 1083);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Max_Supported_Bandwidth_UL_AVP{
//Ref: ETSI TS 129 212 Max_Supported_Bandwidth_UL_AVP
AVP_Header aVP_Header,//<AVP header: 1084 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 1084);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Precedence_AVP{
//Ref: ETSI TS 129 212 Precedence_AVP
AVP_Header aVP_Header,//<AVP header: 1010 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 1010);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Tunnel_Header_Length_AVP{
//Ref: ETSI TS 129 212 Tunnel_Header_Length_AVP
AVP_Header aVP_Header,//<AVP header: 1037 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 1037);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record AN_GW_Address_AVP{
//Ref: ETSI TS 129 212 AN_GW_Address_AVP
AVP_Header aVP_Header,//<AVP header: 1050 ....>
Address aVP_Data
}
// with {
// variant "present=bytes(4, 1050);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record CoA_IP_Address_AVP{
//Ref: ETSI TS 129 212 CoA_IP_Address_AVP
AVP_Header aVP_Header,//<AVP header: 1035 ....>
Address aVP_Data
}
// with {
// variant "present=bytes(4, 1035);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Routing_IP_Address_AVP{
//Ref: ETSI TS 129 212 Routing_IP_Address_AVP
AVP_Header aVP_Header,//<AVP header: 1079 ....>
Address aVP_Data
}
// with {
// variant "present=bytes(4, 1079);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Packet_Filter_Content_AVP{
//Ref: ETSI TS 129 212 Packet_Filter_Content_AVP
AVP_Header aVP_Header,//<AVP header: 1059 ....>
IPFilterRule_Type aVP_Data
}
// with {
// variant "present=bytes(4, 1059);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record TFT_Filter_AVP{
//Ref: ETSI TS 129 212 TFT_Filter_AVP
AVP_Header aVP_Header,//<AVP header: 1012 ....>
IPFilterRule_Type aVP_Data
}
// with {
// variant "present=bytes(4, 1012);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Tunnel_Header_Filter_AVP{
//Ref: ETSI TS 129 212 Tunnel_Header_Filter_AVP
AVP_Header aVP_Header,//<AVP header: 1036 ....>
IPFilterRule_Type aVP_Data
}
// with {
// variant "present=bytes(4, 1036);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Revalidation_Time_AVP{
//Ref: ETSI TS 129 212 Revalidation_Time_AVP
AVP_Header aVP_Header,//<AVP header: 1042 ....>
Time aVP_Data
}
// with {
// variant "present=bytes(4, 1042);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Rule_Activation_Time_AVP{
//Ref: ETSI TS 129 212 Rule_Activation_Time_AVP
AVP_Header aVP_Header,//<AVP header: 1043 ....>
Time aVP_Data
}
// with {
// variant "present=bytes(4, 1043);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Rule_DeActivation_Time_AVP{
//Ref: ETSI TS 129 212 Rule_DeActivation_Time_AVP
AVP_Header aVP_Header,//<AVP header: 1044 ....>
Time aVP_Data
}
// with {
// variant "present=bytes(4, 1044);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Access_Network_Charging_Identifier_Gx_AVP{
//Ref: ETSI TS 129 212 Access_Network_Charging_Identifier_Gx_AVP
AVP_Header aVP_Header, //<AVP header: 1022 ....>
Access_Network_Charging_Identifier_Value_AVP acc_Net_Charging_Id_Val,
set of Charging_Rule_Base_Name_AVP charging_Rule_Base_Name optional,
set of Charging_Rule_Name_AVP charging_Rule_Name optional
}
// with {
// variant "present=bytes(4, 1022);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (charging_Rule_Base_Name) "fieldPresent=bytes(4, 1004)&&CodecHelper.isAvailable()"
// variant (charging_Rule_Name) "fieldPresent=bytes(4, 1005)&&CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Charging_Rule_Install_AVP{
//Ref: ETSI TS 129 212 Charging_Rule_Install_AVP
AVP_Header aVP_Header, //<AVP header: 1001 ....>
set of Charging_Rule_Definition_AVP charging_Rule_Definition optional,
set of Charging_Rule_Name_AVP charging_Rule_Name optional,
set of Charging_Rule_Base_Name_AVP charging_Rule_Base_Name optional,
Bearer_Identifier_AVP bearer_Identifier optional,
Rule_Activation_Time_AVP rule_Activation_Time optional,
Rule_DeActivation_Time_AVP rule_DeActivation_Time optional,
Resource_Allocation_Notification_AVP resource_Allocation_Notification optional,
Charging_Correlation_Indicator_AVP charging_Correlation_Indicator optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1001);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (charging_Rule_Definition) "fieldPresent=bytes(4, 1003)&&CodecHelper.isAvailable()"
// variant (charging_Rule_Name) "fieldPresent=bytes(4, 1005)&&CodecHelper.isAvailable()"
// variant (charging_Rule_Base_Name) "fieldPresent=bytes(4, 1004)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Charging_Rule_Remove_AVP{
//Ref: ETSI TS 129 212 Charging_Rule_Install_AVP
AVP_Header aVP_Header, //<AVP header: 1002 ....>
set of Charging_Rule_Name_AVP charging_Rule_Name optional,
set of Charging_Rule_Base_Name_AVP charging_Rule_Base_Name optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1002);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (charging_Rule_Name) "fieldPresent=bytes(4, 1005)&&CodecHelper.isAvailable()"
// variant (charging_Rule_Base_Name) "fieldPresent=bytes(4, 1004)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Charging_Rule_Definition_AVP{
//Ref: ETSI TS 129 212 Charging_Rule_Definition_AVP
AVP_Header aVP_Header, //<AVP header: 1003 ....>
Charging_Rule_Name_AVP charging_Rule_Name,
Service_Identifier_AVP service_Identifier optional,
Rating_Group_AVP rating_Group optional,
set of Flow_Information_AVP flow_Information optional,
Flow_Status_AVP flow_Status optional,
QoS_Information_AVP qoS_Information optional,
Reporting_Level_AVP reporting_Level optional,
Online_AVP online optional,
Offline_AVP offline optional,
Metering_Method_AVP metering_Method optional,
Precedence_AVP precedence optional,
AF_Charging_Identifier_AVP aF_Charging_Identifier optional,
set of Flows_AVP flows optional,
Monitoring_Key_AVP monitoring_Key optional,
AF_Signalling_Protocol_AVP aF_Signalling_Protocol optional,
Sponsor_Identity_AVP sponsor_Identity optional,
Application_Service_Provider_Identity_AVP application_Service_Provider_Identity optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1003);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (flow_Information) "fieldPresent=bytes(4, 1058)&&CodecHelper.isAvailable()"
// variant (flows) "fieldPresent=bytes(4, 510)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Charging_Rule_Report_AVP{
//Ref: ETSI TS 129 212 Charging_Rule_Report_AVP
AVP_Header aVP_Header, //<AVP header: 1018 ....>
set of Charging_Rule_Name_AVP charging_Rule_Name optional,
set of Charging_Rule_Base_Name_AVP charging_Rule_Base_Name optional,
Bearer_Identifier_AVP bearer_Identifier optional,
PCC_Rule_Status_AVP pCC_Rule_Status optional,
Rule_Failure_Code_AVP rule_Failure_Code optional,
Final_Unit_Indication_AVP final_Unit_Indication optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1018);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (charging_Rule_Name) "fieldPresent=bytes(4, 1005)&&CodecHelper.isAvailable()"
// variant (charging_Rule_Base_Name) "fieldPresent=bytes(4, 1004)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Flow_Information_AVP{
//Ref: ETSI TS 129 212 Flow_Information_AVP
AVP_Header aVP_Header, //<AVP header: 1058 ....>
Flow_Description_AVP flow_Description optional,
Packet_Filter_Identifier_AVP packet_Filter_Identifier optional,
Packet_Filter_Usage_AVP packet_Filter_Usage optional,
ToS_Traffic_Class_AVP toS_Traffic_Class optional,
Security_Parameter_Index_AVP security_Parameter_Index optional,
Flow_Label_AVP flow_Label optional,
Flow_Direction_AVP flow_Direction optional,
set of AVP_Type aVP_Type optional
}
type record CoA_Information_AVP{
//Ref: ETSI TS 129 212 CoA_Information_AVP
AVP_Header aVP_Header, //<AVP header: 1039 ....>
Tunnel_Information_AVP tunnel_Information,
CoA_IP_Address_AVP coA_IP_Address,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1039);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Default_EPS_Bearer_QoS_AVP{
//Ref: ETSI TS 129 212 Default_EPS_Bearer_QoS_AVP
AVP_Header aVP_Header, //<AVP header: 1049 ....>
QoS_Class_Identifier_AVP qoS_Class_Identifier optional,
Allocation_Retention_Priority_AVP allocation_Retention_Priority optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1049);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Event_Report_Indication_AVP{
//Ref: ETSI TS 129 212 Event_Report_Indication_AVP
AVP_Header aVP_Header, //<AVP header: 1033 ....>
set of Event_Trigger_AVP event_Trigger optional,
User_CSG_Information_AVP user_CSG_Information optional,
RAT_Type_AVP rAT_Type optional,
QoS_Information_AVP qoS_Information optional,
RAI_AVP rAI optional,
ThreeGPP_User_Location_Info_AVP threeGPP_User_Location_Info optional,
Trace_Data_AVP trace_Data optional,
Trace_Reference_AVP trace_Reference optional,
ThreeGPP2_BSID_AVP threeGPP2_BSID optional,
ThreeGPP_MS_TimeZone_AVP threeGPP_MS_TimeZone optional,
ThreeGPP_SGSN_Address_AVP threeGPP_SGSN_Address optional,
ThreeGPP_SGSN_IPv6_Address_AVP threeGPP_SGSN_IPv6_Address optional,
Routing_IP_Address_AVP routing_IP_Address optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1033);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (event_Trigger) "fieldPresent=bytes(4, 1006)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Maximum_Bandwidth_AVP{
//Ref: ETSI TS 129 212 Maximum_Bandwidth_AVP
AVP_Header aVP_Header, //<AVP header: 1082 ....>
Max_Supported_Bandwidth_UL_AVP max_Supported_Bandwidth_UL optional,
Max_Supported_Bandwidth_DL_AVP max_Supported_Bandwidth_DL optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1082);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Packet_Filter_Information_AVP{
//Ref: ETSI TS 129 212 Packet_Filter_Information_AVP
AVP_Header aVP_Header, //<AVP header: 1061 ....>
Packet_Filter_Identifier_AVP packet_Filter_Identifier optional,
Precedence_AVP precedence optional,
Packet_Filter_Content_AVP packet_Filter_Content optional,
ToS_Traffic_Class_AVP toS_Traffic_Class optional,
Security_Parameter_Index_AVP security_Parameter_Index optional,
Flow_Label_AVP flow_Label optional,
Flow_Direction_AVP flow_Direction optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1061);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Routing_Filter_AVP{
//Ref: ETSI TS 129 212 Routing_Filter_AVP
AVP_Header aVP_Header, //<AVP header: 1078 ....>
Flow_Description_AVP flow_Description,
Flow_Direction_AVP flow_Direction,
ToS_Traffic_Class_AVP toS_Traffic_Class optional,
Security_Parameter_Index_AVP security_Parameter_Index optional,
Flow_Label_AVP flow_Label optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1078);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Routing_Rule_Definition_AVP{
//Ref: ETSI TS 129 212 Routing_Rule_Definition_AVP
AVP_Header aVP_Header, //<AVP header: 1076 ....>
Routing_Rule_Identifier_AVP routing_Rule_Identifier,
set of Routing_Filter_AVP routing_Filter optional,
Precedence_AVP precedence optional,
Routing_IP_Address_AVP routing_IP_Address optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1076);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (routing_Filter) "fieldPresent=bytes(4, 1078)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Routing_Rule_Install_AVP{
//Ref: ETSI TS 129 212 Routing_Rule_Install_AVP
AVP_Header aVP_Header, //<AVP header: 1081 ....>
set of Routing_Rule_Definition_AVP routing_Rule_Definition optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1081);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (routing_Rule_Definition) "fieldPresent=bytes(4, 1076)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Routing_Rule_Remove_AVP{
//Ref: ETSI TS 129 212 Routing_Rule_Remove_AVP
AVP_Header aVP_Header, //<AVP header: 1075 ....>
set of Routing_Rule_Identifier_AVP routing_Rule_Identifier optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1075);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (routing_Rule_Identifier) "fieldPresent=bytes(4, 1077)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record TFT_Packet_Filter_Information_AVP{
//Ref: ETSI TS 129 212 TFT_Packet_Filter_Information_AVP
AVP_Header aVP_Header, //<AVP header: 1013 ....>
Precedence_AVP precedence optional,
TFT_Filter_AVP tFT_Filter optional,
ToS_Traffic_Class_AVP toS_Traffic_Class optional,
Security_Parameter_Index_AVP security_Parameter_Index optional,
Flow_Label_AVP flow_Label optional,
Flow_Direction_AVP flow_Direction optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1013);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Tunnel_Information_AVP{
//Ref: ETSI TS 129 212 Tunnel_Information_AVP
AVP_Header aVP_Header, //<AVP header: 1038 ....>
Tunnel_Header_Length_AVP tunnel_Header_Length optional,
record length (0..2) of Tunnel_Header_Filter_AVP tunnel_Header_Filter optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1038);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (tunnel_Header_Filter) "fieldPresent=bytes(4, 1036)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Usage_Monitoring_Information_AVP{
//Ref: ETSI TS 129 212 Usage_Monitoring_Information_AVP
AVP_Header aVP_Header, //<AVP header: 1067 ....>
Monitoring_Key_AVP monitoring_Key optional,
Granted_Service_Unit_AVP granted_Service_Unit optional,
Used_Service_Unit_AVP used_Service_Unit optional,
Usage_Monitoring_Level_AVP usage_Monitoring_Level optional,
Usage_Monitoring_Report_AVP usage_Monitoring_Report optional,
Usage_Monitoring_Support_AVP usage_Monitoring_Support optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 1067);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
}//end of group TS129_212Gx_AVPs
}//end group AVPs
} with {
encode "DIAMETERCodec"; variant "";
} //end module LibDiameter_Types_Gx_AVPs
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
* @author STF 466
* @version $Id$
* @desc This module defines Diameter Rx AVP types used by LibDiameter constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Adding of new Rx AVP types is ok;
*/
module LibDiameter_Types_Rx_AVPs {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
// LibDiameter
import from LibDiameter_Types_Base_AVPs all;
group AVPTypes{
group AVP_Rx_Types{
type enumerated Abort_Cause_Type{
// Ref: ETSI TS 129 214 5.3.1
BEARER_RELEASED_E (0),
INSUFFICIENT_SERVER_RESOURCES_E (1),
INSUFFICIENT_BEARER_RESOURCES_E (2),
PS_TO_CS_HANDOVER_E (3),
SPONSORED_DATA_CONNECTIVITY_DISALLOWED_E (4)
}
// with {
// variant "length=32"
// }
type enumerated Flow_Usage_Type{
// Ref: ETSI TS 129 214 5.3.12
NO_INFORMATION_E (0),
RTCP_E (1),
AF_SIGNALLING_E (2)
}
// with {
// variant "length=32"
// }
type enumerated IMS_Content_Type{
// Ref: ETSI TS 129 214 5.3.61
NO_CONTENT_DETAIL_E (0),
CAT_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Specific_Action_Type{
// Ref: ETSI TS 129 214 5.3.13
VOID_0_E (0),
CHARGING_CORRELATION_EXCHANGE_E (1),
INDICATION_OF_LOSS_OF_BEARER_E (2),
INDICATION_OF_RECOVERY_OF_BEARER_E (3),
INDICATION_OF_RELEASE_OF_BEARER_E (4),
VOID_5_E (5),
IP_CAN_CHANGE_E (6),
INDICATION_OF_OUT_OF_CREDIT_E (7),
INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION_E (8),
INDICATION_OF_FAILED_RESOURCES_ALLOCATION_E (9),
INDICATION_OF_LIMITED_PCC_DEPLOYMENT_E (10),
USAGE_REPORT_E (11),
ACCESS_NETWORK_INFO_REPORT_E (12)
}
// with {
// variant "length=32"
// }
type enumerated Media_Type_Type{
// Ref: ETSI TS 129 214 5.3.19
AUDIO_E (0),
VIDEO_E (1),
DATA_E (2),
APPLICATION_E (3),
CONTROL_E (4),
TEXT_E (5),
MESSAGE_E (6),
OTHER_E (7) // OTHER is defined as c_uInt32Max = 0xFFFFFFFF
}
// with {
// variant "length=32"
// }
type enumerated Rx_Request_Type{
// Ref: ETSI TS 129 214 5.3.31
INITIAL_REQUEST_E (0),
UPDATE_REQUEST_E (1),
PCSCF_RESTORATION_E (2)
}
// with {
// variant "length=32"
// }
type enumerated Service_Info_Type{
// Ref: ETSI TS 129 214 5.3.25
FINAL_SERVICE_INFORMATION_E (0),
PRELIMINARY_SERVICE_INFORMATION_E (1)
}
// with {
// variant "length=32"
// }
type enumerated SIP_Forking_Indication_Type{
// Ref: ETSI TS 129 214 5.3.22
SINGLE_DIALOGUE_E (0),
SEVERAL_DIALOGUES_E (1)
}
// with {
// variant "length=32"
// }
type enumerated Reservation_Priority_Type{
// Ref: ETSI TS 183 017 7.3.9
PRIORITY_ONE_E (1),
PRIORITY_TWO_E (2),
PRIORITY_THREE_E (3),
PRIORITY_FOUR_E (4),
PRIORITY_FIVE_E (5),
PRIORITY_SIX_E (6),
PRIORITY_SEVEN_E (7),
PRIORITY_EIGHT_E (8),
PRIORITY_NINE_E (9),
PRIORITY_TEN_E(10),
PRIORITY_ELEVEN_E (11),
PRIORITY_TWELVE_E (12),
PRIORITY_THIRTEEN_E (13),
PRIORITY_FOURTEEN_E (14),
PRIORITY_FIFTEEN_E (15)
}
}//end group AVP_Rx_Types
}//end group AVP_Types
group AVPs{
group TS129_214Rx_AVPS{
type record Abort_Cause_AVP{
//Ref: ETSI TS 129 214 Abort Cause AVP
AVP_Header aVP_Header,//<AVP header: 500 ....>
Abort_Cause_Type aVP_Data
}
// with {
// variant "present=bytes(4, 500);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Access_Network_Charging_Address_AVP{
//Ref: ETSI TS 129 214 Access_Network_Charging_Address AVP
AVP_Header aVP_Header,//<AVP header: 501 ....>
Address aVP_Data
}
// with {
// variant "present=bytes(4, 501);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Access_Network_Charging_Identifier_AVP{
//Ref: ETSI TS 129 214 Access_Network_Charging_Identifier AVP
AVP_Header aVP_Header, //<AVP header: 502 ....>
Access_Network_Charging_Identifier_Value_AVP acc_Net_Charging_Id_Val,
set of Flows_AVP flows
}
// with {
// variant "present=bytes(4, 502);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (flows) "condition=CodecHelper.leaveScope()"
// }
type record Acceptable_Service_Info_AVP{
//Ref: ETSI TS 129 214 Acceptable_Service_Info_AVP
AVP_Header aVP_Header,//<AVP header: 526 ....>
set of Media_Component_Description_AVP media_component_description optional,
Max_Requested_Bandwidth_UL_AVP max_Requested_Bw_Ul optional,
Max_Requested_Bandwidth_DL_AVP max_Requested_Bw_Dl optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 411);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (media_component_description) "fieldPresent=bytes(4, 511)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record AF_Application_Identifier_AVP{
//Ref: ETSI TS 129 214 AF_Application_Identifier AVP
AVP_Header aVP_Header,//<AVP header: 504 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 504);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record AF_Requested_Data_AVP{
//Ref: ETSI TS 129 214 AF_Requested_Data AVP
AVP_Header aVP_Header,//<AVP header: 551 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 551);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Codec_Data_AVP{
//Ref: ETSI TS 129 214 Codec_data AVP
AVP_Header aVP_Header,//<AVP header: 524 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 524);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope();condition=CodecHelper.leaveScope()"
// }
type record Flow_Usage_AVP{
//Ref: ETSI TS 129 214 Flow_Usage AVP
AVP_Header aVP_Header,//<AVP header: 512 ....>
Flow_Usage_Type aVP_Data
}
// with {
// variant "present=bytes(4, 512);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record GCS_Identifier_AVP{
//Ref: ETSI TS 129 214 GCS_Identifier AVP
AVP_Header aVP_Header,//<AVP header: 538 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 538);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record IMS_Content_Identifier_AVP{
//Ref: ETSI TS 129 214 IMS_Content_Identifier AVP
AVP_Header aVP_Header,//<AVP header: 563 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 563);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record IMS_Content_Type_AVP{
//Ref: ETSI TS 129 214 IMS_Content_Type AVP
AVP_Header aVP_Header,//<AVP header: 564 ...>
IMS_Content_Type aVP_Data
}
// with {
// variant "present=bytes(4, 564);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record IP_Domain_AVP{
//Ref: ETSI TS 129 214 IP_Domain AVP
AVP_Header aVP_Header,//<AVP header: 537
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 537);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Service_URN_AVP{
//Ref: ETSI TS 129 214 Service_URN AVP
AVP_Header aVP_Header,//<AVP header: 525 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 525);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Specific_Action_AVP{
//Ref: ETSI TS 129 214 Specific_Action AVP
AVP_Header aVP_Header,//<AVP header: 513 ....>
Specific_Action_Type aVP_Data
}
// with {
// variant "present=bytes(4, 513);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type set of Specific_Action_AVP Setof_Specific_Action_AVP
// with {
// variant "present=bytes(4, 513)"
// }
type record MCPTT_Identifier_AVP{
//Ref: ETSI TS 129 214 MCPTT_Identifier AVP
AVP_Header aVP_Header,//<AVP header: 547 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 547);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record MCVideo_Identifier_AVP{
//Ref: ETSI TS 129 214 MCVideo_Identifier AVP
AVP_Header aVP_Header,//<AVP header: 562 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 562);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Media_Component_Description_AVP{
//Ref: ETSI TS 129 214 Media_Component_Decription_AVP
AVP_Header aVP_Header,//<AVP header: 517 ....>
Media_Component_Number_AVP media_Component_Nr,
set of Media_Sub_Component_AVP media_Sub_component optional,
AF_Application_Identifier_AVP af_Application_Id optional,
Media_Type_AVP media_type optional,
Max_Requested_Bandwidth_UL_AVP max_Requested_Bw_Ul optional,
Max_Requested_Bandwidth_DL_AVP max_Requested_Bw_Dl optional,
Flow_Status_AVP flow_Status optional,
Reservation_Priority_AVP reservation_Priority optional,
RS_Bandwidth_AVP rs_Bw optional,
RR_Bandwidth_AVP rr_Bw optional,
set of Codec_Data_AVP codec_data optional
}
// with {
// variant "present=bytes(4, 517);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (media_Sub_component) "fieldPresent=bytes(4, 519)&&CodecHelper.isAvailable()"
// variant (codec_data) "fieldPresent=bytes(4, 524)&&CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Media_Sub_Component_AVP{
//Ref: ETSI TS 129 214 Media_Sub_Component_AVP
AVP_Header aVP_Header,//<AVP header: 519 ....>
Flow_Number_AVP flow_Number,
record length (0..2) of Flow_Description_AVP flow_Description optional,
Flow_Status_AVP flow_Status optional,
Flow_Usage_AVP flow_Usage optional,
Max_Requested_Bandwidth_UL_AVP max_Requested_Bw_Ul optional,
Max_Requested_Bandwidth_DL_AVP max_Requested_Bw_Dl optional,
AF_Signalling_Protocol_AVP af_Signalling_Protocol optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 519);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (flow_Description) "fieldPresent=bytes(4, 507)&&CodecHelper.isAvailable()"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Flow_Description_AVP{
//Ref: ETSI TS 129 214 Flow_Description AVP
AVP_Header aVP_Header,//<AVP header: 507 ....>
IPFilterRule_Type aVP_Data
}
// with {
// variant "present=bytes(4, 507);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Media_Type_AVP{
//Ref: ETSI TS 129 214 Media_Type AVP
AVP_Header aVP_Header,//<AVP header: 520 ....>
Media_Type_Type aVP_Data
}
// with {
// variant "present=bytes(4, 520);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record MPS_Identifier_AVP{
//Ref: ETSI TS 129 214 MPS_Identifier AVP
AVP_Header aVP_Header,//<AVP header: 528 ....>
octetstring aVP_Data
}
// with {
// variant "present=bytes(4, 528);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "encode=CodecHelper.encodeOctetstringWithPadding();decode=CodecHelper.decodeOctetstringWithPadding();condition=CodecHelper.leaveScope()"
// }
type record Pre_emption_Control_Info_AVP{
//Ref: ETSI TS 129 214 Pre_emption_Control_Info AVP
AVP_Header aVP_Header,//<AVP header: 553 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 553);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Retry_Interval_AVP{
//Ref: ETSI TS 129 214 Retry_Interval AVP
AVP_Header aVP_Header,//<AVP header: 541 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 541);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Rx_Request_Type_AVP{
//Ref: ETSI TS 129 214 Rx_Request_Type AVP
AVP_Header aVP_Header,//<AVP header: 533 ...>
Rx_Request_Type aVP_Data
}
// with {
// variant "present=bytes(4, 533);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record RR_Bandwidth_AVP{
//Ref: ETSI TS 129 214 RR Bandwidth_AVP
AVP_Header aVP_Header,//<AVP header: 521 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 521);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record RS_Bandwidth_AVP{
//Ref: ETSI TS 129 214 RS Bandwidth_AVP
AVP_Header aVP_Header,//<AVP header: 522 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 522);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Service_Info_Status_AVP{
//Ref: ETSI TS 129 214 Service_Info AVP
AVP_Header aVP_Header,//<AVP header: 527 ....>
Service_Info_Type aVP_Data
}
// with {
// variant "present=bytes(4, 527);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Service_Authorization_Info_AVP {
//Ref: ETSI TS 129 214 RS Bandwidth_AVP
AVP_Header aVP_Header,//<AVP header: 548 ....>
UInt32 aVP_Data
}
// with {
// variant "present=bytes(4, 548);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record SIP_Forking_Indication_AVP{
//Ref: ETSI TS 129 214 SIP_Forking_Indication AVP
AVP_Header aVP_Header,//<AVP header: 523 ....>
SIP_Forking_Indication_Type aVP_Data
}
// with {
// variant "present=bytes(4, 523);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
type record Sponsored_Connectivity_Data_AVP{
//Ref: ETSI TS 129 214 Sponsored_Connectivity_Data AVP
AVP_Header aVP_Header, //<AVP header: 530 ....>
Sponsor_Identity_AVP sponsor_Identity optional,
Application_Service_Provider_Identity_AVP application_service_provider_Id optional,
Granted_Service_Unit_AVP granted_Service_Unit optional,
Used_Service_Unit_AVP used_service_unit optional,
set of AVP_Type aVP_Type optional
}
// with {
// variant "present=bytes(4, 530);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Type) "fieldPresent=CodecHelper.isAvailable();condition=CodecHelper.leaveScope()"
// }
type record Reservation_Priority_AVP{
//Ref: ETSI TS 183 017 Reservation_Priority AVP
AVP_Header aVP_Header,//<AVP header: 458 ....>
Reservation_Priority_Type aVP_Data
}
// with {
// variant "present=bytes(4, 458);use=com.testingtech.ttcn.tci.codec.CodecHelper"
// variant (aVP_Data) "condition=CodecHelper.leaveScope()"
// }
}//end of group TS129_214Rx_AVPs
}//end group AVPs
} with {
encode "DIAMETERCodec"; variant "";
} //end module LibDiameter_Types_Rx_AVPs
\ No newline at end of file
/**
* @author STF 466
* @version $Id$
* @desc This module defines Diameter S6a AVP types used by LibDiameter constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Adding of new S6a AVP types is ok;
*/
module LibDiameter_Types_S6a_AVPs {
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibDiameter
//import from LibDiameter_TypesAndValues all;
import from LibDiameter_Types_Base_AVPs all;
//import from LibDiameter_Types_Gx_AVPs all;
// import from LibDiameter_Types_RfRo_AVPs all;
import from LibDiameter_Types_CxDx_AVPs all;
// import from LibDiameter_Types_Gx_AVPs all;
// import from LibDiameter_Types_Rx_AVPs all;
group AVPs {
group TS129_272_AVPs {
type record ULR_Flags_AVP { //ref: 7.3.7
AVP_Header aVP_Header, //ULR-Flags ::= <AVP header: 1405 10415>
UInt32 aVP_Data
}
type record ULA_Flags_AVP { //ref: 7.3.8
AVP_Header aVP_Header, //ULA-Flags ::= <AVP header: 1406 10415>
UInt32 aVP_Data
}
type record Visited_PLMN_Id_AVP { //ref: 7.3.9
AVP_Header aVP_Header, //Visited-PLMN-Id ::= <AVP header: 1407 10415>
Oct3 aVP_Data
}
type enumerated UE_SRVCC_Capability_Type {
UE_SRVCC_NOT_SUPPORTED_E (0),
UE_SRVCC_SUPPORTED_E (1)
}
type record UE_SRVCC_Capability_AVP { //ref: 7.3.130
AVP_Header aVP_Header, //UE-SRVCC-Capability ::= <AVP header: 1615 10415>
UE_SRVCC_Capability_Type aVP_Data
}
type record SGSN_Number_AVP { //ref: 7.3.102
AVP_Header aVP_Header, //SGSN-Number ::= <AVP header: 1489 10415>
octetstring aVP_Data
}
type enumerated Homogeneous_Support_Type {
NOT_SUPPORTED_E (0),
SUPPORTED_E (1)
}
type record Homogeneous_Support_AVP { //ref: 7.3.107
AVP_Header aVP_Header, //Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions ::= <AVP header: 1493 10415>
Homogeneous_Support_Type aVP_Data
}
type record GMLC_Address_AVP { //ref: 7.3.109 - TS 129 173 6.4.7
AVP_Header aVP_Header, //GMLC-Address ::= <AVP header: 2405 10415>
Address aVP_Data
}
type record Context_Identifier_AVP { //ref: 7.3.27
AVP_Header aVP_Header, //Context-Identifier ::= <AVP header: 1423 10415>
UInt32 aVP_Data
}
type record Service_Selection_AVP { //ref: 7.3.36 - IETF RFC 5778 6.2
AVP_Header aVP_Header, //Service-Selection ::= <AVP header: 493 10415>
UTF8String aVP_Data
}
type record MIP_Home_Agent_Address_AVP { //ref: 7.3.42 - IETF RFC 4004 7.4
AVP_Header aVP_Header, //MIP-Home-Agent-Address ::= <AVP header: 334>
Address aVP_Data
}
type record MIP_Home_Agent_Host_AVP { //ref: 7.3.43 - IETF RFC 4004 7.11
AVP_Header aVP_Header, //MIP-Home-Agent-Host ::= <AVP Header: 348>
Destination_Realm_AVP destination_Realm,
Destination_Host_AVP destination_Host,
set of AVP_Type aVP_Type optional
}
type record MIP6_Home_Link_Prefix_AVP { //ref:IETF RFC 5447 4.2.4
AVP_Header aVP_Header, //MIP6-Home-Link-Prefix ::= <AVP header: 125>
octetstring aVP_Data
}
type record MIP6_Agent_Info_AVP { //ref: 7.3.45
AVP_Header aVP_Header, //MIP6-Agent-Info ::= < AVP Header: 486 >
MIP_Home_Agent_Address_AVP mip_Home_Agent_Address1 optional,
MIP_Home_Agent_Address_AVP mip_Home_Agent_Address2 optional,
MIP_Home_Agent_Host_AVP mip_Home_Agent_Host optional,
MIP6_Home_Link_Prefix_AVP mip6_Home_Link_Prefix optional,
set of AVP_Type aVP_Type optional
}
type record Specific_APN_Info_AVP { //ref: 7.3.82
AVP_Header aVP_Header, //Specific-APN-Info ::= <AVP header: 1472 10415>
Service_Selection_AVP service_Selection,
MIP6_Agent_Info_AVP mip6_Agent_Info,
Visited_Network_Identifier_AVP visited_Network_Identifier optional,
set of AVP_Type aVP_Type optional
}
type record Active_APN_AVP { //ref: 7.3.127
AVP_Header aVP_Header, //Active-APN ::= <AVP header: 1612 10415>
Context_Identifier_AVP context_Identifier,
Service_Selection_AVP service_Selection optional,
MIP6_Agent_Info_AVP mip6_Agent_Info optional,
Visited_Network_Identifier_AVP visited_Network_Identifier optional,
Specific_APN_Info_AVP specific_APN_Info optional,
set of AVP_Type aVP_Type optional
}
type enumerated Error_Diagnostic_Code_Type {
GPRS_DATA_SUBSCRIBED_E (0),
NO_GPRS_DATA_SUBSCRIBED_E (1),
ODB_ALL_APN_E (2),
ODB_HPLMN_APN_E (3),
ODB_VPLMN_APN_E (4)
}
type record Error_Diagnostic_AVP { //ref: 7.3.128
AVP_Header aVP_Header, //Error-Diagnostic ::= <AVP header: 1614 10415>
Error_Diagnostic_Code_Type error_Diagnostic_Code
}
type enumerated Subscriber_Status_Code {
SERVICE_GRANTED_E (0),
OPERATOR_DETERMINED_BARRING_E (1)
}
type record Subscriber_Status_AVP { //ref: 7.3.29
AVP_Header aVP_Header, //Subscriber-Status ::= <AVP header: 1424 10415>
Subscriber_Status_Code subscriber_Status_Code
}
type record STN_SR_AVP { //ref: 7.3.39
AVP_Header aVP_Header, //STN-SR ::= <AVP header: 1433 10415>
octetstring sTN_SR
}
type enumerated ICS_Indicator_Code {
FALSE_E (0),
TRUE_E (1)
}
type record ICS_Indicator_AVP { //ref: 7.3.104
AVP_Header aVP_Header, //ICS-Indicator ::= <AVP header: 1491 10415>
ICS_Indicator_Code iCS_Indicator_Code
}
type enumerated Network_Access_Mode_Code {
PACKET_AND_CIRCUIT_E (0),
Reserved_E (1),
ONLY_PACKET_E (2)
}
type record Network_Access_Mode_AVP { //ref: 7.3.21
AVP_Header aVP_Header, //Network-Access-Mode ::= <AVP header: 1417 10415>
Network_Access_Mode_Code network_Access_Mode
}
type record Operator_Determined_Barring_AVP { //ref: 7.3.30
AVP_Header aVP_Header, //Operator-Determined-Barring ::= <AVP header: 1425 10415>
UInt32 aVP_Data
}
type record HPLMN_ODB_AVP { //ref: 7.3.22
AVP_Header aVP_Header, //HPLMN-ODB ::= <AVP header: 1418 10415>
UInt32 aVP_Data
}
type record Regional_Subscription_Zone_Code_AVP { //ref: 7.3.52
AVP_Header aVP_Header, //Regional-Subscription-Zone-Code ::= <AVP header: 1446 10415>
octetstring aVP_Data
}
type record Access_Restriction_Data_AVP { //ref: 7.3.31
AVP_Header aVP_Header, //Access-Restriction-Data ::= <AVP header: 1426 10415>
UInt32 aVP_Data
}
type record APN_OI_Replacement_AVP { //ref: 7.3.32
AVP_Header aVP_Header, //APN-OI-Replacement ::= <AVP header: 1427 10415>
UTF8String aVP_Data
}
type record GMLC_Number_AVP { //ref: 7.3.85
AVP_Header aVP_Header, //GMLC-Number ::= <AVP header: 1474 10415>
octetstring aVP_Data
}
type record SS_Code_AVP { //ref: 7.3.87
AVP_Header aVP_Header, //SS-Code ::= <AVP header: 1476 10415>
octetstring aVP_Data
}
type record SS_Status_AVP { //ref: 7.3.88
AVP_Header aVP_Header, //SS-Status ::= <AVP header: 1477 10415>
octetstring aVP_Data
}
type enumerated Notification_To_UE_User_Code {
NOTIFY_LOCATION_ALLOWED_E (0),
NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE_E (1),
NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE_E (2),
LOCATION_NOT_ALLOWED_E (3)
}
type record Notification_To_UE_User_AVP { //ref: 7.3.89
AVP_Header aVP_Header, //Notification-To-UE-User ::= <AVP header: 1478 10415>
Notification_To_UE_User_Code notification_To_UE_User_Code
}
type record External_Client_AVP { //ref: 7.3.90
AVP_Header aVP_Header, //External-Client ::= <AVP header: 1479 10415>>
Client_Identity_AVP client_Identity,
GMLC_Restriction_AVP gMLC_Restriction optional,
Notification_To_UE_User_AVP notification_To_UE_User optional,
set of AVP_Type aVP_Type optional
}
type record Client_Identity_AVP { //ref: 7.3.91
AVP_Header aVP_Header, //Client-Identity ::= <AVP header: 1480 10415>
octetstring aVP_Data
}
type enumerated GMLC_Restriction_Code {
GMLC_LIST_E (0),
HOME_COUNTRY_E (1)
}
type record GMLC_Restriction_AVP { //ref: 7.3.92
AVP_Header aVP_Header, //GMLC-Restriction ::= <AVP header: 1481 10415>
GMLC_Restriction_Code gMLC_Restriction_Code
}
type enumerated PLMN_Client_Code {
GMLC_LIST_E (0),
HOME_COUNTRY_E (1)
}
type record PLMN_Client_AVP { //ref: 7.3.93
AVP_Header aVP_Header, //PLMN-Client ::= <AVP header: 1482 10415>
PLMN_Client_Code pLMN_Client_Code
}
type record ServiceTypeIdentity_AVP { //ref: 7.3.95
AVP_Header aVP_Header, //ServiceTypeIdentity ::= <AVP header: 1484 10415>
UInt32 aVP_Data
}
type record Service_Type_AVP { //ref: 7.3.94
AVP_Header aVP_Header, //Service-Type ::= <AVP header: 1483 10415>
ServiceTypeIdentity_AVP serviceTypeIdentity,
GMLC_Restriction_AVP gMLC_Restriction optional,
Notification_To_UE_User_AVP notification_To_UE_User optional,
set of AVP_Type aVP_Type optional
}
type record LCS_PrivacyException_AVP { //ref: 7.3.86
AVP_Header aVP_Header, //LCS-PrivacyException ::= <AVP header: 1475 10415>
SS_Code_AVP sS_Code optional,
SS_Status_AVP sS_Status optional,
Notification_To_UE_User_AVP notification_To_UE_User optional,
set of External_Client_AVP external_Client optional,
set of PLMN_Client_AVP pLMN_Client optional,
set of Service_Type_AVP service_Type optional,
set of AVP_Type aVP_Type optional
}
type record MO_LR_AVP { //ref: 7.3.96
AVP_Header aVP_Header, //MO-LR ::= <AVP header: 1485 10415>
SS_Code_AVP sS_Code optional,
SS_Status_AVP sS_Status optional,
set of AVP_Type aVP_Type optional
}
type record LCS_Info_AVP { //ref: 7.3.32
AVP_Header aVP_Header, //LCS-Info ::= <AVP header: 1473 10415>
set of GMLC_Number_AVP gMLC_Number optional,
set of LCS_PrivacyException_AVP lCS_PrivacyException optional,
set of MO_LR_AVP mO_LR optional,
set of AVP_Type aVP_Type optional
}
type record TS_Code_AVP { //ref: 7.3.100
AVP_Header aVP_Header, //TS-Code ::= <AVP header: 1487 10415>
octetstring aVP_Data
}
type record Teleservice_List_AVP { //ref: 7.3.99
AVP_Header aVP_Header, //Teleservice-List ::= <AVP header: 1486 10415>
set length (1..infinity) of TS_Code_AVP tS_Code,
set of AVP_Type aVP_Type optional
}
type record Call_Barring_Info_AVP { //ref: 7.3.101
AVP_Header aVP_Header, //Call-Barring-Info ::= <AVP header: 1488 10415>
SS_Code_AVP sS_Code,
SS_Status_AVP sS_Status,
set of AVP_Type aVP_Type optional
}
type record AMBR_AVP { //ref: 7.3.41
AVP_Header aVP_Header, //AMBR ::= <AVP header: 1435 10415>
Max_Requested_Bandwidth_UL_AVP max_Requested_Bw_Ul,//max_Requested_Bandwidth_UL,//max_Requested_Bw_Ul
Max_Requested_Bandwidth_DL_AVP max_Requested_Bw_Dl,//max_Requested_Bandwidth_DL,//max_Requested_Bw_Dl
set of AVP_Type aVP_Type optional
}
type record ThreeGPP_Charging_Char_AVP { //ref: TS 129 601
AVP_Header aVP_Header, //3GPP-Charging-Characteristics ::= <AVP header: 13 10415>
octetstring aVP_Data
}
type enumerated All_APN_Conf_Included_Id_Code {
All_APN_CONFIGURATIONS_INCLUDED_E (0),
MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E (1)
}
type record All_APN_Conf_Included_Id_AVP { //ref: 7.3.33
AVP_Header aVP_Header, //All-APN-Configurations-Included-Indicator ::= <AVP header: 1428 10415>
All_APN_Conf_Included_Id_Code all_APN_Conf_Included_Indicator
}
type record APN_Configuration_Profile_AVP { //ref: 7.3.34
AVP_Header aVP_Header, //APN-Configuration-Profile ::= <AVP header: 1429 10415>
Context_Identifier_AVP context_Identifier,
All_APN_Conf_Included_Id_AVP all_APN_Conf_Included_Id,
set length (1 .. infinity) of APN_Configuration_AVP aPN_Configuration,
set of AVP_Type aVP_Type optional
}
type enumerated PDN_Type_Code {
IPv4_E (0),
IPv6_E (1),
IPv4v6_E (2),
IPv4_OR_IPv6_E (3)
}
type record PDN_Type_AVP { //ref: 7.3.62
AVP_Header aVP_Header, //PDN-Type ::= <AVP header: 1456 10415>
PDN_Type_Code pDN_Type_Code
}
type record EPS_Subscribed_QoS_Profile_AVP { //ref: 7.3.37
AVP_Header aVP_Header, //EPS-Subscribed-QoS-Profile ::= <AVP header: 1431 10415>
QoS_Class_Identifier_AVP qoS_Class_Identifier,
Allocation_Retention_Priority_AVP allocation_Retention_Priority,
set of AVP_Type aVP_Type optional
}
type enumerated VPLMN_Dynamic_Address_Allowed_Code {
NOTALLOWED_E (0),
ALLOWED_E (1)
}
type record VPLMN_Dynamic_Address_Allowed_AVP { //ref: 7.3.38
AVP_Header aVP_Header, //VPLMN-Dynamic-Address-Allowed ::= <AVP header: 1432 10415>
VPLMN_Dynamic_Address_Allowed_Code vPLMN_Dynamic_Address_Allowed
}
type enumerated PDN_GW_Allocation_Type_Code {
STATIC_E (0),
DYNAMIC_E (1)
}
type record PDN_GW_Allocation_Type_AVP { //ref: 7.3.44
AVP_Header aVP_Header, //PDN-GW-Allocation-Type ::= <AVP header: 1438 10415>
PDN_GW_Allocation_Type_Code pDN_GW_Allocation_Type
}
type enumerated SIPTO_Permission_Code {
SIPTO_ALLOWED_E (0),
SIPTO_NOTALLOWED_E (1)
}
type record SIPTO_Permission_AVP { //ref: 7.3.135
AVP_Header aVP_Header, //SIPTO-Permission ::= <AVP header: 1613 10415>
SIPTO_Permission_Code sIPTO_Permission
}
type enumerated LIPA_Permission_Code {
LIPA_PROHIBITED_E (0),
LIPA_ONLY_E (1),
LIPA_CONDITIONAL_E (2)
}
type record LIPA_Permission_AVP { //ref: 7.3.133
AVP_Header aVP_Header, //LIPA-Permission ::= <AVP header: 1618 10415>
LIPA_Permission_Code lIPA_Permission
}
type record APN_Configuration_AVP { //ref: 7.3.35
AVP_Header aVP_Header, //APN-Configuration ::= <AVP header: 1430 10415>
Context_Identifier_AVP context_Identifier,
set length (2) of Served_Party_IP_Address_AVP served_Party optional,
PDN_Type_AVP pDN_Type,
Service_Selection_AVP service_Selection,
EPS_Subscribed_QoS_Profile_AVP ePS_Subscribed_QoS_Profile optional,
VPLMN_Dynamic_Address_Allowed_AVP vPLMN_Dynamic_Address_Allowed optional,
MIP6_Agent_Info_AVP mIP6_Agent_Info optional,
Visited_Network_Identifier_AVP visited_Network_Identifier optional,
PDN_GW_Allocation_Type_AVP pDN_GW_Allocation_Type optional,
ThreeGPP_Charging_Char_AVP threeGPP_Charging_Char optional,
AMBR_AVP aMBR optional,
set of Specific_APN_Info_AVP specific_APN_Info optional,
APN_OI_Replacement_AVP aPN_OI_Replacement optional,
SIPTO_Permission_AVP sIPTO_Permission optional,
LIPA_Permission_AVP lIPA_Permission optional,
set of AVP_Type aVP_Type optional
}
type record RAT_Freq_Sel_Priority_ID_AVP { //ref: 7.3.46
AVP_Header aVP_Header, //PRAT-Frequency-Selection-Priority-ID ::= <AVP header: 1440 10415>
UInt32 aVP_Data
}
type enumerated Trace_Depth_Code {
MINIMUM_E (0),
MEDIUM_E (1),
MAXIMUM_E (2),
MINIMUM_WITHOUT_VENDOR_SPECIFIC_EXTENSION_E (3),
MEDIUM_WITHOUT_VENDOR_SPECIFIC_EXTENSION_E (4),
MAXIMUM_WITHOUT_VENDOR_SPECIFIC_EXTENSION_E (5)
}
type record Trace_Depth_AVP { //ref: 7.3.67
AVP_Header aVP_Header, //Trace-Depth ::= <AVP header: 1462 10415>
Trace_Depth_Code trace_Depth
}
type record Trace_NE_Type_List_AVP { //ref: 7.3.68
AVP_Header aVP_Header, //Trace-NE-Type-List ::= <AVP header: 1463 10415>
octetstring aVP_Data
}
type record Trace_Interface_List_AVP { //ref: 7.3.69
AVP_Header aVP_Header, //Trace-Interface-List ::= <AVP header: 1464 10415>
octetstring aVP_Data
}
type record Trace_Event_List_AVP { //ref: 7.3.70
AVP_Header aVP_Header, //Trace-Event-List ::= <AVP header: 1465 10415>
octetstring aVP_Data
}
type record OMC_Id_AVP { //ref: 7.3.71
AVP_Header aVP_Header, //OMC-Id ::= <AVP header: 1466 10415>
octetstring aVP_Data
}
type record Trace_Collection_Entity_AVP { //ref: 7.3.98
AVP_Header aVP_Header, //Trace-Collection-Entitys ::= <AVP header: 1452 10415>
Address aVP_Data
}
type enumerated Job_Type_Code {
IMMEDIATE_MDT_ONLY_E (0),
LOGGED_MDT_ONLY_E (1),
TRACE_ONLY_E (2),
IMMEDIATE_MDT_AND_TRACE_E (3),
RLF_REPORTS_ONLY_E (4),
RCEF_REPORTS_ONLY_E (5)
}
type record Job_Type_AVP { //ref: 7.3.137 - TS 132 422 5.9a
AVP_Header aVP_Header, //Job-Type ::= <AVP header: 1623 10415>
Job_Type_Code job_Type
}
type record Cell_Global_Identity_AVP { //ref: 7.3.119
AVP_Header aVP_Header, //Cell-Global-Identity ::= <AVP header: 1604 10415>
octetstring aVP_Data
}
type record E_UTRAN_Cell_Gl_Identity_AVP { //ref: 7.3.117
AVP_Header aVP_Header, //E-UTRAN-Cell-Global-Identity ::= <AVP header: 1602 10415>
octetstring aVP_Data
}
type record Routing_Area_Identity_AVP { //ref: 7.3.120
AVP_Header aVP_Header, //Routing-Area-Identity ::= <AVP header: 1605 10415>
octetstring aVP_Data
}
type record Location_Area_Identity_AVP { //ref: 7.3.121
AVP_Header aVP_Header, //Location-Area-Identity ::= <AVP header: 1606 10415>
octetstring aVP_Data
}
type record Tracking_Area_Identity_AVP { //ref: 7.3.118
AVP_Header aVP_Header, //Tracking-Area-Identity::= <AVP header: 1603 10415>
octetstring aVP_Data
}
type record Area_Scope_AVP { //ref: 7.3.138 - TS 132 422 5.10.2
AVP_Header aVP_Header, //Area-Scope ::= <AVP header: 1624 10415>
set of Cell_Global_Identity_AVP cell_Global_Identity optional,
set of E_UTRAN_Cell_Gl_Identity_AVP e_UTRAN_Cell_Global_Identity optional,
set of Routing_Area_Identity_AVP routing_Area_Identity optional,
set of Location_Area_Identity_AVP location_Area_Identity optional,
set of Tracking_Area_Identity_AVP tracking_Area_Identity optional,
set of AVP_Type aVP_Type optional
}
type record List_Of_Measurements_AVP { //ref: 7.3.139
AVP_Header aVP_Header, //List-Of-Measurements ::= <AVP header: 1625 10415>
UInt32 aVP_Data
}
type record Reporting_Trigger_AVP { //ref: 7.3.140
AVP_Header aVP_Header, //Reporting-Trigger ::= <AVP header: 1626 10415>
UInt32 aVP_Data
}
type enumerated Report_Interval_Code {
T_250ms_E ( 0),
T_500ms_E ( 1),
T_1000ms_E ( 2),
T_2000ms_E ( 3),
T_3000ms_E ( 4),
T_4000ms_E ( 5),
T_6000ms_E ( 6),
T_8000ms_E ( 7),
T_12000ms_E ( 8),
T_16000ms_E ( 9),
T_20000ms_E (10),
T_24000ms_E (11),
T_28000ms_E (12),
T_32000ms_E (13),
T_64000ms_E (14),
T_120ms_E (15),
T_240ms_E (16),
T_480ms_E (17),
T_640ms_E (18),
T_1024ms_E (19),
T_2048ms_E (20),
T_5120ms_E (21),
T_10240ms_E (22),
T_60000ms_E (23), // 1 min
T_360000ms_E (24), // 6 min
T_720000ms_E (25), // 12 min
T_1800000ms_E (26), // 30 min
T_3600000ms_E (27) // 60 min
}
type record Report_Interval_AVP { //ref: 7.3.141 - TS 132 422 5.10.5
AVP_Header aVP_Header, //Report-Interval ::= <AVP header: 1627 10415>
Report_Interval_Code report_Interval
}
type enumerated Report_Amount_Code {
N_1_E (0),
N_2_E (1),
N_4_E (2),
N_8_E (3),
N_16_E (4),
N_32_E (5),
N_64_E (6),
N_INFINITY_E (7)
}
type record Report_Amount_AVP { //ref: 7.3.142 - TS 132 422 5.10.6
AVP_Header aVP_Header, //Report-Amount ::= <AVP header: 1628 10415>
Report_Amount_Code report_Amount
}
type record Event_Threshold_RSRP_AVP { //ref: 7.3.143 - TS 132 422 5.10.7
AVP_Header aVP_Header, //Event-Threshold-RSRP ::= <AVP header: 1629 10415>
UInt32 aVP_Data
}
type record Event_Threshold_RSRQ_AVP { //ref: 7.3.144 - TS 132 422 5.10.7a
AVP_Header aVP_Header, //Event-Threshold-RSRQ ::= <AVP header: 1630 10415>
UInt32 aVP_Data
}
type enumerated Logging_Interval_Code {
T_1dot28_E (0),
T_2dot56_E (1),
T_5dot12_E (2),
T_10dot24_E (3),
T_20dot48_E (4),
T_30dot72_E (5),
T_40dot96_E (6),
T_61dot44_E (7)
}
type record Logging_Interval_AVP { //ref: 7.3.145 - TS 132 422 5.10.8
AVP_Header aVP_Header, //Logging-Interval ::= <AVP header: 1631 10415>
Logging_Interval_Code logging_Interval
}
type enumerated Logging_Duration_Code {
T_600sec_E (0),
T_1200sec_E (1),
T_2400sec_E (2),
T_3600sec_E (3),
T_5400sec_E (4),
T_7200sec_E (5)
}
type record Logging_Duration_AVP { //ref: 7.3.146 - TS 132 422 5.10.9
AVP_Header aVP_Header, //Logging-Duration ::= <AVP header: 1632 10415>
Logging_Duration_Code logging_Duration
}
type record MDT_Configuration_AVP { //ref: 7.3.136
AVP_Header aVP_Header, //MDT-Configuration ::= <AVP header: 1622 10415>
Job_Type_AVP job_Type,
Area_Scope_AVP area_Scope optional,
List_Of_Measurements_AVP list_Of_Measurements optional,
Reporting_Trigger_AVP reporting_Trigger optional,
Report_Interval_AVP report_Interval optional,
Report_Amount_AVP report_Amount optional,
Event_Threshold_RSRP_AVP event_Threshold_RSRP optional,
Event_Threshold_RSRQ_AVP event_Threshold_RSRQ optional,
Logging_Interval_AVP logging_Interval optional,
Logging_Duration_AVP logging_Duration optional,
set of AVP_Type aVP_Type optional
}
type record Trace_Data_AVP { //ref: 7.3.63
AVP_Header aVP_Header, //Trace-Data ::= <AVP header: 1458 10415>
Trace_Reference_AVP trace_Reference,
Trace_Depth_AVP trace_Depth,
Trace_NE_Type_List_AVP trace_NE_Type_List,
Trace_Interface_List_AVP trace_Interface_List optional,
Trace_Event_List_AVP trace_Event_List,
OMC_Id_AVP oMC_Id optional,
Trace_Collection_Entity_AVP trace_Collection_Entity,
MDT_Configuration_AVP mDT_Configuration optional,
set of AVP_Type aVP_Type optional
}
type enumerated Complete_DL_Included_Indicator_Code {
All_PDP_CONTEXTS_INCLUDED_E (0),
MODIFIED_ADDED_PDP_CONTEXTS_INCLUDED_E (1)
}
type record Complete_DL_Included_Indicator_AVP { //ref: 7.3.73
AVP_Header aVP_Header, //Complete-Data-List-Included-Indicator ::= <AVP header: 1468 10415>
Complete_DL_Included_Indicator_Code complete_DL_Included_Indicator
}
type record PDP_Type_AVP { //ref: 7.3.75
AVP_Header aVP_Header, //PDP-Type ::= <AVP header: 1470 10415>
octetstring aVP_Data
}
type record QoS_Subscribed_AVP { //ref: 7.3.77
AVP_Header aVP_Header, //QoS-Subscribed ::= <AVP header: 1404 10415>
octetstring aVP_Data
}
type record Ext_PDP_Type_AVP { //ref: 7.3.75A
AVP_Header aVP_Header, //Ext-PDP-Type ::= <AVP header: 1620 10415>
octetstring aVP_Data
}
type record Ext_PDP_Address_AVP { //ref: 7.3.129
AVP_Header aVP_Header, //Ext-PDP-Address ::= <AVP header: 1621 10415>
Address aVP_Data
}
type record PDP_Context_AVP { //ref: 7.3.74
AVP_Header aVP_Header, //PDP-Context ::= <AVP header: 1469 10415>
Context_Identifier_AVP context_Identifier,
PDP_Type_AVP pDP_Type,
PDP_Address_AVP pDP_Address optional,
QoS_Subscribed_AVP qoS_Subscribed,
VPLMN_Dynamic_Address_Allowed_AVP vPLMN_Dynamic_Address_Allowed optional,
Service_Selection_AVP service_Selection,
ThreeGPP_Charging_Char_AVP threeGPP_Charging_Char optional,
Ext_PDP_Type_AVP ext_PDP_Type optional,
Ext_PDP_Address_AVP ext_PDP_Address optional,
AMBR_AVP aMBR optional,
SIPTO_Permission_AVP sIPTO_Permission optional,
LIPA_Permission_AVP lIPA_Permission optional,
set of AVP_Type aVP_Type optional
}
type record GPRS_Subscription_Data_AVP { //ref: 7.3.72
AVP_Header aVP_Header, //GPRS-Subscription-Data ::= <AVP header: 1467 10415>
Complete_DL_Included_Indicator_AVP complete_Data_List_Included_Indicator,
set length (1..50) of PDP_Context_AVP pDP_Context,
set of AVP_Type aVP_Type optional
}
// type record CSG_Id_AVP { //ref: 7.3.79
// AVP_Header aVP_Header, //CSG-Id ::= <AVP header: 1437 10415>
// UInt32 aVP_Data
// }
type record Expiration_Date_AVP { //ref: 7.3.80
AVP_Header aVP_Header, //Expiration-Date ::= <AVP header: 1439 10415>
Time aVP_Data
}
type record CSG_Subscription_Data_AVP { //ref: 7.3.78
AVP_Header aVP_Header, //CSG-Subscription-Data ::= <AVP header: 1436 10415>
CSG_Id_AVP cSG_Id,
Expiration_Date_AVP expiration_Date optional,
set of Service_Selection_AVP service_Selection optional,
set of AVP_Type aVP_Type optional
}
type enumerated Roaming_Rest_Unsupp_Feature_Code {
ROAMING_RESTRICTED_DUE_TO_UNSUPPORTED_FEATURE_E (0)
}
type record Roaming_Rest_Unsupp_Feature_AVP { //ref: 7.3.81
AVP_Header aVP_Header, //Roaming-Restricted-Due-To-Unsupported-Feature ::= <AVP header: 1457 10415>
Roaming_Rest_Unsupp_Feature_Code roaming_Restricted_Due_To_Unsupported_Feature
}
type record RAU_TAU_Timer_AVP { //ref: 7.3.134
AVP_Header aVP_Header, //Subscribed-Periodic-RAU-TAU-Timer ::= <AVP header: 1619 10415>
UInt32 aVP_Data
}
type record MPS_Priority_AVP { //ref: 7.3.131
AVP_Header aVP_Header, //MPS-Priority ::= <AVP header: 1616 10415>
UInt32 aVP_Data
}
type enumerated VPLMN_LIPA_Allowed_Code {
LIPA_NOTALLOWED_E (0),
LIPA_ALLOWED_E (1)
}
type record VPLMN_LIPA_Allowed_AVP { //ref: 7.3.132
AVP_Header aVP_Header, //VPLMN-LIPA-Allowed ::= <AVP header: 1617 10415>
VPLMN_LIPA_Allowed_Code vPLMN_LIPA_Allowed
}
type enumerated Relay_Node_Indicator_Code {
NOT_RELAY_NODE_E (0),
RELAY_NODE_E (1)
}
type record Relay_Node_Indicator_AVP { //ref: 7.3.147
AVP_Header aVP_Header, //Relay-Node-Indicator ::= <AVP header: 1633 10415>
Relay_Node_Indicator_Code relay_Node_Indicator
}
type enumerated MDT_User_Consent_Code {
CONSENT_NOT_GIVEN_E (0),
CONSENT_GIVEN_E (1)
}
type record MDT_User_Consent_AVP { //ref: 7.3.148
AVP_Header aVP_Header, //MDT-User-Consent ::= <AVP header: 1634 10415>
MDT_User_Consent_Code mDT_User_Consent
}
type record Subscription_Data_AVP { //ref: 7.3.2
AVP_Header aVP_Header, //Subscription-Data ::= <AVP header: 1400 10415>
Subscriber_Status_AVP subscriber_Status optional,
MSISDN_AVP mSISDN optional,
STN_SR_AVP sTN_SR optional,
ICS_Indicator_AVP iCS_Indicator optional,
Network_Access_Mode_AVP network_Access_Mode optional,
Operator_Determined_Barring_AVP operator_Determined_Barring optional,
HPLMN_ODB_AVP hPLMN_ODB optional,
set length (10) of Regional_Subscription_Zone_Code_AVP zone_Code optional,
Access_Restriction_Data_AVP access_Restriction_Data optional,
APN_OI_Replacement_AVP aPN_OI_Replacement optional,
LCS_Info_AVP lCS_Info optional,
Teleservice_List_AVP teleservice_List optional,
set of Call_Barring_Info_AVP call_Barring_Info optional,
ThreeGPP_Charging_Char_AVP threeGPP_Charging_Char optional,
AMBR_AVP aMBR optional,
APN_Configuration_Profile_AVP aPN_Configuration_Profile optional,
RAT_Freq_Sel_Priority_ID_AVP rAT_Freq_Sel_Priority_ID optional,
Trace_Data_AVP trace_Data optional,
GPRS_Subscription_Data_AVP gPRS_Subscription_Data optional,
CSG_Subscription_Data_AVP cSG_Subscription_Data optional,
Roaming_Rest_Unsupp_Feature_AVP roaming_Rest_Unsupp_Feature optional,
RAU_TAU_Timer_AVP subscribed_Perio_RAUTAU_Timer optional,
MPS_Priority_AVP mPS_Priority optional,
VPLMN_LIPA_Allowed_AVP vPLMN_LIPA_Allowed optional,
Relay_Node_Indicator_AVP relay_Node_Indicator optional,
MDT_User_Consent_AVP mDT_User_Consent optional,
set of AVP_Type aVP_Type optional
}
type record Number_Of_Requested_Vectors_AVP { //ref: 7.3.14
AVP_Header aVP_Header, //Number-Of-Requested-Vectors ::= <AVP header: 1410 10415>
UInt32 aVP_Data
}
type record Immediate_Response_Preferred_AVP { //ref: 7.3.16
AVP_Header aVP_Header, //Immediate-Response-Preferred ::= <AVP header: 1412 10415>
UInt32 aVP_Data
}
type record Re_synchronization_Info_AVP { //ref: 7.3.15
AVP_Header aVP_Header, //Re-synchronization-Info ::= <AVP header: 1411 10415>
octetstring aVP_Data
}
type record Req_EUTRAN_Auth_Info_AVP { //ref: 7.3.11
AVP_Header aVP_Header, //Requested-EUTRAN-Authentication-Info ::= <AVP header: 1408 10415>
Number_Of_Requested_Vectors_AVP number_Of_Requested_Vectors optional,
Immediate_Response_Preferred_AVP immediate_Response_Preferred optional,
Re_synchronization_Info_AVP re_synchronization_Info optional,
set of AVP_Type aVP_Type optional
}
type record Req_UTRAN_GERAN_Auth_Info_AVP { //ref: 7.3.12
AVP_Header aVP_Header, //Requested-EUTRAN-GERAN-Authentication-Info ::= <AVP header: 1409 10415>
Number_Of_Requested_Vectors_AVP number_Of_Requested_Vectors optional,
Immediate_Response_Preferred_AVP immediate_Response_Preferred optional,
Re_synchronization_Info_AVP re_synchronization_Info optional,
set of AVP_Type aVP_Type optional
}
type record Item_Number_AVP { //ref: 7.3.23
AVP_Header aVP_Header, //Item-Number ::= <AVP header: 1419 10415>
UInt32 aVP_Data
}
type record RAND_AVP { //ref: 7.3.53
AVP_Header aVP_Header, //RAND ::= <AVP header: 1447 10415>
octetstring aVP_Data
}
type record XRES_AVP { //ref: 7.3.54
AVP_Header aVP_Header, //XRES ::= <AVP header: 1448 10415>
octetstring aVP_Data
}
type record AUTN_AVP { //ref: 7.3.55
AVP_Header aVP_Header, //AUTN ::= <AVP header: 1449 10415>
octetstring aVP_Data
}
type record KASME_AVP { //ref: 7.3.56
AVP_Header aVP_Header, //KASME ::= <AVP header: 1450 10415>
octetstring aVP_Data
}
type record E_UTRAN_Vector_AVP { //ref: 7.3.18
AVP_Header aVP_Header, //E-UTRAN-Vector ::= <AVP header: 1414 10415>
Item_Number_AVP item_Number optional,
RAND_AVP rAND,
XRES_AVP xRES,
AUTN_AVP aUTN,
KASME_AVP kASME,
set of AVP_Type aVP_Type optional
}
type record UTRAN_Vector_AVP { //ref: 7.3.19
AVP_Header aVP_Header, //UTRAN-Vector ::= <AVP header: 1415 10415>
Item_Number_AVP item_Number optional,
RAND_AVP rAND,
XRES_AVP xRES,
AUTN_AVP aUTN,
Confidentiality_Key_AVP confidentiality_Key,
Integrity_Key_AVP integrity_Key,
set of AVP_Type aVP_Type optional
}
type record SRES_AVP { //ref: 7.3.60
AVP_Header aVP_Header, //SRES ::= <AVP header: 1454 10415>
octetstring aVP_Data
}
type record Kc_AVP { //ref: 7.3.59
AVP_Header aVP_Header, //Kc ::= <AVP header: 1453 10415>
octetstring aVP_Data
}
type record GERAN_Vector_AVP { //ref: 7.3.20
AVP_Header aVP_Header, //GERAN-Vector ::= <AVP header: 1416 10415>
Item_Number_AVP item_Number optional,
RAND_AVP rAND,
SRES_AVP sRES,
Kc_AVP kc,
set of AVP_Type aVP_Type optional
}
type record Authentication_Info_AVP { //ref: 7.3.17
AVP_Header aVP_Header, //Authentication-Info ::= <AVP header: 1413 10415>
set of E_UTRAN_Vector_AVP e_UTRAN_Vector optional,
set of UTRAN_Vector_AVP uTRAN_Vector optional,
set of GERAN_Vector_AVP gERAN_Vector optional,
set of AVP_Type aVP_Type optional
}
type enumerated Cancellation_Type_Code {
MME_UPDATE_PROCEDURE_E (0),
SGSN_UPDATE_PROCEDURE_E (1),
SUBSCRIPTION_WITHDRAWAL_E (2),
UPDATE_PROCEDURE_IWF_E (3),
INITIAL_ATTACH_PROCEDURE_E (4)
}
type record Cancellation_Type_AVP { //ref: 7.3.24
AVP_Header aVP_Header, //Cancellation-Type ::= <AVP header: 1420 10415>
Cancellation_Type_Code cancellation_Type
}
type record CLR_Flags_AVP { //ref: 7.3.152
AVP_Header aVP_Header, //CLR-Flags ::= <AVP header: 1638 10415>
UInt32 aVP_Data
}
type record IDR_Flags_AVP { //ref: 7.3.103
AVP_Header aVP_Header, //IDR-Flags ::= <AVP header: 1490 10415>
UInt32 aVP_Data
}
type record DSR_Flags_AVP { //ref: 7.3.25
AVP_Header aVP_Header, //DSR-Flags ::= <AVP header: 1421 10415>
UInt32 aVP_Data
}
type record DSA_Flags_AVP { //ref: 7.3.26
AVP_Header aVP_Header, //DSA-Flags ::= <AVP header: 1422 10415>
UInt32 aVP_Data
}
type record PUER_Flags_AVP { //ref: 7.3.149
AVP_Header aVP_Header, //PUR-Flags ::= <AVP header: 1635 10415>
UInt32 aVP_Data
}
type record PUEA_Flags_AVP { //ref: 7.3.48
AVP_Header aVP_Header, //PUA-Flags ::= <AVP header: 1442 10415>
UInt32 aVP_Data
}
type record IDA_Flags_AVP { //ref: 7.3.47
AVP_Header aVP_Header, //IDA-Flags ::= <AVP header: 1441 10415>
UInt32 aVP_Data
}
type record NOR_Flags_AVP { //ref: 7.3.49
AVP_Header aVP_Header, //NOR-Flags ::= <AVP header: 1443 10415>
UInt32 aVP_Data
}
type enumerated IMS_Voice_PS_Sessions_Support_Code {
NOT_SUPPORTED_E (0),
SUPPORTED_E (1)
}
type record IMS_Voice_PS_Sessions_Support_AVP { //ref: 7.3.106
AVP_Header aVP_Header, //IMS-Voice-Over-PS-Sessions-Supported ::= <AVP header: 1492 10415>
IMS_Voice_PS_Sessions_Support_Code iMS_Voice_Over_PS_Sessions_Supported
}
type record Last_UE_Activity_Time_AVP { //ref: 7.3.108
AVP_Header aVP_Header, //Last-UE-Activity-Time ::= <AVP header: 1494 10415>
Time aVP_Data
}
type record EPS_User_State_AVP { //ref: 7.3.110
AVP_Header aVP_Header, //EPS-User-State ::= <AVP header: 1495 10415>
MME_User_State_AVP mME_User_State optional,
SGSN_User_State_AVP sGSN_User_State optional,
set of AVP_Type aVP_Type optional
}
type record EPS_Location_Information_AVP { //ref: 7.3.111
AVP_Header aVP_Header, //EPS-Location-Information ::= <AVP header: 1496 10415>
MME_Location_Information_AVP mME_Location_Information optional,
SGSN_Location_Information_AVP sGSN_Location_Information optional,
set of AVP_Type aVP_Type optional
}
type record Service_Area_Identity_AVP { //ref: 7.3.122
AVP_Header aVP_Header, //Service-Area-Identity ::= <AVP header: 1607 10415>
octetstring aVP_Data
}
type record Geographical_Information_AVP { //ref: 7.3.123
AVP_Header aVP_Header, //Geographical-Information ::= <AVP header: 1608 10415>
octetstring aVP_Data
}
type record Geodetic_Information_AVP { //ref: 7.3.124
AVP_Header aVP_Header, //Geodetic-Information ::= <AVP header: 1609 10415>
octetstring aVP_Data
}
type enumerated Current_Location_Retrieved_Code {
ACTIVE_LOCATION_RETRIEVAL_E (0)
}
type record Current_Location_Retrieved_AVP { //ref: 7.3.125
AVP_Header aVP_Header, //Current-Location-Retrieved ::= <AVP header: 1610 10415>
Current_Location_Retrieved_Code current_Location_Retrieved
}
type record Age_Of_Location_Informations_AVP { //ref: 7.3.126
AVP_Header aVP_Header, //Age-Of-Location-Information ::= <AVP header: 1443 10415>
UInt32 aVP_Data
}
type enumerated CSG_Access_Mode_Code {
CLOSED_MODE_E (0),
HYBRID_MODE_E (1)
}
type record CSG_Access_Mode_AVP { //ref: TS 132 299 7.2.46A
AVP_Header aVP_Header, //CSG-Access-Mode ::= <AVP header: 2317 10415>
CSG_Access_Mode_Code cSG_Access_Mode
}
type enumerated CSG_Membership_Indication_Code {
NOT_CSG_MEMBER_E (0),
CSG_MEMBER_E (1)
}
type record CSG_Membership_Indication_AVP { //ref: TS 132 299 7.2.46B
AVP_Header aVP_Header, //CSG-Membership-Indication ::= <AVP header: 2318 10415>
CSG_Membership_Indication_Code cSG_Membership_Indication
}
type record MME_Location_Information_AVP { //ref: 7.3.115
AVP_Header aVP_Header, //MME-Location-Information ::= <AVP header: 1600 10415>
E_UTRAN_Cell_Gl_Identity_AVP e_UTRAN_Cell_Gl_Identity optional,
Tracking_Area_Identity_AVP tracking_Area_Identity optional,
Geographical_Information_AVP geographical_Information optional,
Geodetic_Information_AVP geodetic_Information optional,
Current_Location_Retrieved_AVP current_Location_Retrieved optional,
Age_Of_Location_Informations_AVP age_Of_Location_Informations optional,
User_CSG_Information_AVP user_CSG_Information optional,
set of AVP_Type aVP_Type optional
}
type record SGSN_Location_Information_AVP { //ref: 7.3.116
AVP_Header aVP_Header, //SGSN-Location-Information ::= <AVP header: 1601 10415>
Cell_Global_Identity_AVP cell_Global_Identity optional,
Location_Area_Identity_AVP location_Area_Identity optional,
Service_Area_Identity_AVP service_Area_Identity optional,
Routing_Area_Identity_AVP routing_Area_Identity optional,
Geographical_Information_AVP geographical_Information optional,
Geodetic_Information_AVP geodetic_Information optional,
Current_Location_Retrieved_AVP current_Location_Retrieved optional,
Age_Of_Location_Informations_AVP age_Of_Location_Informations optional,
User_CSG_Information_AVP user_CSG_Information optional,
set of AVP_Type aVP_Type optional
}
type record MME_User_State_AVP { //ref: 7.3.112
AVP_Header aVP_Header, //MME-User-State ::= <AVP header: 1497 10415>
User_State_AVP user_State optional,
set of AVP_Type aVP_Type optional
}
type record SGSN_User_State_AVP { //ref: 7.3.113
AVP_Header aVP_Header, //SGSN-User-State ::= <AVP header: 1498 10415>
User_State_AVP user_State optional,
set of AVP_Type aVP_Type optional
}
type enumerated User_State_Code {
DETACHED_E (0),
ATTACHED_NOT_REACHABLE_FOR_PAGING_E (1),
ATTACHED_REACHABLE_FOR_PAGING_E (2),
CONNECTED_NOT_REACHABLE_FOR_PAGING_E (3),
CONNECTED_REACHABLE_FOR_PAGING_E (4),
NETWORK_DETERMINED_NOT_REACHABLE_E (5)
}
type record User_State_AVP { //ref: 7.3.114
AVP_Header aVP_Header, //User-State ::= <AVP header: 1499 10415>
User_State_Code user_State
}
type record User_Id_AVP { //ref: 7.3.50
AVP_Header aVP_Header, //User-Id ::= <AVP header: 1444 10415>
UTF8String aVP_Data
}
type enumerated Alert_Reason_Code {
MME_UPDATE_PROCEDURE_E (0),
SGSN_UPDATE_PROCEDURE_E (1),
SUBSCRIPTION_WITHDRAWAL_E (2),
UPDATE_PROCEDURE_IWF_E (3),
INITIAL_ATTACH_PROCEDURE_E (4)
}
type record Alert_Reason_AVP { //ref: 7.3.83
AVP_Header aVP_Header, //Alert-Reason ::= <AVP header: 1434 10415>
Alert_Reason_Code alert_Reason
}
} // End of group TS129_272_AVPs
} // End of group AVPs
} with {
encode "DIAMETERCodec"; variant "";
} // End of LibDiameter_Types_S6a_AVPs
\ No newline at end of file
/**
* @author STF 466
* @version $Id$
* @desc This module defines Diameter S9 AVP types used by LibDiameter constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Adding of new S9 AVP types is ok;
*/
module LibDiameter_Types_S9_AVPs {
import from LibCommon_BasicTypesAndValues all;
//import from LibDiameter_TypesAndValues all;
import from LibDiameter_Types_Base_AVPs all;
import from LibDiameter_Types_Gx_AVPs all;
import from LibDiameter_Types_Rx_AVPs all;
// import from LibDiameter_Types_RfRo_AVPs all;
group AVPs{
group TS129_215_AVPs {
type octetstring DiameterIdentity; // Alias
type record TDF_Information_AVP { //ref: TS129 212 5.3.78
AVP_Header aVP_Header, //TDF-Information ::= <AVP header:1087>
TDF_Destination_Realm_AVP tDF_Destination_Realm optional,
TDF_Destination_Host_AVP tDF_Destination_Host optional,
TDF_IP_Address_AVP tDF_IP_Address optional
}
type record TDF_Destination_Realm_AVP { //ref: TS129 212 5.3.79
AVP_Header aVP_Header, //TDF-Destination-Realm ::= <AVP header:1090>
DiameterIdentity aVP_Data
}
type record TDF_Destination_Host_AVP { //ref: TS129 212 5.3.80
AVP_Header aVP_Header, //TDF-Destination-Host ::= <AVP header:1089>
DiameterIdentity aVP_Data
}
type record TDF_IP_Address_AVP { //ref: TS129 212 5.3.81
AVP_Header aVP_Header, //TDF-IP-Address ::= <AVP header:1091>
Address aVP_Data
}
type enumerated AN_GW_Status_Code {
AN_GW_FAILED_E (0)
}
type record AN_GW_Status_AVP { //ref: TS129 212 5.3.100
AVP_Header aVP_Header, //AN-GW-Statush ::= <AVP header: 2811>
AN_GW_Status_Code aN_GW_Status
}
type record ThreeGPP_GGSN_Address_AVP { //ref: TS129 061 table 9a
AVP_Header aVP_Header, //3GPP-GGSN-Address ::= <AVP header:7 10415>
octetstring aVP_Data
}
type record ThreeGPP_GGSN_IPv6_Address_AVP { //ref: TS129 061 table 9a
AVP_Header aVP_Header, //3GPP-GGSN-IPv6-Address ::= <AVP header:16 10415>
octetstring aVP_Data
}
type record TWAN_Identifier_AVP { //ref: TS129 061 table 9a
AVP_Header aVP_Header, //TWAN-Identifier ::= <AVP header:29 10415>
octetstring aVP_Data
}
type record QoS_Rule_Report_AVP { //ref: TS129 212 5a.3.5
AVP_Header aVP_Header, //QoS-Rule-Report ::= <AVP header:1055>
set of QoS_Rule_Name_AVP qoS_Rule_Name optional,
set of QoS_Rule_Base_Name_AVP qoS_Rule_Base_Name optional,
PCC_Rule_Status_AVP pCC_Rule_Status optional,
Rule_Failure_Code_AVP rule_Failure_Code optional,
set of AVP_Type aVP_Type optional
}
type record QoS_Rule_Name_AVP { //ref: TS129 212 5a.3.4
AVP_Header aVP_Header, //QoS-Rule-Name ::= <AVP header:1054>
octetstring aVP_Data
}
type record QoS_Rule_Base_Name_AVP { //ref: TS129 212 5a.3.7
AVP_Header aVP_Header, //QoS-Rule-Base-Name ::= <AVP header:1074>
UTF8String aVP_Data
}
type record Appl_Detection_Info_AVP { //ref: TS129 212 5.3.91
AVP_Header aVP_Header, //Application-Detection-Information ::= <AVP header:1098>
TDF_Application_Identifier_AVP tDF_Application_Identifier,
TDF_Application_Instance_Id_AVP tDF_Application_Instance_Id optional,
set of Flow_Information_AVP flow_Information optional,
set of AVP_Type aVP_Type optional
}
type record TDF_Application_Identifier_AVP { //ref: TS129 212 5.3.77
AVP_Header aVP_Header, //TDF-Application-Identifier ::= <AVP header:1088>
octetstring aVP_Data
}
type record TDF_Application_Instance_Id_AVP { //ref: TS129 212 5.3.92
AVP_Header aVP_Header, //TDF-Application-Instance-Identifier ::= <AVP header:2802>
octetstring aVP_Data
}
type record HeNB_Local_IP_Address_AVP { //ref: TS129 212 5.3.95
AVP_Header aVP_Header, //HeNB-Local-IP-Address ::= <AVP header:2804>
Address aVP_Data
}
type record UE_Local_IP_Address_AVP { //ref: TS129 212 5.3.96
AVP_Header aVP_Header, //UE-Local-IP-Address ::= <AVP header:2805>
Address aVP_Data
}
type record UDP_Source_Port_AVP { //ref: TS129 212 5.3.97
AVP_Header aVP_Header, //UDP-Source-Port ::= <AVP header:2806>
UInt32 aVP_Data
}
type enumerated Session_Linking_Indicator_Code {
SESSION_LINKING_IMMEDIATE_E (0),
SESSION_LINKING_DEFERRED_E (1)
}
type record Session_Linking_Indicator_AVP { //ref: TS129 212 5a.3.6
AVP_Header aVP_Header, //Session-Linking-Indicator ::= <AVP header: 1064>
Session_Linking_Indicator_Code session_Linking_Indicator
}
type record Subses_Decision_Info_AVP { //ref: TS129 215 5.3.1
AVP_Header aVP_Header, //Subsession-Decision-Info ::= <AVP header:2200>
Subsession_Id_AVP subsession_Id,
set length (0..2) of AN_GW_Addr_AVP aN_GW_Address optional,
Result_Code_AVP result_Code optional,
Experimental_Result_AVP experimental_Result optional,
set of Charging_Rule_Remove_AVP charging_Rule_Remove optional,
set of Charging_Rule_Install_AVP charging_Rule_Install optional,
set of QoS_Rule_Install_AVP qoS_Rule_Install optional,
set of QoS_Rule_Remove_AVP qoS_Rule_Remove optional,
Default_EPS_Bearer_QoS_AVP default_EPS_Bearer_QoS optional,
set of Usage_Monitoring_Info_AVP usage_Monitoring_Information optional,
Session_Release_Cause_AVP session_Release_Cause optional,
Bearer_Control_Mode_AVP bearer_Control_Mode optional,
set of Event_Trigger_AVP event_Trigger optional,
Revalidation_Time_AVP revalidation_Time optional,
Online_AVP online optional,
Offline_AVP offline optional,
QoS_Information_AVP qoS_Information optional,
set of AVP_Type aVP_Type optional
}
type record Subses_Enforcement_Info_AVP { //ref: TS129 215 5.3.2
AVP_Header aVP_Header, //Subsession-Enforcement-Info ::= <AVP header:2201>
Subsession_Id_AVP subsession_Id,
Subsession_Operation_AVP subsession_Operation optional,
set length (0..2) of AN_GW_Addr_AVP aN_GW_Address optional,
Bearer_Identifier_AVP bearer_Identifier optional,
Bearer_Operation_AVP bearer_Operation optional,
set of Packet_Filter_Info_AVP packet_Filter_Information optional,
Packet_Filter_Operation_AVP packet_Filter_Operation optional,
QoS_Information_AVP qoS_Information optional,
Framed_IP_Address_AVP framed_IP_Address optional,
Framed_IPv6_Prefix_AVP framed_IPv6_Prefix optional,
set of CoA_Information_AVP coA_Information optional,
Called_Station_Id_AVP called_Station_Id optional,
PDN_Connection_ID_AVP pDN_Connection_ID optional,
Bearer_Usage_AVP bearer_Usage optional,
set of TFT_Packet_Filter_Info_AVP tFT_Packet_Filter_Information optional,
Online_AVP online optional,
Offline_AVP offline optional,
Result_Code_AVP result_Code optional,
Experimental_Result_AVP experimental_Result optional,
set of Charging_Rule_Report_AVP charging_Rule_Report optional,
set of QoS_Rule_Report_AVP qoS_Rule_Report optional,
IP_CAN_Type_AVP iP_CAN_Type optional,
RAT_Type_AVP rat_Type optional,
ThreeGPP_SGSN_MCC_MNC_AVP threeGPP_SGSN_MCC_MNC optional,
ThreeGPP_SGSN_Address_AVP threeGPP_SGSN_Address optional,
ThreeGPP_SGSN_IPv6_Address_AVP threeGPP_SGSN_IPv6_Address optional,
RAI_AVP rAI optional,
ThreeGPP_User_Location_Info_AVP threeGPP_User_Location_Info optional,
ThreeGPP2_BSID_AVP threeGPP2_BSID optional,
User_CSG_Information_AVP user_CSG_Information optional,
Default_EPS_Bearer_QoS_AVP default_EPS_Bearer_QoS optional,
Network_Request_Support_AVP network_Request_Support optional,
Routing_Rule_Install_AVP routing_Rule_Install optional,
Routing_Rule_Remove_AVP routing_Rule_Remove optional,
Logical_Access_ID_AVP logical_Access_ID optional,
Physical_Access_ID_AVP physical_Access_ID optional,
set of Usage_Monitoring_Info_AVP usage_Monitoring_Information optional,
Multiple_BBERF_Action_AVP multiple_BBERF_Action optional,
set of Event_Trigger_AVP event_Trigger optional,
Access_Netw_Charging_Addr_AVP access_Network_Charging_Address optional,
set of Access_Netw_Charg_Id_Gx_AVP access_Network_Charging_Id_Gx optional,
Session_Linking_Indicator_AVP session_Linking_Indicator optional,
set of AVP_Type aVP_Type optional
}
type record Subsession_Id_AVP { //ref: TS129 215 5.3.3
AVP_Header aVP_Header, //Subsession-Id ::= <AVP header:2202>
UInt32 aVP_Data
}
type enumerated Subsession_Operation_Code {
TERMINATION_E (0),
ESTABLISHMENT_E (1),
MODIFICATION_E (2)
}
type record Subsession_Operation_AVP { //ref: TS129 215 5.3.4
AVP_Header aVP_Header, //Subsession-Operation ::= <AVP header: 2203>
Subsession_Operation_Code subsession_Operation
}
type enumerated Multiple_BBERF_Action_Code {
ESTABLISHMENT_E (0),
TERMINATION_E (1)
}
type record Multiple_BBERF_Action_AVP { //ref: TS129 215 5.3.6
AVP_Header aVP_Header, //Multiple-BBERF-Action ::= <AVP header: 2204>
Multiple_BBERF_Action_Code multiple_BBERF_Action
}
type Resource_Allocation_Notification_AVP
Resource_Alloc_Notification_AVP; // Shortened Name - Alias
type Access_Network_Charging_Identifier_Value_AVP
ANw_Charging_Id_Value_AVP; // Shortened Name - Alias
type record QoS_Rule_Install_AVP { //ref: TS129 212 5a.3.1
AVP_Header aVP_Header, //QoS-Rule-Install ::= <AVP header: 1051>
set of QoS_Rule_Definition_AVP qoS_Rule_Definition optional,
set of QoS_Rule_Name_AVP qoS_Rule_Name optional,
set of QoS_Rule_Base_Name_AVP qoS_Rule_Base_Name optional,
Tunnel_Information_AVP tunnel_Information optional,
ANw_Charging_Id_Value_AVP acc_Net_Charging_Id_Val optional,
Resource_Alloc_Notification_AVP resource_Alloc_Notification optional,
Rule_Activation_Time_AVP rule_Activation_Time optional,
Rule_DeActivation_Time_AVP rule_DeActivation_Time optional,
ThreeGPP_GGSN_Address_AVP threeGPP_GGSN_Address optional,
ThreeGPP_GGSN_IPv6_Address_AVP threeGPP_GGSN_IPv6_Address optional,
set length (0..2) of AN_GW_Addr_AVP aN_GW_Address optional,
UDP_Source_Port_AVP uDP_Source_Port optional,
set of AVP_Type aVP_Type optional
}
type record QoS_Rule_Remove_AVP { //ref: TS129 212 5a.3.2
AVP_Header aVP_Header, //QoS-Rule-Remove ::= <AVP header: 1052>
set of QoS_Rule_Name_AVP qoS_Rule_Name optional,
set of QoS_Rule_Base_Name_AVP qoS_Rule_Base_Name optional,
set of AVP_Type aVP_Type optional
}
type record QoS_Rule_Definition_AVP { //ref: TS129 212 5a.3.3
AVP_Header aVP_Header, //QoS-Rule-Definition ::= <AVP header: 1053>
QoS_Rule_Name_AVP qoS_Rule_Name,
set of Flow_Information_AVP flow_Information optional,
QoS_Information_AVP qoS_Information optional,
Precedence_AVP precedence optional,
set of Required_Access_Info_AVP required_Access_Info optional,
set of AVP_Type aVP_Type optional
}
type enumerated Required_Access_Info_Code {
USER_LOCATION_E (0),
MS_TIME_ZONE_E (1) }
type record Required_Access_Info_AVP { //ref: TS129 214 5.3.34
AVP_Header aVP_Header, //Required-Access-Info ::= <AVP header: 536>
Required_Access_Info_Code required_Access_Info
}
}//end of group TS129_215_AVPs
}//end group AVPs
group ShorterNames {
type Packet_Filter_Information_AVP Packet_Filter_Info_AVP; // Shortened Name - Alias
type AN_GW_Address_AVP AN_GW_Addr_AVP; // Shortened Name - Alias
type TFT_Packet_Filter_Information_AVP TFT_Packet_Filter_Info_AVP; // Shortened Name - Alias
type Access_Network_Charging_Address_AVP
Access_Netw_Charging_Addr_AVP; // Shortened Name - Alias
type Access_Network_Charging_Identifier_Gx_AVP
Access_Netw_Charg_Id_Gx_AVP; // Shortened Name - Alias
type Multiple_Services_Credit_Control_AVP
Multiple_Services_CC_AVP; // Shortened Name - Alias
type Usage_Monitoring_Information_AVP Usage_Monitoring_Info_AVP; // Shortened Name - Alias
type CSG_Information_Reporting_AVP CSG_Info_Reporting_AVP; // Shortened Name - Alias
}
} with {
encode "DIAMETERCodec"; variant "";
} //end module LibDiameter_Types_S9_AVPs
\ No newline at end of file
/**
* @author STF 544
* @version $Id$
* @desc This module defines Diameter Cx and Dx AVP types used by LibDiameter constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* @remark Adding of new ShDh AVP types is ok;
*/
module LibDiameter_Types_ShDh_AVPs {
// LibCommmon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibDiameter
//import from LibDiameter_TypesAndValues all;
//import from LibDiameter_Types_Base_AVPs all;
// import from LibDiameter_Types_Gx_AVPs all;
// import from LibDiameter_Types_Rx_AVPs all;
// import from LibDiameter_Types_S6a_AVPs all;
// import from LibDiameter_Types_S9_AVPs all;
// import from LibDiameter_Types_CxDx_AVPs all;
// import from LibDiameter_Types_RfRo_AVPs all;
} with {
encode "DIAMETERCodec"; variant "";
} // End of LibDiameter_Types_ShDh_AVPs
\ No newline at end of file
sources := \
ttcn/LibHttp_XmlMessageBodyTypes.ttcn \
ttcn/LibHttp_XmlTemplates.ttcn \
ttcn/LibHttp_JsonMessageBodyTypes.ttcn \
ttcn/LibHttp_JsonTemplates.ttcn \
ttcn/LibHttp_Templates.ttcn \
ttcn/LibHttp_TestSystem.ttcn \
ttcn/LibHttp_Functions.ttcn
module LibHttp_Functions {
// LibCommon
import from LibCommon_Time all;
import from LibCommon_VerdictControl all;
import from LibCommon_Sync all;
// LibHttp
import from LibHttp_TypesAndValues all;
import from LibHttp_Templates all;
import from LibHttp_Pics all;
import from LibHttp_Pixits all;
import from LibHttp_TestSystem all;
group preambles {
/**
* @desc Setup HTTP pprotocol port
*/
function f_cf_01_http_up() runs on HttpComponent {
// Map ports
map(self:httpPort, system:httpPort);
// Connect
f_connect4SelfOrClientSync();
activate(a_cf_01_http_down());
activate(a_default_requests());
activate(a_default_responses());
} // End of function f_cf_01_http_up
/**
* @desc Setup HTTP pprotocol port
*/
function f_cf_01_http_notif_up() runs on HttpComponent {
// Map ports
map(self:httpPort, system:httpPort);
map(self:httpPort_notif, system:httpPort_notif);
// Connect
f_connect4SelfOrClientSync();
activate(a_cf_01_http_notif_down());
activate(a_default_requests());
activate(a_default_responses());
} // End of function f_cf_01_http_notif_up
} // End of group preambles
group postambles {
/**
* @desc Shutdown HTTP pprotocol port
*/
function f_cf_01_http_down() runs on HttpComponent {
// Unmap ports
unmap(self:httpPort, system:httpPort);
// Disconnect ports
f_disconnect4SelfOrClientSync();
deactivate;
} // End of function f_cf_01_http_down
/**
* @desc Shutdown HTTP pprotocol port
*/
function f_cf_01_http_notif_down() runs on HttpComponent {
// Unmap ports
unmap(self:httpPort, system:httpPort);
unmap(self:httpPort_notif, system:httpPort_notif);
// Disconnect ports
f_disconnect4SelfOrClientSync();
deactivate;
} // End of function f_cf_01_http_notif_down
/**
* @desc Default handling cf01 de-initialisation.
*/
altstep a_cf_01_http_down() runs on HttpComponent {
[] a_shutdown() {
f_cf_01_http_down();
log("*** a_cf_01_http_down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***");
stop;
}
} // End of altstep a_cf_01_http_down
/**
* @desc Default handling cf01 de-initialisation.
*/
altstep a_cf_01_http_notif_down() runs on HttpComponent {
[] a_shutdown() {
f_cf_01_http_notif_down();
log("*** a_cf_01_http_notif_down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***");
stop;
}
} // End of altstep a_cf_01_http_notif_down
} // End of group postambles
group http_headers {
function f_init_default_headers_list(
in charstring p_header_content_type := PICS_HEADER_CONTENT_TYPE,
in charstring p_header_content_text := "",
out Headers p_headers
) {
var integer v_i := 0;
p_headers[v_i] := { c_header_host, { PICS_HEADER_HOST } };
v_i := v_i + 1;
p_headers[v_i] := { c_header_content_type, { p_header_content_type } };
v_i := v_i + 1;
if (p_header_content_text != "") {
p_headers[v_i] := { c_header_content_text, { p_header_content_text } };
v_i := v_i + 1;
}
p_headers[v_i] := { c_header_content_length, { "0" } };
v_i := v_i + 1;
p_headers[v_i] := { c_header_connection, { "keep-alive" } };
v_i := v_i + 1;
p_headers[v_i] := { c_header_pragma, { "no-cache" } };
v_i := v_i + 1;
p_headers[v_i] := { c_header_cache_control, { "no-cache" } };
v_i := v_i + 1;
if (PICS_USE_TOKEN_HEADER) {
p_headers[v_i] := { c_header_authorization, { PICS_TOKEN_HEADER } }; // aladdin:opensesame
v_i := v_i + 1;
}
//p_headers[v_i] := { c_header_accept, { "application/x-its-response" } };
if (lengthof(PX_ADDITIONAL_HTTP_HEADERS_KEYS) != 0) {
f_set_headers_list(PX_ADDITIONAL_HTTP_HEADERS_KEYS, PX_ADDITIONAL_HTTP_HEADERS_VALUES, p_headers);
}
} // End of function f_init_default_headers_list
function f_set_headers_list(
in charstring_list p_headers_to_set,
in charstring_list p_headers_value,
inout Headers p_headers
) {
// Sanity checks
if (lengthof(p_headers_to_set) == 0) {
return;
} else if (lengthof(p_headers) == 0) {
return;
}
for (var integer v_idx := 0; v_idx < lengthof(p_headers_to_set); v_idx := v_idx + 1) {
var integer v_jdx;
for (v_jdx := 0; v_jdx < lengthof(p_headers); v_jdx := v_jdx + 1) {
if (p_headers[v_jdx].header_name == p_headers_to_set[v_idx]) {
p_headers[v_jdx].header_value := { p_headers_value[v_idx] }; // NOTE Codec won't encode it
break;
}
} // End of 'for' statement
if (v_jdx == lengthof(p_headers)) {
p_headers[v_jdx].header_name := p_headers_to_set[v_idx];
p_headers[v_jdx].header_value := { p_headers_value[v_idx] };
}
} // End of 'for' statement
} // End of function f_set_headers_list
function f_remove_headers_list(
in charstring_list p_headers_to_remove,
inout Headers p_headers
) {
// Sanity checks
if (lengthof(p_headers_to_remove) == 0) {
return;
} else if (lengthof(p_headers) == 0) {
return;
}
for (var integer v_idx := 0; v_idx < lengthof(p_headers_to_remove); v_idx := v_idx + 1) {
for (var integer v_jdx := 0; v_jdx < lengthof(p_headers); v_jdx := v_jdx + 1) {
if (p_headers[v_jdx].header_name == p_headers_to_remove[v_idx]) {
p_headers[v_jdx].header_value := omit; // NOTE Codec won't encode it
break;
}
} // End of 'for' statement
} // End of 'for' statement
} // End of function f_remove_headers_list
function f_get_header(
in Headers p_headers,
in charstring p_header_name := c_header_content_text,
out charstring_list p_header_value
) {
// Sanity checks
if (lengthof(p_header_name) == 0) {
return;
} else if (lengthof(p_headers) == 0) {
return;
}
for (var integer v_jdx := 0; v_jdx < lengthof(p_headers); v_jdx := v_jdx + 1) {
if (p_headers[v_jdx].header_name == p_header_name) {
p_header_value := p_headers[v_jdx].header_value; // NOTE Codec won't encode it
break;
}
} // End of 'for' statement
} // End of function f_get_header
/**
* @desc Check HTTP response headers
* @param p_headers The HTTP headers
* @param p_value the expected va;ue
* @return true on success, false otherwise
*/
function f_check_headers(
in Headers p_headers,
in charstring p_header_name := "Location",
in template (present) charstring p_value := ?
) return boolean {
// Local variables
var boolean v_header_matched := false;
for (var integer v_idx := 0; v_idx < lengthof(p_headers); v_idx := v_idx + 1) {
if (p_headers[v_idx].header_name == p_header_name) {
if (match(p_headers[v_idx].header_value[0], p_value) == true) {
v_header_matched := true;
} // else, nothing to do
break;
}
} // End of 'for' statement
return v_header_matched;
} // End of function f_check_headers
} // End of group http_headers
group altsteps {
altstep a_default_requests() runs on HttpComponent {
[] httpPort.receive(mw_http_request) {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: Receive request instead of response on httpPort ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] httpPort_notif.receive(mw_http_request) {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: Receive unsollicited request on httpPort_notif ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
} // End of altstep a_default_requests
altstep a_default_responses() runs on HttpComponent {
var HttpMessage v_response;
[] httpPort.receive(
mw_http_response(
mw_http_response_ok(
mw_http_message_body_xml
))) {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Unexpected XML response ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] httpPort.receive(
mw_http_response(
mw_http_response_ok(
mw_http_message_body_json
))) {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Unexpected JSON response ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] httpPort.receive(
mw_http_response(
mw_http_response_ok(
mw_http_message_body_binary
))) {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Unexpected binary response ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[PICS_USE_TOKEN_HEADER == false] httpPort.receive(
mw_http_response(
mw_http_response_401_unauthorized
)) -> value v_response {
tc_http_ac.stop;
log("*** " & testcasename() & ": PASS: Received HTTP error message in case of non authenticated HTTP request ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
}
[] httpPort.receive(
mw_http_response(
mw_http_response_ko
)) -> value v_response {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: " & int2str(v_response.response.statuscode) & "/" & v_response.response.statustext & " ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
// Do not repeat!
}
[] httpPort.receive(mw_http_response) -> value v_response {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: " & int2str(v_response.response.statuscode) & "/" & v_response.response.statustext & " ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] httpPort.receive {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: Receive unsollicited message on httpPort ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] httpPort_notif.receive(mw_http_response) -> value v_response {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: " & int2str(v_response.response.statuscode) & "/" & v_response.response.statustext & " on httpPort_notif ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
[] httpPort_notif.receive {
tc_http_ac.stop;
log("*** " & testcasename() & ": FAIL: Server error: Receive unsollicited message on httpPort_notif ***");
f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
}
} // End of altstep a_default_responses
} // end of group altsteps
} // End of module LibHttp_Functions
module LibHttp_JsonMessageBodyTypes {
// LibNg112
import from LibNg112_DequeueRegistration all;
/**
* This file volontary contains a trivial declaration of the type JsonBody.
* In accordance with your TTCN-3 module LibHttp_JSONTypes, you have to change the JsonBody typing.
*/
// TODO Add here your custom RFCs import
type union JsonBody {
// TODO Add here your custom variants
DequeueRegistrationRequest dequeueRegistrationRequest,
DequeueRegistrationResponse dequeueRegistrationResponse,
universal charstring raw
} with {
variant ""
}
} with {
encode "JSON";
variant ""
} // End of module LibHttp_JsonMessageBodyTypes
/**
* @author ETSI / STF569
* @version $URL$
* $ID:$
* @desc This module provides the custom templates for ITS HTTP based protocols.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*/
module LibHttp_JsonTemplates {
// LibHttp
import from LibHttp_TypesAndValues all;
import from LibHttp_JsonMessageBodyTypes all;
// LibJson
import from Json all;
// LibNg112
import from LibNg112_DequeueRegistration all;
import from LibNg112_SubscriptionPayloads all;
// TODO Add here your custom RFCs import
template (value) JsonBody m_json_body_raw(
in template (value) charstring p_raw
) := {
raw := p_raw
} // End of template m_json_body_raw
template (present) JsonBody mw_json_body_raw(
template (present) charstring p_raw := ?
) := {
raw := p_raw
} // End of template mw_json_body_raw
group dequeue_register {
template (value) LibHttp_JsonMessageBodyTypes.JsonBody m_body_json_dequeue_registration_request(
in template (value) DequeueRegistrationRequest p_dequeue_registration_request
) := {
dequeueRegistrationRequest := p_dequeue_registration_request
} // End of template m_dequeue_registration_request
template (present) LibHttp_JsonMessageBodyTypes.JsonBody mw_body_json_dequeue_registration_request(
template (present) DequeueRegistrationRequest p_dequeue_registration_request := ?
) := {
dequeueRegistrationRequest := p_dequeue_registration_request
} // End of template mw_dequeue_registration_request
template (present) LibHttp_JsonMessageBodyTypes.JsonBody mw_body_json_dequeue_registration_response(
template (present) DequeueRegistrationResponse p_dequeue_registration_response := ?
) := {
dequeueRegistrationResponse := p_dequeue_registration_response
} // End of template m_dequeue_registration_response
template (omit) DequeueRegistrationRequest m_dequeue_registration_request(
in template (value) Json.String p_DequeueRegistrationQueueUri,
in template (value) Json.String p_DequeueRegistrationDequeuer,
in template (value) Json.Integer p_DequeueRegistrationExpirationTime,
in template (omit) Json.Integer p_DequeueRegistrationDequeuePreference := omit
) := {
DequeueRegistrationQueueUri := p_DequeueRegistrationQueueUri,
DequeueRegistrationDequeuer := p_DequeueRegistrationDequeuer,
DequeueRegistrationExpirationTime := p_DequeueRegistrationExpirationTime,
DequeueRegistrationDequeuePreference := p_DequeueRegistrationDequeuePreference
} // End of template m_dequeue_registration_request
template (present) DequeueRegistrationRequest mw_dequeue_registration_request(
template (present) Json.String p_DequeueRegistrationQueueUri := ?,
template (present) Json.String p_DequeueRegistrationDequeuer := ?,
template (present) Json.Integer p_DequeueRegistrationExpirationTime := ?,
template Json.Integer p_DequeueRegistrationDequeuePreference := *
) := {
DequeueRegistrationQueueUri := p_DequeueRegistrationQueueUri,
DequeueRegistrationDequeuer := p_DequeueRegistrationDequeuer,
DequeueRegistrationExpirationTime := p_DequeueRegistrationExpirationTime,
DequeueRegistrationDequeuePreference := p_DequeueRegistrationDequeuePreference
} // End of template mw_dequeue_registration_request
template (omit) DequeueRegistrationRequest m_dequeue_deregistration_request(
in template (value) Json.String p_DequeueRegistrationQueueUri,
in template (value) Json.String p_DequeueRegistrationDequeuer,
in template (omit) Json.Integer p_DequeueRegistrationDequeuePreference := omit
) := {
DequeueRegistrationQueueUri := p_DequeueRegistrationQueueUri,
DequeueRegistrationDequeuer := p_DequeueRegistrationDequeuer,
DequeueRegistrationExpirationTime := 0,
DequeueRegistrationDequeuePreference := p_DequeueRegistrationDequeuePreference
} // End of template m_dequeue_deregistration_request
template (present) DequeueRegistrationRequest mw_dequeue_deregistration_request(
template (present) Json.String p_DequeueRegistrationQueueUri := ?,
template (present) Json.String p_DequeueRegistrationDequeuer := ?,
template Json.Integer p_DequeueRegistrationDequeuePreference := *
) := {
DequeueRegistrationQueueUri := p_DequeueRegistrationQueueUri,
DequeueRegistrationDequeuer := p_DequeueRegistrationDequeuer,
DequeueRegistrationExpirationTime := 0,
DequeueRegistrationDequeuePreference := p_DequeueRegistrationDequeuePreference
} // End of template mw_dequeue_registration_request
template (value) DequeueRegistrationResponse m_dequeue_response_ok(
in template (value) Json.Integer p_DequeueRegistrationExpirationTime
) := {
DequeueRegistrationExpirationTime := p_DequeueRegistrationExpirationTime,
DequeueRegistrationStatusCode := 0
} // End of template m_dequeue_registration_request
template (present) DequeueRegistrationResponse mw_dequeue_response_ok(
template (present) Json.Integer p_DequeueRegistrationExpirationTime := ?
) := {
DequeueRegistrationExpirationTime := p_DequeueRegistrationExpirationTime,
DequeueRegistrationStatusCode := ?
} // End of template mw_dequeue_registration_request
} // End of group dequeue_register
} // End of module LibHttp_JsonTemplates
/**
* @author ETSI / STF549
* @version $URL$
* $ID:$
* @desc This module provides the templates for ITS HTTP based protocols.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI TS 103 478
*/
module LibHttp_Templates {
// LibHttp
import from LibHttp_TypesAndValues all;
import from LibHttp_MessageBodyTypes all;
import from LibHttp_XmlMessageBodyTypes all;
import from LibHttp_JsonMessageBodyTypes all;
import from LibHttp_BinaryMessageBodyTypes all;
template LibHttp_TypesAndValues.Response mw_http_response_456_bad_queue(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 456,
statustext := ?
} // End of template mw_http_response_456_bad_queue
template LibHttp_TypesAndValues.Response mw_http_response_457_bad_dequeuePreference(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 457,
statustext := ?
} // End of template mw_http_response_457_bad_dequeuePreference
group http_messages {
template (value) HttpMessage m_http_request(
in template (value) Request p_request
) := {
request := p_request
} // End of template m_http_request
template (present) HttpMessage mw_http_request(
template (present) Request p_request := ?
) := {
request := p_request
} // End of template mw_http_request
template (value) HttpMessage m_http_response(
in template (value) Response p_response
) := {
response := p_response
} // End of template m_http_response
template (present) HttpMessage mw_http_response(
template (present) Response p_response := ?
) := {
response := p_response
} // End of template mw_http_response
} // End of group http_messages
group http_headers {
template (value) Header m_header_line(
in template (value) charstring p_header_name,
in template (value) charstring_list p_header_value
) := {
header_name := p_header_name,
header_value := p_header_value
} // End of template m_header_line
} // End of group http_headers
group http_requests {
template (omit) Request m_http_request_get(
in charstring p_uri,
in template (value) Headers p_headers,
in template (omit) HttpMessageBody p_body := omit
) := {
method := "GET",
uri := p_uri,
version_major := c_http_version_major,
version_minor := c_http_version_minor,
header := p_headers,
body := p_body
} // End of template m_http_request_get
template Request mw_http_request_get(
template (present) charstring p_uri := ?,
template (present) Headers p_headers := ?,
template HttpMessageBody p_body := *
) := {
method := "GET",
uri := p_uri,
version_major := c_http_version_major,
version_minor := c_http_version_minor,
header := p_headers,
body := p_body
} // End of template mw_http_request_get
template (omit) Request m_http_request_post(
in charstring p_uri,
in template (value) Headers p_headers,
in template (omit) HttpMessageBody p_body := omit
) modifies m_http_request_get := {
method := "POST"
} // End of template m_http_request_post
template Request mw_http_request_post(
template (present) charstring p_uri := ?,
template (present) Headers p_headers := ?,
template HttpMessageBody p_body := *
) modifies mw_http_request_get := {
method := "POST"
} // End of template mw_http_request_post
template (omit) Request m_http_request_patch(
in charstring p_uri,
in template (value) Headers p_headers,
in template (omit) HttpMessageBody p_body := omit
) modifies m_http_request_get := {
method := "PATCH"
} // End of template m_http_request_patch
template Request mw_http_request_patch(
template (present) charstring p_uri := ?,
template (present) Headers p_headers := ?,
template HttpMessageBody p_body := *
) modifies mw_http_request_get := {
method := "PATCH"
} // End of template mw_http_request_patch
template (omit) Request m_http_request_put(
in charstring p_uri,
in template (value) Headers p_headers,
in template (omit) HttpMessageBody p_body := omit
) modifies m_http_request_get := {
method := "PUT"
} // End of template m_http_request_put
template Request mw_http_request_put(
template (present) charstring p_uri := ?,
template (present) Headers p_headers := ?,
template HttpMessageBody p_body := *
) modifies mw_http_request_get := {
method := "PUT"
} // End of template mw_http_request_put
template (omit) Request m_http_request_delete(
in charstring p_uri,
in template (value) Headers p_headers,
in template (omit) HttpMessageBody p_body := omit
) modifies m_http_request_get := {
method := "DELETE"
} // End of template m_http_request_delete
template Request mw_http_request_delete(
template (present) charstring p_uri := ?,
template (present) Headers p_headers := ?,
template HttpMessageBody p_body := *
) modifies mw_http_request_get := {
method := "DELETE"
} // End of template mw_http_request_post
} // End of group http_requests
group http_responses {
template (value) Response m_http_response_ok(
in template (value) HttpMessageBody p_body,
in template (value) Headers p_header
) := {
version_major := 1,
version_minor := 1,
statuscode := 200,
statustext := "OK",
header := p_header,
body := p_body,
tls := omit,
mutual_tls := omit
} // End of template m_http_response_ok
template (value) Response m_http_response_ok_no_body(
in template (value) Headers p_header
) := {
version_major := 1,
version_minor := 1,
statuscode := 200,
statustext := "OK",
header := p_header,
body := omit
} // End of template m_http_response_ok_no_body
template (present) Response mw_http_response_ok_no_body(
template (present) Headers p_header := ?
) := {
version_major := 1,
version_minor := 1,
statuscode := 200,
statustext := "OK",
header := p_header,
body := omit,
tls := *,
mutual_tls := *
} // End of template mw_http_response_ok_no_body
template (value) Response m_http_response_204_no_content(
in template (value) Headers p_header
) modifies m_http_response_ok_no_body := {
statuscode := 204,
statustext := "No Content"
} // End of template m_http_response_204_no_content
template (present) Response mw_http_response_ok(
template (present) HttpMessageBody p_body := ?,
template (present) Headers p_header := ?
) := {
version_major := 1,
version_minor := 1,
statuscode := 200,
statustext := ?,
header := p_header,
body := p_body,
tls := *,
mutual_tls := *
} // End of template mw_http_response_ok
template (present) Response mw_http_response_201_created(
template (present) HttpMessageBody p_body := ?,
template (present) Headers p_header := ?
) modifies mw_http_response_ok := {
statuscode := 201,
statustext := "Created"
} // End of template mw_http_response_201_created
template (present) Response mw_http_response_202_accepted(
template (present) HttpMessageBody p_body := ?,
template (present) Headers p_header := ?
) modifies mw_http_response_ok := {
statuscode := 202,
statustext := "Accepted"
} // End of template mw_http_response_202_accepted
template (present) Response mw_http_response_204_no_content(
template (present) Headers p_header := ?
) modifies mw_http_response_ok_no_body := {
statuscode := 204,
statustext := "No Content"
} // End of template mw_http_response_204_no_content
template (value) Response m_http_response_ko(
in template (value) HttpMessageBody p_body,
in template (value) Headers p_header,
in template (value) integer p_statuscode := 404,
in template (value) charstring p_statustext := "Not found"
) := {
version_major := 1,
version_minor := 1,
statuscode := p_statuscode,
statustext := p_statustext,
header := p_header,
body := p_body
} // End of template m_http_response_ko
template (value) Response m_http_response_ko_no_body(
in template (value) Headers p_header,
in template (value) integer p_statuscode := 404,
in template (value) charstring p_statustext := "Not found"
) := {
version_major := 1,
version_minor := 1,
statuscode := p_statuscode,
statustext := p_statustext,
header := p_header,
body := omit
} // End of template m_http_response_ko_no_body
template (value) Response m_http_response_500_internal_error(
in template (value) Headers p_header,
in template (value) integer p_statuscode := 500,
in template (value) charstring p_statustext := "Internal Error"
) modifies m_http_response_ko_no_body := {
} // End of template m_http_response_ko
template (present) Response mw_http_response_ko_no_body(
template (present) Headers p_header := ?,
template (present) integer p_statuscode := 404,
template (present) charstring p_statustext := "Not found"
) := {
version_major := 1,
version_minor := 1,
statuscode := p_statuscode,
statustext := p_statustext,
header := p_header,
body := omit
} // End of template mw_http_response_ko_no_body
template Response mw_http_response_ko(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) := {
version_major := 1,
version_minor := 1,
statuscode := complement(200),
statustext := ?,
header := p_header,
body := p_body
} // End of template mw_http_response_ko
template (value) Response m_http_response_400_bad_request(
in template (value) HttpMessageBody p_body,
in template (value) Headers p_header,
in template (value) integer p_statuscode := 400,
in template (value) charstring p_statustext := "Bad Request"
) modifies m_http_response_ko := {
} // End of template m_http_response_400_bad_request
template Response mw_http_response_400_bad_request(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 400,
statustext := "Bad Request"
} // End of template mw_http_response_400_bad_request
template Response mw_http_response_401_unauthorized(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 401,
statustext := "Unauthorized"
} // End of template mw_http_response_401_unauthorized
template Response mw_http_response_403_forbidden(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 403,
statustext := "Forbidden"
} // End of template mw_http_response_403_forbidden
template Response mw_http_response_404_not_found(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 404,
statustext := "Not Found"
} // End of template mw_http_response_404_not_found
template Response mw_http_response_412_precondition_failed(
template HttpMessageBody p_body := *,
template (present) Headers p_header := ?
) modifies mw_http_response_ko := {
statuscode := 412,
statustext := "Precondition Failed"
} // End of template mw_http_response_412_not_found
} // End of group http_responses
group http_html_body {
template (value) HttpMessageBody m_http_message_body_html(
in template (value) HtmlBody p_html_body
) := {
html_body := p_html_body
} // End of template m_http_message_body_html
template (present) HttpMessageBody mw_http_message_body_html(
template (present) HtmlBody p_html_body := ?
) := {
html_body := p_html_body
} // End of template mw_http_message_body_html
} // End of group http_html_body
group http_xml_body {
template (value) HttpMessageBody m_http_message_body_xml(
in template (value) XmlBody p_xml_body
) := {
xml_body := p_xml_body
} // End of template m_http_message_body_xml
template (present) HttpMessageBody mw_http_message_body_xml(
template (present) XmlBody p_xml_body := ?
) := {
xml_body := p_xml_body
} // End of template mw_http_message_body_xml
} // End of group http_xml_body
group http_json_body {
template (value) HttpMessageBody m_http_message_body_json(
in template (value) JsonBody p_json_body
) := {
json_body := p_json_body
} // End of template m_http_message_body_json
template (present) HttpMessageBody mw_http_message_body_json(
template (present) JsonBody p_json_body := ?
) := {
json_body := p_json_body
} // End of template mw_http_message_body_json
} // End of group http_json_body
group http_binary_body {
template (value) HttpMessageBody m_http_message_body_binary(
in template (value) BinaryBody p_binary_body
) := {
binary_body := p_binary_body
} // End of template m_http_message_body_binary
template (present) HttpMessageBody mw_http_message_body_binary(
template (present) BinaryBody p_binary_body := ?
) := {
binary_body := p_binary_body
} // End of template mw_http_message_body_binary
} // End of group http_binary_body
} // End of module LibHttp_Templates
/**
* @author ETSI / STF545
* @version $URL$
* $ID:$
* @desc This module provides the test system used by ITS HTTP based protocols.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI TS 103 478
*/
module LibHttp_TestSystem {
// LibCommon
import from LibCommon_Sync all;
import from LibCommon_Time all;
// LibHttp
import from LibHttp_TypesAndValues all;
type port HttpPort message {
inout HttpMessage;
}
type component HttpComponent extends SelfSyncComp { // FIXME To be rename into HttpTest
port HttpPort httpPort;
port HttpPort httpPort_notif;
// timers
timer tc_http_ac := PX_TAC;
} // End of component HttpComponent
type component HttpTestAdapter { // FIXME To be rename into HttpTestSystem
port HttpPort httpPort;
port HttpPort httpPort_notif;
} // End of component TestAdapter
} // End of module LibHttp_TestSystem
module LibHttp_XmlMessageBodyTypes {
import from XSD all;
// LibNg112
import from LibNg112_TypesAndValues all;
// LibHttp
import from LibHttp_XMLTypes all;
// RFC5985 Held
import from urn_ietf_params_xml_ns_geopriv_held language "XSD" all
with {
extension "File:../xsd/RFC5985_held.xsd";
}
// RFC3863 PIDF
import from urn_ietf_params_xml_ns_pidf language "XSD" all
with {
extension "File:../xsd/urn_ietf_params_xml_ns_pidf.ttcn"
}
// RFC5222
import from urn_ietf_params_xml_ns_lost1 language "XSD" all
with {
extension "File:../xsd/RFC5222_lost.xsd";
}
/**
* This file volontary contains a trivial declaration of the type XmlBody.
* In accordance with your TTCN-3 module LibHttp_XMLTypes, you have to change the XmlBody typing.
*/
// TODO Add here your custom RFCs import
type union XmlBodyMsg {
// TODO Add here your custom variants
LocationRequest locationRequest,
LocationResponse locationResponse,
Presence presence,
ErrorType errorType,
FindService findServiceRequest,
FindServiceResponse findServiceResponse,
ListServices listServices,
ListServicesResponse listServicesResponse,
ListServicesByLocation listServicesByLocation,
ListServicesByLocationResponse listServicesByLocationResponse,
ExceptionContainer exceptionContainer,
Redirect redirect,
charstring raw
} with {
variant ""
}
type record XmlBody {
XmlBodyMsg msg,
charstring raw optional
}
} with {
encode "XML";
variant ""
} // End of LibHttp_XmlMessageBodyTypes
/**
* @author ETSI / STF545
* @version $URL: https://oldforge.etsi.org/svn/LibIts/branches/STF525/ttcn/Http/LibHttp_Templates.ttcn $
* $ID:$
* @desc This module provides the custom templates for ITS HTTP based protocols.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
*/
module LibHttp_XmlTemplates {
import from XSD all;
// RFC5985 Held
import from urn_ietf_params_xml_ns_geopriv_held language "XSD" all
with {
extension "File:../xsd/RFC5985_held.xsd";
}
// RFC6155 Held ID
import from urn_ietf_params_xml_ns_geopriv_held_id language "XSD" all
with {
extension "File:../xsd/RFC6155_held_id.xsd";
}
// RFC3863 PIDF
import from urn_ietf_params_xml_ns_pidf language "XSD" all
with {
extension "File:../xsd/urn_ietf_params_xml_ns_pidf.ttcn"
}
import from urn_ietf_params_xml_ns_pidf_geopriv10 language "XSD" all
with {
extension "File:../xsd/RFC4119_geopriv10.xsd";
}
import from urn_ietf_params_xml_ns_pidf_geopriv10_basicPolicy language "XSD" all
with {
extension "File:../xsd/RFC4119_geopriv10_basic_policy.xsd";
}
import from urn_ietf_params_xml_ns_pidf_geopriv10_civicAddr language "XSD" all
with {
extension "File:../xsd/RFC5139_pdif_geopriv10_civic_address.xsd";
}
// RFC3863
import from urn_ietf_params_xml_ns_pidf language "XSD" all
with {
extension "File:../xsd/RFC3863_pidf.xsd";
}
// RFC5222
import from urn_ietf_params_xml_ns_lost1 language "XSD" all
with {
extension "File:../xsd/RFC5222_lost.xsd";
}
// OpenGIS
import from http_www_opengis_net_pidflo_1_0 language "XSD" all
with {
extension "File:../xsd/GLM-pidf-lo-shape.xsd";
}
import from http_www_opengis_net_gml language "XSD" all
with {
extension "File:../xsd/gmlBase.xsd";
extension "File:../xsd/basicTypes.xsd";
extension "File:../xsd/measures.xsd";
extension "File:../xsd/geometryPrimitives.xsd";
extension "File:../xsd/geometryBasic0d1d.xsd";
extension "File:../xsd/geometryBasic2d.xsd";
}
// LibHttp
import from LibHttp_XmlMessageBodyTypes all;
import from LibHttp_XMLTypes all;
template (value) XmlBody m_xml_body_raw(
in template (value) charstring p_raw
) := {
raw := p_raw
} // End of template m_xml_body_raw
template (present) XmlBody mw_xml_body_raw(
template (present) charstring p_raw := ?
) := {
raw := p_raw
} // End of template mw_xml_body_raw
group rfc5985_held {
group http_xml_body {
template (value) XmlBody m_body_xml_location_request(
in template (value) LocationRequest p_locationRequest
) := {
msg := { locationRequest := p_locationRequest },
raw := omit
} // End of template m_body_xml_location_request
template (present) XmlBody mw_body_xml_location_request(
template (present) LocationRequest p_locationRequest := ?
) := {
msg := { locationRequest := p_locationRequest },
raw := omit
} // End of template mw_body_xml_location_request
template (value) XmlBody m_body_xml_location_response(
in template (value) LocationResponse p_locationResponse
) := {
msg := { locationResponse := p_locationResponse },
raw := omit
} // End of template m_body_xml_location_response
template (present) XmlBody mw_body_xml_location_response(
template (present) LocationResponse p_locationResponse := ?
) := {
msg := { locationResponse := p_locationResponse },
raw := omit
} // End of template mw_body_xml_location_response
template (present) XmlBody mw_body_xml_presence(
in template (present) Presence p_presence := ?
) := {
msg := { presence := p_presence },
raw := omit
} // End of template mw_body_xml_presence
template (present) XmlBody mw_body_xml_location_response_error(
in template (present) ErrorType p_error_type := ?
) := {
msg := { errorType := p_error_type },
raw := omit
} // End of template mw_body_xml_location_response_error
template (value) XmlBody m_body_xml_find_service_request(
in template (value) FindService p_findServiceRequest
) := {
msg := { findServiceRequest := p_findServiceRequest },
raw := omit
} // End of template m_body_xml_find_service_request
template (present) XmlBody mw_body_xml_find_service_request(
template (present) FindService p_findServiceRequest := ?
) := {
msg := { findServiceRequest := p_findServiceRequest },
raw := omit
} // End of template mw_body_xml_find_service_request
template (value) XmlBody m_body_xml_find_service_response(
in template (value) FindServiceResponse p_findServiceResponse
) := {
msg := { findServiceResponse := p_findServiceResponse },
raw := omit
} // End of template m_body_xml_find_service_response
template (present) XmlBody mw_body_xml_find_service_response(
template (present) FindServiceResponse p_findServiceResponse := ?
) := {
msg := { findServiceResponse := p_findServiceResponse },
raw := omit
} // End of template mw_body_xml_find_service_response
template (value) XmlBody m_body_xml_list_services_request(
in template (value) ListServices p_listServices
) := {
msg := { listServices := p_listServices },
raw := omit
} // End of template m_body_xml_list_services_request
template (present) XmlBody mw_body_xml_list_services_response(
template (present) ListServicesResponse p_listServicesResponse := ?
) := {
msg := { listServicesResponse := p_listServicesResponse },
raw := omit
} // End of template mw_body_xml_list_services_response
template (value) XmlBody m_body_xml_list_services_by_location_request(
in template (value) ListServicesByLocation p_listServicesByLocation
) := {
msg := { listServicesByLocation := p_listServicesByLocation },
raw := omit
} // End of template m_body_xml_list_services_by_location_request
template (present) XmlBody mw_body_xml_list_services_by_location_response(
template (present) ListServicesByLocationResponse p_listServicesByLocationResponse := ?
) := {
msg := { listServicesByLocationResponse := p_listServicesByLocationResponse },
raw := omit
} // End of template mw_body_xml_list_services_by_location_response
template (value) XmlBody m_body_xml_redirect_response(
in template (value) Redirect p_redirect
) := {
msg := { redirect := p_redirect },
raw := omit
} // End of template m_body_xml_list_services_request
template (present) XmlBody mw_body_xml_redirect_response(
template (present) Redirect p_redirect := ?
) := {
msg := { redirect := p_redirect },
raw := omit
} // End of template mw_body_xml_list_services_by_location_response
template (present) XmlBody mw_body_xml_find_service_response_error(
template (present) ExceptionContainer p_exceptionContainer := ?
) := {
msg := { exceptionContainer := p_exceptionContainer },
raw := omit
} // End of template mw_body_xml_find_service_response_error
} // End of group http_xml_body
template (omit) LocationRequest m_locationRequest(
in template (value) LocationRequestType.elem_list p_elem_list,
in template (omit) LocationTypeType p_locationType := omit,
in template (omit) ResponseTimeType p_responseTime := omit,
in template (omit) LocationRequestType.attr p_attr := omit
) := {
responseTime := p_responseTime,
attr := p_attr,
locationType := p_locationType,
elem_list := p_elem_list
} // End of template m_locationRequest
template LocationRequest mw_locationRequest(
template (present) LocationRequestType.elem_list p_elem_list := ?,
template LocationTypeType p_locationType := *,
template ResponseTimeType p_responseTime := *,
template LocationRequestType.attr p_attr := *
) := {
responseTime := p_responseTime,
attr := p_attr,
locationType := p_locationType,
elem_list := p_elem_list
} // End of template mw_locationRequest
//template (value) Uri m_uri(in template (value) Uri p_uri) := p_uri;
template (value) LocationResponseType m_locationResponse(
in template (omit) ReturnLocationType p_locationUriSet := omit,
in template (value) Presence p_presence,
in template (value) LocationResponseType.elem_list p_elem_list := { }
) := {
locationUriSet := p_locationUriSet,
presence := p_presence,
elem_list := p_elem_list
} // End of template m_locationResponse
template LocationResponseType mw_locationResponse(
template ReturnLocationType p_locationUriSet := *,
template Presence p_presence := *,
template LocationResponseType.elem_list p_elem_list := *
) := {
locationUriSet := p_locationUriSet,
presence := p_presence,
elem_list := p_elem_list
} // End of template mw_locationResponse
template (omit) LocationTypeType m_locationTypeType(
in template (value) LocationTypeBase p_base,
in template (omit) XSD.Boolean p_exact := omit
) := {
exact := p_exact,
base := p_base
} // End of template m_locationTypeType
template (value) LocationTypeBase m_locationTypeBase_civic := {
alt_1 := {
civic
}
} // End of template m_locationTypeBase_civic
template (value) LocationTypeBase m_locationTypeBase_geodetic := {
alt_1 := {
geodetic
}
} // End of template m_locationTypeBase_geodetic
template (value) LocationTypeBase m_locationTypeBase_locationUri := {
alt_1 := {
locationURI
}
} // End of template m_locationTypeBase_locationUri
template (value) LocationTypeBase m_locationTypeBase_all := {
alt_1 := {
geodetic, civic
}
} // End of template m_locationTypeBase_all
template (value) ReturnLocationType m_locationUriSet(
in template (value) XSD.DateTime p_expires,
in template (value) ReturnLocationType.locationURI_list p_locationURI_list
):= {
expires := p_expires,
locationURI_list := p_locationURI_list
} // End of template m_locationUriSet
template (present) ReturnLocationType mw_locationUriSet(
template (present) XSD.DateTime p_expires := ?,
template (present) ReturnLocationType.locationURI_list p_locationURI_list := { ? }
):= {
expires := p_expires,
locationURI_list := p_locationURI_list
} // End of template mw_locationUriSet
template ErrorType mw_error_type(
template (present) XSD.Token p_code := ?,
template (present) ErrorType.message_list p_message_list := ?,
template (present) ErrorType.elem_list p_elem_list := {},
template ErrorType.attr p_attr := *
) := {
code := p_code,
attr := p_attr,
message_list := p_message_list,
elem_list := p_elem_list
} // End of template mw_error_type
} // End of group rfc5985_held
group rfc6155_held_id {
template (value) Device m_device(
in template (value) Device.elem_list p_elem_list
) := {
elem_list := p_elem_list
} // End of template m_device
template (present) Device mw_device(
template (present) DeviceIdentity.elem_list p_elem_list := ?
) := {
elem_list := p_elem_list
} // End of template mw_device
} // End of group rfc6155_held_id
group rfc3863_pidf {
template (present) Presence mw_presence(
template (present) XSD.AnyURI p_entity := ?,
template (present) Presence.tuple_list p_tuple_list := ?
) := {
entity := p_entity,
tuple_list := p_tuple_list,
note_list := {},
elem_list := {}
} // End of template mw_presence
template Tuple mw_tuple(
template (present) universal charstring p_id := ?,
template (present) Status p_status := ?,
template (present) Tuple.elem_list p_elem_list := ?,
template (present) Tuple.note_list p_note_list := {},
template Contact p_contact := *
) := {
id := p_id,
status := p_status,
elem_list := p_elem_list,
contact := p_contact,
note_list := p_note_list,
timestamp_ := *
} // End of template mw_tuple
} // End of group rfc3863_pidf
group rfc4119_geopriv10 {
template (value) LocInfoType m_location_info(
in template (value) LocInfoType.point p_point
) := {
point := p_point
} // End of template m_location_info
template (present) LocInfoType mw_location_info(
template LocInfoType.point p_point := *
) := {
point := p_point
} // End of template mw_location_info
template (value) Geopriv m_geopriv(
in template (value) LocInfoType p_location_info,
in template (value) LocPolicyType p_usage_rules,
in template (value) Geopriv.elem_list p_elem_list := { },
in template (omit) LocMethod p_method := omit,
in template (omit) LocProvidedBy p_provided_by := omit
) := {
location_info := p_location_info,
usage_rules := p_usage_rules,
method := p_method,
provided_by := p_provided_by,
elem_list := p_elem_list
} // End of template m_geopriv
template (present) Geopriv mw_geopriv(
template (present) LocInfoType p_location_info := ?,
template (present) LocPolicyType p_usage_rules := ?,
template LocMethod p_method := ?,
template LocProvidedBy p_provided_by := *,
template Geopriv.elem_list p_elem_list := *
) := {
location_info := p_location_info,
usage_rules := p_usage_rules,
method := p_method,
provided_by := p_provided_by,
elem_list := p_elem_list
} // End of template mw_geopriv
template (value) LocPolicyType m_LocPolicyType(
in template (value) LocPolicyType.elem_list p_elem_list := {}
) := {
retransmission_allowed := omit,
retention_expiry := omit,
external_ruleset := omit,
note_well := omit,
elem_list := p_elem_list
} // End of template m_LocPolicyType
} // End of group rfc4119_geopriv10
group rfc5139_pdif_geopriv10_civic_address {
template (present) CaType mw_ca_type(
template (present) XSD.Token p_base := ?
) := {
lang := *,
base := p_base
} // End of template mw_ca_type
template CivicAddress mw_civicAddress(
template (present) Iso3166a2 p_country := ?,
template (present) XSD.Token p_a1 := ?,
template (present) XSD.String p_a3 := ?,
template (present) XSD.String p_a4 := ?,
template (present) XSD.String p_sTS := ?,
template (present) XSD.String p_lMK := ?,
template (present) CivicAddress.elem_list p_elem_list := ?
) := {
attr := *,
country := p_country,
a1 := mw_ca_type(p_a1),
a2 := *,
a3 := mw_ca_type(p_a3),
a4 := mw_ca_type(p_a4),
a5 := *,
a6 := *,
pRM := *,
pRD := *,
rD := *,
sTS := mw_ca_type(p_sTS),
pOD := *,
pOM := *,
rDSEC := *,
rDBR := *,
rDSUBBR := *,
hNO := *,
hNS := *,
lMK := mw_ca_type(p_lMK),
lOC := *,
fLR := *,
nAM := *,
pC := *,
bLD := *,
uNIT := *,
rOOM := *,
sEAT := *,
pLC := *,
pCN := *,
pOBOX := *,
aDDCODE := *,
elem_list := p_elem_list
} // End of template mw_civicAddress
} // End of group rfc5139_pdif_geopriv10_civic_address
group rfc5222_lost {
template (omit) FindService m_find_service_request(
in template (value) FindService.location_list p_location_list,
in template (value) FindService.notLost_list p_notLost_list,
in template (omit) Service p_service := omit,
in template (omit) XSD.Boolean p_recursive_ := omit,
in template (omit) FindService.serviceBoundary p_serviceBoundary := omit,
in template (omit) XSD.Boolean p_validateLocation := omit,
in template (omit) Path p_path := omit
) := {
recursive_ := p_recursive_,
serviceBoundary := p_serviceBoundary,
validateLocation := p_validateLocation,
location_list := p_location_list,
path := p_path,
service := p_service,
notLost_list := p_notLost_list
} // End of template m_find_service_request
template FindService mw_find_service_request(
template (present) FindService.location_list p_location_list := ?,
template (present) FindService.notLost_list p_notLost_list := ?,
template Service p_service := *,
template XSD.Boolean p_recursive_ := *,
template FindService.serviceBoundary p_serviceBoundary := *,
template XSD.Boolean p_validateLocation := *,
template Path p_path := *
) := {
recursive_ := p_recursive_,
serviceBoundary := p_serviceBoundary,
validateLocation := p_validateLocation,
location_list := p_location_list,
path := p_path,
service := p_service,
notLost_list := p_notLost_list
} // End of template mw_find_service_request
template (omit) Location m_location(
in template (value) XSD.Token p_id,
in template (value) Location.extensionPoint_list p_extensionPoint_list,
in template (omit) XSD.NMTOKEN p_profile := omit
) := {
id := p_id,
profile := p_profile,
extensionPoint_list := p_extensionPoint_list
} // End of template m_location
template Location mw_location(
template (present) XSD.Token p_id := ?,
template (present) Location.extensionPoint_list p_extensionPoint_list := ?,
template XSD.NMTOKEN p_profile := *
) := {
id := p_id,
profile := p_profile,
extensionPoint_list := p_extensionPoint_list
} // End of template mw_location
template (value) NotLost m_notLost(
in template (value) XSD.String p_elem
) := {
elem := p_elem
} // End of template m_notLost
template (value) ExtensionPoint m_extension_point(
in template (value) XSD.String p_elem
) := {
elem := p_elem,
notLost_list := { }
} // End of template m_extension_point
template (present) ExtensionPoint mw_extension_point(
template (present) XSD.String p_elem := ?
) := {
elem := p_elem,
notLost_list := { }
} // End of template mw_extension_point
template (value) ExtensionPoint m_extension_point_notLost(
in template (value) XSD.String p_elem,
in template (value) ExtensionPoint.notLost_list p_notLost_list
) modifies m_extension_point := {
notLost_list := p_notLost_list
} // End of template m_extension_point_notLost
template (omit) FindServiceResponse m_find_service_response(
in template (value) FindServiceResponse.mapping_list p_mapping_list,
in template (value) FindServiceResponse.warnings_list p_warnings_list := { },
in template (value) Path p_path,
in template (value) FindServiceResponse.notLost_list p_notLost_list := { },
in template (omit) LocationValidation p_locationValidation := omit,
in template (omit) LocationUsed p_locationUsed := omit
) := {
mapping_list := p_mapping_list,
locationValidation := p_locationValidation,
warnings_list := p_warnings_list,
path := p_path,
notLost_list := p_notLost_list,
locationUsed := p_locationUsed
} // End of template m_find_service_response
template FindServiceResponse mw_find_service_response(
template (present) FindServiceResponse.mapping_list p_mapping_list := ?,
template (present) FindServiceResponse.warnings_list p_warnings_list := ?,
template (present) Path p_path := ?,
template (present) FindServiceResponse.notLost_list p_notLost_list := ?,
template LocationValidation p_locationValidation := *,
template LocationUsed p_locationUsed := *
) := {
mapping_list := p_mapping_list,
locationValidation := p_locationValidation,
warnings_list := p_warnings_list,
path := p_path,
notLost_list := p_notLost_list,
locationUsed := p_locationUsed
} // End of template mw_find_service_response
template Redirect mw_redirect(
template (present) XSD.Token p_source := ?,
template (present) XSD.Token p_target := ?,
template (present) XSD.Token p_message := ?
) := {
lang := ?,
message_ := p_message,
source := p_source,
target := p_target,
notLost_list := {}
} // End of template mw_find_service_response
template Redirect m_redirect(
template (present) XSD.Token p_source := ?,
template (present) XSD.Token p_target := ?,
template (present) XSD.Token p_message := "Out of jurisdiction"
) := {
lang := "en",
message_ := p_message,
source := p_source,
target := p_target,
notLost_list := {}
} // End of template mw_find_service_response
template (omit) Mapping m_mapping(
in template (value) Mapping.expires p_expires,
in template (value) XSD.DateTime p_lastUpdated,
in template (value) AppUniqueString p_source,
in template (value) XSD.Token p_sourceId,
in template (value) Mapping.displayName_list p_displayName_list,
in template (value) Mapping.uri_list p_uri_list,
in template (omit) Mapping.choice p_choice := omit,
in template (omit) Service p_service := omit,
in template (value) Mapping.notLost_list p_notLost_list := { },
in template (omit) Mapping.lang p_lang := omit,
in template (omit) XSD.Token p_message_ := omit,
in template (omit) ServiceNumber p_serviceNumber := omit
) := {
lang := p_lang,
expires := p_expires,
lastUpdated := p_lastUpdated,
message_ := p_message_,
source := p_source,
sourceId := p_sourceId,
displayName_list := p_displayName_list,
service := p_service,
choice := omit,
uri_list := p_uri_list,
serviceNumber := p_serviceNumber,
notLost_list := p_notLost_list
} // End of template m_mapping
template Mapping mw_mapping(
template (present) Mapping.expires p_expires := ?,
template (present) XSD.DateTime p_lastUpdated := ?,
template (present) AppUniqueString p_source := ?,
template (present) XSD.Token p_sourceId := ?,
template (present) Mapping.displayName_list p_displayName_list := ?,
template (present) Mapping.uri_list p_uri_list := ?,
template Mapping.choice p_choice := *,
template Service p_service := *,
template (present) Mapping.notLost_list p_notLost_list := ?,
template Mapping.lang p_lang := *,
template XSD.Token p_message_ := *,
template ServiceNumber p_serviceNumber := *
) := {
lang := p_lang,
expires := p_expires,
lastUpdated := p_lastUpdated,
message_ := p_message_,
source := p_source,
sourceId := p_sourceId,
displayName_list := p_displayName_list,
service := p_service,
choice := *,
uri_list := p_uri_list,
serviceNumber := p_serviceNumber,
notLost_list := p_notLost_list
} // End of template mw_mapping
template (value) DisplayName m_display_name(
in template (value) XSD.Language p_lang := "en",
in template (value) XSD.String p_base
) := {
lang := p_lang,
base := p_base
} // End of template m_display_name
template (present) DisplayName mw_display_name(
template (present) XSD.Language p_lang := ?,
template (present) XSD.String p_base := ?
) := {
lang := p_lang,
base := p_base
} // End of template mw_display_name
template (present) Mapping.expires mw_expires_date_time(
template (present) XSD.DateTime p_date_time := ?
) := {
dateTime := p_date_time
} // End of template mw_expires_date_time
template (present) Mapping.choice mw_mapping_service_boundary(
template (present) ServiceBoundary_1 p_service_boundary := ?
) := {
serviceBoundary := p_service_boundary
} // End of template mw_mapping_service_boundary
template (present) ServiceBoundary_1 mw_service_boundary(
template (present) ServiceBoundary_1.serviceBoundary_list p_serviceBoundary_list
) := {
serviceBoundary_list := p_serviceBoundary_list
} // End of template mw_service_boundary
template ServiceBoundary mw_service_boundary_item(
template XSD.NMTOKEN p_profile := *,
template (present) ServiceBoundary.extensionPoint_list p_extensionPoint_list := ?
) := {
profile := p_profile,
extensionPoint_list := p_extensionPoint_list
} // End of template mw_service_boundary_item
template BasicException mw_basic_exception(
template XSD.Language p_lang := *,
template XSD.Token p_message_ := *,
template (present) BasicException.notLost_list p_notLost_list := ?
) := {
lang := p_lang,
message_ := p_message_,
notLost_list := p_notLost_list
} // End of template mw_basic_exception
template LocationProfileUnrecognized mw_location_profile_unrecognized(
template XSD.Language p_lang := *,
template XSD.Token p_message_ := *,
template (present) LocationProfileUnrecognized.notLost_list p_notLost_list := ?
) := {
lang := p_lang,
message_ := p_message_,
notLost_list := p_notLost_list
} // End of template mw_location_profile_unrecognized
template (present) ExceptionContainer mw_exception_serviceNotImplemented(
template (present) AppUniqueString p_source := ?,
template (present) BasicException p_serviceNotImplemented := ?,
template (present) ExceptionContainer.notLost_list p_notLost_list := ?
) := {
source := p_source,
choice_list := { { serviceNotImplemented := p_serviceNotImplemented } },
notLost_list := p_notLost_list
} // End of template mw_exception_serviceNotImplemented
template (present) ExceptionContainer mw_exception_locationProfileUnrecognized(
template (present) AppUniqueString p_source := ?,
template (present) LocationProfileUnrecognized p_locationProfileUnrecognized := ?,
template (present) ExceptionContainer.notLost_list p_notLost_list := ?
) := {
source := p_source,
choice_list := { { locationProfileUnrecognized := p_locationProfileUnrecognized } },
notLost_list := p_notLost_list
} // End of template mw_exception_locationProfileUnrecognized
template (present) ExceptionContainer mw_exception_loop(
template (present) AppUniqueString p_source := ?,
template (present) Loop p_loop := ?,
template (present) ExceptionContainer.notLost_list p_notLost_list := ?
) := {
source := p_source,
choice_list := { { loop := p_loop } },
notLost_list := p_notLost_list
} // End of template mw_exception_loop
template (present) ExceptionContainer mw_exception_badRequest(
template (present) AppUniqueString p_source := ?,
template (present) BadRequest p_bad := ?,
template (present) ExceptionContainer.notLost_list p_notLost_list := ?
) := {
source := p_source,
choice_list := { { badRequest := p_bad } },
notLost_list := p_notLost_list
} // End of template mw_exception_badRequest
template (value) LocationUsed m_location_used(
in template (value) XSD.Token p_id
) := {
id := p_id
} // End of template m_location_used
template (present) LocationUsed mw_location_used(
template (present) XSD.Token p_id := ?
) := {
id := p_id
} // End of template mw_location_used
template (value) Via m_via(
in template (value) AppUniqueString p_source
) := {
source := p_source,
notLost_list := { }
} // End of template m_via
template (present) Via mw_via(
template (present) AppUniqueString p_source := ?
) := {
source := p_source,
notLost_list := ?
} // End of template mw_via
template (value) Path m_path(
in template (value) Path.via_list p_via_list
) := {
via_list := p_via_list
} // End of template m_path
template (present) Path mw_path(
template (present) Path.via_list p_via_list := ?
) := {
via_list := p_via_list
} // End of template mw_path
template (omit) ListServices m_list_services(
in template (omit) Path p_path := omit,
in template (omit) Service p_service := omit
) := {
path := p_path,
service := p_service,
notLost_list := { }
} // End of template m_list_services
template (present) ListServicesResponse mw_list_services_response(
template (present) ServiceList p_serviceList := ?,
template (present) Path p_path := ?,
template (present) ListServicesResponse.warnings_list p_warnings_list := ?
) := {
serviceList := p_serviceList,
warnings_list := p_warnings_list,
path := p_path,
notLost_list := { }
} // End of template mw_list_services_response
template (omit) ListServicesByLocation m_list_services_by_location(
in template (value) ListServicesByLocation.location_list p_location_list,
in template (omit) Path p_path := omit,
in template (omit) Service p_service := omit,
in template (omit) XSD.Boolean p_recursive_ := omit
) := {
recursive_ := p_recursive_,
location_list := p_location_list,
path := p_path,
service := p_service,
notLost_list := { }
} // End of template m_list_services_by_location
template (present) ListServicesByLocationResponse mw_list_services_by_location_response(
template (present) ServiceList p_serviceList := ?,
template (present) Path p_path := ?,
template (present) ListServicesByLocationResponse.warnings_list p_warnings_list := ?,
template (present) LocationUsed p_locationUsed := ?
) := {
serviceList := p_serviceList,
warnings_list := p_warnings_list,
path := p_path,
notLost_list := { },
locationUsed := p_locationUsed
} // End of template mw_list_services_by_location_response
} // End of group rfc5222_lost
group open_gis {
template (omit) Point m_point(
in template (value) Pos p_position,
in template (omit) XSD.AnyURI p_srsName := omit,
in template (omit) XSD.AnyURI p_id := omit
) := {
axisLabels := omit,
gid := omit,
id := p_id,
srsDimension := omit,
srsName := p_srsName,
uomLabels := omit,
pos := p_position
} // End of template m_point
template Point mw_point(
template (present) Pos p_position := ?,
template XSD.AnyURI p_srsName := *
) := {
axisLabels := *,
gid := *,
id := *,
srsDimension := *,
srsName := p_srsName,
uomLabels := *,
pos := p_position
} // End of template mw_point
template Point mw_point_1(
template (present) XSD.Double p_position_1 := ?,
template (present) XSD.Double p_position_2 := ?,
template XSD.AnyURI p_srsName := *
) := {
axisLabels := *,
gid := *,
id := *,
srsDimension := *,
srsName := p_srsName,
uomLabels := *,
pos := { p_position_1, p_position_2 }
} // End of template mw_point_1
template (omit) CircleType m_circle(
in template (value) CenterGroup p_centerGroup,
in template (value) LengthType p_radius,
in template (omit) XSD.AnyURI p_srsName := omit,
in template (omit) XSD.AnyURI p_id := omit
) := {
axisLabels := omit,
gid := omit,
id := omit,
srsDimension := omit,
srsName := p_srsName,
uomLabels := omit,
centerGroup := p_centerGroup,
radius := p_radius
} // End of template m_circle
template CircleType mw_circle(
template (present) CenterGroup p_centerGroup := ?,
template (present) LengthType p_radius := ?,
template XSD.AnyURI p_srsName := *
) := {
axisLabels := *,
gid := *,
id := *,
srsDimension := *,
srsName := p_srsName,
uomLabels := *,
centerGroup := p_centerGroup,
radius := p_radius
} // End of template mw_circle
template (omit) EllipseType m_ellipse(
in template (value) CenterGroup p_centerGroup,
in template (value) LengthType p_semiMajorAxis,
in template (value) LengthType p_semiMinorAxis,
in template (value) AngleType p_orientation,
in template (omit) XSD.AnyURI p_srsName := omit,
in template (omit) XSD.AnyURI p_id := omit
) := {
axisLabels := omit,
gid := omit,
id := omit,
srsDimension := omit,
srsName := p_srsName,
uomLabels := omit,
centerGroup := p_centerGroup,
semiMajorAxis := p_semiMajorAxis,
semiMinorAxis := p_semiMinorAxis,
orientation := p_orientation
} // End of template m_ellipse
template (omit) ArcBandType m_arcband(
in template (value) CenterGroup p_centerGroup,
in template (value) LengthType p_innerRadius,
in template (value) LengthType p_outerRadius,
in template (value) AngleType p_startAngle,
in template (value) AngleType p_openingAngle,
in template (omit) XSD.AnyURI p_srsName := omit,
in template (omit) XSD.AnyURI p_id := omit
) := {
axisLabels := omit,
gid := omit,
id := omit,
srsDimension := omit,
srsName := p_srsName,
uomLabels := omit,
centerGroup := p_centerGroup,
innerRadius := p_innerRadius,
outerRadius := p_outerRadius,
startAngle := p_startAngle,
openingAngle := p_openingAngle
} // End of template m_arcband
template (omit) PolygonType m_polygon(
in template (omit) DoubleList p_posList,
in template (omit) XSD.AnyURI p_srsName := omit
) := {
axisLabels := omit,
gid := omit,
id := omit,
srsDimension := omit,
srsName := p_srsName,
uomLabels := omit,
exterior := {
ring := {
linearRing := {
axisLabels := omit,
gid := omit,
id := omit,
srsDimension := omit,
srsName := omit,
uomLabels := omit,
choice := {
posList := {
count := omit,
base := p_posList
}
}
}
}
}
}
template (value) CenterGroup m_center_group_pos(
in template (value) CenterGroup.pos p_pos
) := {
pos := p_pos
} // End of template m_center_group_pos
template (present) CenterGroup mw_center_group_pos(
template (present) CenterGroup.pos p_pos := ?
) := {
pos := p_pos
} // End of template mw_center_group_pos
template (present) CenterGroup mw_center_group_pos_1(
template (present) XSD.Double p_pos_1 := ?,
template (present) XSD.Double p_pos_2 := ?
) := {
pos := { p_pos_1, p_pos_2 }
} // End of template mw_center_group_pos_1
template (value) LengthType m_radius(
in template (value) XSD.AnyURI p_uom,
in template (value) XSD.Double p_base
) := {
uom := p_uom,
base := p_base
} // End of template m_radius
template (present) LengthType mw_radius(
template (present) XSD.AnyURI p_uom := ?,
template (present) XSD.Double p_base := ?
) := {
uom := p_uom,
base := p_base
} // End of template mw_radius
template (present) PolygonType mw_polygon(
template (present) XSD.AnyURI p_srsName := ?,
template (present) Exterior p_exterior := ?
) := {
axisLabels := *,
gid := *,
id := *,
srsDimension := *,
srsName := p_srsName,
uomLabels := *,
exterior := p_exterior
} // End of template mw_polygon
template (present) Exterior mw_exterior_linear_ring(
template (present) LinearRingType p_linear_ring := ?
) := {
ring := { linearRing := p_linear_ring }
} // End of template mw_exterior
template (omit) LinearRingType m_linear_ring_type_pos(
in template (value) LinearRingType.choice.choice_list p_choice_list,
in template (omit) XSD.AnyURI p_srsName := omit,
in template (omit) NCNameList p_uomLabels := omit
) := {
axisLabels := omit,
gid := omit,
id := omit,
srsDimension := omit,
srsName := p_srsName,
uomLabels := p_uomLabels,
choice := {
choice_list := p_choice_list
}
} // End of template m_linear_ring_type_pos
template (present) LinearRingType mw_linear_ring_type_pos(
template (present) XSD.AnyURI p_srsName := ?,
template (present) LinearRingType.choice.choice_list p_choice_list := ?
) := {
axisLabels := *,
gid := *,
id := *,
srsDimension := *,
srsName := p_srsName,
uomLabels := *,
choice := {
choice_list := p_choice_list
}
} // End of template mw_linear_ring_type_pos
} // End of group open_gis
} // End of module LibHttp_XmlTemplates
sources := \
ttcn/LibIms_Interface.ttcn \
ttcn/LibIms_Library.ttcn \
ttcn/LibIms_SIPTypesAndValues.ttcn \
../patch_lib_ims_titan/ttcn/LibIms_Steps.ttcn \
../patch_lib_ims_titan/ttcn/LibIms_Templates.ttcn