Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +38 −36 Original line number Original line Diff line number Diff line Loading @@ -372,7 +372,7 @@ module DiameterGx_Templates { template QoS_Information_AVP m_qoS_Information_Bearer(template Bearer_Identifier_AVP p_bearerIdentifier) modifies m_qoS_Information_dummy := template QoS_Information_AVP m_qoS_Information_Bearer(template Bearer_Identifier_AVP p_bearerIdentifier) modifies m_qoS_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdQoS_Information_AVP, 4+lengthof(encvalue(p_bearerIdentifier)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdQoS_Information_AVP, 4+lengthof(encvalue(p_bearerIdentifier))/8, omit), bearer_Identifier := p_bearerIdentifier bearer_Identifier := p_bearerIdentifier } } Loading @@ -397,7 +397,7 @@ module DiameterGx_Templates { template Called_Station_Id_AVP m_called_Station_Id(UTF8String p_avpData) := template Called_Station_Id_AVP m_called_Station_Id(UTF8String p_avpData) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdCalled_Station_Id_AVP, lengthof(p_avpData), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCalled_Station_Id_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData)//TODO add f_paddedBytes_string where it is needed!!! aVP_Data := p_avpData } } template PDN_Connection_ID_AVP m_pDN_Connection_ID(octetstring p_avpData) := template PDN_Connection_ID_AVP m_pDN_Connection_ID(octetstring p_avpData) := Loading Loading @@ -426,7 +426,7 @@ module DiameterGx_Templates { template Access_Network_Charging_Identifier_Gx_AVP m_aNCI_Gx(Access_Network_Charging_Identifier_Value_AVP p_nciv) := template Access_Network_Charging_Identifier_Gx_AVP m_aNCI_Gx(Access_Network_Charging_Identifier_Value_AVP p_nciv) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdAccess_Network_Charging_Identifier_Gx_AVP, lengthof(encvalue(p_nciv)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdAccess_Network_Charging_Identifier_Gx_AVP, lengthof(encvalue(p_nciv))/8, omit), acc_Net_Charging_Id_Val := p_nciv, acc_Net_Charging_Id_Val := p_nciv, charging_Rule_Base_Name := omit, charging_Rule_Base_Name := omit, charging_Rule_Name := omit charging_Rule_Name := omit Loading @@ -440,14 +440,14 @@ module DiameterGx_Templates { template Routing_Rule_Install_AVP m_routing_Rule_Install(Routing_Rule_Definition_AVP p_rrd) := template Routing_Rule_Install_AVP m_routing_Rule_Install(Routing_Rule_Definition_AVP p_rrd) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Install_AVP, lengthof(encvalue(p_rrd)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Install_AVP, lengthof(encvalue(p_rrd))/8, omit), routing_Rule_Definition := {p_rrd}, routing_Rule_Definition := {p_rrd}, aVP_Type := omit aVP_Type := omit } } template Routing_Rule_Definition_AVP m_routing_Rule_Definition(Routing_Rule_Identifier_AVP p_rri, Routing_Filter_AVP p_rf) := template Routing_Rule_Definition_AVP m_routing_Rule_Definition(Routing_Rule_Identifier_AVP p_rri, Routing_Filter_AVP p_rf) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Definition_AVP, (lengthof(encvalue(p_rri))+lengthof(encvalue(p_rf))), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Definition_AVP, (lengthof(encvalue(p_rri))/8+lengthof(encvalue(p_rf))/8), omit), routing_Rule_Identifier := p_rri, routing_Rule_Identifier := p_rri, routing_Filter := {p_rf}, routing_Filter := {p_rf}, precedence := omit, precedence := omit, Loading @@ -463,7 +463,7 @@ module DiameterGx_Templates { template Routing_Filter_AVP m_routing_Filter := template Routing_Filter_AVP m_routing_Filter := { { aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Filter_AVP, 12/*12-flow_direction*/+ lengthof(encvalue(m_flow_Description(m_iPFilterRule))), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Filter_AVP, 12/*12-flow_direction*/+ lengthof(encvalue(m_flow_Description(m_iPFilterRule)))/8, omit), flow_Description := m_flow_Description(m_iPFilterRule), flow_Description := m_flow_Description(m_iPFilterRule), flow_Direction := m_flowDirection_Bidirectional, flow_Direction := m_flowDirection_Bidirectional, toS_Traffic_Class := omit, toS_Traffic_Class := omit, Loading @@ -474,14 +474,14 @@ module DiameterGx_Templates { template Flow_Information_AVP m_flowInformation_direction_packetFID (template Packet_Filter_Identifier_AVP p_packetFilterIdentifier, template Flow_Direction_AVP p_flowDirection) modifies m_flowInformation_dummy := { template Flow_Information_AVP m_flowInformation_direction_packetFID (template Packet_Filter_Identifier_AVP p_packetFilterIdentifier, template Flow_Direction_AVP p_flowDirection) modifies m_flowInformation_dummy := { aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Information_AVP, lengthof(encvalue(p_packetFilterIdentifier))+lengthof(encvalue(p_flowDirection)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Information_AVP, lengthof(encvalue(p_packetFilterIdentifier))/8+lengthof(encvalue(p_flowDirection))/8, omit), packet_Filter_Identifier := p_packetFilterIdentifier, packet_Filter_Identifier := p_packetFilterIdentifier, flow_Direction := p_flowDirection flow_Direction := p_flowDirection } } template Flow_Description_AVP m_flow_Description(IPFilterRule_Type p_IPftr) := template Flow_Description_AVP m_flow_Description(IPFilterRule_Type p_IPftr) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Description_AVP, lengthof(encvalue(p_IPftr)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Description_AVP, lengthof(encvalue(p_IPftr))/8, omit), aVP_Data := p_IPftr aVP_Data := p_IPftr } } Loading @@ -497,11 +497,13 @@ module DiameterGx_Templates { direction := "out", direction := "out", proto := "ip", proto := "ip", src := { src := { ipno := 4, addr := "1.1.1.1", addr := "1.1.1.1", mask := omit, mask := omit, ports := omit ports := omit }, }, dst := { dst := { ipno := 4, addr := "10.10.10.1", addr := "10.10.10.1", mask := omit, mask := omit, ports := omit ports := omit Loading @@ -523,14 +525,14 @@ module DiameterGx_Templates { template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatus(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs) modifies m_chargRuleReport_dummy := template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatus(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs) modifies m_chargRuleReport_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))+12/*PCC_Rule_Status_AVP length*/, omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))/8+12/*PCC_Rule_Status_AVP length*/, omit), charging_Rule_Name := {p_crn}, charging_Rule_Name := {p_crn}, pCC_Rule_Status := p_ccrs pCC_Rule_Status := p_ccrs } } template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatusFailure(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs, Rule_Failure_Code_AVP p_rfc) modifies m_chargRuleReport_dummy := template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatusFailure(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs, Rule_Failure_Code_AVP p_rfc) modifies m_chargRuleReport_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))+12/*PCC_Rule_Status_AVP length*/+12/*Rule_Failure_Code_AVP length*/, omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))/8+12/*PCC_Rule_Status_AVP length*/+12/*Rule_Failure_Code_AVP length*/, omit), charging_Rule_Name := {p_crn}, charging_Rule_Name := {p_crn}, pCC_Rule_Status := p_ccrs, pCC_Rule_Status := p_ccrs, rule_Failure_Code := p_rfc rule_Failure_Code := p_rfc Loading @@ -539,14 +541,14 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition(template Charging_Rule_Definition_AVP p_chargingRuleDefinition) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition(template Charging_Rule_Definition_AVP p_chargingRuleDefinition) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))/8, omit), charging_Rule_Definition := {p_chargingRuleDefinition} charging_Rule_Definition := {p_chargingRuleDefinition} } } template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_ActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_Activation_Time_AVP p_ruleActivationTime) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_ActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_Activation_Time_AVP p_ruleActivationTime) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))+lengthof(encvalue(p_ruleActivationTime)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))/8+lengthof(encvalue(p_ruleActivationTime))/8, omit), charging_Rule_Definition := {p_chargingRuleDefinition}, charging_Rule_Definition := {p_chargingRuleDefinition}, rule_Activation_Time := p_ruleActivationTime rule_Activation_Time := p_ruleActivationTime } } Loading @@ -554,7 +556,7 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_DeActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_DeActivation_Time_AVP p_ruleDeActivationTime) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_DeActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_DeActivation_Time_AVP p_ruleDeActivationTime) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))+lengthof(encvalue(p_ruleDeActivationTime)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))/8+lengthof(encvalue(p_ruleDeActivationTime))/8, omit), charging_Rule_Definition := {p_chargingRuleDefinition}, charging_Rule_Definition := {p_chargingRuleDefinition}, rule_DeActivation_Time := p_ruleDeActivationTime rule_DeActivation_Time := p_ruleDeActivationTime } } Loading @@ -562,40 +564,40 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP m_chrgRuleInstall_CorrelationId(template Charging_Correlation_Indicator_AVP p_chargingCorrelationIndicator) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_CorrelationId(template Charging_Correlation_Indicator_AVP p_chargingCorrelationIndicator) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingCorrelationIndicator)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingCorrelationIndicator))/8, omit), charging_Correlation_Indicator := p_chargingCorrelationIndicator charging_Correlation_Indicator := p_chargingCorrelationIndicator } } template Charging_Rule_Install_AVP m_chrgRuleInstall_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleName))/8, omit), charging_Rule_Name := {p_chargingRuleName} charging_Rule_Name := {p_chargingRuleName} } } template Charging_Rule_Install_AVP m_chrgRuleInstall_Name_RAN(template Charging_Rule_Name_AVP p_chargingRuleName, template Resource_Allocation_Notification_AVP p_resourceAllocationNotification) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Name_RAN(template Charging_Rule_Name_AVP p_chargingRuleName, template Resource_Allocation_Notification_AVP p_resourceAllocationNotification) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_resourceAllocationNotification))+lengthof(encvalue(p_chargingRuleName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_resourceAllocationNotification))/8+lengthof(encvalue(p_chargingRuleName))/8, omit), charging_Rule_Name := {p_chargingRuleName}, charging_Rule_Name := {p_chargingRuleName}, resource_Allocation_Notification := p_resourceAllocationNotification resource_Allocation_Notification := p_resourceAllocationNotification } } template Charging_Rule_Install_AVP m_chrgRuleInstall_2Name(template Charging_Rule_Base_Name_AVP p_chargingRuleBName1,template Charging_Rule_Base_Name_AVP p_chargingRuleBName2) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_2Name(template Charging_Rule_Base_Name_AVP p_chargingRuleBName1,template Charging_Rule_Base_Name_AVP p_chargingRuleBName2) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleBName1))+lengthof(encvalue(p_chargingRuleBName2)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleBName1))/8+lengthof(encvalue(p_chargingRuleBName2))/8, omit), charging_Rule_Base_Name := {p_chargingRuleBName1, p_chargingRuleBName2} charging_Rule_Base_Name := {p_chargingRuleBName1, p_chargingRuleBName2} } } template Charging_Rule_Remove_AVP m_chrgRuleRemove_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleRemove_dummy:= template Charging_Rule_Remove_AVP m_chrgRuleRemove_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleRemove_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleName))/8, omit), charging_Rule_Name := {p_chargingRuleName} charging_Rule_Name := {p_chargingRuleName} } } template Charging_Rule_Remove_AVP m_chrgRuleRemove_BName(template Charging_Rule_Base_Name_AVP p_chargingRuleBName) modifies m_chrgRuleRemove_dummy:= template Charging_Rule_Remove_AVP m_chrgRuleRemove_BName(template Charging_Rule_Base_Name_AVP p_chargingRuleBName) modifies m_chrgRuleRemove_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleBName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleBName))/8, omit), charging_Rule_Base_Name := {p_chargingRuleBName} charging_Rule_Base_Name := {p_chargingRuleBName} } } Loading @@ -607,21 +609,21 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition (octetstring p_avpData) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition (octetstring p_avpData) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData))), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData) charging_Rule_Name := m_chargingRuleName(p_avpData) } } template Charging_Rule_Definition_AVP m_chrgRuleDefinition_MK (octetstring p_avpData, template Monitoring_Key_AVP p_monitoringKey) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_MK (octetstring p_avpData, template Monitoring_Key_AVP p_monitoringKey) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_monitoringKey)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData))/8)+lengthof(encvalue(p_monitoringKey))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), monitoring_Key := p_monitoringKey monitoring_Key := p_monitoringKey } } template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI_AF (octetstring p_avpData, template Flow_Information_AVP p_flowInformation, template AF_Signalling_Protocol_AVP p_afSignallingProtocol) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI_AF (octetstring p_avpData, template Flow_Information_AVP p_flowInformation, template AF_Signalling_Protocol_AVP p_afSignallingProtocol) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_flowInformation)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_flowInformation))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), flow_Information := {p_flowInformation}, flow_Information := {p_flowInformation}, aF_Signalling_Protocol := p_afSignallingProtocol aF_Signalling_Protocol := p_afSignallingProtocol Loading @@ -630,7 +632,7 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI (octetstring p_avpData, template Flow_Information_AVP p_flowInformation) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI (octetstring p_avpData, template Flow_Information_AVP p_flowInformation) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_flowInformation)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_flowInformation))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), flow_Information := {p_flowInformation} flow_Information := {p_flowInformation} } } Loading @@ -638,7 +640,7 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition_QoS (octetstring p_avpData, template QoS_Information_AVP p_qoSInformation) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_QoS (octetstring p_avpData, template QoS_Information_AVP p_qoSInformation) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_qoSInformation)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_qoSInformation))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), qoS_Information := p_qoSInformation qoS_Information := p_qoSInformation } } Loading @@ -646,7 +648,7 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition_RG (octetstring p_avpData, template Rating_Group_AVP p_ratingGroup) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_RG (octetstring p_avpData, template Rating_Group_AVP p_ratingGroup) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_ratingGroup)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_ratingGroup))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), rating_Group := p_ratingGroup rating_Group := p_ratingGroup } } Loading @@ -671,27 +673,27 @@ module DiameterGx_Templates { template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId))/8, omit), packet_Filter_Identifier := p_pfId packet_Filter_Identifier := p_pfId } } template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId_FlowDirection(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId_FlowDirection(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId))+12/*12-flow_direction*/, omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId))/8+12/*12-flow_direction*/, omit), packet_Filter_Identifier := p_pfId, packet_Filter_Identifier := p_pfId, flow_Direction := m_flowDirection_Bidirectional flow_Direction := m_flowDirection_Bidirectional } } template Packet_Filter_Information_AVP m_pFInfo_Precedence_pFContent(Precedence_AVP p_precedence, Packet_Filter_Content_AVP p_pfc) modifies m_packet_Filter_Information_dummy := template Packet_Filter_Information_AVP m_pFInfo_Precedence_pFContent(Precedence_AVP p_precedence, Packet_Filter_Content_AVP p_pfc) modifies m_packet_Filter_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_precedence)) +lengthof(encvalue(p_pfc)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_precedence))/8 +lengthof(encvalue(p_pfc))/8, omit), precedence := p_precedence, precedence := p_precedence, packet_Filter_Content := p_pfc packet_Filter_Content := p_pfc } } template Packet_Filter_Content_AVP m_packet_Filter_Content(IPFilterRule_Type p_IPftr) := template Packet_Filter_Content_AVP m_packet_Filter_Content(IPFilterRule_Type p_IPftr) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Content_AVP, lengthof(encvalue(p_IPftr)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Content_AVP, lengthof(encvalue(p_IPftr))/8, omit), aVP_Data := p_IPftr aVP_Data := p_IPftr } } Loading Loading @@ -814,7 +816,7 @@ module DiameterGx_Templates { (template Monitoring_Key_AVP p_monitoringKey, (template Monitoring_Key_AVP p_monitoringKey, template Granted_Service_Unit_AVP p_grantedServiceUnit) := template Granted_Service_Unit_AVP p_grantedServiceUnit) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_monitoringKey))+lengthof(encvalue(p_grantedServiceUnit)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_monitoringKey))/8+lengthof(encvalue(p_grantedServiceUnit))/8, omit), monitoring_Key := p_monitoringKey, monitoring_Key := p_monitoringKey, granted_Service_Unit := p_grantedServiceUnit, granted_Service_Unit := p_grantedServiceUnit, Loading @@ -828,7 +830,7 @@ module DiameterGx_Templates { template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestReport template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestReport (template Usage_Monitoring_Report_AVP p_usageMonitoringReport) := (template Usage_Monitoring_Report_AVP p_usageMonitoringReport) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_usageMonitoringReport)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_usageMonitoringReport))/8, omit), monitoring_Key := omit, monitoring_Key := omit, granted_Service_Unit := omit, granted_Service_Unit := omit, Loading @@ -843,7 +845,7 @@ module DiameterGx_Templates { template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestSupport template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestSupport (template Usage_Monitoring_Support_AVP p_usageMonitoringSupport) := (template Usage_Monitoring_Support_AVP p_usageMonitoringSupport) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(m_monitoringKey(PX_MONITORING_KEY)))+lengthof(encvalue(p_usageMonitoringSupport)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(m_monitoringKey(PX_MONITORING_KEY)))/8+lengthof(encvalue(p_usageMonitoringSupport))/8, omit), monitoring_Key := m_monitoringKey(PX_MONITORING_KEY), monitoring_Key := m_monitoringKey(PX_MONITORING_KEY), granted_Service_Unit := omit, granted_Service_Unit := omit, Loading @@ -859,7 +861,7 @@ module DiameterGx_Templates { (template QoS_Class_Identifier_AVP p_qoSClassIdentifier, (template QoS_Class_Identifier_AVP p_qoSClassIdentifier, template Allocation_Retention_Priority_AVP p_allocationRetentionPriority) := template Allocation_Retention_Priority_AVP p_allocationRetentionPriority) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdDefault_EPS_Bearer_QoS_AVP, 8+lengthof(encvalue(p_qoSClassIdentifier))+lengthof(encvalue(p_allocationRetentionPriority)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdDefault_EPS_Bearer_QoS_AVP, 8+lengthof(encvalue(p_qoSClassIdentifier))/8+lengthof(encvalue(p_allocationRetentionPriority))/8, omit), qoS_Class_Identifier := p_qoSClassIdentifier, qoS_Class_Identifier := p_qoSClassIdentifier, allocation_Retention_Priority := p_allocationRetentionPriority, allocation_Retention_Priority := p_allocationRetentionPriority, aVP_Type := omit aVP_Type := omit Loading @@ -874,7 +876,7 @@ module DiameterGx_Templates { template Allocation_Retention_Priority_AVP m_allocRetentionPrio (template Priority_Level_AVP p_priorityLevel):= template Allocation_Retention_Priority_AVP m_allocRetentionPrio (template Priority_Level_AVP p_priorityLevel):= { { aVP_Header := m_aVP_HeaderVid(c_vendIdAllocation_Retention_Priority_AVP, 8+lengthof(encvalue(p_priorityLevel)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdAllocation_Retention_Priority_AVP, 8+lengthof(encvalue(p_priorityLevel))/8, omit), priority_Level := p_priorityLevel, priority_Level := p_priorityLevel, pre_emption_Capability := omit, pre_emption_Capability := omit, pre_emption_Vulnerability := omit pre_emption_Vulnerability := omit Loading Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +38 −36 Original line number Original line Diff line number Diff line Loading @@ -372,7 +372,7 @@ module DiameterGx_Templates { template QoS_Information_AVP m_qoS_Information_Bearer(template Bearer_Identifier_AVP p_bearerIdentifier) modifies m_qoS_Information_dummy := template QoS_Information_AVP m_qoS_Information_Bearer(template Bearer_Identifier_AVP p_bearerIdentifier) modifies m_qoS_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdQoS_Information_AVP, 4+lengthof(encvalue(p_bearerIdentifier)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdQoS_Information_AVP, 4+lengthof(encvalue(p_bearerIdentifier))/8, omit), bearer_Identifier := p_bearerIdentifier bearer_Identifier := p_bearerIdentifier } } Loading @@ -397,7 +397,7 @@ module DiameterGx_Templates { template Called_Station_Id_AVP m_called_Station_Id(UTF8String p_avpData) := template Called_Station_Id_AVP m_called_Station_Id(UTF8String p_avpData) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdCalled_Station_Id_AVP, lengthof(p_avpData), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCalled_Station_Id_AVP, lengthof(p_avpData), omit), aVP_Data := f_paddedBytes_string(p_avpData)//TODO add f_paddedBytes_string where it is needed!!! aVP_Data := p_avpData } } template PDN_Connection_ID_AVP m_pDN_Connection_ID(octetstring p_avpData) := template PDN_Connection_ID_AVP m_pDN_Connection_ID(octetstring p_avpData) := Loading Loading @@ -426,7 +426,7 @@ module DiameterGx_Templates { template Access_Network_Charging_Identifier_Gx_AVP m_aNCI_Gx(Access_Network_Charging_Identifier_Value_AVP p_nciv) := template Access_Network_Charging_Identifier_Gx_AVP m_aNCI_Gx(Access_Network_Charging_Identifier_Value_AVP p_nciv) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdAccess_Network_Charging_Identifier_Gx_AVP, lengthof(encvalue(p_nciv)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdAccess_Network_Charging_Identifier_Gx_AVP, lengthof(encvalue(p_nciv))/8, omit), acc_Net_Charging_Id_Val := p_nciv, acc_Net_Charging_Id_Val := p_nciv, charging_Rule_Base_Name := omit, charging_Rule_Base_Name := omit, charging_Rule_Name := omit charging_Rule_Name := omit Loading @@ -440,14 +440,14 @@ module DiameterGx_Templates { template Routing_Rule_Install_AVP m_routing_Rule_Install(Routing_Rule_Definition_AVP p_rrd) := template Routing_Rule_Install_AVP m_routing_Rule_Install(Routing_Rule_Definition_AVP p_rrd) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Install_AVP, lengthof(encvalue(p_rrd)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Install_AVP, lengthof(encvalue(p_rrd))/8, omit), routing_Rule_Definition := {p_rrd}, routing_Rule_Definition := {p_rrd}, aVP_Type := omit aVP_Type := omit } } template Routing_Rule_Definition_AVP m_routing_Rule_Definition(Routing_Rule_Identifier_AVP p_rri, Routing_Filter_AVP p_rf) := template Routing_Rule_Definition_AVP m_routing_Rule_Definition(Routing_Rule_Identifier_AVP p_rri, Routing_Filter_AVP p_rf) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Definition_AVP, (lengthof(encvalue(p_rri))+lengthof(encvalue(p_rf))), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Rule_Definition_AVP, (lengthof(encvalue(p_rri))/8+lengthof(encvalue(p_rf))/8), omit), routing_Rule_Identifier := p_rri, routing_Rule_Identifier := p_rri, routing_Filter := {p_rf}, routing_Filter := {p_rf}, precedence := omit, precedence := omit, Loading @@ -463,7 +463,7 @@ module DiameterGx_Templates { template Routing_Filter_AVP m_routing_Filter := template Routing_Filter_AVP m_routing_Filter := { { aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Filter_AVP, 12/*12-flow_direction*/+ lengthof(encvalue(m_flow_Description(m_iPFilterRule))), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdRouting_Filter_AVP, 12/*12-flow_direction*/+ lengthof(encvalue(m_flow_Description(m_iPFilterRule)))/8, omit), flow_Description := m_flow_Description(m_iPFilterRule), flow_Description := m_flow_Description(m_iPFilterRule), flow_Direction := m_flowDirection_Bidirectional, flow_Direction := m_flowDirection_Bidirectional, toS_Traffic_Class := omit, toS_Traffic_Class := omit, Loading @@ -474,14 +474,14 @@ module DiameterGx_Templates { template Flow_Information_AVP m_flowInformation_direction_packetFID (template Packet_Filter_Identifier_AVP p_packetFilterIdentifier, template Flow_Direction_AVP p_flowDirection) modifies m_flowInformation_dummy := { template Flow_Information_AVP m_flowInformation_direction_packetFID (template Packet_Filter_Identifier_AVP p_packetFilterIdentifier, template Flow_Direction_AVP p_flowDirection) modifies m_flowInformation_dummy := { aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Information_AVP, lengthof(encvalue(p_packetFilterIdentifier))+lengthof(encvalue(p_flowDirection)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Information_AVP, lengthof(encvalue(p_packetFilterIdentifier))/8+lengthof(encvalue(p_flowDirection))/8, omit), packet_Filter_Identifier := p_packetFilterIdentifier, packet_Filter_Identifier := p_packetFilterIdentifier, flow_Direction := p_flowDirection flow_Direction := p_flowDirection } } template Flow_Description_AVP m_flow_Description(IPFilterRule_Type p_IPftr) := template Flow_Description_AVP m_flow_Description(IPFilterRule_Type p_IPftr) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Description_AVP, lengthof(encvalue(p_IPftr)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Description_AVP, lengthof(encvalue(p_IPftr))/8, omit), aVP_Data := p_IPftr aVP_Data := p_IPftr } } Loading @@ -497,11 +497,13 @@ module DiameterGx_Templates { direction := "out", direction := "out", proto := "ip", proto := "ip", src := { src := { ipno := 4, addr := "1.1.1.1", addr := "1.1.1.1", mask := omit, mask := omit, ports := omit ports := omit }, }, dst := { dst := { ipno := 4, addr := "10.10.10.1", addr := "10.10.10.1", mask := omit, mask := omit, ports := omit ports := omit Loading @@ -523,14 +525,14 @@ module DiameterGx_Templates { template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatus(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs) modifies m_chargRuleReport_dummy := template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatus(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs) modifies m_chargRuleReport_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))+12/*PCC_Rule_Status_AVP length*/, omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))/8+12/*PCC_Rule_Status_AVP length*/, omit), charging_Rule_Name := {p_crn}, charging_Rule_Name := {p_crn}, pCC_Rule_Status := p_ccrs pCC_Rule_Status := p_ccrs } } template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatusFailure(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs, Rule_Failure_Code_AVP p_rfc) modifies m_chargRuleReport_dummy := template Charging_Rule_Report_AVP m_chargRuleReport_RNameStatusFailure(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs, Rule_Failure_Code_AVP p_rfc) modifies m_chargRuleReport_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))+12/*PCC_Rule_Status_AVP length*/+12/*Rule_Failure_Code_AVP length*/, omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))/8+12/*PCC_Rule_Status_AVP length*/+12/*Rule_Failure_Code_AVP length*/, omit), charging_Rule_Name := {p_crn}, charging_Rule_Name := {p_crn}, pCC_Rule_Status := p_ccrs, pCC_Rule_Status := p_ccrs, rule_Failure_Code := p_rfc rule_Failure_Code := p_rfc Loading @@ -539,14 +541,14 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition(template Charging_Rule_Definition_AVP p_chargingRuleDefinition) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition(template Charging_Rule_Definition_AVP p_chargingRuleDefinition) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))/8, omit), charging_Rule_Definition := {p_chargingRuleDefinition} charging_Rule_Definition := {p_chargingRuleDefinition} } } template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_ActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_Activation_Time_AVP p_ruleActivationTime) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_ActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_Activation_Time_AVP p_ruleActivationTime) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))+lengthof(encvalue(p_ruleActivationTime)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))/8+lengthof(encvalue(p_ruleActivationTime))/8, omit), charging_Rule_Definition := {p_chargingRuleDefinition}, charging_Rule_Definition := {p_chargingRuleDefinition}, rule_Activation_Time := p_ruleActivationTime rule_Activation_Time := p_ruleActivationTime } } Loading @@ -554,7 +556,7 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_DeActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_DeActivation_Time_AVP p_ruleDeActivationTime) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Definition_DeActTime(template Charging_Rule_Definition_AVP p_chargingRuleDefinition, template Rule_DeActivation_Time_AVP p_ruleDeActivationTime) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))+lengthof(encvalue(p_ruleDeActivationTime)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleDefinition))/8+lengthof(encvalue(p_ruleDeActivationTime))/8, omit), charging_Rule_Definition := {p_chargingRuleDefinition}, charging_Rule_Definition := {p_chargingRuleDefinition}, rule_DeActivation_Time := p_ruleDeActivationTime rule_DeActivation_Time := p_ruleDeActivationTime } } Loading @@ -562,40 +564,40 @@ module DiameterGx_Templates { template Charging_Rule_Install_AVP m_chrgRuleInstall_CorrelationId(template Charging_Correlation_Indicator_AVP p_chargingCorrelationIndicator) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_CorrelationId(template Charging_Correlation_Indicator_AVP p_chargingCorrelationIndicator) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingCorrelationIndicator)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingCorrelationIndicator))/8, omit), charging_Correlation_Indicator := p_chargingCorrelationIndicator charging_Correlation_Indicator := p_chargingCorrelationIndicator } } template Charging_Rule_Install_AVP m_chrgRuleInstall_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleName))/8, omit), charging_Rule_Name := {p_chargingRuleName} charging_Rule_Name := {p_chargingRuleName} } } template Charging_Rule_Install_AVP m_chrgRuleInstall_Name_RAN(template Charging_Rule_Name_AVP p_chargingRuleName, template Resource_Allocation_Notification_AVP p_resourceAllocationNotification) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_Name_RAN(template Charging_Rule_Name_AVP p_chargingRuleName, template Resource_Allocation_Notification_AVP p_resourceAllocationNotification) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_resourceAllocationNotification))+lengthof(encvalue(p_chargingRuleName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_resourceAllocationNotification))/8+lengthof(encvalue(p_chargingRuleName))/8, omit), charging_Rule_Name := {p_chargingRuleName}, charging_Rule_Name := {p_chargingRuleName}, resource_Allocation_Notification := p_resourceAllocationNotification resource_Allocation_Notification := p_resourceAllocationNotification } } template Charging_Rule_Install_AVP m_chrgRuleInstall_2Name(template Charging_Rule_Base_Name_AVP p_chargingRuleBName1,template Charging_Rule_Base_Name_AVP p_chargingRuleBName2) modifies m_chrgRuleInstall_dummy:= template Charging_Rule_Install_AVP m_chrgRuleInstall_2Name(template Charging_Rule_Base_Name_AVP p_chargingRuleBName1,template Charging_Rule_Base_Name_AVP p_chargingRuleBName2) modifies m_chrgRuleInstall_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleBName1))+lengthof(encvalue(p_chargingRuleBName2)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Install_AVP, lengthof(encvalue(p_chargingRuleBName1))/8+lengthof(encvalue(p_chargingRuleBName2))/8, omit), charging_Rule_Base_Name := {p_chargingRuleBName1, p_chargingRuleBName2} charging_Rule_Base_Name := {p_chargingRuleBName1, p_chargingRuleBName2} } } template Charging_Rule_Remove_AVP m_chrgRuleRemove_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleRemove_dummy:= template Charging_Rule_Remove_AVP m_chrgRuleRemove_Name(template Charging_Rule_Name_AVP p_chargingRuleName) modifies m_chrgRuleRemove_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleName))/8, omit), charging_Rule_Name := {p_chargingRuleName} charging_Rule_Name := {p_chargingRuleName} } } template Charging_Rule_Remove_AVP m_chrgRuleRemove_BName(template Charging_Rule_Base_Name_AVP p_chargingRuleBName) modifies m_chrgRuleRemove_dummy:= template Charging_Rule_Remove_AVP m_chrgRuleRemove_BName(template Charging_Rule_Base_Name_AVP p_chargingRuleBName) modifies m_chrgRuleRemove_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleBName)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Remove_AVP, lengthof(encvalue(p_chargingRuleBName))/8, omit), charging_Rule_Base_Name := {p_chargingRuleBName} charging_Rule_Base_Name := {p_chargingRuleBName} } } Loading @@ -607,21 +609,21 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition (octetstring p_avpData) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition (octetstring p_avpData) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData))), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData) charging_Rule_Name := m_chargingRuleName(p_avpData) } } template Charging_Rule_Definition_AVP m_chrgRuleDefinition_MK (octetstring p_avpData, template Monitoring_Key_AVP p_monitoringKey) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_MK (octetstring p_avpData, template Monitoring_Key_AVP p_monitoringKey) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_monitoringKey)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData))/8)+lengthof(encvalue(p_monitoringKey))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), monitoring_Key := p_monitoringKey monitoring_Key := p_monitoringKey } } template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI_AF (octetstring p_avpData, template Flow_Information_AVP p_flowInformation, template AF_Signalling_Protocol_AVP p_afSignallingProtocol) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI_AF (octetstring p_avpData, template Flow_Information_AVP p_flowInformation, template AF_Signalling_Protocol_AVP p_afSignallingProtocol) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_flowInformation)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_flowInformation))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), flow_Information := {p_flowInformation}, flow_Information := {p_flowInformation}, aF_Signalling_Protocol := p_afSignallingProtocol aF_Signalling_Protocol := p_afSignallingProtocol Loading @@ -630,7 +632,7 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI (octetstring p_avpData, template Flow_Information_AVP p_flowInformation) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_FI (octetstring p_avpData, template Flow_Information_AVP p_flowInformation) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_flowInformation)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_flowInformation))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), flow_Information := {p_flowInformation} flow_Information := {p_flowInformation} } } Loading @@ -638,7 +640,7 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition_QoS (octetstring p_avpData, template QoS_Information_AVP p_qoSInformation) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_QoS (octetstring p_avpData, template QoS_Information_AVP p_qoSInformation) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_qoSInformation)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_qoSInformation))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), qoS_Information := p_qoSInformation qoS_Information := p_qoSInformation } } Loading @@ -646,7 +648,7 @@ module DiameterGx_Templates { template Charging_Rule_Definition_AVP m_chrgRuleDefinition_RG (octetstring p_avpData, template Rating_Group_AVP p_ratingGroup) modifies m_chrgRuleDefinition_dummy:= template Charging_Rule_Definition_AVP m_chrgRuleDefinition_RG (octetstring p_avpData, template Rating_Group_AVP p_ratingGroup) modifies m_chrgRuleDefinition_dummy:= { { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_ratingGroup)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))/8+lengthof(encvalue(p_ratingGroup))/8, omit), charging_Rule_Name := m_chargingRuleName(p_avpData), charging_Rule_Name := m_chargingRuleName(p_avpData), rating_Group := p_ratingGroup rating_Group := p_ratingGroup } } Loading @@ -671,27 +673,27 @@ module DiameterGx_Templates { template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId))/8, omit), packet_Filter_Identifier := p_pfId packet_Filter_Identifier := p_pfId } } template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId_FlowDirection(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := template Packet_Filter_Information_AVP m_pFInfo_PacketFilterId_FlowDirection(Packet_Filter_Identifier_AVP p_pfId) modifies m_packet_Filter_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId))+12/*12-flow_direction*/, omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_pfId))/8+12/*12-flow_direction*/, omit), packet_Filter_Identifier := p_pfId, packet_Filter_Identifier := p_pfId, flow_Direction := m_flowDirection_Bidirectional flow_Direction := m_flowDirection_Bidirectional } } template Packet_Filter_Information_AVP m_pFInfo_Precedence_pFContent(Precedence_AVP p_precedence, Packet_Filter_Content_AVP p_pfc) modifies m_packet_Filter_Information_dummy := template Packet_Filter_Information_AVP m_pFInfo_Precedence_pFContent(Precedence_AVP p_precedence, Packet_Filter_Content_AVP p_pfc) modifies m_packet_Filter_Information_dummy := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_precedence)) +lengthof(encvalue(p_pfc)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Information_AVP, lengthof(encvalue(p_precedence))/8 +lengthof(encvalue(p_pfc))/8, omit), precedence := p_precedence, precedence := p_precedence, packet_Filter_Content := p_pfc packet_Filter_Content := p_pfc } } template Packet_Filter_Content_AVP m_packet_Filter_Content(IPFilterRule_Type p_IPftr) := template Packet_Filter_Content_AVP m_packet_Filter_Content(IPFilterRule_Type p_IPftr) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Content_AVP, lengthof(encvalue(p_IPftr)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdPacket_Filter_Content_AVP, lengthof(encvalue(p_IPftr))/8, omit), aVP_Data := p_IPftr aVP_Data := p_IPftr } } Loading Loading @@ -814,7 +816,7 @@ module DiameterGx_Templates { (template Monitoring_Key_AVP p_monitoringKey, (template Monitoring_Key_AVP p_monitoringKey, template Granted_Service_Unit_AVP p_grantedServiceUnit) := template Granted_Service_Unit_AVP p_grantedServiceUnit) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_monitoringKey))+lengthof(encvalue(p_grantedServiceUnit)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_monitoringKey))/8+lengthof(encvalue(p_grantedServiceUnit))/8, omit), monitoring_Key := p_monitoringKey, monitoring_Key := p_monitoringKey, granted_Service_Unit := p_grantedServiceUnit, granted_Service_Unit := p_grantedServiceUnit, Loading @@ -828,7 +830,7 @@ module DiameterGx_Templates { template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestReport template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestReport (template Usage_Monitoring_Report_AVP p_usageMonitoringReport) := (template Usage_Monitoring_Report_AVP p_usageMonitoringReport) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_usageMonitoringReport)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(p_usageMonitoringReport))/8, omit), monitoring_Key := omit, monitoring_Key := omit, granted_Service_Unit := omit, granted_Service_Unit := omit, Loading @@ -843,7 +845,7 @@ module DiameterGx_Templates { template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestSupport template Usage_Monitoring_Information_AVP m_usageMonitoringInformationRequestSupport (template Usage_Monitoring_Support_AVP p_usageMonitoringSupport) := (template Usage_Monitoring_Support_AVP p_usageMonitoringSupport) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(m_monitoringKey(PX_MONITORING_KEY)))+lengthof(encvalue(p_usageMonitoringSupport)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Information_AVP, 8+lengthof(encvalue(m_monitoringKey(PX_MONITORING_KEY)))/8+lengthof(encvalue(p_usageMonitoringSupport))/8, omit), monitoring_Key := m_monitoringKey(PX_MONITORING_KEY), monitoring_Key := m_monitoringKey(PX_MONITORING_KEY), granted_Service_Unit := omit, granted_Service_Unit := omit, Loading @@ -859,7 +861,7 @@ module DiameterGx_Templates { (template QoS_Class_Identifier_AVP p_qoSClassIdentifier, (template QoS_Class_Identifier_AVP p_qoSClassIdentifier, template Allocation_Retention_Priority_AVP p_allocationRetentionPriority) := template Allocation_Retention_Priority_AVP p_allocationRetentionPriority) := { { aVP_Header := m_aVP_HeaderVid(c_vendIdDefault_EPS_Bearer_QoS_AVP, 8+lengthof(encvalue(p_qoSClassIdentifier))+lengthof(encvalue(p_allocationRetentionPriority)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdDefault_EPS_Bearer_QoS_AVP, 8+lengthof(encvalue(p_qoSClassIdentifier))/8+lengthof(encvalue(p_allocationRetentionPriority))/8, omit), qoS_Class_Identifier := p_qoSClassIdentifier, qoS_Class_Identifier := p_qoSClassIdentifier, allocation_Retention_Priority := p_allocationRetentionPriority, allocation_Retention_Priority := p_allocationRetentionPriority, aVP_Type := omit aVP_Type := omit Loading @@ -874,7 +876,7 @@ module DiameterGx_Templates { template Allocation_Retention_Priority_AVP m_allocRetentionPrio (template Priority_Level_AVP p_priorityLevel):= template Allocation_Retention_Priority_AVP m_allocRetentionPrio (template Priority_Level_AVP p_priorityLevel):= { { aVP_Header := m_aVP_HeaderVid(c_vendIdAllocation_Retention_Priority_AVP, 8+lengthof(encvalue(p_priorityLevel)), omit), aVP_Header := m_aVP_HeaderVid(c_vendIdAllocation_Retention_Priority_AVP, 8+lengthof(encvalue(p_priorityLevel))/8, omit), priority_Level := p_priorityLevel, priority_Level := p_priorityLevel, pre_emption_Capability := omit, pre_emption_Capability := omit, pre_emption_Vulnerability := omit pre_emption_Vulnerability := omit Loading