Commit 72ed8875 authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

New TC_ISC_SCCAS_SRA_INV_01 added and skeletons of new _SRA_* tests added

parent a4f7b73c
Loading
Loading
Loading
Loading
+123 −0
Original line number Diff line number Diff line
@@ -2655,6 +2655,129 @@ module AtsSccas_TCFunctions {
     
    group Group_12_3 {
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP INVITE with STN-SR for nonexisting dialog.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_INV_01(in CSeq p_cSeq_s)
            runs on ImsComponent {
                // Local variables
                var CSeq v_cSeq_s := p_cSeq_s;

                // Preamble
                f_registrationAS(v_cSeq_s);
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync

                // Registration
                f_IncCSeq(v_cSeq_s); LibIms_Steps.f_setHeadersINVITE(v_cSeq_s, f_initSipUrl(c_serviceProfile_EMERGENCY), f_initSipUrl(c_userProfile_UE1atSUThome));
                f_SendINVITE(
                             m_sccas_invite_targetDialog(
                                            vc_requestUri,
                                            vc_callId, 
                                            p_cSeq_s, 
                                            vc_from, vc_to, vc_via_REG, 
                                            vc_contact,
                                            -, -, -,
                                            m_MBody_SDP(vc_sdp_local),
                                            -,
                                            -
                                            ));
              
                tc_wait.start;
                alt {
                    [] SIPP.receive(mw_Response_StatusCode_Base(
                                        480,
                                        vc_callId,
                                        vc_cSeq
                                   )) {
                        tc_wait.stop;
                        log("*** " & __SCOPE__ & ": PASS: response 480 was received ***");
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_success); // sync
                    }
                    [] tc_wait.timeout {
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error); // sync 
                    }
                }

                // Postamble
                f_deregistrationAS(v_cSeq_s);
                
                f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync

            } // End of function f_TC_ISC_SCCAS_SRA_INV_01
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP INVITE with STN-SR and informs remote UE.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_INV_02(in CSeq p_cSeq_s)
            runs on ImsComponent {
            	
            } // End of function f_TC_ISC_SCCAS_SRA_INV_02
        
            /**
             *  @desc    Verify that the SCCAS distinguish Transfer of first session.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_INV_03(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_INV_03
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP INVITE with STN-SR and not release source leg.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_INV_04(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_INV_04
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP INVITE with STN-SR and not release source leg.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_BYE_01(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_BYE_01
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP BYE with STN-SR and release source leg after OperatiorSpecificTimer timeout.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_BYE_02(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_BYE_02
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP BYE with STN-SR and release source leg on BYE Cause different from Cause Q850 31.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_BYE_03(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_BYE_03
        
            /**
             *  @desc    Verify that the SCCAS distinguish SIP CANCEL and release session transfered leg after OperatiorSpecificTimer timeout.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_CAN_01(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_CAN_01
        
            /**
             *  @desc    Verify that the SCCAS send 200Ok_CANCEL and release PStoCS session transfered leg in alerting state for terminating user.
             *  @param   p_cSeq_s Random CSeq REGISTER number
             */
            function f_TC_ISC_SCCAS_SRA_CAN_02(in CSeq p_cSeq_s)
            runs on ImsComponent {
                
            } // End of function f_TC_ISC_SCCAS_SRA_CAN_02
        
            /**
             *  @desc    Verify that SCC AS correctly recognizes and initiated for PS to CS access transfer for terminating call in pre-alerting phase using PS to CS SRVCC procedure.
+43 −0
Original line number Diff line number Diff line
@@ -107,6 +107,23 @@ module AtsSccas_Templates
        }
        
        group HeaderTemplatesBostjan {
        
        
                    
                    
                template (omit) TargetDialog m_targetDialog (in template CallidString p_callidString) := 
                    {
                      fieldName := TARGET_DIALOG_E,
                      callid    := p_callidString,
                      tdParam   := omit
                    }
                    
                template (omit) Require m_require (in template OptionTag_List p_optionTag_List) := 
                    {
                      fieldName := REQUIRE_E,
                      optionsTags    := p_optionTag_List
                    }
        
        }
        
        group HeaderTemplatesIztok {
@@ -307,6 +324,32 @@ module AtsSccas_Templates
                }
                
                group request_sent_Bostjan {
               
                template (omit) INVITE_Request m_sccas_invite_targetDialog(
                                                              in template (value) SipUrl p_requestUri,
                                                              in template (value) CallId p_callId,
                                                              in template (value) CSeq p_cSeq,
                                                              in template (value) From p_from,
                                                              in template (value) To p_to,
                                                              in template (value) LibSip_SIPTypesAndValues.Via p_via,
                                                              in template (value) LibSip_SIPTypesAndValues.Contact p_contact,
                                                              in template (omit) Require p_require := m_require({"tdialog"}),
                                                              in template (omit) Route p_route := omit,
                                                              in template (omit) Supported p_supported := omit,
                                                              in template (value) MessageBody p_mb,
                                                              in template (value) TargetDialog p_targetDialog := m_targetDialog("CallidString"),
                                                              in template (omit) PAssertedID p_pAssertedID := omit//m_PAssertedID(m_AddrUnion_NameAddr(m_NameAddr(,))),
                ) modifies m_INVITE_Request_UE := {
                    msgHeader := {
                        contentLength := m_contentLength(f_MessageBodyLength(p_mb)),
                        contentType := m_contentType(c_sdpApplication),
                        targetDialog := p_targetDialog,
                        pAssertedID := p_pAssertedID
                    },
                    messageBody := p_mb
                }
                
                
                }
                
                group request_sent_Iztok {
+261 −0
Original line number Diff line number Diff line
@@ -1261,6 +1261,267 @@ module AtsSccas_Testcases

    group Group_12_3 {
        
           /*
            * @desc Verify that the SCCAS distinguish SIP INVITE with STN-SR for nonexisting dialog.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_INV_01(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_INV_01(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_INV_01
        
           /*
            * @desc Verify that the SCCAS distinguish SIP INVITE with STN-SR and informs remote UE.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_INV_02(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_INV_02(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_INV_02
        
           /*
            * @desc Verify that the SCCAS distinguish Transfer of first session.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_INV_03(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_INV_03(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_INV_03
        
           /*
            * @desc Verify that the SCCAS distinguish SIP INVITE with STN-SR and not release source leg.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_INV_04(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_INV_04(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_INV_04
        
           /*
            * @desc Verify that the SCCAS distinguish SIP INVITE with STN-SR and not release source leg.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_BYE_01(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_BYE_01(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_BYE_01
        
           /*
            * @desc Verify that the SCCAS distinguish SIP BYE with STN-SR and release source leg after OperatiorSpecificTimer timeout.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_BYE_02(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_BYE_02(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_BYE_02
        
           /*
            * @desc Verify that the SCCAS distinguish SIP BYE with STN-SR and release source leg on BYE Cause different from Cause Q850 31.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_BYE_03(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_BYE_03(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_BYE_03
        
           /*
            * @desc Verify that the SCCAS distinguish SIP CANCEL and release session transfered leg after OperatiorSpecificTimer timeout.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_CAN_01(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_CAN_01(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_CAN_01
        
           /*
            * @desc Verify that the SCCAS send 200Ok_CANCEL and release PStoCS session transfered leg in alerting state for terminating user.
            * @param p_cSeq_s Transaction Id
            */
            testcase TC_ISC_SCCAS_SRA_CAN_02(inout CSeq p_cSeq_s) 
            runs on ServerSyncComp
            system TestAdapter {
                //Variables
                var ImsComponent v_imsComponent_ueims;

                // Test control
                if (not PICS_SCCAS_IUT or not PICS_SCCAS_PS2CS_SRVCC) {
                    log("*** " & __SCOPE__ & ": ERROR: 'PICS_SCCAS_IUT' and 'PICS_SCCAS_PS2CS_SRVCC' shall be set to true for executing the TC. ***"); 
                    stop;
                }

                // Test component configuration
                f_cf_1IscUp(v_imsComponent_ueims);

                //Start
                f_IncCSeq(p_cSeq_s); v_imsComponent_ueims.start(f_TC_ISC_SCCAS_SRA_CAN_02(p_cSeq_s));

                // synchronize both PTCs on 3 sychronization points
                f_serverSync1Client({c_prDone, c_tbDone, c_poDone});

                f_cf_1IscDown(v_imsComponent_ueims);

            } // End of TC_ISC_SCCAS_SRA_CAN_02
    	
		   /*
			* @desc Verify that SCC AS correctly recognizes and initiated for PS to CS access transfer for terminating call in pre-alerting phase using PS to CS SRVCC procedure.
			* @param p_cSeq_s Transaction Id