Commit e1ac8e17 authored by pintar's avatar pintar
Browse files

finalization , week 11

parent cb020318
Loading
Loading
Loading
Loading
+12 −88
Original line number Original line Diff line number Diff line
@@ -415,7 +415,7 @@ group TP101_Sending_IAM {


	function f_EncapsIsup_TC_101_035() runs on SipComponent {
	function f_EncapsIsup_TC_101_035() runs on SipComponent {


		f_EncapsIsup_TC_101_009(); //All encapsulated messages are default in TC101_008
		f_EncapsIsup_TC_101_008(); //All encapsulated messages are default in TC101_008
			
			
	} // end function f_EncapsIsup_TC_101_035
	} // end function f_EncapsIsup_TC_101_035
	
	
@@ -2137,6 +2137,9 @@ group TP309_Receiving_RSC_GRS_CGB {
		/*function with default mwIAM messages*/	
		/*function with default mwIAM messages*/	
		f_mwIAM();
		f_mwIAM();
	
	
        /*function with default sent ACM messages*/	
        f_mACM();
		
		f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(31)));
		f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(31)));


		/*function with default send RLC messages*/	
		/*function with default send RLC messages*/	
@@ -3413,25 +3416,6 @@ group TP409_CW {
		f_mRLC();
		f_mRLC();
	}
	}
	
	
	function f_EncapsIsup_TC_409_007() runs on SipComponent {
		
		f_mwIAM();
		
		if (PX_TC409_007_VA == 1)
		{
			f_mACM_v(m_ACM_GNI(m_GenNotifInd(c_GNI_gNotInd_waitCall)));
		}
		else
		{
			f_mCPG_v(m_CPG_CDI(m_GenNotifInd(c_GNI_gNotInd_waitCall), omit, omit, omit));
		}
		
		f_mREL_v(m_REL_CAU2(m_CAU_Causev(19)));
		
		f_mwRLC();
				
	}
	
	function f_EncapsIsup_TC_409_008() runs on SipComponent {
	function f_EncapsIsup_TC_409_008() runs on SipComponent {
		
		
		f_mIAM();
		f_mIAM();
@@ -3445,9 +3429,12 @@ group TP409_CW {
			f_mwCPG_v(mw_CPG_GNI(mw_GenNotifInd(c_GNI_gNotInd_waitCall)));
			f_mwCPG_v(mw_CPG_GNI(mw_GenNotifInd(c_GNI_gNotInd_waitCall)));
		}
		}
		
		
		f_mREL_v(m_REL_CAU2(m_CAU_Causev(19)));
//		f_mREL_v(m_REL_CAU2(m_CAU_Causev(19)));
//
//		f_mwRLC();		
		f_mwREL_v(mw_REL_CAU1(mw_CAU_cval(19)));
		
		
		f_mwRLC();		
		f_mRLC();
	}
	}


} // end group TP409_CW
} // end group TP409_CW
@@ -3959,7 +3946,7 @@ group TP412_ECT {
		f_mACM_mANM();
		f_mACM_mANM();
		
		
		/*Awaiting  encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/
		/*Awaiting  encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/
		f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_GEN_addrSignals_txNat), mw_SAC_PAR_tlv_any));
		f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CTN_addrSignals_txNat), mw_SAC_PAR_tlv_any));
				
				
		/*function with default mwREL and mRLC messages*/	
		/*function with default mwREL and mRLC messages*/	
		f_mwREL_mRLC();
		f_mwREL_mRLC();
@@ -3981,35 +3968,6 @@ group TP412_ECT {
		
		
	}
	}


