Commit 6aacf4cc authored by garciay's avatar garciay
Browse files

STF467 corrections:

- Temporary backup of source code, development in progress
parent 538d0207
Loading
Loading
Loading
Loading
+118 −100
Original line number Original line Diff line number Diff line
@@ -177,18 +177,26 @@ module AtsIms_Gm_TCFunctions {
	*/
	*/
			function f_TC_IMST2_GM_REG_02_UE1(in CSeq p_cSeq_s)
			function f_TC_IMST2_GM_REG_02_UE1(in CSeq p_cSeq_s)
			runs on ImsComponent {
			runs on ImsComponent {

			    /* FIXME Check with Bostjan codec issues or TTWB issue?
			    const GenericParam c_aka := {"algorithm","AKAv1-MD5"};
			    var template CommaParam_List v_commaParam_List := superset(c_aka);
			    var template Credentials v_credentials := {digestResponse:= v_commaParam_List};
				var template CredentialsList v_credentialsList := { v_credentials };
				*/
				f_IMS_preamble_woRegistration(c_userProfile_UE1atSUThome,
				f_IMS_preamble_woRegistration(c_userProfile_UE1atSUThome,
											  p_cSeq_s); // assignment of PIXIT values to component variable
											  p_cSeq_s); // assignment of PIXIT values to component variable
				f_setHeaders_REGISTER(p_cSeq_s);
				f_setHeaders_REGISTER(p_cSeq_s);
                vc_authorization.body :=  {f_calculatecCredentials_empty(vc_userprofile, true)}; // Override with PX_AUTH_ALGORITHM security algorithm
				f_SendREGISTER(m_REGISTER_Request_Base(vc_requestUri,
				f_SendREGISTER(m_REGISTER_Request_Base(vc_requestUri,
													   vc_callId, p_cSeq_s,
													   vc_callId, p_cSeq_s,
													   vc_from, vc_to,
													   vc_from, vc_to,
													   vc_via_REG, vc_contact,
													   vc_via_REG, vc_contact,
													   vc_authorization)); // LibSip													   
													   vc_authorization)); // LibSip													   
		
		
				f_awaitingResponse(mw_Response_Base(c_statusLine401, *,
				f_awaitingResponse(mw_Response_Algorithm(c_statusLine401, *,
													p_cSeq_s));						
													p_cSeq_s, ?/*v_credentialsList*/
													));	
													
				
				
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync point preamble done
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync point preamble done
				
				
@@ -474,7 +482,7 @@ module AtsIms_Gm_TCFunctions {
			function f_TC_IMST2_GM_REG_09_UE1(in CSeq p_cSeq_s)
			function f_TC_IMST2_GM_REG_09_UE1(in CSeq p_cSeq_s)
			runs on ImsComponent {
			runs on ImsComponent {


				f_IMS_preamble_woRegistration(c_userProfile_UE1atSUThome,
				f_IMS_preamble_woRegistration(c_userProfile_UE1atSUTvisiting,
											  p_cSeq_s); // assignment of PIXIT
											  p_cSeq_s); // assignment of PIXIT
				// values to component
				// values to component
				// variable
				// variable
@@ -598,21 +606,25 @@ module AtsIms_Gm_TCFunctions {
				// preamble
				// preamble
				// done
				// done
				// TESTBODY
				// TESTBODY
				f_setHeaders_REGISTER(p_cSeq_s);
                f_RemoveRegistration(p_cSeq_s);
				v_register :=
				
					valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId,
//				f_setHeaders_REGISTER(p_cSeq_s);
													p_cSeq_s, vc_from, vc_to,
//				v_register :=
													vc_via_REG, vc_contact,
//					valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId,
													vc_authorization));
//													p_cSeq_s, vc_from, vc_to,
				// set expires header
//													vc_via_REG, vc_contact,
				v_register.msgHeader.expires := {
//													vc_authorization));
					fieldName := EXPIRES_E, deltaSec := "0"
//				// set expires header
				};
//				v_register.msgHeader.expires := {
				// send REGISTER
//					fieldName := EXPIRES_E, deltaSec := "0"
				f_SendREGISTER(v_register);
//				};
				// await response - 200 ...
//				// send REGISTER
				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,
//				f_SendREGISTER(v_register);
													vc_cSeq));
//				// await response - 200 ...
//				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,
//													vc_cSeq));
													
													


				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -655,8 +667,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// TESTBODY
				// prepare and send INVITE UE2
				// prepare and send INVITE UE2
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				
				
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
												 p_cSeq_s, vc_from, vc_to,
												 p_cSeq_s, vc_from, vc_to,
@@ -1558,8 +1569,6 @@ module AtsIms_Gm_TCFunctions {
														 vc_caller_To,
														 vc_caller_To,
														 v_notMatchingVia,
														 v_notMatchingVia,
														 vc_contact));
														 vc_contact));
				// await ACK
				f_awaitingACK(mw_ACK_Request_Base(vc_callId));


				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -2392,8 +2401,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// TESTBODY
				// prepare and send BYE UE2
				// prepare and send BYE UE2
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersBYE(p_cSeq_s, c_userProfile_UE2atSUThome);
				.f_setHeadersBYE(p_cSeq_s, c_userProfile_UE2atSUThome);
				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
										   vc_from, vc_to, vc_via, vc_route));
										   vc_from, vc_to, vc_via, vc_route));


