Commit 432e43b7 authored by pintar's avatar pintar
Browse files

CDIV_N05_001 - CDIV_N07_002

parent 08ad62e8
Loading
Loading
Loading
Loading
+253 −0
Original line number Diff line number Diff line
@@ -2098,10 +2098,263 @@ module CDIV_TC_Functions {

	group Interaction {
	group TIP {
        
        function f_TC_CDIV_N05_001(in CSeq p_cSeq) runs on ImsComponent {
            
            var charstring v_CauseValList[8]:=
                                {"404", "302", "486", "408", "480", "503", "487", "503"};
            var float v_noReplyTimer := PX_Timeout_CFNR;
            
            f_init_ics_scscf(p_cSeq);
                      
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
            f_SendINVITE(m_INVITE_Request_CDIV(
                vc_requestUri, 
                vc_callId, 
                vc_cSeq, 
                vc_from, 
                vc_to, 
                vc_via, 
                vc_contact, 
                omit, 
                valueof(m_MBody_SDP(vc_sdp_local))
            ));
            select (PX_TC_VA){ // PIXIT for TC VARIANT - 
                case (1) {//CFU
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                } 
                case (2) {//CFB
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                    //UE2 release
                    f_sendResponse(m_Response_warning(c_statusLine486, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_warning486));
                    f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                } 
                case (3) {//CFNRy
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                    //UE2 release
                    f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
                    f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
                    //No reply timer
                    f_awaitingDelayTimer(v_noReplyTimer);
                    f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
                    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_sendResponse(m_Response_ext(c_statusLine487, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
                    f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                    f_awaitingINVITE(mw_INVITE_Request_Base);            
                } 
                case (4) {//CFNRc	
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                }
                case else {//CFNL
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                }
            }
            
            //180 from UE3 to AS
            f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
            
            f_awaitingResponse(mw_Response_CDIV(c_statusLine180, vc_callId, vc_cSeq,mw_HistoryInfo(
            {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{1},omit),
             mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) // Note: cause is part of hi-targeted-to-uri
            }),mw_PAssertedID(mw_AddrUnion_Nameaddr(*,PX_IMS_SUT_UE3_PUBLIC_USER,*)),complement(mw_Privacy_id,mw_Privacy("header"))
            ));
            
            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_awaitingResponse(mw_Response_CDIV(c_statusLine200, vc_callId, vc_cSeq,mw_HistoryInfo(
            {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{1},omit),
             mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) // Note: cause is part of hi-targeted-to-uri
            }),mw_PAssertedID(mw_AddrUnion_Nameaddr(*,PX_IMS_SUT_UE3_PUBLIC_USER,*)),complement(mw_Privacy_id,mw_Privacy("header"))
            ));

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

            f_awaitingACK(mw_ACK_Request_Base(vc_callId));f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

            f_awaitingBYE(mw_BYE_Request_Base(vc_callId));
            
            f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));
            
            f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?));
    	
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
        }// end f_TC_CDIV_N05_001
        
	} // end group TIP    
	group TIR {
        
        function f_TC_CDIV_N06_001(in CSeq p_cSeq) runs on ImsComponent {
            
            var charstring v_CauseValList[8]:=
                                {"404", "302", "486", "408", "480", "503", "487", "503"};
            var float v_noReplyTimer := PX_Timeout_CFNR;
            
            f_init_ics_scscf(p_cSeq);
                      
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
            f_SendINVITE(m_INVITE_Request_CDIV(
                vc_requestUri, 
                vc_callId, 
                vc_cSeq, 
                vc_from, 
                vc_to, 
                vc_via, 
                vc_contact, 
                omit, 
                valueof(m_MBody_SDP(vc_sdp_local))
            ));
            select (PX_TC_VA){ // PIXIT for TC VARIANT - 
                case (1) {//CFU
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                } 
                case (2) {//CFB
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                    //UE2 release
                    f_sendResponse(m_Response_warning(c_statusLine486, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_warning486));
                    f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                } 
                case (3) {//CFNRy
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                    //UE2 release
                    f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
                    f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
                    //No reply timer
                    f_awaitingDelayTimer(v_noReplyTimer);
                    f_awaitingCANCEL(mw_CANCEL_Request_Base(vc_callId));
                    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_sendResponse(m_Response_ext(c_statusLine487, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
                    f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                    f_awaitingINVITE(mw_INVITE_Request_Base);            
                } 
                case (4) {//CFNRc	
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                }
                case else {//CFNL
                    f_awaitingINVITE(mw_INVITE_Request_Base);
                }
            }
            
            //180 from UE3 to AS
            f_sendResponse(m_Response_ext(c_statusLine180, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, f_route(), f_recordroute()));
            
            f_awaitingResponse(mw_Response_Base(c_statusLine180, vc_callId, vc_cSeq));
            
            
            f_sendResponse(m_Response_history_mbody_pAsserted(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)), 
                                                    m_HistoryInfo(
                                                        {m_HistoryInfoEntry(m_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{1},omit),
                                                         m_HistoryInfoEntry(m_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit)    
                                                    }),m_PAssertedID(m_AddrUnion_NameAddr(m_CallingAddr(omit, m_SipUrl_NumberHostParam(PX_IMS_SUT_UE3_PUBLIC_USER,PX_IMS_SUT_UE3_HOME_DOMAIN,omit))))
                                                    ));
                                                    
            f_awaitingResponse(mw_Response_CDIV(c_statusLine200, vc_callId, vc_cSeq,mw_HistoryInfo(
                    {mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit),{1},omit)
                    }),mw_PAssertedID(mw_AddrUnion_Nameaddr(*,PX_IMS_SUT_UE3_PUBLIC_USER,*)),omit
                    ));

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

            f_awaitingACK(mw_ACK_Request_Base(vc_callId));f_SendBYE(m_BYE_Request_Base( vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));

            f_awaitingBYE(mw_BYE_Request_Base(vc_callId));
            
            f_sendResponse(m_Response_Base(c_statusLine200, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via));
            
            f_awaitingResponse(mw_Response_warning(c_statusLine200, vc_callId, vc_cSeq, ?));
    	
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
        }// end f_TC_CDIV_N06_001
        
	} // end group TIR
	group ACR_CB {
        
        function f_TC_CDIV_N07_001(in CSeq p_cSeq) runs on ImsComponent {
            
            var charstring v_CauseValList[8]:=
                {"404", "302", "486", "408", "480", "503", "487", "503"};
            f_init_ics_scscf(p_cSeq);
            //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
            
            // ----  test body  ----->
    
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
            f_SendINVITE(m_INVITE_Request_CDIV(
                vc_requestUri, 
                vc_callId, 
                vc_cSeq, 
                vc_from, 
                vc_to, 
                vc_via, 
                vc_contact, 
                omit, 
                valueof(m_MBody_SDP(vc_sdp_local))
            ));
    
            f_awaitingINVITE(mw_INVITE_Request_CDIV(
              mw_HistoryInfo(
                {mw_HistoryInfoEntry(mw_SipUrl_Number(PX_IMS_SUT_UE4_PUBLIC_USER),{1},omit),
                 mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) // Note: cause is part of hi-targeted-to-uri
            })));
            
            f_sendResponse(m_Response_warning(c_statusLine603, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_warning480));
    		
            f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));

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

            f_awaitingACK(mw_ACK_Request_Base(vc_callId));

            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
            
        }// end f_TC_CDIV_N07_001
        
        function f_TC_CDIV_N07_002(in CSeq p_cSeq) runs on ImsComponent {
            
            var charstring v_CauseValList[8]:=
                {"404", "302", "486", "408", "480", "503", "487", "503"};
            f_init_ics_scscf(p_cSeq);
            //f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_AS);
            
            // ----  test body  ----->
    
            // send INVITE 1       
            LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE2atSUThome);
            f_SendINVITE(m_INVITE_Request_CDIV(
                vc_requestUri, 
                vc_callId, 
                vc_cSeq, 
                vc_from, 
                vc_to, 
                vc_via, 
                vc_contact, 
                omit, 
                valueof(m_MBody_SDP(vc_sdp_local))
            ));
    
            f_awaitingINVITE(mw_INVITE_Request_CDIV(
              mw_HistoryInfo(
                {mw_HistoryInfoEntry(mw_SipUrl_Number(PX_IMS_SUT_UE4_PUBLIC_USER),{1},omit),
                 mw_HistoryInfoEntry(mw_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,{mw_Cause(v_CauseValList[PX_TC_VA-1])}),{1,1},omit) // Note: cause is part of hi-targeted-to-uri
            })));
            
            f_sendResponse(m_Response_warning(c_statusLine603, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_warning480));
    		
            f_awaitingResponse(mw_Response_Base(c_statusLine603, vc_callId, vc_cSeq));

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

            f_awaitingACK(mw_ACK_Request_Base(vc_callId));

            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
            
        }// end f_TC_CDIV_N07_002
	} // end group ACR_CB
	group ECT {
	} //end group ECT
