Commit 0632e10d authored by deshpande's avatar deshpande
Browse files

Added 4 ECT testcase implementations, corrected usage of some function calls

parent 557e06a1
Loading
Loading
Loading
Loading
+1171 −321

File changed.

Preview size limit exceeded, changes collapsed.

+99 −28
Original line number Diff line number Diff line
@@ -41,6 +41,23 @@ module AtsNIT_SipSip_Steps {
          
    		return v_SipUrl;
    	}
    	
    	/**
    	 * 
    	 * @desc extract the tag values. ex To tag, From tag
    	 * @param p_paramList header info
    	 * @param p_name header name
    	 * @return tag value
    	 */
    	function f_getTag(in SemicolonParam_List p_paramList, in charstring p_name) return charstring {
    		for(var integer i :=0 ; i < sizeof(p_paramList); i := i+1) {
    			if(p_paramList[i].id == p_name) {
    				return 	p_paramList[i].paramValue;
    			}	
    		}
    		
    		return "0"
    	}
	}	
	
	group sessionFunctions {
@@ -190,6 +207,38 @@ module AtsNIT_SipSip_Steps {
			f_awaitingACK(mw_ACK_Request_Base(vc_callId));
		}
		
		function f_acceptCall4ECT(in SipUrl p_referredBy) runs on ImsComponent {
			
			// await INVITE 
			f_awaitingINVITE(mw_INVITE_Request(m_Require_replaces, p_referredBy)); 
			
			// send 180 Ringing
			f_sendResponse(m_Response_18XonINVITE(
				c_statusLine180,
				vc_callId, 
				vc_cSeq,
				vc_caller_From, 
				vc_caller_To, 
				vc_via,
				vc_contact
			));
			
			// send 200 OK
			f_sendResponse(m_Response_2xxonINVITE_UE(
				c_statusLine200,
				vc_callId, 
				vc_cSeq,
				vc_caller_From, 
				vc_caller_To, 
				vc_via,
				vc_contact,
				f_route(),
				valueof(m_MBody_SDP(vc_sdp_local))
			));
    		
    		// await ACK
			f_awaitingACK(mw_ACK_Request_Base(vc_callId));
		}		
		
		/**
		 * 
@@ -279,6 +328,7 @@ module AtsNIT_SipSip_Steps {
    			p_cSeq_s, 
    			p_profile
    		);
    		
    		f_SendINVITE(m_INVITE_Request_sdp(
    			vc_requestUri, 
    			vc_callId, 
@@ -352,12 +402,40 @@ module AtsNIT_SipSip_Steps {
			in integer p_to_user,
			in SipUrl c_requestUri,
			in SipUrl p_refer_to_user,
			in SipUrl p_referred_by_user 
			in SipUrl p_referred_by_user,
			in boolean flag 
		) runs on ImsComponent {
			var charstring v_callId;
			var charstring v_toTag;
			var charstring v_fromTag;

			if(flag) {
                v_callId := vc_callId.callid;
                v_toTag := f_getTag(vc_to.toParams, "to-tag");
                v_fromTag := f_getTag(vc_from.fromParams, "from-tag");

    			// set Refer headers
    			LibIms_Steps.f_setHeadersREFER(p_cSeq, p_to_user);						
			
    			// send Refer with the Replaces and Require headers
    			f_SendREFER(m_REFER_Request_replaces(
    				c_requestUri, 
                	vc_callId, 
        			vc_cSeq,
        			vc_contact, 
        			vc_from, 
        			vc_to, 
        			vc_via, 
        			m_ReferTo_SipUrl(p_refer_to_user, "INVITE"),
    				m_ReferredBy_SipUrl(p_referred_by_user),
    				m_Replaces(v_callId, v_toTag, v_fromTag),
    				m_Require_replaces
    			));
			} else {
    			// set Refer headers
    			LibIms_Steps.f_setHeadersREFER(p_cSeq, p_to_user);					

			// send Refer
    			// send Refer without the Replaces and Require headers
    			f_SendREFER(m_REFER_Request_Base(
    				c_requestUri, 
                	vc_callId, 
@@ -369,6 +447,7 @@ module AtsNIT_SipSip_Steps {
        			m_ReferTo_SipUrl(p_refer_to_user, "INVITE"),
    				m_ReferredBy_SipUrl(p_referred_by_user)
    			));			
			}
			
			// Receive a 202
			f_awaitingResponse(mw_Response_Base(
@@ -410,21 +489,13 @@ module AtsNIT_SipSip_Steps {
        	tc_resp.start(PX_SIP_TRESP);
        	alt
        	{
        		[] SIPP.receive(mw_REFER_Request_Base(vc_callId))-> value v_Refer sender vc_sent_label
        		[] SIPP.receive(mw_REFER_Request(vc_callId, v_userA, v_userB))-> value v_Refer sender vc_sent_label
        		{
    				tc_resp.stop;
    				f_setHeadersOnReceiptOfRequest(v_Refer);
    				if (ispresent(v_Refer.msgHeader.referTo) and ispresent(v_Refer.requestLine.requestUri) and ispresent(v_Refer.msgHeader.referredBy)) {
						if ((v_Refer.requestLine.requestUri != v_userA) 
										or 
							(v_Refer.msgHeader.referredBy.nameAddr.addrSpec != v_userB)) {
							setverdict(fail);
						}
    				if (ispresent(v_Refer.msgHeader.referTo)) {
						v_ECTSessId := v_Refer.msgHeader.referTo.nameAddr.addrSpec;
    				}
    				else {
						setverdict(fail);
    				}    					
        		}
        	}
			
+117 −0
Original line number Diff line number Diff line
@@ -2267,6 +2267,123 @@ group TP2_1_SS_OIP_OIR {
		}//end group TP2_10_SS_CD        

        group TP2_11_SS_ECT {

        	    /*   
            	 * @desc TC_SS___XXSS_ECT_01
            	 * @param p_CSeq_s Transaction Id
            	 */
            	testcase TC_SS___XXSS_ECT_01 (
            		inout CSeq p_CSeq_s
            	) runs on ServerSyncComp system TestAdapter {
            		//Variables
            		var ImsComponent v_imsComponent1;
              		var ImsComponent v_imsComponent2;
              		var ImsComponent v_imsComponent3;
            		
            		//Configuration
            		f_cf_3imsUp(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		f_IncCSeq(p_CSeq_s); 
            
            		//Start
            		v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSECT01UE1(p_CSeq_s));
            		v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSECT01UE2(p_CSeq_s));
            		v_imsComponent3.start(f_AtsNIT_TC_SS___XXSSECT01UE3(p_CSeq_s));
            		
            		// synchronize all PTCs on all sychronization points
            		f_serverSync3ClientsAndStop({c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone});
                    
                    //Clear configration
            		f_cf_3imsDown(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		
            	} // end TC_SS___XXSS_ECT_01            	

        	    /*   
            	 * @desc TC_SS___XXSS_ECT_02
            	 * @param p_CSeq_s Transaction Id
            	 */
            	testcase TC_SS___XXSS_ECT_02 (
            		inout CSeq p_CSeq_s
            	) runs on ServerSyncComp system TestAdapter {
            		//Variables
            		var ImsComponent v_imsComponent1;
              		var ImsComponent v_imsComponent2;
              		var ImsComponent v_imsComponent3;
            		
            		//Configuration
            		f_cf_3imsUp(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		f_IncCSeq(p_CSeq_s); 
            
            		//Start
            		v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSECT02UE1(p_CSeq_s));
            		v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSECT02UE2(p_CSeq_s));
            		v_imsComponent3.start(f_AtsNIT_TC_SS___XXSSECT02UE3(p_CSeq_s));
            		
            		// synchronize all PTCs on all sychronization points
            		f_serverSync3ClientsAndStop({c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone});
                    
                    //Clear configration
            		f_cf_3imsDown(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		
            	} // end TC_SS___XXSS_ECT_02            	

        	    /*   
            	 * @desc TC_SS___XXSS_ECT_03
            	 * @param p_CSeq_s Transaction Id
            	 */
            	testcase TC_SS___XXSS_ECT_03 (
            		inout CSeq p_CSeq_s
            	) runs on ServerSyncComp system TestAdapter {
            		//Variables
            		var ImsComponent v_imsComponent1;
              		var ImsComponent v_imsComponent2;
              		var ImsComponent v_imsComponent3;
            		
            		//Configuration
            		f_cf_3imsUp(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		f_IncCSeq(p_CSeq_s); 
            
            		//Start
            		v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSECT03UE1(p_CSeq_s));
            		v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSECT03UE2(p_CSeq_s));
            		v_imsComponent3.start(f_AtsNIT_TC_SS___XXSSECT03UE3(p_CSeq_s));
            		
            		// synchronize all PTCs on all sychronization points
            		f_serverSync3ClientsAndStop({c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone});
                    
                    //Clear configration
            		f_cf_3imsDown(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		
            	} // end TC_SS___XXSS_ECT_03            	
         
        	    /*   
            	 * @desc TC_SS___XXSS_ECT_04
            	 * @param p_CSeq_s Transaction Id
            	 */
            	testcase TC_SS___XXSS_ECT_04 (
            		inout CSeq p_CSeq_s
            	) runs on ServerSyncComp system TestAdapter {
            		//Variables
            		var ImsComponent v_imsComponent1;
              		var ImsComponent v_imsComponent2;
              		var ImsComponent v_imsComponent3;
            		
            		//Configuration
            		f_cf_3imsUp(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		f_IncCSeq(p_CSeq_s); 
            
            		//Start
            		v_imsComponent1.start(f_AtsNIT_TC_SS___XXSSECT04UE1(p_CSeq_s));
            		v_imsComponent2.start(f_AtsNIT_TC_SS___XXSSECT04UE2(p_CSeq_s));
            		v_imsComponent3.start(f_AtsNIT_TC_SS___XXSSECT04UE3(p_CSeq_s));
            		
            		// synchronize all PTCs on all sychronization points
            		f_serverSync3ClientsAndStop({c_prDone, c_sync1, c_sync2, c_sync3, c_tbDone});
                    
                    //Clear configration
            		f_cf_3imsDown(v_imsComponent1, v_imsComponent2, v_imsComponent3);
            		
            	} // end TC_SS___XXSS_ECT_04            	
         
        }//end group TP2_11_SS_ECT
         
    }//end group TP_2_SupplementaryServices