/*	function f_EncapsIsup_TC_412_003() runs on SipComponent {
		
		f_mwIAM();
		
		//function with default mACM, mANM messages	
		f_mACM_mANM();
		
		//Awaiting  encapsulated FAC message with Calling party number into Call transfer number
		f_mwFAC_v(mw_FAC_GNI_CTN(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_IAM_CLI_digits_txNat)));
		
		//function with default mwREL and mRLC messages	
		f_mwREL_mRLC();
				
	}
	
	function f_EncapsIsup_TC_412_004() runs on SipComponent {
		
		f_mIAM_v(m_IAM_CLI_GEN_ATP_ENC(m_CallingNum_allowed(c_CLI_natAddrInd_natSig, c_CLI_screenInd_ntwProv, PX_ISUP_IAM_CLI_digits_rxNat),omit , omit));
		
		//function with default mwACM, mwANM messages
		f_mwACM_mwANM();
		
		f_mFAC_v(m_FAC_GNI_CTN(m_GenNotifInd(c_GNI_gNotInd_transAct), m_CTN_PAR_allowed(PX_ISUP_TX_CTN_addrSignals_txNat)));
					
		//function with default mREL and mwRLC messages	
		f_mREL_mwRLC();
		
	}*/

	function f_EncapsIsup_TC_412_005() runs on SipComponent {
	function f_EncapsIsup_TC_412_005() runs on SipComponent {
		
		
		f_mwIAM();
		f_mwIAM();
@@ -4046,40 +4004,6 @@ group TP412_ECT {
		
		
	}
	}


/*	function f_EncapsIsup_TC_412_007() runs on SipComponent {
		
		f_mwIAM();
		
		//function with default mACM messages	
		f_mACM();
		
		f_mANM_v(m_ANM_CNN(m_ConnNum_allowed(c_CNN_natAddrInd_natSig, c_CNN_screenInd_ntwProv, PX_ISUP_TX_CPN_addrSignals_rxNat)));
		
		f_mwCPG_v(mw_CPG_EVI_GNI(c_EVI_eventInd_progr, mw_GenNotifInd(c_GNI_gNotInd_remHold)));

		f_mwFAC_v(mw_FAC_GNI_CTN(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CPN_addrSignals_rxNat)));
		
		//function with default mwREL and mRLC messages	
		f_mwREL_mRLC();
				
	}
	
	function f_EncapsIsup_TC_412_008() runs on SipComponent {
		
		f_mIAM();

		//function with default mwACM, mwANM messages	
		f_mwACM_mwANM();
		
		f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold)));

		f_mFAC_v(m_FAC_GNI_CTN(m_GenNotifInd(c_GNI_gNotInd_transAct), m_CTN_PAR_allowed(PX_ISUP_TX_CTN_addrSignals_txNat)));
		
		//function with default mREL and mwRLC messages
		f_mREL_mwRLC();
		
	}*/

	function f_EncapsIsup_TC_412_009() runs on SipComponent {
	function f_EncapsIsup_TC_412_009() runs on SipComponent {
		
		
		/*function with default mwIAM, mACM, mANM messages*/	
		/*function with default mwIAM, mACM, mANM messages*/	
@@ -4291,7 +4215,7 @@ group TP412_ECT {
		//change from V5-V6  f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold)));
		//change from V5-V6  f_mCPG_v(m_CPG_EVI_GNI(c_EVI_eventInd_progr, m_GenNotifInd(c_GNI_gNotInd_remHold)));


		/*Awaiting  encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/
		/*Awaiting  encapsulated FAC message with Additional calling party number into Call transfer number and SAC*/
		f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_GEN_addrSignals_txNat), mw_SAC_PAR_tlv_any));
		f_mwFAC_v(mw_FAC_GNI_CTN_SAC(mw_GenNotifInd(c_GNI_gNotInd_transAct), mw_CTN_addrSig(c_CTN_natAddrInd_nat, PX_ISUP_TX_CTN_addrSignals_txNat), mw_SAC_PAR_tlv_any));
		
		
		f_mFAC_v2(m_FAC_ATP(m_AT_ConnSub_Def));
		f_mFAC_v2(m_FAC_ATP(m_AT_ConnSub_Def));
		
		
+682 −612
Original line number Original line Diff line number Diff line
@@ -414,6 +414,7 @@ import from LibCommon_VerdictControl all;
    function f_setHeadersOnReceiptOfBye(Request loc_BYE_Request)
    function f_setHeadersOnReceiptOfBye(Request loc_BYE_Request)
    runs on SipComponent
    runs on SipComponent
    {
    {
      vc_request := loc_BYE_Request;
      vc_cSeq := valueof(loc_BYE_Request.msgHeader.cSeq);
      vc_cSeq := valueof(loc_BYE_Request.msgHeader.cSeq);
      vc_iUT_CSeq  := valueof(loc_BYE_Request.msgHeader.cSeq);
      vc_iUT_CSeq  := valueof(loc_BYE_Request.msgHeader.cSeq);
      vc_from := loc_BYE_Request.msgHeader.fromField;
      vc_from := loc_BYE_Request.msgHeader.fromField;
@@ -989,6 +990,7 @@ group externalfunctions {
  function f_Registration(inout CSeq p_cSeq_s) runs on SipComponent
  function f_Registration(inout CSeq p_cSeq_s) runs on SipComponent
  {
  {
    var SemicolonParam_List tmp_params;
    var SemicolonParam_List tmp_params;
  
    if (PX_SIP_REGISTRATION)
    if (PX_SIP_REGISTRATION)
    {
    {
      f_setHeadersPtcForRegister(p_cSeq_s);
      f_setHeadersPtcForRegister(p_cSeq_s);
@@ -1055,8 +1057,7 @@ group externalfunctions {
		  {
		  {
			setverdict(inconc);			  
			setverdict(inconc);			  
			if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before 
			if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before 
				//f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // 
			f_cancelCall();
				f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			f_RemoveRegistration(vc_cSeq);
			f_RemoveRegistration(vc_cSeq);
			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
@@ -1086,20 +1087,20 @@ group externalfunctions {
			vc_cSeqInvite := vc_cSeq;
			vc_cSeqInvite := vc_cSeq;
			SIPP.send(m_Response_100_1(vc_callId, vc_cSeq, vc_from, vc_to, vc_via )) to sent_label; //axr
			SIPP.send(m_Response_100_1(vc_callId, vc_cSeq, vc_from, vc_to, vc_via )) to sent_label; //axr
		  }
		  }
			[] SIPP.receive
//		[] SIPP.receive
			  {
//		  {
				all timer.stop;
//			all timer.stop;
				f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
//			f_cancelCall(); // f_cancelCall_cause();
				f_awaitSUTidle();
//			f_awaitSUTidle();
				f_RemoveRegistration(vc_cSeq);
//			f_RemoveRegistration(vc_cSeq);
				syncPort.send(m_syncClientStop);
//			syncPort.send(m_syncClientStop);
				stop
//			stop
			  }
//		  }
		[] TWait.timeout
		[] TWait.timeout
		  {
		  {
			setverdict(inconc);			  
			setverdict(inconc);			  
			if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before 
			if (not vc_first_recv) {syncPort.send(m_syncClientStop); stop;}; // nothing to do if no communication before 
				//f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // 
			//f_cancelCall(); // 
			f_cancelCall_cause();
			f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			f_RemoveRegistration(vc_cSeq);
			f_RemoveRegistration(vc_cSeq);
@@ -1158,11 +1159,11 @@ group externalfunctions {
			setverdict(pass);
			setverdict(pass);
		  }
		  }
		// other Response
		// other Response
		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
		[] SIPP.receive(mw_Response_1XX_1(vc_callId, vc_cSeq))-> value v_Response 
			sender sent_label
			sender sent_label
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			f_RemoveRegistration(vc_cSeq);
			f_RemoveRegistration(vc_cSeq);
			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
@@ -1171,14 +1172,14 @@ group externalfunctions {
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			f_RemoveRegistration(vc_cSeq);
			f_RemoveRegistration(vc_cSeq);
			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
			stop
			stop
		  }
		  }
	  }		
	  }		
	} // end f_awaiting183Response
	} // end f_awaiting1XXResponse


	/** 
	/** 
	*  @desc Await Response
	*  @desc Await Response
@@ -1203,20 +1204,19 @@ group externalfunctions {
			setverdict(pass);
			setverdict(pass);
		  }
		  }
		// other Response
		// other Response
		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
//		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
			sender sent_label
//			sender sent_label
		  {
//		  {
			setverdict(fail);
//			setverdict(fail);
//			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
//			f_sendACK(vc_cSeq);
			f_sendACK(vc_cSeq);
//			f_awaitSUTidle();
			f_awaitSUTidle();
//			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
//			stop
			stop
//		  }
		  }
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
			stop
			stop
@@ -1248,21 +1248,20 @@ group externalfunctions {
			setverdict(pass);
			setverdict(pass);
		  }
		  }
		// other Response
		// other Response
		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
//		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
			sender sent_label
//			sender sent_label
		  {
//		  {
			setverdict(fail);
//			setverdict(fail);
//			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
//			f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); 
			f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); 
//			f_sendACK(vc_cSeq);
			f_sendACK(vc_cSeq);
//			f_awaitSUTidle();
			f_awaitSUTidle();
//			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
//			stop
			stop
//		  }
		  }
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
			stop
			stop
@@ -1285,7 +1284,6 @@ group externalfunctions {
	*/
	*/
	function f_awaiting200OkResponse_andAck_Encaps(in boolean p_doAck, template (present) ISUP_BICC_MSG p_ISUP_BICC) runs on SipComponent
	function f_awaiting200OkResponse_andAck_Encaps(in boolean p_doAck, template (present) ISUP_BICC_MSG p_ISUP_BICC) runs on SipComponent
	{
	{
//		f_awaitingResponse_andAck(mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC), 0, p_doAck);	
		f_awaiting2ResponsesAck(
		f_awaiting2ResponsesAck(
  			mw_Response_200_MIME(vc_callId, vc_cSeq, p_ISUP_BICC), // MIME content type
  			mw_Response_200_MIME(vc_callId, vc_cSeq, p_ISUP_BICC), // MIME content type
			mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC),  // ISUP content type
			mw_Response_200_Encaps(vc_callId, vc_cSeq, p_ISUP_BICC),  // ISUP content type
@@ -1331,26 +1329,26 @@ group externalfunctions {
					{setverdict(fail);}
					{setverdict(fail);}
				};		
				};		


			if (p_doAck) {
				f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); 
				f_setHeadersOnReceiptOfResponse(vc_cSeq, v_Response); 
			if (p_doAck) {f_sendACK(vc_cSeq);};
				f_sendACK(vc_cSeq);
			};
			setverdict(pass);
			setverdict(pass);
		  }
		  }
		// other Response
		// other Response
		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
//		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
			sender sent_label
//			sender sent_label
		  {
//		  {
			setverdict(fail);
//			setverdict(fail);
//			f_cancelCall_cause();
//			f_sendACK(vc_cSeq);
//			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
//			f_awaitSUTidle();
			f_sendACK(vc_cSeq);
//			syncPort.send(m_syncClientStop);
			f_awaitSUTidle();
//			repeat;
			syncPort.send(m_syncClientStop);
//		  }
			stop
		  }
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			syncPort.send(m_syncClientStop);
			syncPort.send(m_syncClientStop);
			stop
			stop
@@ -1394,7 +1392,7 @@ group externalfunctions {
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			//vc_ignore4xx := true;
			//vc_ignore4xx := true;
			stop
			stop
@@ -1435,19 +1433,19 @@ group externalfunctions {
			setverdict(pass);
			setverdict(pass);
		  }
		  }
		// other Response
		// other Response
		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
//		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value v_Response 
			sender sent_label
//			sender sent_label
		  {
//		  {
			setverdict(fail);
//			setverdict(fail);
			//f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // 
//			//f_cancelCall(); // 
			f_cancelCall_cause();
//			f_cancelCall_cause();
			f_awaitSUTidle();
//			f_awaitSUTidle();
			stop
//			stop
		  }
//		  }
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
			f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			stop
			stop
		  }
		  }
@@ -1544,7 +1542,8 @@ group externalfunctions {
			TResp.stop;
			TResp.stop;
			vc_ignore_bye:= true;
			vc_ignore_bye:= true;
			f_setHeadersOnReceiptOfBye(v_BYE_Request);
			f_setHeadersOnReceiptOfBye(v_BYE_Request);
					f_send200OK_withCallId(p_CallId);				  }
			f_send200OK_withCallId(p_CallId);				  
		  }
		// Ignore other Request
		// Ignore other Request
    	[] SIPP.receive {
    	[] SIPP.receive {
    		repeat;
    		repeat;
@@ -1552,7 +1551,7 @@ group externalfunctions {
    	[] TResp.timeout
    	[] TResp.timeout
    	  {
    	  {
    		setverdict(fail);
    		setverdict(fail);
					f_cancelCall(p_CallId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
    		f_cancelCall(); // f_cancelCall_cause();
    		f_awaitSUTidle();
    		f_awaitSUTidle();
    		f_RemoveRegistration(vc_cSeq);
    		f_RemoveRegistration(vc_cSeq);
    		stop
    		stop
@@ -1585,7 +1584,7 @@ group externalfunctions {
		[] TResp.timeout
		[] TResp.timeout
				{
				{
			setverdict(fail);
			setverdict(fail);
				f_cancelCall(vc_callId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			f_RemoveRegistration(vc_cSeq);
			f_RemoveRegistration(vc_cSeq);
			stop
			stop
@@ -1613,13 +1612,10 @@ group externalfunctions {
			f_send200OKBYE_MIME();
			f_send200OKBYE_MIME();
		  }
		  }
		// Ignore other Request
		// Ignore other Request
			[] SIPP.receive {
				repeat;
			  }
		[] TResp.timeout
		[] TResp.timeout
		  {
		  {
			setverdict(fail);
			setverdict(fail);
				f_cancelCall(vc_callId, p_cSeq_s, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
			f_cancelCall(); // f_cancelCall_cause();
			f_awaitSUTidle();
			f_awaitSUTidle();
			f_RemoveRegistration(vc_cSeq);
			f_RemoveRegistration(vc_cSeq);
			stop
			stop
@@ -1995,7 +1991,7 @@ group externalfunctions {
			  [] TResp.timeout
			  [] TResp.timeout
				{
				{
				  setverdict(fail);
				  setverdict(fail);
				  f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
				  f_cancelCall(); // f_cancelCall_cause();
				  f_awaitSUTidle();
				  f_awaitSUTidle();
				  f_RemoveRegistration(vc_cSeq);
				  f_RemoveRegistration(vc_cSeq);
				  syncPort.send(m_syncClientStop);
				  syncPort.send(m_syncClientStop);
@@ -2023,14 +2019,10 @@ group externalfunctions {
				  //Answer to the UPDATE
				  //Answer to the UPDATE
				  f_send200OKwithSDP(vc_SDP_local);
				  f_send200OKwithSDP(vc_SDP_local);
				}
				}
			  // Ignore other Request
			  [] SIPP.receive {
				  repeat;
				}
			  [] TResp.timeout
			  [] TResp.timeout
				{
				{
				  setverdict(fail);
				  setverdict(fail);
				  f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
				  f_cancelCall(); // f_cancelCall_cause();
				  f_awaitSUTidle();
				  f_awaitSUTidle();
				  f_RemoveRegistration(vc_cSeq);
				  f_RemoveRegistration(vc_cSeq);
				  syncPort.send(m_syncClientStop);
				  syncPort.send(m_syncClientStop);
@@ -2059,7 +2051,7 @@ group externalfunctions {
			  [] TResp.timeout
			  [] TResp.timeout
				{
				{
				  setverdict(fail);
				  setverdict(fail);
				  f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via);
				  f_cancelCall();
				  f_awaitSUTidle();
				  f_awaitSUTidle();
				  f_RemoveRegistration(vc_cSeq);
				  f_RemoveRegistration(vc_cSeq);
				  syncPort.send(m_syncClientStop);
				  syncPort.send(m_syncClientStop);
@@ -2132,14 +2124,14 @@ group externalfunctions {
				  //Answer to the INFO
				  //Answer to the INFO
				  if (p_reply) {f_send200OK();};
				  if (p_reply) {f_send200OK();};
				}
				}
			  // Ignore other Request
//			  // Ignore other Request
			  [] SIPP.receive {
//			  [] SIPP.receive {
				  repeat;
//				  repeat;
				}
//				}
			  [] TResp.timeout
			  [] TResp.timeout
				{
				{
				  setverdict(fail);
				  setverdict(fail);
				  f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // f_cancelCall_cause();
				  f_cancelCall(); // f_cancelCall_cause();
				  f_awaitSUTidle();
				  f_awaitSUTidle();
				  f_RemoveRegistration(vc_cSeq);
				  f_RemoveRegistration(vc_cSeq);
				  syncPort.send(m_syncClientStop);
				  syncPort.send(m_syncClientStop);
@@ -2147,7 +2139,7 @@ group externalfunctions {
				}
				}
			}		
			}		
			
			
		} // end of f_awaitingPRACK_sendReply
		} // end of f_awaitingINFO_sendReply


} // end AwaitingMessage
} // end AwaitingMessage


@@ -2266,11 +2258,34 @@ group SendMessage {
				(vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via )) to sent_label;};
				(vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via )) to sent_label;};
	}
	}
    
    
	/**
		* 
		* @desc  Send 484 and await ACK in case of Address incomplete
		*/
	function f_send484_awaitACK()  runs on SipComponent
	{
		var To callee_To := {
			fieldName := TO_E,
			addressField := vc_requestINVITE.msgHeader.fromField.addressField,
			toParams := vc_requestINVITE.msgHeader.fromField.fromParams
		};
      
		var From callee_From := {
			fieldName := FROM_E,
			addressField := vc_requestINVITE.msgHeader.toField.addressField,
			fromParams := vc_requestINVITE.msgHeader.toField.toParams
		};

		SIPP.send(m_Response_484_1(
				valueof(vc_requestINVITE.msgHeader.callId), valueof(vc_requestINVITE.msgHeader.cSeq),  //to reject the call
				callee_From, callee_To, 
				vc_requestINVITE.msgHeader.via)) to sent_label;  // sends address incomplete
		f_awaitingAckRequest(vc_cSeq);
	}
    
	/**
	/**
	 * 
	 * 
	 * @desc  Send 486 and await ACK in case of INVITE reject
	 * @desc  Send 486 and await ACK in case of INVITE reject
	 * @param p_noencaps  set to false if encaps not requiered
	 * @param p_ISUP_BICC ISUP message to encapsulate to send
	 */
	 */
	function f_send486_awaitACK()  runs on SipComponent
	function f_send486_awaitACK()  runs on SipComponent
	{
	{
@@ -4270,11 +4285,11 @@ group Postambles {
		
		
		// send BYE and wait for 200 OK
		// send BYE and wait for 200 OK
		f_terminateCall(
		f_terminateCall(
			vc_callId,
			p_callid,
			vc_cSeq,
  			p_cSeq_s,
			p_from,
			p_from,
			p_to,
			p_to,
			vc_reqHostPort,
			p_reqHostPort,
			m_MBody_ISUP(valueof(vc_rel_msg)));
			m_MBody_ISUP(valueof(vc_rel_msg)));


	}
	}
@@ -4367,23 +4382,43 @@ group Postambles {
	 * @desc  send CANCEL message
	 * @desc  send CANCEL message
	 * @param p_request template of the message to be sent
	 * @param p_request template of the message to be sent
	 */	
	 */	
	function f_cancelCall(CallId p_callid, CSeq loc_CSeq, From p_from, To p_to, HostPort p_reqHostPort, Via loc_via)
	function f_cancelCall()
	runs on SipComponent
	runs on SipComponent
	{
	{
		// This function is called to bring back the IUT in idle condition
		// This function is called to bring back the IUT in idle condition
	  	// in case of errors or unexpected behaviour.
	  	// in case of errors or unexpected behaviour.
      
		if (vc_dialog_caller == true) {
		  f_SIP_postamble_release_active( // [REL/RLC encapsulated]
					vc_callId,
					vc_cSeq,
					vc_caller_From,
					vc_caller_To,
					vc_reqHostPort);
		}
		else if (vc_dialog_callee == true) {
		  f_mREL_mwRLC();
		  f_SIP_postamble_release_active( // [REL/RLC encapsulated]
					vc_callId,
					vc_cSeq,
					vc_callee_From,
					vc_callee_To,
					vc_reqHostPort);
		}
		else if (vc_callee == true) {
		  f_send486_awaitACK();
		}
		else {		
    	  // Sending of a CANCEL request with the same Cseq
    	  // Sending of a CANCEL request with the same Cseq
	  loc_CSeq.method := "CANCEL";
		  vc_cSeq.method := "CANCEL";
	  SIPP.send(m_CANCEL_Request_1(p_callid, loc_CSeq, p_from, p_to, p_reqHostPort, loc_via )) to sent_label;
    	  SIPP.send(m_CANCEL_Request_1(vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_reqHostPort, vc_via )) to sent_label;
    	  TResp.start(PX_SIP_TRESP);
    	  TResp.start(PX_SIP_TRESP);
    	  alt
    	  alt
    	  {
    	  {
		[] SIPP.receive	(mw_Response_1XX_1(p_callid, loc_CSeq))
    		[] SIPP.receive	(mw_Response_1XX_1(vc_callId, vc_cSeq))
    		  {
    		  {
    			repeat;
    			repeat;
    		  }
    		  }
		[] SIPP.receive	(mw_Response_200_1(p_callid, loc_CSeq))
    		[] SIPP.receive	(mw_Response_200_1(vc_callId, vc_cSeq))
    		  {
    		  {
    			TResp.stop;
    			TResp.stop;
    		  }
    		  }
@@ -4395,6 +4430,10 @@ group Postambles {
    		  }
    		  }
    		[] TResp.timeout	{syncPort.send(m_syncClientStop); stop}
    		[] TResp.timeout	{syncPort.send(m_syncClientStop); stop}
    	  }
    	  }
    	  // awaiting 487 and send ACK					
		  vc_cSeq.method := "INVITE";
		  f_awaitingResponse_andAck(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 487), 0, true);
		}	  
	}
	}




@@ -4447,8 +4486,7 @@ group DefaultsTestStep
		    {
		    {
		      setverdict(fail); 
		      setverdict(fail); 
			  all timer.stop;
			  all timer.stop;
			  //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via); // 
			  f_cancelCall();
			  f_cancelCall_cause();
		  	  f_RemoveRegistration(vc_cSeq); 
		  	  f_RemoveRegistration(vc_cSeq); 
			  syncPort.send(m_syncClientStop);
			  syncPort.send(m_syncClientStop);
		  	  stop
		  	  stop
@@ -4472,6 +4510,12 @@ group DefaultsTestStep
				repeat
				repeat
			  }
			  }
			  
			  
// 180 to 183 replies
			[vc_dialog_caller==false] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,(180..183)))
			  {
				repeat
			  }
			  
//			ignore 484 if flag is set
//			ignore 484 if flag is set
			[vc_ignore484==true] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 484))
			[vc_ignore484==true] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq, 484))
			{
			{
@@ -4495,8 +4539,8 @@ group DefaultsTestStep
			[] SIPP.receive(mw_BYE_Request_1(?))-> value vc_request sender sent_label
			[] SIPP.receive(mw_BYE_Request_1(?))-> value vc_request sender sent_label
			  {
			  {
				// all timer.stop;
				// all timer.stop;
				setverdict(fail);
				f_setHeadersOnReceiptOfBye(vc_request); 
				f_setHeadersOnReceiptOfBye(vc_request); 
				vc_callId := vc_request.msgHeader.callId;
//				f_sendACK(vc_request.msgHeader.cSeq);
//				f_sendACK(vc_request.msgHeader.cSeq);
				if (vc_BOO_RecordRoute)
				if (vc_BOO_RecordRoute)
				{
				{
@@ -4508,10 +4552,19 @@ group DefaultsTestStep
				  SIPP.send(m_Response_200_1(vc_callId, vc_cSeq,
				  SIPP.send(m_Response_200_1(vc_callId, vc_cSeq,
					vc_from, vc_to, vc_via)) to sent_label;
					vc_from, vc_to, vc_via)) to sent_label;
				};
				};
				if (vc_2ndCallToRelease==true)
				{
					vc_2ndCallToRelease:= false;
					repeat
				}
				else
				{
    				setverdict(fail);
    				f_RemoveRegistration(vc_cSeq);
    				f_RemoveRegistration(vc_cSeq);
    				syncPort.send(m_syncClientStop);
    				syncPort.send(m_syncClientStop);
    				stop
    				stop
				}
				}
			  }
			  
			  
			// unexpected CANCEL is acknowledged to avoid retransmissions
			// unexpected CANCEL is acknowledged to avoid retransmissions
			[] SIPP.receive(mw_CANCEL_Request_1(?))-> value vc_request sender sent_label
			[] SIPP.receive(mw_CANCEL_Request_1(?))-> value vc_request sender sent_label
@@ -4521,6 +4574,7 @@ group DefaultsTestStep
				f_setHeadersOnReceiptOfCancel(vc_request);
				f_setHeadersOnReceiptOfCancel(vc_request);
				//Answer to the CANCEL
				//Answer to the CANCEL
				f_send200OK();
				f_send200OK();
				f_send487_awaitACK();
				f_RemoveRegistration(vc_cSeq);
				f_RemoveRegistration(vc_cSeq);
				syncPort.send(m_syncClientStop);
				syncPort.send(m_syncClientStop);
				stop
				stop
@@ -4575,11 +4629,27 @@ group DefaultsTestStep
				syncPort.send(m_syncClientStop);
				syncPort.send(m_syncClientStop);
				stop
				stop
			}
			}
    		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,(400..699)))-> value vc_response 
    			sender sent_label
    		  {
    			setverdict(fail);
    			f_sendACK(vc_cSeq);
    			f_awaitSUTidle();
    			syncPort.send(m_syncClientStop);
    			stop
    		  }
    		[] SIPP.receive(mw_Response_NonOK_Final_2(vc_callId, vc_cSeq,?))-> value vc_response 
    			sender sent_label
    		  {
    			setverdict(fail);
    			f_sendACK(vc_cSeq);
    			repeat;
    		  }
		 	[] SIPP.receive
		 	[] SIPP.receive
			{
			{
			  // all timer.stop;
			  // all timer.stop;
			  setverdict(fail);
			  setverdict(fail);
			  //f_cancelCall(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via);					
			  //f_cancelCall();					
			  f_cancelCall_cause();
			  f_cancelCall_cause();
			  f_RemoveRegistration(vc_cSeq);
			  f_RemoveRegistration(vc_cSeq);
			  syncPort.send(m_syncClientStop);
			  syncPort.send(m_syncClientStop);
+321 −178

File changed.

Preview size limit exceeded, changes collapsed.

+13 −2
Original line number Original line Diff line number Diff line
@@ -174,7 +174,7 @@ group SubFields
	template SipUrl m_SipUrl_ofIUT_i1 :=  	// SIP-URL of the user behind the IUT (ISDN user) (incomplete number)
	template SipUrl m_SipUrl_ofIUT_i1 :=  	// SIP-URL of the user behind the IUT (ISDN user) (incomplete number)
	{
	{
	  scheme := SIP_SCHEME,  			// contains "sip"
	  scheme := SIP_SCHEME,  			// contains "sip"
	  userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,lengthof(PX_SIP_IUT_USER)-2),
	  userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,1),
		password := omit},
		password := omit},
	  hostPort :=
	  hostPort :=
	  {
	  {
@@ -188,7 +188,7 @@ group SubFields
	template SipUrl m_SipUrl_ofIUT_i2 :=  	// SIP-URL of the user behind the IUT (ISDN user) (incomplete number)
	template SipUrl m_SipUrl_ofIUT_i2 :=  	// SIP-URL of the user behind the IUT (ISDN user) (incomplete number)
	{
	{
	  scheme := SIP_SCHEME,  			// contains "sip"
	  scheme := SIP_SCHEME,  			// contains "sip"
	  userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,lengthof(PX_SIP_IUT_USER)-1),
	  userInfo := {userOrTelephoneSubscriber :=substr(PX_SIP_IUT_USER,0,2),
		password := omit},
		password := omit},
	  hostPort :=
	  hostPort :=
	  {
	  {
@@ -441,6 +441,17 @@ group Headers
	  toParams := omit
	  toParams := omit
	};
	};
	
	
	template To m_To_IUT_i2 :=
	{
		fieldName := TO_E,
		addressField :=
		{nameAddr := {
			displayName := "IUT", 	 			// optional charstring
			addrSpec :=	m_SipUrl_ofIUT_i2		// SipUrl 
		}},//end addressField
		toParams := omit
	};

	template To m_To_ETS :=
	template To m_To_ETS :=
	{
	{
	  fieldName := TO_E,
	  fieldName := TO_E,