Commit 711b4cac authored by pintar's avatar pintar
Browse files

MWI tests are finalised

TODO Types have to be moved into LibSIP library and 
where are TODO comments the proposed solution have to be uncommented.
parent 70fa9ea0
Loading
Loading
Loading
Loading
+534 −12
Original line number Diff line number Diff line
module MWI_TC_Functions {
    
    import from LibIms_Templates all;
    import from LibIms_SIPTypesAndValues {const c_userProfile_UE1atSUThome;}
    import from LibIms_Steps {function f_IMS_postamble_awaitDeRegistration;}
    import from LibIms_SIPTypesAndValues {const c_userProfile_UE1atSUThome, c_userProfile_AS1;}
    import from LibIms_Steps {function f_IMS_postamble_awaitDeRegistration, f_initSipUrl;}
    import from LibCommon_Sync all;
    import from LibSip_Templates all;
    import from LibSip_Steps language "TTCN-3:2005" all;
@@ -10,6 +10,7 @@ module MWI_TC_Functions {
    import from LibSip_SIPTypesAndValues language "TTCN-3:2005" all;
    import from LibIms_Interface {type ImsComponent;}
    import from LibIms_PIXITS all;
    import from LibSip_PIXITS {modulepar PX_SIP_TWAIT;}

    	modulepar {
    	/** @desc charstring, for the public service identity of the Message Account (MA)
@@ -17,9 +18,151 @@ module MWI_TC_Functions {
    	charstring  PX_IMS_TS_MA;
    	}
        
        modulepar {
        /** @desc float, expiry timer PX_Timeout_Subscription for Subscription
        */
        float	PX_Timeout_Subscription := 12.0;
        }
    	
        // IMS ETSI name MWI application
        const charstring c_imsEtsiMwiApplication := "application/simple-message-summary";

group SMSTypes{//TODO group shall be moved into LibSIPTypesAndValues or into new module LibSip_SMSTypes
			   //TODO add (SMS sms) into type union MessageBody{ in module LibSIPTypesAndValues
	
	type record SMS { //Simple_message_summary
	    Msg_status_line msg_status_line,
	    Msg_account msg_account optional,
	    Msg_summary_line_list msg_summary_line_list optional,
	    Opt_msg_headers opt_msg_headers optional	    
	}
	
	type record Msg_status_line {
		charstring msg_type,
		charstring msg_status
	}
	
    type record Msg_account {
        charstring msg_type_account,
        SipUrl account_URI
    }
	
    type set of Msg_summary_line Msg_summary_line_list;
    
    type record Msg_summary_line {
        charstring msg_context_class,
        charstring msgs,
        charstring urgent_msgs optional
    }
	
    type set of charstring Opt_msg_headers;
    
    //type integer msgcount length(1); //msgs and urgent_msgs can be dividet into subtypes
}

group Templates {
    group Templates_SMS {

//		//TODO shall be moved into LibSip_Templates
//        template MessageBody m_mBody_SMS(template SMS p_SMS):=
//        {
//            sms :=  p_SMS
//        };
//        
//		//TODO shall be moved into LibSip_Templates
//        template MessageBody mw_mBody_SMS(template SMS p_SMS):=
//        {
//            sms :=  p_SMS
//        };
        
        template SMS m_SMS(template Msg_summary_line_list p_summaryLineList) :=
        {
            msg_status_line := m_msgStatusLine_yes,
            msg_account := m_msgAccount,
            msg_summary_line_list :=p_summaryLineList, 
            opt_msg_headers := omit
        }
        
        template SMS mw_SMS :=
        {
            msg_status_line := ?,
        	msg_account := *,
            msg_summary_line_list := *,
            opt_msg_headers := *
        }
        
        template SMS mw_SMS_yes :=
        {
            msg_status_line := mw_msgStatusLine_yes,
            msg_account := *,
            msg_summary_line_list := *,
            opt_msg_headers := *
        }
        
        template SMS mw_SMS_yesUri :=
        {
            msg_status_line := mw_msgStatusLine_yes,
            msg_account := mw_msgAccount,
            msg_summary_line_list := *,
            opt_msg_headers := *
        }
        
        template SMS mw_SMS_yesVoice :=
        {
            msg_status_line := mw_msgStatusLine_yes,
            msg_account := *,
            msg_summary_line_list := {mw_msgSummaryLine("voice-message")},
            opt_msg_headers := *
        }
        
        template SMS mw_SMS_yesUriVoice :=
        {
            msg_status_line := mw_msgStatusLine_yes,
            msg_account := mw_msgAccount,
            msg_summary_line_list := {mw_msgSummaryLine("voice-message")},
            opt_msg_headers := *
        }
        
        template Msg_status_line m_msgStatusLine_yes:=
        {
            msg_type	:= "Message-Waiting",
            msg_status	:= "yes"
        }
        
        template Msg_status_line mw_msgStatusLine_yes:=
        {
            msg_type	:= "Message-Waiting",
            msg_status	:= "yes"
        }
	
        template Msg_account m_msgAccount :=
        {
            msg_type_account := "Message-Account",
            account_URI := m_SipUrl_NumberHostParam(PX_IMS_SUT_UE2_PUBLIC_USER,PX_IMS_SUT_UE2_HOME_DOMAIN,omit)
        }
	
        template Msg_account mw_msgAccount :=
        {
            msg_type_account := "Message-Account",
            account_URI := ?
        }
        
        template Msg_summary_line m_msgSummaryLine(template charstring p_msgContexClass,template charstring p_msgs,template charstring p_urgent_msgs) :=
        {
            msg_context_class := p_msgContexClass,
            msgs := p_msgs,
            urgent_msgs := p_urgent_msgs
        }
        
        template Msg_summary_line mw_msgSummaryLine(template charstring p_msgContexClass) :=
        {
            msg_context_class := p_msgContexClass,
            msgs := ?,
            urgent_msgs :=*
    	}
        
    } //end group Templates_SMS
    
        template Event m_Event_mwi := 
        {
            fieldName   := EVENT_E,
@@ -48,6 +191,27 @@ module MWI_TC_Functions {
                		   acceptParam := *}}
        };
		
        template SubscriptionState mw_SubscriptionState_active :=
        {
            fieldName := SUBSCRIPTION_STATE_E,
            subState := "active",
            substateParams := {{id:="expires",paramValue:=?}}	
        }
		
        template SubscriptionState mw_SubscriptionState_active_expires :=
        {
            fieldName := SUBSCRIPTION_STATE_E,
            subState := "active",
            substateParams := omit	
        }
		
        template SubscriptionState mw_SubscriptionState_terminated :=
        {
            fieldName := SUBSCRIPTION_STATE_E,
            subState := "terminated",
            substateParams := {{id:="reason",paramValue:="timeout"}}	
        }

	template SUBSCRIBE_Request m_SUBSCRIBE_Request_MWI (SipUrl p_requestUri,
                                                    	CallId p_callId, 
                                                        CSeq p_cSeq,
@@ -106,19 +270,45 @@ module MWI_TC_Functions {
        messageBody := p_mb
    }

    template NOTIFY_Request mw_NOTIFY_Request_MWI(CallId p_callId,
    template NOTIFY_Request mw_NOTIFY_Request_MWI(template CallId p_callId,
    											  template SubscriptionState p_subState,
       											  template MessageBody p_mb) modifies mw_NOTIFY_Request_Base :=
    {
        msgHeader :=
        {	
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= ?/*f_MessageBodyLength(valueof(p_mb))*/},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType := c_imsEtsiMwiApplication},
            event := mw_Event_mwi,
            subscriptionState := m_SubscriptionState_active
            subscriptionState := p_subState
        },
        messageBody := p_mb
    }
    
}//end group Templates

group Steps{

	
    /** 
    *  @desc await NOTIFY request
    */
    function f_awaitingNOTIFY(in template NOTIFY_Request p_MSG) runs on ImsComponent
    {
        var NOTIFY_Request	v_MSG;
      
        tc_wait.start(PX_SIP_TWAIT);
        alt
        {
          [] SIPP.receive(p_MSG)-> value v_MSG sender vc_sent_label
            {
              tc_wait.stop;
              f_getRouteMapIntoRecordRoute(vc_cSeq, v_MSG);
              f_setHeadersOnReceiptOfRequest(v_MSG);
            }
        }
    } // end of f_awaitingNOTIFY_sendReply
}

group ActionsAtTheUE {
	    
    function f_TC_MWI_U01_001(CSeq p_CSeq) runs on ImsComponent {
@@ -306,7 +496,12 @@ group ActionsAtTheUE {
        								  vc_from,
        								  vc_to,
        								  vc_via,
        								  m_mBody_plainText("blabla")));
        								  /*m_mBody_SMS(m_SMS({m_msgSummaryLine("Voice-Message","4/1","(2/0)"),
                                                               m_msgSummaryLine("Video-Message","3/1","(1/0)"),
                                                               m_msgSummaryLine("Fax-Message","2/1","(0/1)")
                                          }))*/
        								  m_mBody_plainText("blabla")
        								  ));//TODO MBody 
                                        
        f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

