Commit cd40da13 authored by rennoch's avatar rennoch
Browse files

addition of group CW_N01

parent 7104daa6
Loading
Loading
Loading
Loading
+323 −2
Original line number Diff line number Diff line
@@ -688,7 +688,7 @@ module CW_TC_Functions {

                /**
    			* 
    			* @desc test case function f_Sip_CW_U01_004_PCSCF PCSCF component
    			* @desc test case function f_Sip_CW_U02_001_PCSCF PCSCF component
    			* @param p_cSeq_s actual cseq number
    			* @verdict 
    			*/
@@ -751,6 +751,327 @@ module CW_TC_Functions {
		    
        }// end group originating_UE

        group AS {

                /**
                * 
                * @desc test case function f_Sip_CW_N01_001_UEC (test system component towards user C)
                * @param p_cSeq_s actual cseq number
                * @verdict 
                */
            function f_Sip_CW_N01_001_UEC(in CSeq p_cSeq) runs on ImsComponent {
            
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
            
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                // ----  test body  ----->
    
				// INVITE to UE2@SUThome
                vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication
 				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);

    			f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, valueof(m_MBody_SDP(vc_sdp_local))));
       		
                f_awaitingResponse(mw_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("<urn:alert:service:call-waiting>")));
    	
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

                f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

                f_SendBYE(m_BYE_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));
            
            }// end f_Sip_CW_N01_001_UEC
            
            /**
            * 
            * @desc test case function f_Sip_CW_N01_001_UEB (test system component towards user B)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_001_UEB(in CSeq p_cSeq) runs on ImsComponent {
                
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                
                // ----  test body  ----->

                f_awaitingINVITE(mw_INVITE_Request_MB(?, mw_MBody_XML(m_XmlBody_CW(m_CW({})))));
            
                f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local))));

                f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                
            }// end f_Sip_CW_N01_001_UEB

                /**
                * 
                * @desc test case function f_Sip_CW_N01_002_UEC (test system component towards user C)
                * @param p_cSeq_s actual cseq number
                * @verdict 
                */
            function f_Sip_CW_N01_002_UEC(in CSeq p_cSeq) runs on ImsComponent {
            
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
            
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                // ----  test body  ----->
    
				// INVITE to UE2@SUThome
                vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication
 				LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);

    			f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, valueof(m_MBody_SDP(vc_sdp_local))));
       		
                f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
                
                action("Action towards user C:");
                f_check_Announcement();
    	
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

                f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

                f_SendBYE(m_BYE_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));
            
            }// end f_Sip_CW_N01_002_UEC
            
            /**
            * 
            * @desc test case function f_Sip_CW_N01_002_UEB (test system component towards user B)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_002_UEB(in CSeq p_cSeq) runs on ImsComponent {
                
                f_Sip_CW_N01_001_UEB(p_cSeq);
                                
            }// end f_Sip_CW_N01_002_UEB


            /**
            * 
            * @desc test case function f_Sip_CW_N01_003_UEC (test system component towards user C)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_003_UEC(in CSeq p_cSeq) runs on ImsComponent {
                
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                
                // ----  test body  ----->
        
                // INVITE to UE2@SUThome
                vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication
                LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
    
                f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, valueof(m_MBody_SDP(vc_sdp_local))));
           		
                f_awaitingResponse(mw_Response_Base(c_statusLine415, vc_callId, vc_cSeq));
        	
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
            }// end f_Sip_CW_N01_003_UEC
            
            /**
            * 
            * @desc test case function f_Sip_CW_N01_001_UEB (test system component towards user B)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_003_UEB(in CSeq p_cSeq) runs on ImsComponent {
                
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                
                // ----  test body  ----->

                f_awaitingINVITE(mw_INVITE_Request_MB(?, mw_MBody_XML(m_XmlBody_CW(m_CW({})))));
            
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
                f_sendResponse(m_Response_ext(c_statusLine415, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));

                f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                
            }// end f_Sip_CW_N01_003_UEB
            

                /**
                * 
                * @desc test case function f_Sip_CW_N01_004_UEC (test system component towards user C)
                * @param p_cSeq_s actual cseq number
                * @verdict 
                */
            function f_Sip_CW_N01_004_UEC(in CSeq p_cSeq) runs on ImsComponent {
            
                f_Sip_CW_N01_001_UEC(p_cSeq);
                            
            }// end f_Sip_CW_N01_004_UEC
            
            /**
            * 
            * @desc test case function f_Sip_CW_N01_004_UEB (test system component towards user B)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_004_UEB(in CSeq p_cSeq) runs on ImsComponent {
                
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                
                // ----  test body  ----->

                f_awaitingINVITE(mw_INVITE_Request_MB(?, ?));
            
                f_sendResponse(m_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_AlertInfo("<urn:alert:service:call-waiting>")));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                f_sendResponse(m_Response_mbody(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute(), valueof(m_MBody_SDP(vc_sdp_local))));

                f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                
            }// end f_Sip_CW_N01_004_UEB            

                /**
                * 
                * @desc test case function f_Sip_CW_N01_005_UEC (test system component towards user C)
                * @param p_cSeq_s actual cseq number
                * @verdict 
                */
            function f_Sip_CW_N01_005_UEC(in CSeq p_cSeq) runs on ImsComponent {

                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
            
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                // ----  test body  ----->
    
                // INVITE to UE2@SUThome
                vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication
                LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);

                f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, valueof(m_MBody_SDP(vc_sdp_local))));
       		
                f_awaitingResponse(mw_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("<urn:alert:service:call-waiting>")));
    	
                action("Action towards user C:");
                f_check_Announcement();

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

                f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

                f_SendBYE(m_BYE_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));
                
            }// end f_Sip_CW_N01_005_UEC
            
            /**
            * 
            * @desc test case function f_Sip_CW_N01_005_UEB (test system component towards user B)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_005_UEB(in CSeq p_cSeq) runs on ImsComponent {
                
                f_Sip_CW_N01_004_UEB(p_cSeq);
                
            }// end f_Sip_CW_N01_005_UEB            


                /**
                * 
                * @desc test case function f_Sip_CW_N01_006_UEC (test system component towards user C)
                * @param p_cSeq_s actual cseq number
                * @verdict 
                */
            function f_Sip_CW_N01_006_UEC(in CSeq p_cSeq) runs on ImsComponent {

                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
            
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                // ----  test body  ----->
    
                // INVITE to UE2@SUThome
                vc_xml_local := valueof(m_XmlBody_CW(m_CW({}))); // communication_waiting_indication
                LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);

                f_SendINVITE(m_INVITE_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, vc_contact, omit, vc_route, vc_recordRoute, omit, omit, valueof(m_MBody_SDP(vc_sdp_local))));
       		
                f_awaitingResponse(mw_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, mw_AlertInfo("<urn:alert:service:call-waiting>")));

				f_wait(PX_Timeout_CW_AS_CW * 0.9);

                f_awaitingResponse(mw_Response_Base(c_statusLine480, vc_callId, vc_cSeq));

                f_SendACK(m_ACK_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());                

            }// end f_Sip_CW_N01_006_UEC
            
            
            /**
            * 
            * @desc test case function f_Sip_CW_N01_006_UEB (test system component towards user B)
            * @param p_cSeq_s actual cseq number
            * @verdict 
            */
            function f_Sip_CW_N01_006_UEB(in CSeq p_cSeq) runs on ImsComponent {
                
                f_init_ics_scscf(p_cSeq);
                //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
                
                f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                
                // ----  test body  ----->

                f_awaitingINVITE(mw_INVITE_Request_MB(?, ?));
            
                f_sendResponse(m_Response_AlertInfo(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_AlertInfo("<urn:alert:service:call-waiting>")));

                f_wait(PX_Timeout_CW_AS_CW * 0.9);
                
                f_awaitCancelCall_send487(mw_CANCEL_Request_Base(vc_callId));
                
                f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                
            }// end f_Sip_CW_N01_006_UEB               
            
        }// end group AS

    	}// end group SS_CW_SIPSIP
    }// end  group SuplementaryService_CW