Loading DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +56 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCA(mw_CCA_modified_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync Loading @@ -66,15 +66,67 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCA(mw_CCA_modified_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm)); f_awaiting_CCA(mw_CCA_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_IPS_02 /* * @desc This is the test case function TC_PCRF_IPS_03 * @param */ function f_TC_PCRF_IPS_03() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_NetworkRequestSupport(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCA(mw_CCA_ResultCode_BearerControlMode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_IPS_03 }//end group TP_PCRFRole_IPS group TP_PCRFRole_MSI { //Modification of Session Information /* * @desc This is the test case function TC_PCRF_MSI_01 * @param */ function f_TC_PCRF_MSI_01() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //session modification f_send_CCR(m_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_MSI_01 }//end group TP_PCRFRole_MSI group TP_PCRFRole_INV { //Invalid Behaviour }//end group TP_PCRFRole_INV Loading Loading @@ -159,6 +211,8 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_IPS_02 }//end group TP_PCEFRole_IPS group TP_PCEFRole_MSI { //Modification of Session Information }//end group TP_PCEFRole_MSI Loading DiameterGx/ttcn/DiameterGx_PIXITS.ttcn +15 −5 Original line number Diff line number Diff line Loading @@ -150,11 +150,6 @@ module DiameterGx_PIXITS */ modulepar octetstring PX_UE_framedIp6Address := 'ffffffff'O; /** @desc UInt32, PIXIT item A.1/ * avp_Data within CC_Request_Number_AVP is of UInt32 type */ modulepar UInt32 PX_CC_REQUEST_NUMBER := 1; /** @desc enumerated type Subscription_Id_Ty_Type, PIXIT item A.1/ * avp_Data within Subscription_Id_Type_AVP is of enumerated type Subscription_Id_Ty_Type */ Loading Loading @@ -228,6 +223,21 @@ module DiameterGx_PIXITS */ modulepar UInt32 PX_FLOW_NUMBER_DATA := 100; /** @desc enumerated type Network_Request_Support, PIXIT item A.1/ * avp_Data within Network_Request_Support_AVP is of enumerated type Network_Request_Support */ modulepar Network_Request_Support PX_NETWORK_REQUEST_SUPPORT := NETWORK_REQUEST_SUPPORTED_E; /** @desc octetstring, PIXIT item A.1/ * avp_Data within Charging_Rule_Name_AVP is of octetstring type */ modulepar octetstring PX_CHARGING_RULE_NAME_DATA := '08'O; /** @desc enumerated type PCC_Rule_Status, PIXIT item A.1/ * avp_Data within PCC_Rule_Status_AVP is of enumerated type PCC_Rule_Status */ modulepar PCC_Rule_Status PX_PCC_RULE_STATUS := ACTIVE_E; } //end group DiameterCommonGxData } // end module DiameterGx_PIXITS No newline at end of file DiameterGx/ttcn/DiameterGx_Templates.ttcn +68 −6 Original line number Diff line number Diff line Loading @@ -257,6 +257,36 @@ module DiameterGx_Templates { options := omit } template Event_Trigger_AVP m_event_Trigger(Event_Trigger p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdEvent_Trigger_AVP, 4, omit), aVP_Data := p_avpData } template Charging_Rule_Report_AVP m_charging_Rule_Report(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs) := { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))+lengthof(encvalue(p_ccrs)), omit), charging_Rule_Name := {p_crn}, charging_Rule_Base_Name := omit, bearer_Identifier := omit, pCC_Rule_Status := p_ccrs, rule_Failure_Code := omit, final_Unit_Indication := omit, aVP_Type := omit } template Charging_Rule_Name_AVP m_charging_Rule_Name(octetstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Name_AVP, lengthof(p_avpData), omit), aVP_Data := p_avpData }; template PCC_Rule_Status_AVP m_pCC_Rule_Status_AVP(PCC_Rule_Status p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdPCC_Rule_Status_AVP, 4, omit), aVP_Data := p_avpData } }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ Loading Loading @@ -363,7 +393,7 @@ module DiameterGx_Templates { destination_Realm := p_destinationRealm, auth_Application_Id := m_authApplicationId(c_applIdGx), cC_Request_Type := m_cC_Request_Type(INITIAL_REQUEST_E), cC_Request_Number := m_cC_Request_Number(PX_CC_REQUEST_NUMBER), cC_Request_Number := m_cC_Request_Number(0), subscription_Id := {m_subscription_Id(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE),m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))}, framed_IP_Address := p_framedIpAddress, framed_IPv6_Prefix := p_framedIp6Address, Loading Loading @@ -403,7 +433,7 @@ module DiameterGx_Templates { origin_Realm := p_originRealm, auth_Application_Id := m_authApplicationId(c_applIdGx), cC_Request_Type := m_cC_Request_Type(INITIAL_REQUEST_E), cC_Request_Number := m_cC_Request_Number(PX_CC_REQUEST_NUMBER) cC_Request_Number := m_cC_Request_Number(0) } } Loading Loading @@ -433,7 +463,7 @@ module DiameterGx_Templates { template Destination_Realm_AVP p_destinationRealm, template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address) modifies m_CCR_basic := { network_Request_Support := m_network_Request_Support(NETWORK_REQUEST_SUPPORTED_E), network_Request_Support := m_network_Request_Support(PX_NETWORK_REQUEST_SUPPORT), qoS_Information := m_qoS_Information_APN_AMBR_UL, threeGPP_MS_TimeZone := m_threeGPP_MS_TimeZone(PX_3GPP_MS_TIMEZONE_DATA), called_Station_Id := m_called_Station_Id(PX_CALLED_STATION_ID_DATA), Loading @@ -442,7 +472,30 @@ module DiameterGx_Templates { access_Network_Charging_Address := m_accessNetworkChargingAddress(f_IPAdress(PX_ANCA_ipv4, PX_ANCA_ipv6)), access_Network_Charging_Identifier_Gx := {m_aNCI_Gx(m_aNCI_Value(PX_ACCESS_NETWORK_CHARGING_IDENTIFIER_VALUE))}, routing_Rule_Install := m_routing_Rule_Install(m_routing_Rule_Definition(m_routing_Rule_Identifier(PX_ROUTING_RULE_IDENTIFIER_VALUE),m_routing_Filter)) } template CCR_MSG m_CCR_NetworkRequestSupport(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) modifies m_CCR_basic := { network_Request_Support := m_network_Request_Support(PX_NETWORK_REQUEST_SUPPORT) } 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 Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address) modifies m_CCR_basic := { cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1), subscription_Id := omit, iP_CAN_Type := omit, rAT_Type := omit, charging_Rule_Report := {m_charging_Rule_Report(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status_AVP(PX_PCC_RULE_STATUS))}, event_Trigger := {m_event_Trigger(IP_CAN_CHANGE_E)} } } // end group Gxmodified_request_templates_send Loading Loading @@ -474,7 +527,7 @@ module DiameterGx_Templates { group Gxmodified_answer_templates_receive { template CCA_MSG mw_CCA_modified_ResultCode( template Session_Id_AVP p_sessionId, template CCA_MSG mw_CCA_ResultCode( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode) modifies mw_CCA_basic := Loading @@ -482,7 +535,16 @@ module DiameterGx_Templates { result_Code := p_resultCode } template CCA_MSG mw_CCA_modified_PCCrules_ChrgRuleInstall( template Session_Id_AVP p_sessionId, template CCA_MSG mw_CCA_ResultCode_BearerControlMode( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode) modifies mw_CCA_basic := { result_Code := p_resultCode, bearer_Control_Mode := ? } template CCA_MSG mw_CCA_PCCrules_ChrgRuleInstall( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm) modifies mw_CCA_basic := { Loading Loading
DiameterGx/ttcn/DiameterGx_Gx_TCFunctions.ttcn +56 −2 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCA(mw_CCA_modified_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync Loading @@ -66,15 +66,67 @@ module DiameterGx_Gx_TCFunctions { f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCA(mw_CCA_modified_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm)); f_awaiting_CCA(mw_CCA_PCCrules_ChrgRuleInstall(vc_sessionId, vc_originHost, vc_originRealm)); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_IPS_02 /* * @desc This is the test case function TC_PCRF_IPS_03 * @param */ function f_TC_PCRF_IPS_03() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_CCR(m_CCR_NetworkRequestSupport(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_awaiting_CCA(mw_CCA_ResultCode_BearerControlMode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_IPS_03 }//end group TP_PCRFRole_IPS group TP_PCRFRole_MSI { //Modification of Session Information /* * @desc This is the test case function TC_PCRF_MSI_01 * @param */ function f_TC_PCRF_MSI_01() runs on DiameterComponent { f_preamble_PCEF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync //establishement of the session f_send_CCR(m_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); //session modification f_send_CCR(m_CCR_basic(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, f_framedIpAddress4_send(),f_framedIpAddress6_send())); f_awaiting_CCA(mw_CCA_ResultCode(vc_sessionId, vc_originHost, vc_originRealm, mw_resultCode(mw_resultCode_diameterSuccess))); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_PCEF(); } // end function f_TC_PCRF_MSI_01 }//end group TP_PCRFRole_MSI group TP_PCRFRole_INV { //Invalid Behaviour }//end group TP_PCRFRole_INV Loading Loading @@ -159,6 +211,8 @@ module DiameterGx_Gx_TCFunctions { } // end function f_TC_PCEF_IPS_02 }//end group TP_PCEFRole_IPS group TP_PCEFRole_MSI { //Modification of Session Information }//end group TP_PCEFRole_MSI Loading
DiameterGx/ttcn/DiameterGx_PIXITS.ttcn +15 −5 Original line number Diff line number Diff line Loading @@ -150,11 +150,6 @@ module DiameterGx_PIXITS */ modulepar octetstring PX_UE_framedIp6Address := 'ffffffff'O; /** @desc UInt32, PIXIT item A.1/ * avp_Data within CC_Request_Number_AVP is of UInt32 type */ modulepar UInt32 PX_CC_REQUEST_NUMBER := 1; /** @desc enumerated type Subscription_Id_Ty_Type, PIXIT item A.1/ * avp_Data within Subscription_Id_Type_AVP is of enumerated type Subscription_Id_Ty_Type */ Loading Loading @@ -228,6 +223,21 @@ module DiameterGx_PIXITS */ modulepar UInt32 PX_FLOW_NUMBER_DATA := 100; /** @desc enumerated type Network_Request_Support, PIXIT item A.1/ * avp_Data within Network_Request_Support_AVP is of enumerated type Network_Request_Support */ modulepar Network_Request_Support PX_NETWORK_REQUEST_SUPPORT := NETWORK_REQUEST_SUPPORTED_E; /** @desc octetstring, PIXIT item A.1/ * avp_Data within Charging_Rule_Name_AVP is of octetstring type */ modulepar octetstring PX_CHARGING_RULE_NAME_DATA := '08'O; /** @desc enumerated type PCC_Rule_Status, PIXIT item A.1/ * avp_Data within PCC_Rule_Status_AVP is of enumerated type PCC_Rule_Status */ modulepar PCC_Rule_Status PX_PCC_RULE_STATUS := ACTIVE_E; } //end group DiameterCommonGxData } // end module DiameterGx_PIXITS No newline at end of file
DiameterGx/ttcn/DiameterGx_Templates.ttcn +68 −6 Original line number Diff line number Diff line Loading @@ -257,6 +257,36 @@ module DiameterGx_Templates { options := omit } template Event_Trigger_AVP m_event_Trigger(Event_Trigger p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdEvent_Trigger_AVP, 4, omit), aVP_Data := p_avpData } template Charging_Rule_Report_AVP m_charging_Rule_Report(Charging_Rule_Name_AVP p_crn, PCC_Rule_Status_AVP p_ccrs) := { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Report_AVP, lengthof(encvalue(p_crn))+lengthof(encvalue(p_ccrs)), omit), charging_Rule_Name := {p_crn}, charging_Rule_Base_Name := omit, bearer_Identifier := omit, pCC_Rule_Status := p_ccrs, rule_Failure_Code := omit, final_Unit_Indication := omit, aVP_Type := omit } template Charging_Rule_Name_AVP m_charging_Rule_Name(octetstring p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Name_AVP, lengthof(p_avpData), omit), aVP_Data := p_avpData }; template PCC_Rule_Status_AVP m_pCC_Rule_Status_AVP(PCC_Rule_Status p_avpData) := { aVP_Header := m_aVP_HeaderVid(c_vendIdPCC_Rule_Status_AVP, 4, omit), aVP_Data := p_avpData } }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ Loading Loading @@ -363,7 +393,7 @@ module DiameterGx_Templates { destination_Realm := p_destinationRealm, auth_Application_Id := m_authApplicationId(c_applIdGx), cC_Request_Type := m_cC_Request_Type(INITIAL_REQUEST_E), cC_Request_Number := m_cC_Request_Number(PX_CC_REQUEST_NUMBER), cC_Request_Number := m_cC_Request_Number(0), subscription_Id := {m_subscription_Id(m_subscription_Id_Type(PX_SUBSCRIPTION_ID_TYPE),m_subscription_Id_Data(PX_SUBSCRIPTION_ID_DATA))}, framed_IP_Address := p_framedIpAddress, framed_IPv6_Prefix := p_framedIp6Address, Loading Loading @@ -403,7 +433,7 @@ module DiameterGx_Templates { origin_Realm := p_originRealm, auth_Application_Id := m_authApplicationId(c_applIdGx), cC_Request_Type := m_cC_Request_Type(INITIAL_REQUEST_E), cC_Request_Number := m_cC_Request_Number(PX_CC_REQUEST_NUMBER) cC_Request_Number := m_cC_Request_Number(0) } } Loading Loading @@ -433,7 +463,7 @@ module DiameterGx_Templates { template Destination_Realm_AVP p_destinationRealm, template Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address) modifies m_CCR_basic := { network_Request_Support := m_network_Request_Support(NETWORK_REQUEST_SUPPORTED_E), network_Request_Support := m_network_Request_Support(PX_NETWORK_REQUEST_SUPPORT), qoS_Information := m_qoS_Information_APN_AMBR_UL, threeGPP_MS_TimeZone := m_threeGPP_MS_TimeZone(PX_3GPP_MS_TIMEZONE_DATA), called_Station_Id := m_called_Station_Id(PX_CALLED_STATION_ID_DATA), Loading @@ -442,7 +472,30 @@ module DiameterGx_Templates { access_Network_Charging_Address := m_accessNetworkChargingAddress(f_IPAdress(PX_ANCA_ipv4, PX_ANCA_ipv6)), access_Network_Charging_Identifier_Gx := {m_aNCI_Gx(m_aNCI_Value(PX_ACCESS_NETWORK_CHARGING_IDENTIFIER_VALUE))}, routing_Rule_Install := m_routing_Rule_Install(m_routing_Rule_Definition(m_routing_Rule_Identifier(PX_ROUTING_RULE_IDENTIFIER_VALUE),m_routing_Filter)) } template CCR_MSG m_CCR_NetworkRequestSupport(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) modifies m_CCR_basic := { network_Request_Support := m_network_Request_Support(PX_NETWORK_REQUEST_SUPPORT) } 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 Framed_IP_Address_AVP p_framedIpAddress, template Framed_IPv6_Prefix_AVP p_framedIp6Address) modifies m_CCR_basic := { cC_Request_Type := m_cC_Request_Type(UPDATE_REQUEST_E), cC_Request_Number := m_cC_Request_Number(1), subscription_Id := omit, iP_CAN_Type := omit, rAT_Type := omit, charging_Rule_Report := {m_charging_Rule_Report(m_charging_Rule_Name(PX_CHARGING_RULE_NAME_DATA),m_pCC_Rule_Status_AVP(PX_PCC_RULE_STATUS))}, event_Trigger := {m_event_Trigger(IP_CAN_CHANGE_E)} } } // end group Gxmodified_request_templates_send Loading Loading @@ -474,7 +527,7 @@ module DiameterGx_Templates { group Gxmodified_answer_templates_receive { template CCA_MSG mw_CCA_modified_ResultCode( template Session_Id_AVP p_sessionId, template CCA_MSG mw_CCA_ResultCode( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode) modifies mw_CCA_basic := Loading @@ -482,7 +535,16 @@ module DiameterGx_Templates { result_Code := p_resultCode } template CCA_MSG mw_CCA_modified_PCCrules_ChrgRuleInstall( template Session_Id_AVP p_sessionId, template CCA_MSG mw_CCA_ResultCode_BearerControlMode( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm, template Result_Code_AVP p_resultCode) modifies mw_CCA_basic := { result_Code := p_resultCode, bearer_Control_Mode := ? } template CCA_MSG mw_CCA_PCCrules_ChrgRuleInstall( template Session_Id_AVP p_sessionId, template Origin_Host_AVP p_originHost, template Origin_Realm_AVP p_originRealm) modifies mw_CCA_basic := { Loading