@@ -340,7 +535,12 @@ group ActionsAtTheUE {
        								  vc_from,
        								  vc_to,
        								  vc_via,
        								  m_mBody_plainText("blabla")));
        								  /*m_mBody_SMS(m_SMS({m_msgSummaryLine("Voice-Message","4/1","(2/0)"),
                                                               m_msgSummaryLine("Video-Message","3/1","(1/0)"),
                                                               m_msgSummaryLine("Fax-Message","2/1","(0/1)")
                                          }))*/
        								  m_mBody_plainText("blabla")
        								  ));//TODO MBody 
                                        
        f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

@@ -350,7 +550,12 @@ group ActionsAtTheUE {
        								  vc_from,
        								  vc_to,
        								  vc_via,
        								  m_mBody_plainText("blabla")));
        								 /*m_mBody_SMS(m_SMS({m_msgSummaryLine("Voice-Message","5/1","(2/0)"),
                					  						 m_msgSummaryLine("Video-Message","3/1","(1/0)"),
                					  						 m_msgSummaryLine("Fax-Message","2/1","(0/1)")
            						 	  }))*/
        								  m_mBody_plainText("blabla")
        								  ));//TODO MBody 
                                        
        f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));

@@ -370,13 +575,330 @@ group ActionsAtTheAS {
        
        // ----  test body  ----->
		
        // send INVITE        
        LibIms_Steps.f_setHeadersINVITE(vc_cSeq, c_userProfile_UE1atSUThome);
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        //TODO add AS B2B UA behavior
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, *, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_001
    
    function f_TC_MWI_N01_002(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("0")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_terminated, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_002
    
    function f_TC_MWI_N01_003(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE 1       
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, *, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody        
        
        //SUBSCRIBE 2
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
            vc_requestUri, 
            vc_callId,
            vc_cSeq,
            vc_from,
            vc_to,
            vc_via,
            m_Accept_mwi, 
            m_Event_mwi,
            m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, *, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_003
    
    function f_TC_MWI_N01_004(CSeq p_CSeq) runs on ImsComponent {
        var float v_SubscriptionExpiryTimer := PX_Timeout_Subscription;
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE 1       
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("10")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, *, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody        
        
		// Await till subscription expires
        f_awaitingDelayTimer(v_SubscriptionExpiryTimer);
        
        //SUBSCRIBE 2
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
            vc_requestUri, 
            vc_callId,
            vc_cSeq,
            vc_from,
            vc_to,
            vc_via,
            m_Accept_mwi, 
            m_Event_mwi,
            m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base(c_statusLine481, vc_callId, vc_cSeq));

        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_004
    
    function f_TC_MWI_N01_005(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active_expires, /*mw_mBody_SMS(mw_SMS_yes)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_005
    
    function f_TC_MWI_N01_006(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY(mw_NOTIFY_Request_MWI(vc_callId, *, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody
        
        f_sendResponse(m_Response_Base(c_statusLine481, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via)); 
				
		log ("Check that no subsequent NOTIFY is received");	
		//      Await some time 
        f_awaitingDelayTimer(20.0);			
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_006
    
    function f_TC_MWI_N01_007(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active_expires, /*mw_mBody_SMS(mw_SMS_yes)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_07
    
    function f_TC_MWI_N01_008(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active, /*mw_mBody_SMS(mw_SMS_yesUri)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_08
    
    function f_TC_MWI_N01_009(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active, /*mw_mBody_SMS(mw_SMS_yesVoice)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_09
    
    function f_TC_MWI_N01_010(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active_expires, /*mw_mBody_SMS(mw_SMS)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active_expires, /*mw_mBody_SMS(mw_SMS_yes)*/m_mBody_plainText("blabla")));//TODO MBody
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_10
    
    function f_TC_MWI_N01_011(CSeq p_CSeq) runs on ImsComponent {
        f_init_ics_scscf(p_CSeq);
        
        // ----  test body  ----->
		
        // send SUBSCRIBE        
        LibIms_Steps.f_setHeadersSUBSCRIBE(vc_cSeq, f_initSipUrl(c_userProfile_AS1));
        f_SendSUBSCRIBE(m_SUBSCRIBE_Request_MWI(
        	vc_requestUri, 
          	vc_callId,
          	vc_cSeq,
          	vc_from,
          	vc_to,
          	vc_via,
        	m_Accept_mwi, 
        	m_Event_mwi,
        	m_Expires("7200")));
        
        f_awaitingResponse(mw_Response_Base((c_statusLine200, c_statusLine202), vc_callId, vc_cSeq));

        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active, /*mw_mBody_SMS(mw_SMS_yes)*/m_mBody_plainText("blabla")));//TODO MBody 
				
        f_awaitingNOTIFY_sendReply(mw_NOTIFY_Request_MWI(vc_callId, mw_SubscriptionState_active, /*mw_mBody_SMS(mw_SMS_yesUriVoice)*/m_mBody_plainText("blabla")));//TODO MBody
				
        f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
        
    }// end function f_TC_MWI_N01_11
    
}// end group ActionsAtTheAS     
}// end module MWI_TC_Functions
 No newline at end of file