Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +104 −0 Original line number Diff line number Diff line Loading @@ -2393,6 +2393,110 @@ module DiameterGx_Gx_TCFunctions { }//end group TP_PCEFRole_UMC group TP_PCEFRole_IRS { //IMS Restoration Support /* * @desc This is the test case function TC_PCEF_IRS_01 * @param */ function f_TC_PCEF_IRS_01() runs on DiameterComponent { f_preamble_PCRF(); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleInst // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_chrgRuleInstall_Definition(m_chrgRuleDefinition_FI_AF(PX_CHARGING_RULE_NAME_DATA, m_flowInformation_direction_packetFID(m_packet_Filter_Identifier(PX_PACKET_FILTER_IDENTIFIER_DATA), m_flowDirection_Bidirectional),m_afSignallingProtocol(SIP_E))) )); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(TERMINATION_REQUEST_E) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCRF(); } // end function f_TC_PCEF_IRS_01 /* * @desc This is the test case function TC_PCEF_IRS_02 * @param */ function f_TC_PCEF_IRS_02() runs on DiameterComponent { f_preamble_PCRF(); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); // request IRS f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleInst // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_chrgRuleInstall_Definition(m_chrgRuleDefinition_FI_AF(PX_CHARGING_RULE_NAME_DATA, m_flowInformation_direction_packetFID(m_packet_Filter_Identifier(PX_PACKET_FILTER_IDENTIFIER_DATA), m_flowDirection_Bidirectional),m_afSignallingProtocol(SIP_E))) )); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleRem // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_chrgRuleRemove_Name(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)) )); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(TERMINATION_REQUEST_E) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCRF(); } // end function f_TC_PCEF_IRS_02 }//end group TP_PCEFRole_IRS group TP_PCEFRole_MPS { //Multimedia Priority Support }//end group TP_PCEFRole_MPS Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +29 −1 Original line number Diff line number Diff line Loading @@ -609,6 +609,15 @@ module DiameterGx_Templates { 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:= { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_flowInformation)), omit), charging_Rule_Name := m_chargingRuleName(p_avpData), flow_Information := {p_flowInformation}, aF_Signalling_Protocol := p_afSignallingProtocol } 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), Loading Loading @@ -770,6 +779,13 @@ module DiameterGx_Templates { aVP_Data := p_avpData } template AF_Signalling_Protocol_AVP m_afSignallingProtocol (AF_Signalling_Protocol_Type p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdAF_Signalling_Protocol_AVP, 8, omit), aVP_Data := p_avpData } template Usage_Monitoring_Report_AVP m_usageMonitoringReport (Usage_Monitoring_Report p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Report_AVP, 8, omit), Loading Loading @@ -1464,6 +1480,17 @@ module DiameterGx_Templates { charging_Rule_Install := {p_chargingRuleInstall} } template RAR_MSG m_RAR_CharRuleRem(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template Charging_Rule_Remove_AVP p_chargingRuleRemove) modifies m_RAR_basic := { charging_Rule_Remove := {p_chargingRuleRemove} } template RAR_MSG m_RAR_CharRuleInst_EvTrigger(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, Loading Loading @@ -1697,7 +1724,8 @@ module DiameterGx_Templates { template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template QoS_Information_AVP_setof p_qosInformation // template QoS_Information_AVP_setof p_qosInformation template RAR_MSG.qoS_Information p_qosInformation ) modifies mw_RAR_basic := { qoS_Information := p_qosInformation } Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +104 −0 Original line number Diff line number Diff line Loading @@ -2393,6 +2393,110 @@ module DiameterGx_Gx_TCFunctions { }//end group TP_PCEFRole_UMC group TP_PCEFRole_IRS { //IMS Restoration Support /* * @desc This is the test case function TC_PCEF_IRS_01 * @param */ function f_TC_PCEF_IRS_01() runs on DiameterComponent { f_preamble_PCRF(); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleInst // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_chrgRuleInstall_Definition(m_chrgRuleDefinition_FI_AF(PX_CHARGING_RULE_NAME_DATA, m_flowInformation_direction_packetFID(m_packet_Filter_Identifier(PX_PACKET_FILTER_IDENTIFIER_DATA), m_flowDirection_Bidirectional),m_afSignallingProtocol(SIP_E))) )); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(TERMINATION_REQUEST_E) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCRF(); } // end function f_TC_PCEF_IRS_01 /* * @desc This is the test case function TC_PCEF_IRS_02 * @param */ function f_TC_PCEF_IRS_02() runs on DiameterComponent { f_preamble_PCRF(); f_awaiting_CCR(mw_CCR_Request(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(INITIAL_REQUEST_E), *, *, *)); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); // request IRS f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleInst // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_chrgRuleInstall_Definition(m_chrgRuleDefinition_FI_AF(PX_CHARGING_RULE_NAME_DATA, m_flowInformation_direction_packetFID(m_packet_Filter_Identifier(PX_PACKET_FILTER_IDENTIFIER_DATA), m_flowDirection_Bidirectional),m_afSignallingProtocol(SIP_E))) )); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_RAR(DiameterGx_Templates.m_RAR_CharRuleRem // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_chrgRuleRemove_Name(m_chargingRuleName(PX_CHARGING_RULE_NAME_DATA)) )); f_awaiting_RAA(mw_RAA_basic(vc_sessionId,?,?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCR(mw_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(TERMINATION_REQUEST_E) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCRF(); } // end function f_TC_PCEF_IRS_02 }//end group TP_PCEFRole_IRS group TP_PCEFRole_MPS { //Multimedia Priority Support }//end group TP_PCEFRole_MPS Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +29 −1 Original line number Diff line number Diff line Loading @@ -609,6 +609,15 @@ module DiameterGx_Templates { 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:= { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_flowInformation)), omit), charging_Rule_Name := m_chargingRuleName(p_avpData), flow_Information := {p_flowInformation}, aF_Signalling_Protocol := p_afSignallingProtocol } 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), Loading Loading @@ -770,6 +779,13 @@ module DiameterGx_Templates { aVP_Data := p_avpData } template AF_Signalling_Protocol_AVP m_afSignallingProtocol (AF_Signalling_Protocol_Type p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdAF_Signalling_Protocol_AVP, 8, omit), aVP_Data := p_avpData } template Usage_Monitoring_Report_AVP m_usageMonitoringReport (Usage_Monitoring_Report p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdUsage_Monitoring_Report_AVP, 8, omit), Loading Loading @@ -1464,6 +1480,17 @@ module DiameterGx_Templates { charging_Rule_Install := {p_chargingRuleInstall} } template RAR_MSG m_RAR_CharRuleRem(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template Charging_Rule_Remove_AVP p_chargingRuleRemove) modifies m_RAR_basic := { charging_Rule_Remove := {p_chargingRuleRemove} } template RAR_MSG m_RAR_CharRuleInst_EvTrigger(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, Loading Loading @@ -1697,7 +1724,8 @@ module DiameterGx_Templates { template Origin_Realm_AVP p_originRealm, template Destination_Realm_AVP p_destinationRealm, template Destination_Host_AVP p_destinationHost, template QoS_Information_AVP_setof p_qosInformation // template QoS_Information_AVP_setof p_qosInformation template RAR_MSG.qoS_Information p_qosInformation ) modifies mw_RAR_basic := { qoS_Information := p_qosInformation } Loading