Commit 95443802 authored by pintar's avatar pintar
Browse files

New templates and Test cases are introduced

parent 16a58149
Loading
Loading
Loading
Loading
+55 −1
Original line number Diff line number Diff line
@@ -38,13 +38,36 @@ module DiameterGx_Gx_TCFunctions {
        
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync
		
                f_awaiting_CCA(mw_CCA_modified_ResultCode(?, ?, ?, mw_resultCode(mw_resultCode_diameterSuccess)));
                f_awaiting_CCA(mw_CCA_modified_ResultCode(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_01

            /*
            *  @desc	This is the test case function TC_PCRF_IPS_02
            *  @param	
            */
            function f_TC_PCRF_IPS_02()
            runs on DiameterComponent {
		
                f_preamble_PCEF();
		
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
		
                //f_send_CCR(m_CCR_basic(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_modified_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
        }//end group TP_PCRFRole_IPS
        group TP_PCRFRole_MSI {	//Modification of Session Information
        }//end group  TP_PCRFRole_MSI
@@ -100,6 +123,37 @@ module DiameterGx_Gx_TCFunctions {
                f_postamble_PCRF();

            } // end function f_TC_PCEF_IPS_01
            
            /*
            *  @desc	This is the test case function TC_PCEF_IPS_02
            *  @param	
            */
            function f_TC_PCEF_IPS_02()
            runs on DiameterComponent {

                f_preamble_PCRF();

                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                f_awaiting_CCR(mw_CCR_sessionRequest(vc_sessionId, 
                									vc_originHost, 
                									vc_originRealm, 
                									vc_destinationRealm,
                									mw_cC_Request_Type(INITIAL_REQUEST_E),
                									f_framedIpAddress4(),
                									f_framedIpAddress6(),
                									mw_routing_Rule_Install));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); //     sync

                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_IPS_02
            
        }//end group TP_PCEFRole_IPS
        group TP_PCEFRole_MSI {	//Modification of Session Information
        }//end group  TP_PCEFRole_MSI
+2 −1
Original line number Diff line number Diff line
@@ -151,7 +151,8 @@ module DiameterGx_PIXITS
        modulepar octetstring PX_UE_framedIp6Address := 'ffffffff'O;
        

        /** @desc	charstring, PIXIT item A.1/
        /** @desc	
         * 	avp_Data within CC_Request_Type_AVP is of enumerated type CC_Request_Ty_Type , 
        */
        modulepar CC_Request_Ty_Type PX_CC_REQUEST_TYPE := INITIAL_REQUEST_E;
        
+83 −22
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ module DiameterGx_Templates {
        } //end group DummyAVPHeaders
    
     	group SpecificAVPHeaders {
     	  group sendingTemplatesForAVPs{
    
            template Destination_Host_AVP m_destinationHost(charstring p_avpData) := 
            {
@@ -118,67 +119,102 @@ module DiameterGx_Templates {
                aVP_Data := p_avpData
            }    
                
    		template Framed_IP_Address_AVP mw_framedIpAddress(template (present) octetstring p_avpData) :=
            template Network_Request_Support_AVP m_network_Request_Support(Network_Request_Support p_avpData) :=
            {
    			aVP_Header := 
                aVP_Header := m_aVP_HeaderVid(c_vendIdNetwork_Request_Support_AVP, 4, omit),
                aVP_Data := p_avpData
            }    
                
            template QoS_Information_AVP m_qoS_Information_APN_AMBR_UL :=
            {
                aVP_Header := m_aVP_HeaderVid(c_vendIdQoS_Information_AVP, 12/*length aPN_Aggregate_Max_Bitrate_UL*/, omit),
                qoS_Class_Identifier := omit,
                max_Requested_Bandwidth_UL := omit,
                max_Requested_Bandwidth_DL := omit,
                guaranteed_Bitrate_UL := omit,
                guaranteed_Bitrate_DL := omit,
                bearer_Identifier := omit,
                allocation_Retention_Priority := omit,
                aPN_Aggregate_Max_Bitrate_UL := m_APN_Aggregate_Max_Bitrate_UL,
                aPN_Aggregate_Max_Bitrate_DL := omit,
                aVP_Type := omit
            }  			    
                
            template APN_Aggregate_Max_Bitrate_UL_AVP m_APN_Aggregate_Max_Bitrate_UL:=
            {
    				aVP_Code := ?,
    				aVP_flags := {v_bit := ?, m_bit := ?, p_bit := ?, reserved_bits := ?},
    				aVP_len := ?,
    				aVP_vid := ?
    			},
                aVP_Header := m_aVP_HeaderVid(c_vendIdAPN_Aggregate_Max_Bitrate_UL_AVP, 4, omit),
                aVP_Data := 100//PX_APN_Aggregate_Max_Bitrate_UL_AVP_DATA
            }; 
            
     	  }//end group sendingTemplatesForAVPs
     	  group awaitingTemplatesForAVPs{
    
    		template Framed_IP_Address_AVP mw_framedIpAddress(template (present) octetstring p_avpData) :=
    		{ 
    			aVP_Header := mw_aVP_Header_any,
    			aVP_Data := p_avpData
    		}
    		
            template Framed_IPv6_Prefix_AVP mw_framedIp6Address(template (present) octetstring p_avpData) :=
            {
                aVP_Header := 
                {
                    aVP_Code := ?,
                    aVP_flags := {v_bit := ?, m_bit := ?, p_bit := ?, reserved_bits := ?},
                    aVP_len := ?,
                    aVP_vid := ?
                },
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }    
                        
            template Subscription_Id_AVP mw_subscription_Id(template Subscription_Id_Type_AVP p_typeAVP, template Subscription_Id_Data_AVP p_dataAVP):= 
            template Subscription_Id_AVP mw_subscription_Id(Subscription_Id_Type_AVP p_typeAVP, Subscription_Id_Data_AVP p_dataAVP):= 
            {
                aVP_Header := ?,
                aVP_Header := mw_aVP_Header_any,
                subscription_Id_Type := p_typeAVP,
                subscription_Id_Data := p_dataAVP
            }  
                        
            template Subscription_Id_Type_AVP mw_subscription_Id_Type(Subscription_Id_Ty_Type p_avpData):= 
            {
                aVP_Header := ?,
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }  
                        
            template Subscription_Id_Data_AVP mw_subscription_Id_Data(UTF8String p_avpData):= 
            {
                aVP_Header := ?,
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }  
                        
            template IP_CAN_Type_AVP mw_iP_CAN_Type(IP_CAN_Type p_avpData):= 
            {
                aVP_Header := ?,
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }  
                        
            template RAT_Type_AVP mw_rAT_Type(RAT_Type p_avpData):= 
            {
                aVP_Header := ?,
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            }   
                  
            template CC_Request_Type_AVP mw_cC_Request_Type(CC_Request_Ty_Type p_avpData):= 
            {
                aVP_Header := ?,
                aVP_Header := mw_aVP_Header_any,
                aVP_Data := p_avpData
            } 			    
                
            template Routing_Rule_Install_AVP mw_routing_Rule_Install :=
            {
                aVP_Header := mw_aVP_Header_any,
                routing_Rule_Definition := {mw_routing_Rule_Definition},
                aVP_Type := *
            };
            
            template Routing_Rule_Definition_AVP mw_routing_Rule_Definition :=
            {            
                aVP_Header := mw_aVP_Header_any,
                routing_Rule_Identifier :=	?,
               	routing_Filter := ?,
                precedence := *,
                routing_IP_Address := *,
                aVP_Type := *
            };
     	  }//end group awaitingTemplatesForAVPs
        } //end group SpecificAVPHeaders
    } //end group HeaderFieldTemplates
	
@@ -280,6 +316,24 @@ module DiameterGx_Templates {
          
          group Gxmodified_request_templates_send {
            
            template CCR_MSG m_CCR_allRequiredAVPs(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(NETWORK_REQUEST_SUPPORTED_E),
				qoS_Information := m_qoS_Information_APN_AMBR_UL,
				threeGPP_MS_TimeZone := omit,
				called_Station_Id := omit,
				pDN_Connection_ID := omit,
				bearer_Usage := omit,
				access_Network_Charging_Address := omit,
				access_Network_Charging_Identifier_Gx := omit,
				routing_Rule_Install := omit
 
            }

          } //     end group Gxmodified_request_templates_send

		  group Gxmodified_request_templates_receive {
@@ -317,6 +371,13 @@ module DiameterGx_Templates {
                  result_Code := p_resultCode
              }
          
              template CCA_MSG mw_CCA_modified_PCCrules_ChrgRuleInstall( template Session_Id_AVP p_sessionId,
                                                           template Origin_Host_AVP p_originHost,
                                                           template Origin_Realm_AVP p_originRealm) modifies mw_CCA_basic := 
              {
                  charging_Rule_Install := ?
              }
          
          } // end group Gxmodified_answer_templates_receive
          
	  } //end group Gxmodified_templates