@@ -2496,8 +2504,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// TESTBODY
				// prepare and send INVITE UE2
				// prepare and send INVITE UE2
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
												 p_cSeq_s, vc_from, vc_to,
												 p_cSeq_s, vc_from, vc_to,
												 vc_via, vc_contact, omit,
												 vc_via, vc_contact, omit,
@@ -2516,8 +2523,7 @@ module AtsIms_Gm_TCFunctions {


				// prepare and send BYE UE2
				// prepare and send BYE UE2
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersBYE(p_cSeq_s, c_userProfile_UE2atSUThome);
				.f_setHeadersBYE(p_cSeq_s, c_userProfile_UE2atSUThome);
				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
										   vc_from, vc_to, vc_via,
										   vc_from, vc_to, vc_via,
										   v_notMatchingRoute));
										   v_notMatchingRoute));
@@ -2717,8 +2723,8 @@ module AtsIms_Gm_TCFunctions {
                
                
				// prepare and send BYE UE1
				// prepare and send BYE UE1
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersBYE(p_cSeq_s, c_userProfile_UE1atSUThome);
				.f_setHeadersBYE(p_cSeq_s, c_userProfile_UE1atSUThome);
				
				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
										   vc_callee_From, vc_callee_To, vc_via,
										   vc_callee_From, vc_callee_To, vc_via,
										   v_notMatchingRoute));
										   v_notMatchingRoute));
@@ -2979,7 +2985,7 @@ module AtsIms_Gm_TCFunctions {
                
                
				// SendBYE and await response
				// SendBYE and await response
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
								   vc_callee_From, vc_callee_To);
								   vc_callee_From, vc_callee_To, f_recordroute());


				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -3144,8 +3150,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// TESTBODY
				// prepare and send INVITE UE2
				// prepare and send INVITE UE2
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
												 p_cSeq_s, vc_from, vc_to,
												 p_cSeq_s, vc_from, vc_to,
												 vc_via, vc_contact, omit,
												 vc_via, vc_contact, omit,
