Commit 8ae29cf7 authored by petersenj's avatar petersenj
Browse files

Completed execution to reflect PICS

Implemented TC_PMR_1101_01,TC_PMR_1102_01,TC_PMR_1103_01
parent a1143a53
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -624,7 +624,7 @@ module dPMR_Pics {
		modulepar {boolean PIC_AUTOMATIC_CONNECTION_REQUEST := true}

		/**
		* @desc  	Is the Manual Disconnection Request support
		* @desc  	Is the Manual Disconnection Request supported?
		*/
		modulepar {boolean PIC_MANUAL_DISCONNECTION_REQUEST := true}

+41 −24
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@
				endFrame := p_endFrame 
		} // end template m_payloadTransmission


		template PacketDataTransmission m_T3DataPayloadTransmission ( 	template PacketDataHeader p_packetDataHeaderFrame ,
																		template PacketDataFrameList p_packetDataFrameList ,
																		template EndFrame p_endFrame ) := {
@@ -71,7 +72,6 @@
			  p_superFrame,p_superFrame,p_superFrame,p_superFrame
			}

		// TODO JP Mantis: question if HE is allowed as voice burst
			template SuperFrameList mw_superFrameList_OneOrManyElem ( template SuperFrame p_superFrame) := superset (
			  p_superFrame
			);
@@ -400,17 +400,6 @@
		} // end template m_endInformationNoAck


//		template EndFrame m_endFrameAck := {
//			frameSync3 := c_fs3,
//			endInformation0 := m_endInformationAck,
//			endInformation1 := m_endInformationAck
//		} // end template m_endFrameAck

//		template EndFrame m_endFrameNoAck := {
//			frameSync3 := c_fs3,
//			endInformation0 := m_endInformationNoAck,
//			endInformation1 := m_endInformationNoAck
//		} // end template m_endFrameNoAck

		template EndFrame m_endFrame ( in template EndInformation p_endInfo ) := {
			frameSync3 := c_fs3,
@@ -437,18 +426,6 @@
				ciInformationNormalOrPws :=c_ciInformationNormal }
		} // end m_headerInformation

