Commit fe3526e5 authored by rennoch's avatar rennoch
Browse files

Gx/PCEF tests: PCC-13

parent f56aff61
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
@@ -2050,6 +2050,50 @@ module DiameterGx_Gx_TCFunctions {

            } // end function f_TC_PCEF_PCC_12
            
            /*
            *  @desc	This is the test case function TC_PCEF_PCC_13
            *  @param	
            */
            function f_TC_PCEF_PCC_13()
            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 // RAR in Rx-module has different header!
						   (vc_sessionId, vc_originHost, vc_originRealm,
							vc_destinationRealm, vc_destinationHost, 
							m_chrgRuleInstall_Definition(m_chrgRuleDefinition_RG(PX_CHARGING_RULE_NAME_DATA, m_ratingGroup(PX_UNKNOWN_RATING_GROUP)))));
							                   
                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)))); 

                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_13
                    
        }//end group TP_PCEFRole_PCC
        group TP_PCEFRole_EMS {	//Emergency services
        }//end group TP_PCRERole_EMS
+5 −0
Original line number Diff line number Diff line
@@ -223,6 +223,11 @@ module DiameterGx_PIXITS
        */
        modulepar UInt32  PX_FLOW_NUMBER_DATA := 100;
        
        /** @desc	UInt32, PIXIT item A.1/
         *  avp_Data within Rating_Group_AVP is of UInt32 type
        */
        modulepar UInt32  PX_UNKNOWN_RATING_GROUP := 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
        */
+15 −2
Original line number Diff line number Diff line
@@ -608,6 +608,14 @@ module DiameterGx_Templates {
                qoS_Information := p_qoSInformation
            }
            
                        
            template Charging_Rule_Definition_AVP m_chrgRuleDefinition_RG (octetstring p_avpData, template Rating_Group_AVP p_ratingGroup) modifies m_chrgRuleDefinition_dummy:=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Definition_AVP, lengthof(encvalue(m_chargingRuleName(p_avpData)))+lengthof(encvalue(p_ratingGroup)), omit),
                charging_Rule_Name := m_chargingRuleName(p_avpData),
                rating_Group := p_ratingGroup
            }      
                            
            template Charging_Rule_Base_Name_AVP m_chrgRuleBaseName(UTF8String p_avpData):=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdCharging_Rule_Base_Name_AVP, lengthof(p_avpData), omit),
@@ -720,6 +728,11 @@ module DiameterGx_Templates {
                aVP_Data := p_avpData
            }   
            
            template Rating_Group_AVP m_ratingGroup (UInt32 p_avpData) :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdRating_Group_AVP, 4, omit),
                aVP_Data := p_avpData
            }                         
                           
            
     	  }//end group sendingTemplatesForAVPs