Commit b5e43c53 authored by pintar's avatar pintar
Browse files

SIP part for RO_OCF_TC group started.

parent d82165f3
Loading
Loading
Loading
Loading
+237 −25
Original line number Original line Diff line number Diff line
@@ -39,11 +39,11 @@ module DiameterRfRo_SIP_TCFunctions {
            group TP_RF_CTF_TC {
            group TP_RF_CTF_TC {
                
                
                /** 
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V01
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA1
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_UE_01_V01(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_UE_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent {
                
                
                    var REGISTER_Request v_register;
                    var REGISTER_Request v_register;
                
                
@@ -65,15 +65,16 @@ module DiameterRfRo_SIP_TCFunctions {
                    // POSTAMBLE
                    // POSTAMBLE
                    // send REGISTER, await 401, send REGISTER, await 200 OK    
                    // send REGISTER, await 401, send REGISTER, await 200 OK    
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_01_V01
                } // end function f_TC_CTF_TC_UE_01_VA1
                
                
                /** 
                /** 
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V01
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA1
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_CSCF_01_V01(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_CSCF_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent {
                
                
                    f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE,
                    f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE,
                    //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF);
                    //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF);
@@ -87,15 +88,16 @@ module DiameterRfRo_SIP_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
        
                    //Postamble
                    //Postamble
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_IMS1_withoutRegistration();
                    f_SIP_postamble_IMS1_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_01_V01
                } // end function f_TC_CTF_TC_CSCF_01_VA1
                
                
                /** 
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V02
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA2
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_UE_01_V02(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_UE_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent {
                
                
                    var REGISTER_Request v_register;
                    var REGISTER_Request v_register;
                
                
@@ -129,15 +131,16 @@ module DiameterRfRo_SIP_TCFunctions {
                    // POSTAMBLE
                    // POSTAMBLE
                    // send REGISTER, await 401, send REGISTER, await 200 OK    
                    // send REGISTER, await 401, send REGISTER, await 200 OK    
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_01_V02
                } // end function f_TC_CTF_TC_UE_01_VA2
                
                
                /** 
                /** 
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V02
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA2
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_CSCF_01_V02(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_CSCF_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent {
                
                
                    f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE,
                    f_IMS_preamble_woRegistration(p_cSeq_s);//TODO - delete when test is validated - //used to be profile c_userProfile_ICSCFwithHomeUE,
                    //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF);
                    //TODO - delete when test is validated - //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF);
@@ -150,15 +153,16 @@ module DiameterRfRo_SIP_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
        
                    //Postamble
                    //Postamble
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_IMS1_withoutRegistration();
                    f_SIP_postamble_IMS1_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_01_V02
                } // end function f_TC_CTF_TC_CSCF_01_VA2
                
                
                /** 
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V03
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA3
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_UE1
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_UE_01_V03(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_UE_01_VA3(in CSeq p_cSeq_s) runs on ImsComponent {
                
                
                    var REGISTER_Request v_register;
                    var REGISTER_Request v_register;
                
                
@@ -195,24 +199,25 @@ module DiameterRfRo_SIP_TCFunctions {
                    // POSTAMBLE
                    // POSTAMBLE
                    // send REGISTER, await 401, send REGISTER, await 200 OK    
                    // send REGISTER, await 401, send REGISTER, await 200 OK    
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_01_V03
                } // end function f_TC_CTF_TC_UE_01_VA3
                
                
                /** 
                /** 
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V03
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA3
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_GEN_03_IMS
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_CSCF_01_V03(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_CSCF_01_VA3(in CSeq p_cSeq_s) runs on ImsComponent {
                    f_TC_CTF_TC_CSCF_01_V02(p_cSeq_s);
                    f_TC_CTF_TC_CSCF_01_VA2(p_cSeq_s);
                } // end function f_TC_CTF_TC_CSCF_01_V03
                } // end function f_TC_CTF_TC_CSCF_01_VA3
                
                
                /** 
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_V04
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_01_VA4
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_UE1
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_UE1
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_UE_01_V04(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_UE_01_VA4(in CSeq p_cSeq_s) runs on ImsComponent {


                    var REGISTER_Request v_register;
                    var REGISTER_Request v_register;
                    
                    
@@ -241,15 +246,16 @@ module DiameterRfRo_SIP_TCFunctions {


                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_01_V04
                } // end function f_TC_CTF_TC_UE_01_VA4
                
                
                /** 
                /** 
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_V04
                *  @desc    This is the test case function (Mw interface - IUT P-CSCF) for TC_CTF_TC_CSCF_01_VA4
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_IMS
                *           Test function is adopted and comes from TS 102 790 - TC_IMST2_MW_SUB_03_IMS
                *  @param    p_cSeq_s 
                *  @param    p_cSeq_s 
                */
                */
                function f_TC_CTF_TC_CSCF_01_V04(in CSeq p_cSeq_s) runs on ImsComponent {
                function f_TC_CTF_TC_CSCF_01_VA4(in CSeq p_cSeq_s) runs on ImsComponent {
                    	
                    	
                    f_IMS_preamble_woRegistration( p_cSeq_s);//c_userProfile_ICSCFwithHomeUE,
                    f_IMS_preamble_woRegistration( p_cSeq_s);//c_userProfile_ICSCFwithHomeUE,
                    //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF);
                    //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_SCSCF);
@@ -264,8 +270,9 @@ module DiameterRfRo_SIP_TCFunctions {


                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    // POSTAMBLE
                    // POSTAMBLE
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_IMS1_withoutRegistration();
                    f_SIP_postamble_IMS1_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_01_V04
                } // end function f_TC_CTF_TC_CSCF_01_VA4
                
                
                /** 
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_02
                *  @desc    This is the test case function (SIP originating side - UE1) for TC_CTF_TC_UE_02
@@ -304,6 +311,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    
                    
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_02
                } // end function f_TC_CTF_TC_UE_02
                
                
@@ -338,6 +346,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    //await BYE and send 200OK
                    //await BYE and send 200OK
                    f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
                    f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
                    
                    
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_02
                } // end function f_TC_CTF_TC_CSCF_02
                
                
@@ -377,6 +386,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    
                    
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_03
                } // end function f_TC_CTF_TC_UE_03
                
                
@@ -411,6 +421,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    //await BYE and send 200OK
                    //await BYE and send 200OK
                    f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
                    f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
                    
                    
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_03
                } // end function f_TC_CTF_TC_CSCF_03
                
                
@@ -458,6 +469,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To);
                    f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To);
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_04
                } // end function f_TC_CTF_TC_UE_04
                
                
@@ -494,6 +506,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    //await BYE and send 200OK
                    //await BYE and send 200OK
                    f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
                    f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
                    
                    
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_04
                } // end function f_TC_CTF_TC_CSCF_04
                
                
@@ -535,6 +548,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    // POSTAMBLE
                    // POSTAMBLE
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    // send REGISTER, await 401, send REGISTER, await 200 OK	
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_RemoveRegistration(vc_cSeq); // deregistration in SUT
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_UE_05
                } // end function f_TC_CTF_TC_UE_05
                
                
@@ -568,6 +582,7 @@ module DiameterRfRo_SIP_TCFunctions {
                    
                    
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());// sync point test body done
                    
                    
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_SIP_postamble_UE_withoutRegistration();
                    f_SIP_postamble_UE_withoutRegistration();
                } // end function f_TC_CTF_TC_CSCF_05
                } // end function f_TC_CTF_TC_CSCF_05
                
                
@@ -696,6 +711,203 @@ module DiameterRfRo_SIP_TCFunctions {
            // 5.2.3.2.3 Type of Charging 
            // 5.2.3.2.3 Type of Charging 
            group TP_RO_CTF_TC {
            group TP_RO_CTF_TC {


                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE_01_VA1
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_TC_UE_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization));
                    
                    // Variables & defaults initialization
                    f_IMS_preamble_woRegistration(p_cSeq_s);

                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());// sync point preamble done
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());// sync point sync1
                    
                    // Preamble
                    f_Registration(p_cSeq_s, v_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED);

                    // deregistration in case of successful registration
                    vc_DeregDone := false;

                    f_setHeaders_SUBSCRIBE(p_cSeq_s);
                    f_Subscription(p_cSeq_s, m_SUBSCRIBE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, vc_route_REG));
            
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_TC_UE_01_VA1
            
            
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE2_01_VA1
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_TC_UE2_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    log("No action on UE2.");
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
                
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                            
                } // end function f_TC_RO_CTF_TC_UE2_01_VA1	

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_AS_01_VA1
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_TC_AS_01_VA1(in CSeq p_cSeq_s) runs on ImsComponent {
                	
                    var PChargingVector v_pCharging;

                    // IMS1UE1 contact is in home network (TS)
                    f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF,

                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    //Registration of first user sent to AS
                    f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true);
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                    // POSTAMBLE: deregistration for UE1 on AS
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_IMS_postamble_AS_withDeRegistration(true);

                } // end function f_TC_RO_CTF_TC_AS_01_VA1

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE_01_VA2
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_TC_UE_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization));
                    
                    // Request-Uri refers to home network (SUT)
                    // UE1 registers its public sip-url in home network (SUT)
                    // UE contact is in home network (SUT)
                    // UE authorizaton data is in home network (SUT)
                    f_IMS_preamble_withRegistration(p_cSeq_s,v_register); // LibSip //c_userProfile_UE1atSUThome, c_interfaceProfile_IMS_SUT_PCSCF1,
                    
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    // Testbody
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    //     MESSAGE UE1@IMS1
                    LibIms_Steps.f_setHeadersMESSAGE(p_cSeq_s, vc_requestUri);//c_userProfile_UE2atSUThome
                    f_SendMESSAGE(m_MESSAGE_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
            
                    f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));
            
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_TC_UE_01_VA2
            
            
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_UE2_01_VA2
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_TC_UE2_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));
                    
                    // Request-Uri refers to home network (SUT)
                    // UE1 registers its public sip-url in home network (SUT)
                    // UE contact is in home network (SUT)
                    // UE authorizaton data is in home network (SUT)
                    f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // LibSip //c_userProfile_UE2atSUThome, c_interfaceProfile_IMS_SUT_PCSCF2, 
                    
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());

                    // Testbody
                    f_awaitingMESSAGE_sendReply();
                
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_TC_UE2_01_VA2	

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_TC_AS_01_VA2
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_TC_AS_01_VA2(in CSeq p_cSeq_s) runs on ImsComponent {
                	
                    var PChargingVector v_pCharging;

                    // IMS1UE1 contact is in home network (TS)
                    f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF,

                    //Registration of first user sent to AS
                    f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true);

                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());

                    f_awaitingMESSAGE(mw_MESSAGE_Request_Base);
                    
                    if(vc_request.requestLine.method == MESSAGE_E){
                            v_pCharging := vc_request.msgHeader.pChargingVector;
                            f_setHeadersForwardRequestFromAS(vc_cSeq, true);
                            f_SendMESSAGE(m_MESSAGE_Request_PCharging_IMS(vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, omit, vc_route, omit, v_pCharging));

                            // check 200
                            f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); 
                        
                        f_setHeadersForwardResponseFromAS();
                        f_sendResponse(m_Response_2xxonMESSAGE_PCharging_IMS(c_statusLine200,
                                                                 vc_callId, vc_cSeq,
                                                                 vc_caller_From,
                                                                 vc_caller_To, vc_via, v_pCharging));
                    }

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                    // POSTAMBLE: deregistration for UE1 on AS
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_IMS_postamble_AS_withDeRegistration(true);

                } // end function f_TC_RO_CTF_TC_AS_01_VA4
                
            } // End of group TP_RO_CTF_TC
            } // End of group TP_RO_CTF_TC
            // 5.2.3.2.4 Error Casses 
            // 5.2.3.2.4 Error Casses 
            group TP_RO_CTF_EC {
            group TP_RO_CTF_EC {
+40 −47

File changed.

Preview size limit exceeded, changes collapsed.