Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +103 −2 Original line number Diff line number Diff line Loading @@ -1632,7 +1632,6 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_PCC_03 /* * @desc This is the test case function TC_PCEF_PCC_04 * @param Loading Loading @@ -1860,6 +1859,108 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_PCC_08 /* * @desc This is the test case function TC_PCEF_PCC_09 * @param */ function f_TC_PCEF_PCC_09() 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_EvTrigger // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(NO_EVENT_TRIGGERS_E) )); f_awaiting_RAA(mw_RAA_basic(?,?,?)); 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_PCC_09 /* * @desc This is the test case function TC_PCEF_PCC_10 * @param */ function f_TC_PCEF_PCC_10() 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_EvTrigger // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(CHARGING_CORRELATION_EXCHANGE_E), m_chrgRuleInstall_CorrelationId(m_correlationIndicator(CHARGING_IDENTIFIER_REQUIRED_E)))); f_awaiting_RAA(mw_RAA_basic(?,?,?)); f_awaiting_CCR(mw_CCR_AccessNetChargId(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_aNCI_Gx(?) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); 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_PCC_10 }//end group TP_PCEFRole_PCC group TP_PCEFRole_EMS { //Emergency services }//end group TP_PCRERole_EMS Loading DiameterGx/ttcn/DiameterGx_Templates.ttcn +62 −3 Original line number Diff line number Diff line Loading @@ -505,6 +505,12 @@ module DiameterGx_Templates { aVP_Data := p_avpData } template Charging_Correlation_Indicator_AVP m_correlationIndicator(Charging_Correlation_Indicator p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Correlation_Indicator_AVP, 4, omit), aVP_Data := p_avpData } 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), Loading @@ -527,6 +533,13 @@ module DiameterGx_Templates { charging_Rule_Definition := {p_chargingRuleDefinition} } 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), charging_Correlation_Indicator := p_chargingCorrelationIndicator } 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), Loading Loading @@ -959,6 +972,14 @@ module DiameterGx_Templates { aVP_Data := p_avpData } template Access_Network_Charging_Identifier_Gx_AVP mw_aNCI_Gx(template Access_Network_Charging_Identifier_Value_AVP p_nciv) := { aVP_Header := mw_aVP_Header(c_vendIdAccess_Network_Charging_Identifier_Gx_AVP), acc_Net_Charging_Id_Val := p_nciv, charging_Rule_Base_Name := *, charging_Rule_Name := * } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -1259,6 +1280,18 @@ module DiameterGx_Templates { charging_Rule_Install := {p_chargingRuleInstall} } template RAR_MSG m_RAR_EvTrigger(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 Event_Trigger_AVP p_eventTrigger) modifies m_RAR_dummy := { event_Trigger := {p_eventTrigger} } template RAR_MSG m_RAR_CharRuleRemove(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, Loading Loading @@ -1326,6 +1359,22 @@ module DiameterGx_Templates { qoS_Information := p_qoSInformation } template CCR_MSG mw_CCR_AccessNetChargId(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 CC_Request_Type_AVP p_cCRequestType, template Access_Network_Charging_Identifier_Gx_AVP p_accessNetworkChargingIdentifierGx ) modifies mw_CCR_dummy := { header := mw_diameterHeaderReq_dummy(CCR_E, c_applIdGx), session_Id := p_sessionId, origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destinationRealm, cC_Request_Type := p_cCRequestType, access_Network_Charging_Identifier_Gx := superset(p_accessNetworkChargingIdentifierGx) } template RAR_MSG mw_RAR_sessReleaseCause(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading Loading @@ -1474,6 +1523,16 @@ module DiameterGx_Templates { media_Component_Description := superset(p_mediaComponentDescription) } template RAA_MSG mw_RAA_AccessNetCharg(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Media_Component_Description_AVP p_mediaComponentDescription) modifies mw_RAA_basic := { media_Component_Description := superset(p_mediaComponentDescription) } } // end group Gxmodified_answer_templates_receive } //end group Gxmodified_templates Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +103 −2 Original line number Diff line number Diff line Loading @@ -1632,7 +1632,6 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_PCC_03 /* * @desc This is the test case function TC_PCEF_PCC_04 * @param Loading Loading @@ -1860,6 +1859,108 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_PCC_08 /* * @desc This is the test case function TC_PCEF_PCC_09 * @param */ function f_TC_PCEF_PCC_09() 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_EvTrigger // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(NO_EVENT_TRIGGERS_E) )); f_awaiting_RAA(mw_RAA_basic(?,?,?)); 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_PCC_09 /* * @desc This is the test case function TC_PCEF_PCC_10 * @param */ function f_TC_PCEF_PCC_10() 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_EvTrigger // RAR in Rx-module has different header! (vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, m_event_Trigger(CHARGING_CORRELATION_EXCHANGE_E), m_chrgRuleInstall_CorrelationId(m_correlationIndicator(CHARGING_IDENTIFIER_REQUIRED_E)))); f_awaiting_RAA(mw_RAA_basic(?,?,?)); f_awaiting_CCR(mw_CCR_AccessNetChargId(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, mw_cC_Request_Type(UPDATE_REQUEST_E), mw_aNCI_Gx(?) )); f_send_CCA(m_CCA_basic(vc_sessionId, vc_originHost, vc_originRealm)); 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_PCC_10 }//end group TP_PCEFRole_PCC group TP_PCEFRole_EMS { //Emergency services }//end group TP_PCRERole_EMS Loading
DiameterGx/ttcn/DiameterGx_Templates.ttcn +62 −3 Original line number Diff line number Diff line Loading @@ -505,6 +505,12 @@ module DiameterGx_Templates { aVP_Data := p_avpData } template Charging_Correlation_Indicator_AVP m_correlationIndicator(Charging_Correlation_Indicator p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Correlation_Indicator_AVP, 4, omit), aVP_Data := p_avpData } 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), Loading @@ -527,6 +533,13 @@ module DiameterGx_Templates { charging_Rule_Definition := {p_chargingRuleDefinition} } 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), charging_Correlation_Indicator := p_chargingCorrelationIndicator } 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), Loading Loading @@ -959,6 +972,14 @@ module DiameterGx_Templates { aVP_Data := p_avpData } template Access_Network_Charging_Identifier_Gx_AVP mw_aNCI_Gx(template Access_Network_Charging_Identifier_Value_AVP p_nciv) := { aVP_Header := mw_aVP_Header(c_vendIdAccess_Network_Charging_Identifier_Gx_AVP), acc_Net_Charging_Id_Val := p_nciv, charging_Rule_Base_Name := *, charging_Rule_Name := * } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -1259,6 +1280,18 @@ module DiameterGx_Templates { charging_Rule_Install := {p_chargingRuleInstall} } template RAR_MSG m_RAR_EvTrigger(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 Event_Trigger_AVP p_eventTrigger) modifies m_RAR_dummy := { event_Trigger := {p_eventTrigger} } template RAR_MSG m_RAR_CharRuleRemove(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, Loading Loading @@ -1326,6 +1359,22 @@ module DiameterGx_Templates { qoS_Information := p_qoSInformation } template CCR_MSG mw_CCR_AccessNetChargId(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 CC_Request_Type_AVP p_cCRequestType, template Access_Network_Charging_Identifier_Gx_AVP p_accessNetworkChargingIdentifierGx ) modifies mw_CCR_dummy := { header := mw_diameterHeaderReq_dummy(CCR_E, c_applIdGx), session_Id := p_sessionId, origin_Host := p_originHost, origin_Realm := p_originRealm, destination_Realm := p_destinationRealm, cC_Request_Type := p_cCRequestType, access_Network_Charging_Identifier_Gx := superset(p_accessNetworkChargingIdentifierGx) } template RAR_MSG mw_RAR_sessReleaseCause(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading Loading @@ -1474,6 +1523,16 @@ module DiameterGx_Templates { media_Component_Description := superset(p_mediaComponentDescription) } template RAA_MSG mw_RAA_AccessNetCharg(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Media_Component_Description_AVP p_mediaComponentDescription) modifies mw_RAA_basic := { media_Component_Description := superset(p_mediaComponentDescription) } } // end group Gxmodified_answer_templates_receive } //end group Gxmodified_templates Loading