Commit ae0dbb07 authored by poglitsch's avatar poglitsch
Browse files

interaction test cases added

parent b417af76
Loading
Loading
Loading
Loading
+78 −0
Original line number Diff line number Diff line
@@ -231,4 +231,82 @@ module CONF_Steps {
            p_sdp.media_list[0].attributes := v_attList;
        }
    }
    

    /**
        * @desc This function subscribes a Conference event package by sending a SUBSCRIBE request to a conference FOKUS
        * @param p_cSeq_s CSeq number
        * @param p_profile is conference URI
        */
    function f_subscribeConf(inout CSeq p_cSeq_s, in SipUrl p_profile) runs on ImsComponent {
        // creating a new dialog
        LibIms_Steps.f_setHeadersSUBSCRIBE(
            p_cSeq_s, 
            p_profile
        );
            
        // subscribe Conference event package
        f_SubscriptionWithNotification(
            p_cSeq_s,
            m_SUBSCRIBE_Request_Event(
                vc_requestUri, 
                vc_callId, 
                p_cSeq_s, 
                vc_from, 
                vc_to, 
                vc_via, 
                vc_contact,
                m_Event_conference
            ),
            mw_NOTIFY_Request(
                vc_callId,
                "active", 
                "application/conference-info+xml",
                m_Event_conference,
                m_MBody_XML(mw_XmlBody_ConfInfo(mw_conferenceInfo_active))
            )
        );
    }
    
        
    /**
     * @desc This function invites a user to join a conference by sending a REFER request to a conference FOKUS
     * @param p_cSeq CSeq number
     * @param p_to_user user
     * @param p_conferenceUri conference uri
     */     
    function f_referConference(
        inout CSeq p_cSeq, 
        in integer p_to_user, 
        in SipUrl p_conferenceUri
    ) runs on ImsComponent {
        LibIms_Steps.f_setHeadersREFER_conf(p_cSeq, p_conferenceUri);
            
        f_SendREFER(m_REFER_Request_Base(
            vc_requestUri, 
            vc_callId, 
            vc_cSeq,
            vc_contact, 
            vc_from, 
            vc_to, 
            vc_via, 
            m_ReferTo_SipUrl(f_initSipUrl(p_to_user), "INVITE"),
            omit 
        ));
            
        f_awaitingResponse(mw_Response_Base(
            c_statusLine202, 
            vc_callId, 
            p_cSeq
        ));
            
        //await NOTIFY and send reply 200 OK
        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request(
            vc_callId,
            "active",
            "application/message/sipfrag",
            m_Event_refer,
            m_MBody_sipfrag("SIP/2.0 100 Trying")
        ));
    }
}
 No newline at end of file
+763 −27

File changed.

Preview size limit exceeded, changes collapsed.

+31 −14
Original line number Diff line number Diff line
@@ -110,6 +110,17 @@ module CONF_Templates {
        }
    }
    
    template INVITE_Request mw_INVITE_Request_CONF_OIR(
        template SipUrl p_requestUri,
        template PAssertedID p_pAssertedID, 
        template Contact p_contact
    ) modifies mw_INVITE_Request_Base := {
        requestLine := {requestUri := p_requestUri},
        msgHeader := {
            referredBy := omit
        }
    }
    
    template INVITE_Request mw_INVITE_Request_CONF_referredBy(
        template SipUrl p_requestUri,
        template PAssertedID p_pAssertedID, 
@@ -207,8 +218,14 @@ template ReferTo mw_ReferTo (
    }
    
    


    
    template REFER_Request
    m_REFER_Request_Privacy(SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
    						Contact p_contact, From p_from, template To p_to,
    						Via p_via, template ReferTo p_referTo,
    						template ReferredBy p_referredBy,
    						template Privacy p_privacy)
    modifies m_REFER_Request_Base := {
    	msgHeader := {privacy := p_privacy}
    }
    
}
 No newline at end of file
+178 −0
Original line number Diff line number Diff line
@@ -612,4 +612,182 @@ module CONF_TestCases {
            f_cf_ue_down(v_pcscf);
        }
    }
    
    group interactionTIR {
        
        /**
		 * @desc
		 *     Remote user requests TIR, no identity information in the
		 *     conference notification info send in the NOTIFY request to the
		 *     conference creator.
		 * @param p_cSeq Transaction Id
		 */
        testcase TC_CONF_N08_001(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N08_001(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }   
    }
    
    group interactionOIR {
        
        /**
		 * @desc
		 *     Conference creator subscribes to OIR in permanent mode. There is
		 *     no identity information of the creator included in the conference
		 *     notification sent to the conference participants.
		 * @param p_cSeq Transaction Id
		 */
        testcase TC_CONF_N09_001(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N09_001(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }
        
        /**
		 * @desc
		 *     Conference creator subscribes to OIR in permanent mode.
		 *     Referred-By is not sent in the INVITE request if Privacy header
		 *     set to value "user" was received in the REFER.
		 * @param p_cSeq Transaction Id
		 */
        testcase TC_CONF_N09_002(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N09_002(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }  
    
        /**
         * @desc
         *     Conference creator subscribes to OIR in permanent mode.
         *     Referred-By is not sent in the INVITE request if Privacy header
         *     set to value "user" was received in the REFER.
         * @param p_cSeq Transaction Id
         */
        testcase TC_CONF_N09_003(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N09_003(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }  
    
        /**
         * @desc
         *     Conference creator subscribes to OIR in permanent mode.
         *     Referred-By is not sent in the INVITE request if Privacy header
         *     set to value "header" was received in the REFER.
         * @param p_cSeq Transaction Id
         */
        testcase TC_CONF_N09_004(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N09_004(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }  
    }
    
    group interactionACR_CB {
        
        /**
		 * @desc
		 *     Conference creator subscribes to ACR/CB and has Outgoing Call
		 *     Barring activated for UE2. Conference invitation for UE2 via
		 *     REFER is rejected.
		 * @param p_cSeq Transaction Id
		 */
        testcase TC_CONF_N10_001(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N10_001(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }  
        
        
        /**
         * @desc
         *     Conference creator subscribes to ACR/CB and has Outgoing Call
         *     Barring activated for UE2. Conference invitation for UE2 via
         *     the uri-list is rejected.
         * @param p_cSeq Transaction Id
         */
        testcase TC_CONF_N10_002(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N10_002(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
        }  
    }
}
 No newline at end of file