Commit 4d06e6d0 authored by rennoch's avatar rennoch
Browse files

Gx/PCEF tests: PCC-14

parent fe3526e5
Loading
Loading
Loading
Loading
+62 −1
Original line number Diff line number Diff line
@@ -2050,6 +2050,7 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_PCC_12


            /*
            *  @desc	This is the test case function TC_PCEF_PCC_13
            *  @param	
@@ -2094,6 +2095,66 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_PCC_13
            
            /*
            *  @desc	This is the test case function TC_PCEF_PCC_14
            *  @param	
            */
            function f_TC_PCEF_PCC_14()
            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_RevalTime // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_revalidationTime(PX_REVALIDATION_TIME),
							m_chrgRuleInstall_Definition(m_chrgRuleDefinition(PX_CHARGING_RULE_NAME_DATA))));
							                   
                f_awaiting_RAA(mw_RAA_RuleReport(vc_sessionId,?,?, mw_chargRuleReport_Name_Code_Status(mw_rule_Failure_Code(RATING_GROUP_ERROR_E),mw_pCC_Rule_Status(INACTIVE_E)))); 

				// await timeout of revalidation timer
				tc_wait.start (int2float(PX_REVALIDATION_TIME));
				tc_wait.timeout;

				// Revalidation due to PCRF request in RAR
                f_awaiting_CCR(mw_CCR_basic(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(UPDATE_REQUEST_E)
                									));

                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_14
                    
        }//end group TP_PCEFRole_PCC
        group TP_PCEFRole_EMS {	//Emergency services
        }//end group TP_PCRERole_EMS
+8 −1
Original line number Diff line number Diff line
@@ -292,6 +292,13 @@ module DiameterGx_PIXITS
        */
        modulepar octetstring PX_MONITORING_KEY := '01020304050607'O;
        
                        
        /** @desc	octectstring, PIXIT item A.1/
         * avp_Data within Revalidation_Time_AVP is of UInt64 type
         * (parameter is part of RAR message)
        */
        modulepar UInt64 PX_REVALIDATION_TIME := 7;  
        
	} //end group DiameterCommonGxData

} // end module DiameterGx_PIXITS
 No newline at end of file
+26 −5
Original line number Diff line number Diff line
@@ -735,6 +735,13 @@ module DiameterGx_Templates {
            }     
            
                        
            template Revalidation_Time_AVP m_revalidationTime (Time p_avpData) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdRevalidation_Time_AVP, 8, omit),
                aVP_Data := p_avpData
            }                       
                           
            
     	  }//end group sendingTemplatesForAVPs
     	  group awaitingTemplatesForAVPs{
    
@@ -1302,7 +1309,7 @@ module DiameterGx_Templates {
                                           template Destination_Realm_AVP p_destinationRealm,
                                           template Destination_Host_AVP p_destinationHost,
                                           template Charging_Rule_Install_AVP p_chargingRuleInstall)
                  modifies m_RAR_dummy := 
                  modifies m_RAR_basic := 
              {
              	  charging_Rule_Install := {p_chargingRuleInstall}
              }
@@ -1316,12 +1323,26 @@ module DiameterGx_Templates {
                                           template Event_Trigger_AVP p_eventTrigger,
                                           template Charging_Rule_Install_AVP p_chargingRuleInstall)

                  modifies m_RAR_dummy := 
                  modifies m_RAR_basic := 
              {
              	  event_Trigger := {p_eventTrigger},
              	  charging_Rule_Install := {p_chargingRuleInstall}
              }
              
            template RAR_MSG m_RAR_CharRuleInst_RevalTime(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 Revalidation_Time_AVP p_revalidationTime,
                           template Charging_Rule_Install_AVP p_chargingRuleInstall)

                  modifies m_RAR_basic := 
              {
              	  revalidation_Time := p_revalidationTime,
              	  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,
@@ -1329,7 +1350,7 @@ module DiameterGx_Templates {
                           template Destination_Host_AVP p_destinationHost,
                           template Event_Trigger_AVP p_eventTrigger)

                  modifies m_RAR_dummy := 
                  modifies m_RAR_basic := 
              {
              	  event_Trigger := {p_eventTrigger}
              }
@@ -1341,7 +1362,7 @@ module DiameterGx_Templates {
                                           template Destination_Realm_AVP p_destinationRealm,
                                           template Destination_Host_AVP p_destinationHost,
                                           template Charging_Rule_Remove_AVP p_chargingRuleRemove)
                  modifies m_RAR_dummy := 
                  modifies m_RAR_basic := 
              {
              	  charging_Rule_Remove := {p_chargingRuleRemove}
              }