@@ -3347,7 +3352,7 @@ module AtsIms_Gm_TCFunctions {
                
                
				// SendBYE and await response
				// SendBYE and await response
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
								   vc_callee_From, vc_callee_To);
								   vc_callee_From, vc_callee_To, f_recordroute());


				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -3390,8 +3395,7 @@ module AtsIms_Gm_TCFunctions {
				// TESTBODY
				// TESTBODY
				// prepare and send INVITE UE2
				// prepare and send INVITE UE2
				// @SUT
				// @SUT
				LibIms_Steps
				LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				.f_setHeadersINVITE(p_cSeq_s, c_userProfile_UE2atSUThome);
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
												 p_cSeq_s, vc_from, vc_to,
												 p_cSeq_s, vc_from, vc_to,
												 vc_via, vc_contact, omit,
												 vc_via, vc_contact, omit,
@@ -3470,10 +3474,14 @@ module AtsIms_Gm_TCFunctions {
				// SendBYE and await response
				// SendBYE and await response
        		LibSip_Steps.f_setHeadersBYE(vc_cSeq);
        		LibSip_Steps.f_setHeadersBYE(vc_cSeq);
        		// Sending of a BYE request to release the call and expect a final response
        		// Sending of a BYE request to release the call and expect a final response
        		if(ispresent(f_recordroute())) {
        		    var Route v_route := { ROUTE_E, valueof(f_recordroute().routeBody)};
                    f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, v_route)); 
        		} else {
         			f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_route)); 
         			f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_route)); 
        		}
		  		tc_resp.start(PX_SIP_TRESP);
		  		tc_resp.start(PX_SIP_TRESP);
				f_awaitingResponse(mw_Response_PchargingVecFctadrId(c_statusLine200, vc_callId,
				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,vc_cSeq));			
													vc_cSeq, omit, omit, *));			
																							
																							
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -3757,10 +3765,15 @@ module AtsIms_Gm_TCFunctions {
                
                
				// prepare and send BYE UE1
				// prepare and send BYE UE1
				// @SUT
				// @SUT
				LibSip_Steps
				LibSip_Steps.f_setHeadersBYE(p_cSeq_s);
				.f_setHeadersBYE(p_cSeq_s);
				if (ispresent(f_recordroute())) {
                    var Route v_route := { ROUTE_E, valueof(f_recordroute().routeBody)};
    				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
    					vc_callee_From, vc_callee_To, vc_via, v_route));
				} else {
    				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
    				f_SendBYE(m_BYE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s,
    					vc_callee_From, vc_callee_To, vc_via, vc_route));
    					vc_callee_From, vc_callee_To, vc_via, vc_route));
				}
				// await response - 200
				// await response - 200
				vc_boo_response := false;
				vc_boo_response := false;
				f_awaitingResponsePassOnTimeout(mw_Response_Base((c_statusLine200)
				f_awaitingResponsePassOnTimeout(mw_Response_Base((c_statusLine200)
@@ -3914,7 +3927,7 @@ module AtsIms_Gm_TCFunctions {
                
                
				// SendBYE and await response
				// SendBYE and await response
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
								   vc_callee_From, vc_callee_To);
								   vc_callee_From, vc_callee_To, f_recordroute());


				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -4479,7 +4492,7 @@ module AtsIms_Gm_TCFunctions {
				// POSTAMBLE
				// POSTAMBLE
				// SendBYE and await response
				// SendBYE and await response
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
								   vc_callee_From, vc_callee_To);
								   vc_callee_From, vc_callee_To, f_recordroute());


				// send REGISTER, await 401, send REGISTER, await 200 OK
				// send REGISTER, await 401, send REGISTER, await 200 OK
				f_RemoveRegistration(vc_cSeq); // deregistration in SUT
				f_RemoveRegistration(vc_cSeq); // deregistration in SUT
@@ -4802,7 +4815,7 @@ module AtsIms_Gm_TCFunctions {
				// POSTAMBLE
				// POSTAMBLE
				// SendBYE and await response
				// SendBYE and await response
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
								   vc_callee_From, vc_callee_To);
								   vc_callee_From, vc_callee_To, f_recordroute());


				// send REGISTER, await 401, send REGISTER, await 200 OK
				// send REGISTER, await 401, send REGISTER, await 200 OK
				f_RemoveRegistration(vc_cSeq); // deregistration in SUT
				f_RemoveRegistration(vc_cSeq); // deregistration in SUT
@@ -5114,7 +5127,7 @@ module AtsIms_Gm_TCFunctions {
				// POSTAMBLE
				// POSTAMBLE
				// SendBYE and await response
				// SendBYE and await response
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
				f_terminateCall_UE(vc_requestUri, vc_callId, vc_cSeq,
								   vc_callee_From, vc_callee_To);
								   vc_callee_From, vc_callee_To, f_recordroute());


				// send REGISTER, await 401, send REGISTER, await 200 OK
				// send REGISTER, await 401, send REGISTER, await 200 OK
				f_RemoveRegistration(vc_cSeq); // deregistration in SUT
				f_RemoveRegistration(vc_cSeq); // deregistration in SUT
@@ -6275,7 +6288,7 @@ module AtsIms_Gm_TCFunctions {


				vc_sdp_local :=
				vc_sdp_local :=
					valueof(m_SDP_unacceptable(valueof(m_media_dynPT
					valueof(m_SDP_unacceptable(valueof(m_media_dynPT
													   ("0", "PCMU/8000")),
													   ("0", "PCMU/8000",{"unacceptable", omit})), 
											   vc_userprofile));
											   vc_userprofile));
				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
														 vc_callId, vc_cSeq,
														 vc_callId, vc_cSeq,
@@ -6440,7 +6453,7 @@ module AtsIms_Gm_TCFunctions {


                vc_sdp_local :=
                vc_sdp_local :=
                    valueof(m_SDP_unacceptable(valueof(m_media_dynPT
                    valueof(m_SDP_unacceptable(valueof(m_media_dynPT
                                                       ("0", "PCMU/8000")),
                                                       ("0", "PCMU/8000",{"unacceptable", omit})), 
                                               vc_userprofile));
                                               vc_userprofile));
											
											
				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
@@ -6515,27 +6528,27 @@ module AtsIms_Gm_TCFunctions {
                f_SendACK(m_ACK_Request_IMS(vc_requestUri, vc_callId, vc_cSeq,
                f_SendACK(m_ACK_Request_IMS(vc_requestUri, vc_callId, vc_cSeq,
                                             vc_from, vc_to, vc_via, vc_route));
                                             vc_from, vc_to, vc_via, vc_route));


                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync point 1
//                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync point 1

//
				// ReINVITE ...
//				// ReINVITE ...
				// prepare and send RE-INVITE UE2
//				// prepare and send RE-INVITE UE2
				// @SUT
//				// @SUT
				// TODO Check function to set headers for reinvite on
//				// TODO Check function to set headers for reinvite on
				// originating side
//				// originating side
				LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s, true, c_userProfile_UE2atSUThome); 
//				LibIms_Steps.f_setHeadersReINVITE(p_cSeq_s, true, c_userProfile_UE2atSUThome); 
				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
//				f_SendINVITE(m_INVITE_Request_UE(vc_requestUri, vc_callId,
												 p_cSeq_s, vc_from, vc_to,
//												 p_cSeq_s, vc_from, vc_to,
												 vc_via, vc_contact, omit,
//												 vc_via, vc_contact, omit,
												 vc_route, omit,
//												 vc_route, omit,
												 m_MBody_SDP(vc_sdp_local)));
//												 m_MBody_SDP(vc_sdp_local)));

//
				// await response - 200 ...
//				// await response - 200 ...
				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,
//				f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId,
													vc_cSeq));
