Commit 4c2d7737 authored by schmitting's avatar schmitting
Browse files

No commit message

No commit message
parent 93db481f
Loading
Loading
Loading
Loading
+125 −91
Original line number Diff line number Diff line
@@ -2810,20 +2810,33 @@ module CONF_TC_Functions {
    }
    
    function f_TC_CONF_N09_002(CSeq p_CSeq) runs on ImsComponent {
        var SessionDialog v_UE1_Session, v_UE2_Session;
         var SipUrl v_conf;
        
         f_init_ics_scscf(p_CSeq);
         LibIms_Steps.f_init_userprofile(c_userProfile_UE1atSUThome);

         // ----  test body  ----->

        // ----  create conference  ----->
         // send INVITE including conf-factory-uri
         LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_conferenceProfile_factoryURI);
        f_SendINVITE(m_INVITE_Request_Base(
         vc_route := valueof(m_route_interface_CONF(vc_interfaceprofile,vc_userprofile,"orig"));

         f_SendINVITE(m_INVITE_Request_CONF_IMS(
             vc_requestUri, 
             vc_callId, 
             vc_cSeq, 
             vc_from, 
             vc_to, 
             vc_via, 
            vc_contact
             vc_contact, 
             m_Require_prec, 
             vc_route, 
             omit, 
             m_PAssertedID(vc_from.addressField), 
             m_Supported_100rel, 
             m_pChargingVector_icid_TS, 
             m_MBody_SDP(vc_sdp_local)
         ));
        
         //receive 200 OK
@@ -2834,6 +2847,9 @@ module CONF_TC_Functions {
             mw_Contact_conference
         ));
        
         // save conferance URI
         v_conf := vc_requestUri;
        
         f_SendACK(m_ACK_Request_Base(
             vc_requestUri, 
             vc_callId, 
@@ -2843,14 +2859,16 @@ module CONF_TC_Functions {
             vc_via
         ));
        
         v_UE1_Session := f_saveSession();
    
         f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
        
         // ----  UE#1 INVITE UE#2  ----->
        
        LibIms_Steps.f_setHeadersREFER_conf(vc_cSeq, f_initSipUrl(c_conferenceProfile_factoryURI));
            
         LibIms_Steps.f_setHeadersREFER(vc_cSeq, c_conferenceProfile_factoryURI);
         vc_to.addressField.addrSpecUnion := v_conf;
         f_SendREFER(m_REFER_Request_Privacy(
            vc_requestUri, 
             v_conf, 
             vc_callId, 
             vc_cSeq, 
             vc_contact,
@@ -2862,26 +2880,29 @@ module CONF_TC_Functions {
        	m_Privacy(c_privacy_user)
         ));
        
         v_UE1_Session := f_saveSession();
        
         //receive 202 
         f_awaitingResponse(mw_Response_Base(
             c_statusLine202, 
             vc_callId, 
             vc_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")
             *
         ));
        
        // ----  UE#2 get INVITE ----->
        
        f_awaitingINVITE(mw_INVITE_Request_CONF_OIR(
         // ----  UE#2 get INVITE ----->
         f_awaitingINVITE(mw_INVITE_Request_CONF(
             f_initSipUrl(c_userProfile_UE2atSUThome),
            mw_PAssertedID(mw_AddrUnion_Nameaddr(*,PX_IMS_SUT_UE2_PUBLIC_USER, *)),
             mw_PAssertedID(mw_PAssertedIDValue(mw_SipUrl_custom(v_conf.userInfo.userOrTelephoneSubscriber, *))),
             mw_Contact_conference
         ));
        
@@ -2900,36 +2921,49 @@ module CONF_TC_Functions {

         f_awaitingACK(mw_ACK_Request_Base(vc_callId));
        
        //await NOTIFY and send reply 200 OK
         v_UE2_Session := f_saveSession();
         f_loadSession(v_UE1_Session);
        
         f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request(
             vc_callId,
            "active",
            "application/message/sipfrag",
             "terminated",
             *,
             m_Event_refer,
            m_MBody_sipfrag("SIP/2.0 200 OK") 
             *
         ));
        
        // UE#1 sends BYE
        LibIms_Steps.f_setHeadersBYE(p_CSeq, c_conferenceProfile_factoryURI);
        f_SendBYE(m_BYE_Request_Base(
         f_loadSession(v_UE2_Session);
        
         f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
         // disconnect UE2
        vc_to := {fieldName := TO_E,
          addressField := vc_callee_From.addressField,
          toParams := vc_callee_From.fromParams};
  
        vc_from := {fieldName := FROM_E,
          addressField := vc_callee_To.addressField,
          fromParams := vc_callee_To.toParams};
         f_terminateCall_IMS(
             vc_requestUri, 
             vc_callId,
            p_CSeq, 
             vc_cSeq, 
            vc_from,
            vc_to, 
            vc_via
         ));
            vc_to
         );
        
        f_awaitingResponse(mw_Response_Base(
            c_statusLine200, 
            vc_callId, 
            vc_cSeq
        ));
         // disconnect UE1
         f_loadSession(v_UE1_Session);
        
        // UE#2 receives BYE
        f_awaitingBYE_sendReply(mw_BYE_Request_Base(vc_callId));
         f_terminateCall_IMS(
        	 v_conf, 
             vc_callId,
             vc_cSeq, 
             vc_caller_From,
             vc_caller_To
         );
        
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
         f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
    }
    
    function f_TC_CONF_N09_003(CSeq p_CSeq) runs on ImsComponent {
+5 −5
Original line number Diff line number Diff line
@@ -835,19 +835,19 @@ module CONF_TestCases {
		 */
        testcase TC_CONF_N09_002(inout CSeq p_cSeq) runs on ServerSyncComp system TestAdapter {
            // variable declaration
            var ImsComponent v_pcscf;
            var ImsComponent v_scscf;
        
            // setup test configuration
            f_cf_ue_up(v_pcscf);
            f_cf_as_up(v_scscf);
        
            // start component
            v_pcscf.start(f_TC_CONF_N09_002(p_cSeq));
            v_scscf.start(f_TC_CONF_N09_002(p_cSeq));
        
            // synchronize component
            f_serverSync1Client({c_prDone, c_tbDone});
            f_serverSync1Client({c_prDone, c_tbDone, c_poDone});
        
            // tear down test configuration
            f_cf_ue_down(v_pcscf);
            f_cf_as_down(v_scscf);
        }  
    
        /**