Commit 7d336e71 authored by rennoch's avatar rennoch
Browse files

Gx/PCEF tests: PCC-09/10

parent 9940b570
Loading
Loading
Loading
Loading
+103 −2
Original line number Diff line number Diff line
@@ -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	
@@ -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
+62 −3
Original line number Diff line number Diff line
@@ -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),
@@ -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),
@@ -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
@@ -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,
@@ -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,
@@ -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