//													vc_cSeq));
				// send ACK
//				// send ACK
				LibSip_Steps.f_setHeadersACK();
//				LibSip_Steps.f_setHeadersACK();
                f_SendACK(m_ACK_Request_IMS(vc_requestUri, vc_callId, vc_cSeq,
//                f_SendACK(m_ACK_Request_IMS(vc_requestUri, vc_callId, vc_cSeq,
                                             vc_from, vc_to, vc_via, vc_route));
//                                             vc_from, vc_to, vc_via, vc_route));


				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
				// point
				// point
@@ -6587,21 +6600,7 @@ module AtsIms_Gm_TCFunctions {
				// Awaiting INVITE
				// Awaiting INVITE


				f_awaitingINVITE(mw_INVITE_Request_Base);
				f_awaitingINVITE(mw_INVITE_Request_Base);
				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
														 vc_callId, vc_cSeq,
														 vc_caller_From,
														 vc_caller_To, vc_via,
														 vc_contact, f_recordroute(),
														 valueof(m_MBody_SDP(
																	 vc_sdp_local
																 ))));


                f_awaitingACK(mw_ACK_Request_Base(vc_callId));

                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync point 1

				// Awaiting RE-INVITE
				f_awaitingINVITE(mw_INVITE_Request_NoPCharging);


                /*TODO need to define MIME type application/pkcs7-mime ....
                /*TODO need to define MIME type application/pkcs7-mime ....
               need to change header fields of message
               need to change header fields of message
@@ -6612,6 +6611,7 @@ module AtsIms_Gm_TCFunctions {
                    valueof(m_SDP_encrypted(valueof(m_media_dynPT("0", "PCMU/8000")),
                    valueof(m_SDP_encrypted(valueof(m_media_dynPT("0", "PCMU/8000")),
                                            vc_userprofile));
                                            vc_userprofile));



				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
														 vc_callId, vc_cSeq,
														 vc_callId, vc_cSeq,
														 vc_caller_From,
														 vc_caller_From,
@@ -6622,11 +6622,29 @@ module AtsIms_Gm_TCFunctions {
																 ))));
																 ))));


                f_awaitingACK(mw_ACK_Request_Base(vc_callId));
                f_awaitingACK(mw_ACK_Request_Base(vc_callId));
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

				// point
                f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict()); // sync point 1
				// test

				// body
//				// Awaiting RE-INVITE
				// done
//				f_awaitingINVITE(mw_INVITE_Request_NoPCharging);
//
//
//											
//				f_sendResponse(m_Response_2xxonINVITE_UE(c_statusLine200,
//														 vc_callId, vc_cSeq,
//														 vc_caller_From,
//														 vc_caller_To, vc_via,
//														 vc_contact, f_recordroute(),
//														 valueof(m_MBody_SDP(
//																	 vc_sdp_local
//																 ))));
//
//                f_awaitingACK(mw_ACK_Request_Base(vc_callId));
//				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
//				// point
//				// test
//				// body
//				// done
				// POSTAMBLE
				// POSTAMBLE
                // await BYE (503 or 488 ...) and send 200OK
                // await BYE (503 or 488 ...) and send 200OK
                f_awaitingBYE_sendReply(mw_BYE_Request_ReasonSIP
                f_awaitingBYE_sendReply(mw_BYE_Request_ReasonSIP