/*
	type record PacketDataHeaderInformation {
	  HeaderType          headerType,
	  MsAddress           calledId,
	  MsAddress           ownId,
	  CommunicationsMode  communicationsMode,
	  CommsFormat         commsFormat,
	  Reserved2bit        reserved2bit,
	  CallInformation     callInformation
	}

*/

	 	template PacketDataHeaderInformation  m_packetDataHeaderInformation(HeaderType p_hdrTp,
																			MsAddress p_calledId , 
@@ -518,6 +495,45 @@

	} //end group InformationElementTemplates 
	
	group Powersave {
		template PayloadTransmission m_voiceorT1orT2PayloadTransmissionPowersave ( 	
																template ExtendedHdrFrameList  p_extHdrFrameList ,
																template HeaderFrame p_headerFrame ,
																template SuperFrameList p_superFrameList ,
																template EndFrame p_endFrame ) := {
				extHdrFrameList := p_extHdrFrameList ,
				headerFrame := p_headerFrame ,
				sfList := p_superFrameList ,
				endFrame := p_endFrame 
		} // end template m_payloadTransmissionPowersave

		template ExtendedHdrFrameList mw_extHeaderFrameList ( template HeaderFrame p_headerFrame) := superset (
			  p_headerFrame
			);

		template HeaderInformation  mw_extHeaderInformationTx ( MsAddress p_calledId , 
													      		  MsAddress    p_ownId, 
													      		  template CommunicationsMode p_commMode,
													          	  template CommsFormat p_commFormat,
																  template CiInformationNormalOrPws p_callInformation
													     		) := {
			headerType := e_commStartHeader,
	  		calledId := p_calledId,
	  		ownId := p_ownId,
	  		communicationsMode := p_commMode,
	    	commsFormat := p_commFormat,
	  		reserved2bit := c_reserved2bits,
			callInformation := { 
				ciInformationNormalOrPws :=p_callInformation }	  		
		} // end mw_headerInformationVoiceTx

		template CiInformationNormalOrPws mw_extHeaderCallInformation  := {
		    ciTypeNormalOrPws := e_extendWakeupHdr, 
			ciInfoNormalOrPws := ?
		}

	} // end group Powersave

	template ISFAddress m_isfAddrFromCommonId( Common_ID p_cid ) := {
		common_ID := p_cid,
		fixedPart := c_fixedPartAddr
@@ -525,6 +541,7 @@

	


	group ConfigurationTemplates {

		template UtRequest m_sendSomeT3Data_utRequest(	in template DialString p_dialString,
+430 −132
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ module dPMR_TestCases {
				// Configuration Down
				f_cfMseDown(v_mse, v_ut);

			} // end TC_PMR_0824_01
			} // end TC_PMR_0824_03

		} // end group AllCall

@@ -223,7 +223,7 @@ module dPMR_TestCases {

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);
			} // end TC_PMR_0405_02
			} // end TC_PMR_0406_02

			/**
			* 
@@ -250,7 +250,7 @@ module dPMR_TestCases {

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);
			} // end TC_PMR_0405_01
			} // end TC_PMR_0407_01

			/**
			* 
@@ -279,7 +279,7 @@ module dPMR_TestCases {

				// Configuration Down
				f_cfMseDown(v_mse, v_ut);
			} // end TC_PMR_0406_01
			} // end TC_PMR_0407_02

			/**
			* 
@@ -336,6 +336,7 @@ module dPMR_TestCases {

			}// end group HeaderFrames


			group GroupSuperFrame { // Clause 5.1.3.4

				group typeT1Data { // Clause 5.1.3.4.1
@@ -434,6 +435,8 @@ module dPMR_TestCases {
					} // end TC_PMR_0801_01

				} // end group Voice 
			} // end group GroupSuperFrame
		} // end group Framing

			group LateEntry { // Clause 5.1.4

@@ -550,13 +553,146 @@ module dPMR_TestCases {
				
			} // end group LateEntry

			group Powersave {// Clause 5.1.5

			} // end group GroupSuperFrame
				testcase TC_PMR_1101_01(   )
				runs on ServerSyncComp
				system TestAdapter {
			      	var Mse v_mse;
					var Ut v_ut;
					var FncRetCode v_ret := e_success;

		} // end group Framing
					//Configuration Up
					f_cfMseUp(v_mse, v_ut);

					//Test body
					v_mse.start(f_TC_voiceTxCheckPowerSavePreambleAndCallInfoExtHeader_MS01());
					if (PIC_ISF_OR_CSF == e_isf) {
						v_ut.start(f_TC_msAction_UT(
										m_commandISFCSF_utRequest(	
											omit , 
											c_defaultCommonId,
											e_makeMSPowersaveAndPressPtt)));
					} else {
						v_ut.start(f_TC_msAction_UT(
										m_commandISFCSF_utRequest(	
											c_defaultCallGroup, 
											omit , 
											e_makeMSPowersaveAndPressPtt)));
					}

	} // end group HeaderFrames
	
					// synchronize both PTCs
					f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
	
					// Configuration Down
					f_cfMseDown(v_mse, v_ut);
				} // end TC_PMR_1101_01

				testcase TC_PMR_1102_01(   )
				runs on ServerSyncComp
				system TestAdapter {
			      	var Mse v_mse;
					var Ut v_ut;
					var FncRetCode v_ret := e_success;

					//Configuration Up
					f_cfMseUp(v_mse, v_ut);

					//Test body
					v_mse.start(f_TC_voiceTxCheckPowerSavePreambleAndCallInfoExtHeader_MS01());
					if (PIC_ISF_OR_CSF == e_isf) {
						v_ut.start(f_TC_msAction_UT(
										m_commandISFCSF_utRequest(	
											omit , 
											c_defaultCommonId,
											e_makeMSPowersaveAndPressPtt)));
					} else {
						v_ut.start(f_TC_msAction_UT(
										m_commandISFCSF_utRequest(	
											c_defaultCallGroup, 
											omit , 
											e_makeMSPowersaveAndPressPtt)));
					}

	
					// synchronize both PTCs
					f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
	
					// Configuration Down
					f_cfMseDown(v_mse, v_ut);

				} // end TC_PMR_1102_01

				testcase TC_PMR_1103_01(   )
				runs on ServerSyncComp
				system TestAdapter {
			      	var Mse v_mse;
					var Ut v_ut;
					var FncRetCode v_ret := e_success;

					//Configuration Up
					f_cfMseUp(v_mse, v_ut);

					//Test body
					v_mse.start(f_TC_voiceTxCheckPowersaveCallInfoExtHeaders15_MS01());
					if (PIC_ISF_OR_CSF == e_isf) {
						v_ut.start(f_TC_msAction_UT(
										m_commandISFCSF_utRequest(	
											omit , 
											c_defaultCommonId,
											e_makeMSPowersave15ExtHdrsAndPressPtt)));
					} else {
						v_ut.start(f_TC_msAction_UT(
										m_commandISFCSF_utRequest(	
											c_defaultCallGroup, 
											omit , 
											e_makeMSPowersave15ExtHdrsAndPressPtt)));
					}

	
					// synchronize both PTCs
					f_serverSync2ClientsAndStop({c_prDone, c_tbDone});
	
					// Configuration Down
					f_cfMseDown(v_mse, v_ut);

				} // end TC_PMR_1102_01

			} // end group Powersave

			group TalkingParty_ID {// Clause 5.1.6
			} // end group TalkingParty_ID


	} // end group IsfCsfCommon

	group CSF_only {// Clause 5.2
		group BroadcastCall { // Clause 5.2.1
		} // end group BroadcastCall
		group DialingPlan { // Clause 5.2.2
		} // end group DialingPlan
		group IndividualShortDataMessage { // Clause 5.2.3
			group ISDM_FreeTestMessage {// Clause 5.2.3.1
			} // end group ISDM_FreeTestMessage
			group ISDM_PrecodedMessage {// Clause 5.2.3.2
			} // end group ISDM_PrecodedMessage
			group ISDM_ShortFileTransfer {// Clause 5.2.3.3
			} // end group ISDM_ShortFileTransfer
			group ISDM_StatusMessage {// Clause 5.2.3.4
			} // end group ISDM_StatusMessage
		} // end group IndividualShortDataMessage
		group OACSU { // Clause 5.2.4
		} // end group OACSU
		group ShortAppendedData { // Clause 5.2.5
		} // end group ShortAppendedData
		group SlowUserData { // Clause 5.2.6
		} // end group SlowUserData
		group Type3Data { // Clause 5.2.7
		} // end group Type3Data
	} // end group CSF_only
	group ISF_only {// Clause 5.3
	} // end group ISF_only

	group commonTCFunctions {
	
@@ -833,6 +969,168 @@ module dPMR_TestCases {

		} // end function f_TC_voiceTx_MS01

		/**
		* @desc	Check that a voice transmission from the Powersaved MS (IUT) consists of extHeaders, a Header Frame, a list of
		*       Super Frames, and an End Frame, with Preable correct and CI type set to '111'
		*/
		function f_TC_voiceTxCheckPowerSavePreambleAndCallInfoExtHeader_MS01 (  )
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var UInt16 v_sfCount := 0;
			var default v_defvar;

			//Test System Parameters
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_voice));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_voiceorT1orT2PayloadTransmissionPowersave(
									mw_extHeaderFrameList(
										m_headerFrame(
											mw_extHeaderInformationTx(
												vc_mse.testerId, 
												vc_mse.iutId, 
												e_voice, 
												e_p2p,
												mw_extHeaderCallInformation),
											vc_mse.colourCode)),
									m_headerFrame(
										mw_headerInformationTx(
											vc_mse.testerId, 
											vc_mse.iutId, 
											e_voice, 
											e_p2p),
					                	vc_mse.colourCode),
									mw_superFrameList_OneOrManyElem(
										m_superFrame(
											mw_frame1Voice(vc_mse.testerIdUP ),
				            	       		mw_frame2Voice(vc_mse.testerIdLP, vc_mse.colourCode),
											mw_frame3Voice(vc_mse.iutIdUP),
											mw_frame4Voice(vc_mse.iutIdLP,vc_mse.colourCode))),
									m_endFrame(mw_endInformation(e_noAckReq)))) 
 				{
					// received correctly
					tc_ac.stop ;
					setverdict(pass);
				}
			[] tc_ac.timeout
			  	{
					log("**** f_TC_voiceTx_MS01: Timeout: TC Timer expiration before reception of complete Voice transmission ****");
					setverdict(fail);	
				}
			} // end alt
			f_clientSyncAndVerdict(c_tbDone, v_ret);

			deactivate;

		} // end function f_TC_voiceTxCheckPowerSavePreamble_MS01

		/**
		* @desc	Check that a voice transmission from the powersaved 15 exthdrs 
		*		enabled MS (IUT) consists of a 15 exthdrs,Header Frame, a list of
		*       Super Frames, and an End Frame,
		*/
		function f_TC_voiceTxCheckPowersaveCallInfoExtHeaders15_MS01 (  )
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var UInt16 v_sfCount := 0;
			var default v_defvar;
			var PayloadTransmission v_payloadTransmission;
			var HeaderInformation v_headerInfo;
			var boolean v_testCaseOk;
			//Test System Parameters
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_voice));

			//Preamble
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_voiceorT1orT2PayloadTransmissionPowersave(
									mw_extHeaderFrameList(
										m_headerFrame(
											mw_extHeaderInformationTx(
												vc_mse.testerId, 
												vc_mse.iutId, 
												e_voice, 
												e_p2p,
												mw_extHeaderCallInformation),
											vc_mse.colourCode)),
									m_headerFrame(
										mw_headerInformationTx(
											vc_mse.testerId, 
											vc_mse.iutId, 
											e_voice, 
											e_p2p),
					                	vc_mse.colourCode),
									mw_superFrameList_OneOrManyElem(
										m_superFrame(
											mw_frame1Voice(vc_mse.testerIdUP ),
				            	       		mw_frame2Voice(vc_mse.testerIdLP, vc_mse.colourCode),
											mw_frame3Voice(vc_mse.iutIdUP),
											mw_frame4Voice(vc_mse.iutIdLP,vc_mse.colourCode))),
									m_endFrame(mw_endInformation(e_noAckReq)))) -> value v_payloadTransmission
 				{
					// received correctly
					tc_ac.stop ;
					// check there are 15 extheaders
					if (sizeof(v_payloadTransmission.extHdrFrameList) != 15)
					{
						log("**** f_TC_voiceTxCheckPowerCallInfoExtHeaders15_MS01: 15 extended headers not received ****");
						setverdict(fail);	
					}
					else
					{
						// received 15 ok, lets check they are decreasing //TODO JP should we consider headerInformation1 as well?
						v_testCaseOk := true;
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[0].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame15);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[1].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame14);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[2].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame13);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[3].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame12);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[4].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame11);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[5].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame10);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[6].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame9);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[7].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame8);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[8].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame7);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[9].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame6);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[10].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame5);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[11].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame4);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[12].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame3);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[13].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame2);
						v_testCaseOk := v_testCaseOk and (v_payloadTransmission.extHdrFrameList[14].headerInformation0.callInformation.ciInformationNormalOrPws.ciInfoNormalOrPws.ciInformationPws == e_extHdrFrame1);
						if (not v_testCaseOk)
						{
							log("**** f_TC_voiceTxCheckPowerCallInfoExtHeaders15_MS01: The 15 extended headers received were not in exact decreasing order. ****");
							setverdict(fail);	
						}
						setverdict(pass);
					}
				}
			[] tc_ac.timeout
			  	{
					log("**** f_TC_voiceTxCheckPowerCallInfoExtHeaders15_MS01: Timeout: TC Timer expiration before reception of complete Voice transmission ****");
					setverdict(fail);	
				}
			} // end alt
			f_clientSyncAndVerdict(c_tbDone, v_ret);

			deactivate;

		} // end function f_TC_voiceTxCheckPowersaveCallInfoExtHeaders15_MS01

		/**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
		*       Super Frames, and an End Frame, Check the Communicationsmode and the Communications Format
@@ -1280,7 +1578,7 @@ module dPMR_TestCases {

		} // end function f_TC_disconnectionRequestTx_MS01
		
	}//end commonTCFunctions
	}//end group commonTCFunctions


	group ut_TC_Functions {
+3 −0
Original line number Diff line number Diff line
@@ -21,6 +21,9 @@ module dPMR_TestConfiguration {

group configFns {

	/*
	 * @remark This function implements the CF_dPMR_01 configuration
	 */
	function f_cfMseUp(
		out Mse p_mse, 
		out Ut p_ut)