+10 −0
Original line number Diff line number Diff line
@@ -110,6 +110,16 @@ group MessageTemplates{
            }
    }
    
    template Response m_Response_history_mbody_pAsserted (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    	From p_from, To p_to, Via p_via,  template Route p_route, template RecordRoute p_recordroute, template MessageBody p_mb, 
    	template HistoryInfo p_historyInfo, template PAssertedID p_pAssertedID) modifies m_Response_mbody:=
    {
        msgHeader :={
            historyInfo := p_historyInfo,
            pAssertedID := p_pAssertedID
            }
    }
    
    template Response mw_Response_CDIV(template StatusLine p_statusLine, template CallId p_callId,
    	template CSeq p_cSeq, template HistoryInfo p_historyInfo, template PAssertedID p_pAssertedID, template Privacy p_privacy
    ) modifies mw_Response_Base := {
+84 −0
Original line number Diff line number Diff line
@@ -998,10 +998,94 @@ module CDIV_TestCases {

    group Interaction {
    group TIP {
 	        
        /**
         * @desc TC_CDIV_N05_001
         * @param p_cSeq_s Transaction Id
         */
        testcase TC_CDIV_N05_001(inout CSeq p_CSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_scscf;
    
            // setup test configuration
            f_cf_as_up(v_scscf);
    
            // start component
            v_scscf.start(f_TC_CDIV_N05_001(p_CSeq));
	
            // synchronize component
            f_serverSync1Client({c_tbDone});
	
            // tear down test configuration
            f_cf_as_down(v_scscf);
        }
    } // end group TIP    
    group TIR {
 	        
        /**
         * @desc TC_CDIV_N06_001
         * @param p_cSeq_s Transaction Id
         */
        testcase TC_CDIV_N06_001(inout CSeq p_CSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_scscf;
    
            // setup test configuration
            f_cf_as_up(v_scscf);
    
            // start component
            v_scscf.start(f_TC_CDIV_N06_001(p_CSeq));
	
            // synchronize component
            f_serverSync1Client({c_tbDone});
	
            // tear down test configuration
            f_cf_as_down(v_scscf);
        }
    } // end group TIR
    group ACR_CB {
 	        
        /**
         * @desc TC_CDIV_N07_001
         * @param p_cSeq_s Transaction Id
         */
        testcase TC_CDIV_N07_001(inout CSeq p_CSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_scscf;
    
            // setup test configuration
            f_cf_as_up(v_scscf);
    
            // start component
            v_scscf.start(f_TC_CDIV_N07_001(p_CSeq));
	
            // synchronize component
            f_serverSync1Client({c_tbDone});
	
            // tear down test configuration
            f_cf_as_down(v_scscf);
        }
 	        
        /**
         * @desc TC_CDIV_N07_002
         * @param p_cSeq_s Transaction Id
         */
        testcase TC_CDIV_N07_002(inout CSeq p_CSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_scscf;
    
            // setup test configuration
            f_cf_as_up(v_scscf);
    
            // start component
            v_scscf.start(f_TC_CDIV_N07_002(p_CSeq));
	
            // synchronize component
            f_serverSync1Client({c_tbDone});
	
            // tear down test configuration
            f_cf_as_down(v_scscf);
        }
    } // end group ACR_CB
    group ECT {
    } //end group ECT