Commit e58f4728 authored by pintar's avatar pintar
Browse files

new templates

parent 6694015e
Loading
Loading
Loading
Loading
+56 −2
Original line number Diff line number Diff line
@@ -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
		
@@ -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
@@ -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
+15 −5
Original line number Diff line number Diff line
@@ -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 
        */
@@ -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
+68 −6
Original line number Diff line number Diff line
@@ -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{
    
@@ -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,
@@ -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)
            }
            
        }          
@@ -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),
@@ -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
@@ -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 := 
@@ -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 := 
              {