Loading DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +122 −5 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ module DiameterS9_S9_TCFunctions { import from LibCommon_VerdictControl all ; // LibDiameter import from LibDiameter_Types_S9_AVPs all; import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Interface all; Loading Loading @@ -69,8 +70,6 @@ module DiameterS9_S9_TCFunctions { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); //f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest_SubID_AnGw_BBERFatt(vc_sessionId, Loading @@ -79,15 +78,14 @@ module DiameterS9_S9_TCFunctions { vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address), {m_subscription_Id(valueof(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE)), {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)), valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}, m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs ) ); // TODO: p_qosRuleInstall:=? f_awaiting_CCA(mw_CCA_ResultCode_BearerControlMode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -100,8 +98,127 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSE_01 /* * @desc This is the test case function TC_PCRF_HA_02 * @param */ function f_TC_HPCRF_HSE_02() runs on DiameterComponent { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest_SubID_AnGw_BBERFatt_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address), {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)), valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:ESTABLISHMENT_E))} )); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess), {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)}) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_HPCRF(); //TODO: function have to be declared in S9_steps: f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSE_02 } // group TP_HPCRFRole_HSE group TP_HPCRFRole_HSM {//S9 Session Modification /* * @desc This is the test case function TC_PCRF_HA_01 * @param */ function f_TC_HPCRF_HSM_01() runs on DiameterComponent { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs ) ); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_HPCRF(); //TODO: function have to be declared in S9_steps: f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSM_01 /* * @desc This is the test case function TC_PCRF_HA_02 * @param */ function f_TC_HPCRF_HSM_02() runs on DiameterComponent { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))} ) ); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_HPCRF(); //TODO: function have to be declared in S9_steps: f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSM_02 } // group TP_HPCRFRole_HSM } // group TP_HPCRFRole group TP_VPCRFRole{ // §5.2.2 Loading DiameterS9/ttcn/DiameterS9_Templates.ttcn +98 −10 Original line number Diff line number Diff line Loading @@ -398,7 +398,7 @@ module DiameterS9_Templates { aVP_Data := p_avpData } template Subsession_Operation_AVP m_subsessionOperation_dummy ( template Subsession_Operation_Code p_avpData ) := { template Subsession_Operation_AVP m_subsessionOperation_dummy ( template (value) Subsession_Operation_Code p_avpData ) := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_subsession_Operation_AVP_Code, lengthof ( encvalue ( p_avpData ) ) / 8, c_vendId3gpp ), Loading Loading @@ -586,6 +586,12 @@ module DiameterS9_Templates { aVP_Data := p_avpData } template Subses_Enforcement_Info_AVP m_subsesEnforcementInfo_Operation ( template Subsession_Id_AVP p_subsessionId, template Subsession_Operation_AVP p_subsessionOperation ) modifies m_subsesEnforcementInfo_dummy:= { subsession_Operation := p_subsessionOperation } }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ Loading @@ -606,6 +612,14 @@ module DiameterS9_Templates { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_cC_Request_Type_AVP_Code), aVP_Data := p_avpData } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_qosRuleInstall ( template (present) Subsession_Id_AVP p_subsessionId, template Subses_Decision_Info_AVP.qoS_Rule_Install p_qosRuleInstall) modifies mw_SubsesDecisionInfo_dummy := { qoS_Rule_Install := p_qosRuleInstall } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -857,16 +871,38 @@ module DiameterS9_Templates { template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address, template CCR_MSG.cCR_Body.subscription_Id p_subscriptionId, template CCR_MSG.cCR_Body.aN_GW_Address p_aN_GW_Address, template QoS_Information_AVP p_qosInformation template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation ) modifies m_CCR_InitialRequest := { cCR_Body := { subscription_Id := p_subscriptionId subscription_Id := p_subscriptionId, aN_GW_Address := p_anGwAddress, qoS_Information := p_qosInformation // BBERF attributes } } template CCR_MSG m_CCR_InitialRequest_SubID_AnGw_BBERFatt_SubSessEnfInf (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 Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address, template CCR_MSG.cCR_Body.subscription_Id p_subscriptionId, template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation, template CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_InitialRequest_SubID_AnGw_BBERFatt := { cCR_Body := { subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } template CCR_MSG m_CCR_TerminationRequest(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading @@ -879,6 +915,41 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_UpdateRequest (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 CCR_MSG.cCR_Body.qoS_Rule_Report p_qoSRuleReport, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), qoS_Rule_Report := p_qoSRuleReport, qoS_Information := p_qosInformation // BBERF attributes } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (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 CCR_MSG.cCR_Body.qoS_Rule_Report p_qoSRuleReport, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation, template CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), qoS_Rule_Report := p_qoSRuleReport, qoS_Information := p_qosInformation, // BBERF attributes subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } } // end group S9modified_request_templates_send group S9modified_request_templates_receive { } // end group S9modified_request_templates_receive Loading @@ -896,18 +967,35 @@ module DiameterS9_Templates { } } template CCA_MSG mw_CCA_ResultCode_BearerControlMode(template (present) Session_Id_AVP p_sessionId, template CCA_MSG mw_CCA_ResultCode_QosRuleInstall(template (present) Session_Id_AVP p_sessionId, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Result_Code_AVP p_resultCode, template (present) CCA_MSG.cCA_Body.qoS_Rule_Install p_qosRuleInstall ) modifies mw_CCA_basic := { cCA_Body := { result_Code := p_resultCode, qoS_Rule_Install := p_qosRuleInstall } } template CCA_MSG mw_CCA_ResultCode_SubsesDecInfo(template (present) Session_Id_AVP p_sessionId, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Result_Code_AVP p_resultCode //, // TODO template (present) QoS_Rule_Install_AVP p_qosRuleInstall template (present) Result_Code_AVP p_resultCode, template (present) CCA_MSG.cCA_Body.subsession_Decision_Info p_subsessionDecisionInfo ) modifies mw_CCA_basic := { cCA_Body := { result_Code := p_resultCode, qoS_Rule_Install := ? subsession_Decision_Info := p_subsessionDecisionInfo } } } // end group S9modified_answer_templates_receive } //end group S9modified_templates } //end group S9MessageTemplates Loading Loading
DiameterS9/ttcn/DiameterS9_S9_TCFunctions.ttcn3 +122 −5 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ module DiameterS9_S9_TCFunctions { import from LibCommon_VerdictControl all ; // LibDiameter import from LibDiameter_Types_S9_AVPs all; import from LibDiameter_TypesAndValues all; import from LibDiameter_Templates all; import from LibDiameter_Interface all; Loading Loading @@ -69,8 +70,6 @@ module DiameterS9_S9_TCFunctions { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); //f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest_SubID_AnGw_BBERFatt(vc_sessionId, Loading @@ -79,15 +78,14 @@ module DiameterS9_S9_TCFunctions { vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address), {m_subscription_Id(valueof(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE)), {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)), valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}, m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs ) ); // TODO: p_qosRuleInstall:=? f_awaiting_CCA(mw_CCA_ResultCode_BearerControlMode(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess))); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync Loading @@ -100,8 +98,127 @@ module DiameterS9_S9_TCFunctions { } // end function TC_HPCRF_HSE_01 /* * @desc This is the test case function TC_PCRF_HA_02 * @param */ function f_TC_HPCRF_HSE_02() runs on DiameterComponent { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_InitialRequest_SubID_AnGw_BBERFatt_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(PX_UE1_framedIpAddress), f_framedIpAddress6_send(PX_UE1_framedIp6Address), {m_subscription_Id(valueof(m_subscription_Id_Type(END_USER_IMSI_E)), valueof(m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA)))}, {m_anGwAddress(f_IPAdress(PX_SGW_AGW_ipv4,PX_SGW_AGW_ipv6))}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:ESTABLISHMENT_E))} )); f_awaiting_CCA(mw_CCA_ResultCode_SubsesDecInfo(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess), {mw_SubsesDecisionInfo_qosRuleInstall(mw_subsessionId_dummy(1),?)}) ); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_HPCRF(); //TODO: function have to be declared in S9_steps: f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSE_02 } // group TP_HPCRFRole_HSE group TP_HPCRFRole_HSM {//S9 Session Modification /* * @desc This is the test case function TC_PCRF_HA_01 * @param */ function f_TC_HPCRF_HSM_01() runs on DiameterComponent { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy // BBERF attributes TODO: to check more required AVPs ) ); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_HPCRF(); //TODO: function have to be declared in S9_steps: f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSM_01 /* * @desc This is the test case function TC_PCRF_HA_02 * @param */ function f_TC_HPCRF_HSM_02() runs on DiameterComponent { //TODO: function have to be declared in S9_steps: f_preamble_VPCRF(); f_initiate_session_HPCRF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_UpdateRequest_SubSessEnfInf(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, {m_qoSRuleReport_dummy}, m_qoS_Information_dummy, // BBERF attributes TODO: to check more required AVPs {m_subsesEnforcementInfo_Operation(m_subsessionId_dummy(1), m_subsessionOperation_dummy(Subsession_Operation_Code:MODIFICATION_E))} ) ); f_awaiting_CCA(mw_CCA_ResultCode_QosRuleInstall(vc_sessionId, vc_originHost_IUT, vc_originRealm_IUT, mw_resultCode(mw_resultCode_diameterSuccess),?)); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync //session termination f_terminate_session_HPCRF(); //TODO: function have to be declared in S9_steps: f_postamble_VPCRF(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync } // end function TC_HPCRF_HSM_02 } // group TP_HPCRFRole_HSM } // group TP_HPCRFRole group TP_VPCRFRole{ // §5.2.2 Loading
DiameterS9/ttcn/DiameterS9_Templates.ttcn +98 −10 Original line number Diff line number Diff line Loading @@ -398,7 +398,7 @@ module DiameterS9_Templates { aVP_Data := p_avpData } template Subsession_Operation_AVP m_subsessionOperation_dummy ( template Subsession_Operation_Code p_avpData ) := { template Subsession_Operation_AVP m_subsessionOperation_dummy ( template (value) Subsession_Operation_Code p_avpData ) := { aVP_Header := m_aVP_HeaderVid_Mbit1 ( c_subsession_Operation_AVP_Code, lengthof ( encvalue ( p_avpData ) ) / 8, c_vendId3gpp ), Loading Loading @@ -586,6 +586,12 @@ module DiameterS9_Templates { aVP_Data := p_avpData } template Subses_Enforcement_Info_AVP m_subsesEnforcementInfo_Operation ( template Subsession_Id_AVP p_subsessionId, template Subsession_Operation_AVP p_subsessionOperation ) modifies m_subsesEnforcementInfo_dummy:= { subsession_Operation := p_subsessionOperation } }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ Loading @@ -606,6 +612,14 @@ module DiameterS9_Templates { aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_cC_Request_Type_AVP_Code), aVP_Data := p_avpData } template Subses_Decision_Info_AVP mw_SubsesDecisionInfo_qosRuleInstall ( template (present) Subsession_Id_AVP p_subsessionId, template Subses_Decision_Info_AVP.qoS_Rule_Install p_qosRuleInstall) modifies mw_SubsesDecisionInfo_dummy := { qoS_Rule_Install := p_qosRuleInstall } }//end group awaitingTemplatesForAVPs } //end group SpecificAVPHeaders } //end group HeaderFieldTemplates Loading Loading @@ -857,16 +871,38 @@ module DiameterS9_Templates { template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address, template CCR_MSG.cCR_Body.subscription_Id p_subscriptionId, template CCR_MSG.cCR_Body.aN_GW_Address p_aN_GW_Address, template QoS_Information_AVP p_qosInformation template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation ) modifies m_CCR_InitialRequest := { cCR_Body := { subscription_Id := p_subscriptionId subscription_Id := p_subscriptionId, aN_GW_Address := p_anGwAddress, qoS_Information := p_qosInformation // BBERF attributes } } template CCR_MSG m_CCR_InitialRequest_SubID_AnGw_BBERFatt_SubSessEnfInf (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 Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address, template CCR_MSG.cCR_Body.subscription_Id p_subscriptionId, template CCR_MSG.cCR_Body.aN_GW_Address p_anGwAddress, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation, template CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_InitialRequest_SubID_AnGw_BBERFatt := { cCR_Body := { subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } template CCR_MSG m_CCR_TerminationRequest(template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, Loading @@ -879,6 +915,41 @@ module DiameterS9_Templates { } } template CCR_MSG m_CCR_UpdateRequest (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 CCR_MSG.cCR_Body.qoS_Rule_Report p_qoSRuleReport, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), qoS_Rule_Report := p_qoSRuleReport, qoS_Information := p_qosInformation // BBERF attributes } } template CCR_MSG m_CCR_UpdateRequest_SubSessEnfInf (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 CCR_MSG.cCR_Body.qoS_Rule_Report p_qoSRuleReport, // BBERF attributes TODO: to check more required AVPs template QoS_Information_AVP p_qosInformation, template CCR_MSG.cCR_Body.subsesion_Enforcement_Info p_subsesionEnforcementInfo ) modifies m_CCR_basic := { cCR_Body := { cC_Request_Type := m_cC_Request_Type ( UPDATE_REQUEST_E ), qoS_Rule_Report := p_qoSRuleReport, qoS_Information := p_qosInformation, // BBERF attributes subsesion_Enforcement_Info := p_subsesionEnforcementInfo } } } // end group S9modified_request_templates_send group S9modified_request_templates_receive { } // end group S9modified_request_templates_receive Loading @@ -896,18 +967,35 @@ module DiameterS9_Templates { } } template CCA_MSG mw_CCA_ResultCode_BearerControlMode(template (present) Session_Id_AVP p_sessionId, template CCA_MSG mw_CCA_ResultCode_QosRuleInstall(template (present) Session_Id_AVP p_sessionId, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Result_Code_AVP p_resultCode, template (present) CCA_MSG.cCA_Body.qoS_Rule_Install p_qosRuleInstall ) modifies mw_CCA_basic := { cCA_Body := { result_Code := p_resultCode, qoS_Rule_Install := p_qosRuleInstall } } template CCA_MSG mw_CCA_ResultCode_SubsesDecInfo(template (present) Session_Id_AVP p_sessionId, template (present) Origin_Host_AVP p_originHost, template (present) Origin_Realm_AVP p_originRealm, template (present) Result_Code_AVP p_resultCode //, // TODO template (present) QoS_Rule_Install_AVP p_qosRuleInstall template (present) Result_Code_AVP p_resultCode, template (present) CCA_MSG.cCA_Body.subsession_Decision_Info p_subsessionDecisionInfo ) modifies mw_CCA_basic := { cCA_Body := { result_Code := p_resultCode, qoS_Rule_Install := ? subsession_Decision_Info := p_subsessionDecisionInfo } } } // end group S9modified_answer_templates_receive } //end group S9modified_templates } //end group S9MessageTemplates Loading