Commit 3a50f487 authored by rennoch's avatar rennoch
Browse files

TC_PCRF_SN_02/03 04(partly) added

parent 3a000ac5
Loading
Loading
Loading
Loading
+113 −2
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ module DiameterRx_Rx_TCFunctions {
                                      INDICATION_OF_LOSS_OF_BEARER_E)),
                    				mw_mediaComponentDescription_basic(
                    				  	mw_mediaComponentNr(0),
										{mw_mediaSubComponent_basic(mw_flowNumber(0),omit,omit,mw_flowUsage(AF_SIGNALLING_E),omit,omit,omit,omit)},
										{mw_mediaSubComponent_basic(mw_flowNumber(0),omit,omit,omit,omit,omit,omit,omit)},
                    					omit,omit,omit,omit,omit,omit,omit,omit,omit
                                     	)
                                   ));
@@ -697,7 +697,118 @@ module DiameterRx_Rx_TCFunctions {
				
                    f_postamble_AF();

                } // end function f_TC_PCRF_ST_01
                } // end function f_TC_PCRF_SN_01

        /*
        *  @desc	This is the test case function TC_PCRF_SN_02
        *  @param	
        */
                function f_TC_PCRF_SN_02()
                runs on DiameterComponent {
				
                    f_preamble_AF();
				
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //     sync
                      
                    f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost,
												   vc_originRealm,
												   vc_destinationRealm,
												   vc_destinationHost,
												   f_framedIpAddress4_send(),
												   f_framedIpAddress6_send(),
                    							   m_specificActionsList,
												   m_mediaComponentDescription_subComponentFlowN_componentNr
												   (m_mediaSubComponentN
													(0),
													m_mediaComponentNr(0))));
                    
                    f_awaiting_AAA(mw_AAA_dummy);
				
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
				
                    f_postamble_AF();

                } // end function f_TC_PCRF_SN_02

        /*
        *  @desc	This is the test case function TC_PCRF_SN_03
        *  @param	
        */
                function f_TC_PCRF_SN_03()
                runs on DiameterComponent {
				
                    f_preamble_AF();
				                      
                    f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost,
												   vc_originRealm,
												   vc_destinationRealm,
												   vc_destinationHost,
												   f_framedIpAddress4_send(),
												   f_framedIpAddress6_send(),
                    							   m_specificActionsList,
												   m_mediaComponentDescription_subComponentFlowN_componentNr
												   (m_mediaSubComponentN
													(0),
													m_mediaComponentNr(0))));
                    
                    f_awaiting_AAA(mw_AAA_dummy);

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

					f_send_STR(m_STR_basic(vc_sessionId, vc_originHost, // Tester initiates termination
										   vc_originRealm, vc_destinationRealm,
										   m_terminationCause(DIAMETER_LOGOUT_E)));
                    
                    f_awaiting_STA(mw_STA_dummy);
				
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
				
                    f_postamble_AF();

                } // end function f_TC_PCRF_SN_03

        /*
        *  @desc	This is the test case function TC_PCRF_SN_04
        *  @param	
        */
                function f_TC_PCRF_SN_04()
                runs on DiameterComponent {
				
                    f_preamble_AF();
				
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); //     sync
                      
                    f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost,
												   vc_originRealm,
												   vc_destinationRealm,
												   vc_destinationHost,
												   f_framedIpAddress4_send(),
												   f_framedIpAddress6_send(),
                    							   m_specificActionsList,
												   m_mediaComponentDescription_subComponentFlowUN_componentNr
												   (m_mediaSubComponentUND2SP
													(0,AF_SIGNALLING_E,
													
													
													m_flowStatus(ENABLED_E),
													m_afSignallingProtocolSIP
													),
													m_mediaComponentNr(0))));
                    
                    f_awaiting_AAA(mw_AAA_dummy);
				
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
				
                    f_postamble_AF();

                } // end function f_TC_PCRF_SN_04

        
    } //end group TP_PCRFRole
	
+55 −1
Original line number Diff line number Diff line
@@ -283,6 +283,17 @@ module DiameterRx_Templates {
    			aVP_Data := p_terminationCauseData //DIAMETER_LOGOUT_E
    		}
    
            template AF_Signalling_Protocol_AVP m_afSignallingProtocolSIP := {
              //Ref: ETSI TS 129 214 AF_Signalling_Protocol AVP
                 aVP_Header := m_aVP_HeaderVid(c_vendIdAF_Signalling_Protocol_AVP, 4, omit),
                 aVP_Data := SIP_E
              };

            template Flow_Status_AVP m_FlowStatus (template Flow_Status_Type p_avpData) := {
                //Ref: ETSI TS 129 214 Flow_Status AVP
                aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Status_AVP, 4, omit),
                aVP_Data := p_avpData
                };
    
            template Specific_Action_AVP mw_specificAction(template Specific_Action_Type p_avpData) := 
            {
@@ -395,6 +406,19 @@ module DiameterRx_Templates {
            }

    		
            template Media_Component_Description_AVP m_mediaComponentDescription_subComponentFlowN_componentNr
            (template Media_Sub_Component_AVP p_mediaSubComponent, template Media_Component_Number_AVP p_mediaComponentNr)
                modifies m_mediaComponentDescription_dummy := 
            {
                aVP_Header :=
                    m_aVP_HeaderVid(c_vendIdMedia_Component_Description_AVP,
                                    20 + 12, omit),  //     considers lengths:
                                                     //     media_Component_Nr (12)
                                                     //     subComponent (20)
                    media_Sub_component := {p_mediaSubComponent},
                    media_Component_Nr := p_mediaComponentNr
            }    
    			
            template Media_Sub_Component_AVP m_mediaSubComponentUN (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType ) := {
                 aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12+12, omit),
                 flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber},
@@ -407,6 +431,36 @@ module DiameterRx_Templates {
                 aVP_Type := omit
            }
            
            template Media_Sub_Component_AVP m_mediaSubComponentUND2SP 
            		(template UInt32 p_flowNumber, 
            		 template Flow_Usage_Type p_flowUsageType,
//            		 template Flow_Description_AVP p_flowDescription1,
//            		 template Flow_Description_AVP p_flowDescription2,
               		 template Flow_Status_AVP p_FlowStatus,
            		 template AF_Signalling_Protocol_AVP p_afSignallingProtocol) := {
                 aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12+12, omit),
                 flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber},
                 flow_Description := omit, //{p_flowDescription1, p_flowDescription2},
                 flow_Status := p_FlowStatus,
                 flow_Usage := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Usage_AVP,4, omit), aVP_Data := p_flowUsageType},
                 max_Requested_Bw_Ul := omit,
                 max_Requested_Bw_Dl := omit,
                 af_Signalling_Protocol := p_afSignallingProtocol,
                 aVP_Type := omit
            }
    			
            template Media_Sub_Component_AVP m_mediaSubComponentN (template UInt32 p_flowNumber) := {
                 aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12, omit),
                 flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber},
                 flow_Description := omit,
                 flow_Status := omit,
                 flow_Usage := omit,
                 max_Requested_Bw_Ul := omit,
                 max_Requested_Bw_Dl := omit,
                 af_Signalling_Protocol := omit,
                 aVP_Type := omit
            }    			
    
            template Sponsored_Connectivity_Data_AVP m_sponsoredConnectivityData_SI_ASPI_GSU
    		  (template Sponsor_Identity_AVP p_sponsorIdentity,
    		   template Application_Service_Provider_Identity_AVP p_applicationServiceProviderId,