+86 −2
Original line number Diff line number Diff line
@@ -18,8 +18,92 @@ module dPMR_TestExecution {

	control{

		// Group:  TODO grouping with comments-way
		if (PIC_ISF_OR_CSF == e_isf) {execute(TC_PMR_0824_01(  ) );}
		// group IsfCsfCommon { // Clause 5.1 
			//	group AllCall { // Clause 5.1.1
				if ((PIC_ISF_OR_CSF == e_isf) and PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_0824_01() );}

				if ((PIC_ISF_OR_CSF == e_isf) and PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_0824_03() );}

		// Group ChannelAccess  
		//	group Framing {// Clause 5.1.3
			if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_0401_01() );}

			if ((PIC_ISF_OR_CSF == e_csf) and PIC_MANUAL_CONNECTION_REQUEST) {execute(TC_PMR_0405_01() );}

			if ((PIC_ISF_OR_CSF == e_csf) and 
				PIC_AUTOMATIC_CONNECTION_REQUEST and
				PIC_CSF_VOICE_SUPPORT) 					{execute(TC_PMR_0405_02() );}

			if ((PIC_ISF_OR_CSF == e_csf) and PIC_CSF_VOICE_SUPPORT) {execute(TC_PMR_0406_01() );} //TODO remark that voice support is perhaps optional according to Pete

			if ((PIC_ISF_OR_CSF == e_csf) and PIC_CSF_TYPE_1_DATA_SUPPORT) {execute(TC_PMR_0406_02() );} 

			if ((PIC_ISF_OR_CSF == e_csf) and PIC_MANUAL_DISCONNECTION_REQUEST) {execute(TC_PMR_0407_01() );}

			if ((PIC_ISF_OR_CSF == e_csf) and PIC_CSF_TYPE_1_DATA_SUPPORT and PIC_AUTOMATIC_DISCONNECTION_REQUEST) {execute(TC_PMR_0407_02() );}

			if ((PIC_ISF_OR_CSF == e_csf) and PIC_CSF_VOICE_SUPPORT) {execute(TC_PMR_0811_01() );} // TODO JP perhaps change this to 0811_XX to loop through all colour codes


			//	group HeaderFrames { // Clause 5.1.3.2
			if ((PIC_ISF_OR_CSF == e_csf) and PIC_CSF_TYPE_3_DATA_SUPPORT) {execute(TC_PMR_0816_01() );} 
			//	}// end group HeaderFrames
			//	group GroupSuperFrame { // Clause 5.1.3.4
				//	group typeT1Data { // Clause 5.1.3.4.1
				if (PIC_CSF_TYPE_1_DATA_SUPPORT) {execute(TC_PMR_0807_01() );} 
				//	} // end group typeT1Data
				//	group typeT2Data { // Clause 5.1.3.4.1
				if (PIC_CSF_TYPE_2_DATA_SUPPORT) {execute(TC_PMR_0806_01() );} 
				//	} // end group typeT2Data
				//	group Voice { // Clause 5.1.3.4.3

				//	} // end group Voice
			//	} // end group GroupSuperFrame
		//	} // end group Framing
		//	group LateEntry { // Clause 5.1.4
				if (PIC_CSF_VOICE_SS_LATE_ENTRY or PIC_ISF_LATE_ENTRY) {execute(TC_PMR_0802_01() );} 
				if (PIC_CSF_VOICE_SS_LATE_ENTRY or PIC_ISF_LATE_ENTRY) {execute(TC_PMR_0802_02() );} 
				if (PIC_CSF_VOICE_SS_LATE_ENTRY or PIC_ISF_LATE_ENTRY) {execute(TC_PMR_0802_03() );} 
		//	} // end group LateEntry
		//	group Powersave {// Clause 5.1.5

				if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_1101_01() );}
				if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_1102_01() );}
				if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_1103_01() );}

		//	} // end group Powersave
		//	group TalkingParty_ID {// Clause 5.1.6
		//	} // end group TalkingParty_ID
		//} // end group IsfCsfCommon

		//group CSF_only {// Clause 5.2
		//	group BroadcastCall { // Clause 5.2.1
		//	} // end group BroadcastCall
		//	group DialingPlan { // Clause 5.2.2
		//	} // end group DialingPlan
		//	group IndividualShortDataMessage { // Clause 5.2.3
		//		group ISDM_FreeTestMessage {// Clause 5.2.3.1
		//		} // end group ISDM_FreeTestMessage
		//		group ISDM_PrecodedMessage {// Clause 5.2.3.2
		//		} // end group ISDM_PrecodedMessage
		//		group ISDM_ShortFileTransfer {// Clause 5.2.3.3
		//		} // end group ISDM_ShortFileTransfer
		//		group ISDM_StatusMessage {// Clause 5.2.3.4
		//		} // end group ISDM_StatusMessage
		//	} // end group IndividualShortDataMessage
		//	group OACSU { // Clause 5.2.4
		//	} // end group OACSU
		//	group ShortAppendedData { // Clause 5.2.5
		//	} // end group ShortAppendedData
		//	group SlowUserData { // Clause 5.2.6
		//	} // end group SlowUserData
		//	group Type3Data { // Clause 5.2.7
		//	} // end group Type3Data
		//} // end group CSF_only
		//group ISF_only {// Clause 5.3
		//} // end group ISF_only


		if (PIC_ISF_OR_CSF == e_csf) {execute( TC_PMR_0406_01() );}
		// Group:
		execute(TC_PMR_0801_01(  ) );
Loading