Loading ttcn/dPMR_Pics.ttcn +0 −6 Original line number Diff line number Diff line Loading @@ -238,12 +238,6 @@ module dPMR_Pics { modulepar {boolean PIC_CSF_GROUP_VOICE_SS_LATE_ENTRY := true} /** * @desc Is the CSF Group Voice Supp Services OACSU? * @remark see PICS, Table A.11/2. */ modulepar {boolean PIC_CSF_GROUP_VOICE_SS_OACSU := true} /** * @desc Is the CSF Group Voice Supp Services Cancel Call Setup? * @remark see PICS, Table A.11/3. Loading ttcn/dPMR_Templates.ttcn +43 −20 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ } // end group VoiceFrameGroup template SlowData m_slowDataT1Data (DataPosition p_dataPos, template SlowData m_slowData ( DataPosition p_dataPos, DataFormat p_dataFormat, ContFlag p_contFlag, DataLength p_dataLength) := { Loading @@ -210,6 +210,19 @@ } } template SlowData mw_slowData ( in template DataPosition p_dataPos, in template DataFormat p_dataFormat, in template ContFlag p_contFlag, in template DataLength p_dataLength) := { slowDataInDataT1OrT2 := { reserved5bit := '00000'B, dataPosition := p_dataPos, format := p_dataFormat, contFlag := p_contFlag, dataLength := p_dataLength } } group T3DataFrameGroup { template PacketFrame mw_packetDataFrame (ColourCode p_cc) := { colourCode := p_cc, Loading Loading @@ -288,51 +301,61 @@ payload := p_payload } // end tamplate m_frame4T1Data template Frame1 mw_frame1dataT1 ( CalledIdUP p_calledIdUP ) := { template Frame1 mw_frame1dataT1orT2 ( CalledIdUP p_calledIdUP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { frameSync := c_fs2, frameNumber := e_frame1, calledIdUP := p_calledIdUP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, slowData := p_slowData, payload := ? } // end template mw_frame1Voice } // end template mw_frame1dataT1orT2 template Frame2 mw_frame2dataT1 ( CalledIdLP p_calledIdLP, ColourCode p_cc) := { template Frame2 mw_frame2dataT1orT2 ( ColourCode p_cc, CalledIdLP p_calledIdLP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { colourCode := p_cc, frameNumber := e_frame2, calledIdLP := p_calledIdLP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := ?, slowData := p_slowData, payload := ? } // end template mw_frame2Voice } // end template mw_frame2dataT1orT2 template Frame3 mw_frame3dataT1 ( OwnIdUP p_ownIdUP ) := { template Frame3 mw_frame3dataT1orT2 ( OwnIdUP p_ownIdUP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { frameSync := c_fs2, frameNumber := e_frame3, ownIdUP := p_ownIdUP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := ?, slowData := p_slowData, payload := ? } // end template mw_frame3Voice } // end template mw_frame3dataT1orT2 template Frame4 mw_frame4dataT1 ( OwnIdLP p_ownIdLP, ColourCode p_cc) := { template Frame4 mw_frame4dataT1orT2 ( ColourCode p_cc, OwnIdLP p_ownIdLP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { colourCode := p_cc, frameNumber := e_frame4, ownIdLP := p_ownIdLP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := ?, slowData := p_slowData, payload := ? } // end template mw_frame4Voice } // end template mw_frame4dataT1orT2 } // end Group T1T2DataFrameGroup Loading ttcn/dPMR_TestCases.ttcn +241 −23 Original line number Diff line number Diff line Loading @@ -161,9 +161,9 @@ module dPMR_TestCases { f_cfMseUp(v_mse, v_ut); //Test body v_mse.start(f_TC_voiceWithAutomaticConnectionRequestTx_MS01()); v_mse.start(f_TC_voiceWithAutomaticConnectionRequestOnlyCheckFramesTx_MS01()); v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeVoiceWithAutmaticConnectionRequest))); e_makeOACSUCall))); Loading Loading @@ -867,8 +867,68 @@ module dPMR_TestCases { } // end group DialingPlan group IndividualShortDataMessage { // Clause 5.2.3 group ISDM_FreeTestMessage {// Clause 5.2.3.1 /** * t2 data transmission ISDM Free text message */ testcase TC_PMR_0852_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_T1orT2DataTx_MS01( e_dataT2, mw_slowData(?,e_freeTextMessage,?,?))); v_ut.start(f_TC_msAction_UT( m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeT2DataCallWithFreeTextMessage))); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); // Configuration Down f_cfMseDown(v_mse, v_ut); } // end TC_PMR_0852_01 } // end group ISDM_FreeTestMessage group ISDM_PrecodedMessage {// Clause 5.2.3.2 /** * T2 data transmission ISDM Precoded message */ testcase TC_PMR_0851_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_T1orT2DataTx_MS01( e_dataT2, mw_slowData(?,e_precodedMessage,?,?))); v_ut.start(f_TC_msAction_UT( m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeT2DataCallWithFreeTextMessage))); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); // Configuration Down f_cfMseDown(v_mse, v_ut); } // end TC_PMR_0851_01 } // end group ISDM_PrecodedMessage group ISDM_ShortFileTransfer {// Clause 5.2.3.3 } // end group ISDM_ShortFileTransfer Loading @@ -876,6 +936,34 @@ module dPMR_TestCases { } // end group ISDM_StatusMessage } // end group IndividualShortDataMessage group OACSU { // Clause 5.2.4 /** * header and end frame in automatic connection request */ testcase TC_PMR_0840_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_voiceWithAutomaticConnectionRequestTx_MS01()); v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeOACSUCall))); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); // Configuration Down f_cfMseDown(v_mse, v_ut); } // end TC_PMR_0840_01 } // end group OACSU group ShortAppendedData { // Clause 5.2.5 } // end group ShortAppendedData Loading Loading @@ -1153,27 +1241,27 @@ module dPMR_TestCases { m_superFrame( m_frame1T1Data( vc_mse.testerIdUP, m_T1Payload(PXT_DATA_T1_F1), m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_continueAfterFrame, PXT_DATA_T1_F1_length)), m_frame2T1Data( vc_mse.testerIdLP, m_T1Payload(PXT_DATA_T1_F2), vc_mse.colourCode, m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_continueAfterFrame, PXT_DATA_T1_F2_length)), m_frame3T1Data( vc_mse.iutIdUP, m_T1Payload(PXT_DATA_T1_F3), m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_continueAfterFrame, PXT_DATA_T1_F3_length)), m_frame4T1Data( vc_mse.iutIdLP, m_T1Payload(PXT_DATA_T1_F4), vc_mse.colourCode, m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_finishAfterFrame, PXT_DATA_T1_F4_length)))), Loading Loading @@ -1645,6 +1733,51 @@ module dPMR_TestCases { } // end function f_TC_T3DataHeaderTx_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, */ function f_TC_voiceWithAutomaticConnectionRequestOnlyCheckFramesTx_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_callSetUpOrServiceRequest( m_headerFrame(?,vc_mse.colourCode), m_endFrame(?))) { // got the connection request tc_ac.stop ; setverdict(pass); } [] tc_ac.timeout { log("**** f_TC_VoiceWithAutomaticConnectionRequestTx_MS01: Timeout: TC Timer expiration before reception of Connection Request ****"); setverdict(fail); } } // end alt f_clientSyncAndVerdict(c_tbDone, v_ret); deactivate; } // end function f_TC_voiceWithAutomaticConnectionRequestTx_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, Loading Loading @@ -1725,15 +1858,29 @@ module dPMR_TestCases { mw_headerInformationTx( vc_mse.testerId, vc_mse.iutId, e_voice, e_dataT1, 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))), mw_frame1dataT1orT2( vc_mse.testerIdUP, e_dataT1, mw_slowData(?,?,?,?)), mw_frame2dataT1orT2( vc_mse.colourCode, vc_mse.testerIdLP, e_dataT1, mw_slowData(?,?,?,?)), mw_frame3dataT1orT2( vc_mse.iutIdUP, e_dataT1, mw_slowData(?,?,?,?)), mw_frame4dataT1orT2( vc_mse.colourCode, vc_mse.iutIdLP, e_dataT1, mw_slowData(?,?,?,?)))), m_endFrame(mw_endInformation(e_noAckReq)))) { // received correctly Loading Loading @@ -1764,6 +1911,77 @@ module dPMR_TestCases { } // end function f_TC_T1DataWithAutomaticDisconnectionRequestTx_MS01 /** * @desc receive data on T1 or T23 transmission from the MS (IUT) , check that SLD fields ok */ function f_TC_T1orT2DataTx_MS01 ( CommunicationsMode p_commMode, in template SlowData p_slowData) 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, p_commMode)); //Preamble f_clientSyncAndVerdict(c_prDone, v_ret); //Test Body tc_ac.start ; alt { [] dp1Port.receive( m_voiceorT1orT2PayloadTransmission( m_headerFrame( mw_headerInformationTx( vc_mse.testerId, vc_mse.iutId, p_commMode, e_p2p), vc_mse.colourCode), mw_superFrameList_OneOrManyElem( m_superFrame( mw_frame1dataT1orT2( vc_mse.testerIdUP, p_commMode, p_slowData), mw_frame2dataT1orT2( vc_mse.colourCode, vc_mse.testerIdLP, p_commMode, p_slowData), mw_frame3dataT1orT2( vc_mse.iutIdUP, p_commMode, p_slowData), mw_frame4dataT1orT2( vc_mse.colourCode, vc_mse.iutIdLP, p_commMode, p_slowData))), m_endFrame(mw_endInformation(e_noAckReq)))) { // received correctly tc_ac.stop; setverdict(pass); } [] tc_ac.timeout { log("**** f_TC_T1orT2DataTx_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_T1orT2DataTx_MS01 /** * @desc Check that a data on T1 transmission from the MS (IUT) consists of * a Header Frame containing the Communication Mode set to '010b' Loading ttcn/dPMR_TestExecution.ttcn +12 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ module dPMR_TestExecution { if ((PIC_ISF_OR_CSF == e_csf) and PIC_AUTOMATIC_CONNECTION_REQUEST and PIC_CSF_VOICE_SUPPORT) {execute(TC_PMR_0405_02() );} PIC_CSF_VOICE_SUPPORT and PIC_CSF_VOICE_SS_OACSU) {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 Loading Loading @@ -92,8 +92,14 @@ module dPMR_TestExecution { // } // end group DialingPlan // group IndividualShortDataMessage { // Clause 5.2.3 // group ISDM_FreeTestMessage {// Clause 5.2.3.1 if (PIC_CSF_T2Data_SS_GROUP_FREETEXT_MESSAGE) {execute(TC_PMR_0852_01() );} // } // end group ISDM_FreeTestMessage // group ISDM_PrecodedMessage {// Clause 5.2.3.2 if (PIC_CSF_T2Data_SS_GROUP_PRECODED_MESSAGE) {execute(TC_PMR_0851_01() );} // } // end group ISDM_PrecodedMessage // group ISDM_ShortFileTransfer {// Clause 5.2.3.3 // } // end group ISDM_ShortFileTransfer Loading @@ -101,6 +107,9 @@ module dPMR_TestExecution { // } // end group ISDM_StatusMessage // } // end group IndividualShortDataMessage // group OACSU { // Clause 5.2.4 if (PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0840_01() );} // } // end group OACSU // group ShortAppendedData { // Clause 5.2.5 // } // end group ShortAppendedData Loading @@ -118,8 +127,8 @@ module dPMR_TestExecution { execute(TC_PMR_0801_01( ) ); if (PIC_ISF_OR_CSF == e_csf and PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0405_02( ) );} // if (PIC_ISF_OR_CSF == e_csf // and PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0405_02( ) );} // TODO TO BE DONE Loading ttcn/dPMR_Types.ttcn +4 −2 Original line number Diff line number Diff line Loading @@ -528,7 +528,7 @@ module dPMR_Types { e_testToneNotReceived (3) , //Have you NOT heard a test tone? e_makeManualConnectionRequest (4), // Make a manual Connection Request e_makeVoiceWithAutmaticConnectionRequest (5), // Make a voice with Automatic Connection Request e_makeOACSUCall (5), // Make a voice with Automatic Connection Request e_makeManualDisconnectionRequest (6), // Make a manual Disconnection Request e_makeT1DataWithAutomaticDisconnectionRequest (7), // Make a T1 data with Automatic Disconnection Request e_makeT1DataCall (8), // Make a T1 data call Loading @@ -538,7 +538,9 @@ module dPMR_Types { e_enableTalkingPartyIDAndCheckThatTESTER_IdIsPresented (12), // check that the incoming call have the TESTER ID displayed (CSF:address or ISF:COMMON_ID) e_makeABroadcastCall (13), // Make a Broadcast call (All Call) e_enterDialStrinDoNotPressSendOrHash (14), // enter the dialstring, but dont press send or "#" e_enterDialStringAndPressSendKeyOrHash (15) // enter the dialstring, then press send or "#" e_enterDialStringAndPressSendKeyOrHash (15), // enter the dialstring, then press send or "#" e_makeT2DataCallWithFreeTextMessage (16), // Make a dataCall with a Free Text Message e_makeT2DataCallWithAPrecodedMessage (17) // Make a dataCall with a Free Text Message } // ------------ MS configuration parameters --------------- Loading Loading
ttcn/dPMR_Pics.ttcn +0 −6 Original line number Diff line number Diff line Loading @@ -238,12 +238,6 @@ module dPMR_Pics { modulepar {boolean PIC_CSF_GROUP_VOICE_SS_LATE_ENTRY := true} /** * @desc Is the CSF Group Voice Supp Services OACSU? * @remark see PICS, Table A.11/2. */ modulepar {boolean PIC_CSF_GROUP_VOICE_SS_OACSU := true} /** * @desc Is the CSF Group Voice Supp Services Cancel Call Setup? * @remark see PICS, Table A.11/3. Loading
ttcn/dPMR_Templates.ttcn +43 −20 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ } // end group VoiceFrameGroup template SlowData m_slowDataT1Data (DataPosition p_dataPos, template SlowData m_slowData ( DataPosition p_dataPos, DataFormat p_dataFormat, ContFlag p_contFlag, DataLength p_dataLength) := { Loading @@ -210,6 +210,19 @@ } } template SlowData mw_slowData ( in template DataPosition p_dataPos, in template DataFormat p_dataFormat, in template ContFlag p_contFlag, in template DataLength p_dataLength) := { slowDataInDataT1OrT2 := { reserved5bit := '00000'B, dataPosition := p_dataPos, format := p_dataFormat, contFlag := p_contFlag, dataLength := p_dataLength } } group T3DataFrameGroup { template PacketFrame mw_packetDataFrame (ColourCode p_cc) := { colourCode := p_cc, Loading Loading @@ -288,51 +301,61 @@ payload := p_payload } // end tamplate m_frame4T1Data template Frame1 mw_frame1dataT1 ( CalledIdUP p_calledIdUP ) := { template Frame1 mw_frame1dataT1orT2 ( CalledIdUP p_calledIdUP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { frameSync := c_fs2, frameNumber := e_frame1, calledIdUP := p_calledIdUP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, slowData := p_slowData, payload := ? } // end template mw_frame1Voice } // end template mw_frame1dataT1orT2 template Frame2 mw_frame2dataT1 ( CalledIdLP p_calledIdLP, ColourCode p_cc) := { template Frame2 mw_frame2dataT1orT2 ( ColourCode p_cc, CalledIdLP p_calledIdLP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { colourCode := p_cc, frameNumber := e_frame2, calledIdLP := p_calledIdLP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := ?, slowData := p_slowData, payload := ? } // end template mw_frame2Voice } // end template mw_frame2dataT1orT2 template Frame3 mw_frame3dataT1 ( OwnIdUP p_ownIdUP ) := { template Frame3 mw_frame3dataT1orT2 ( OwnIdUP p_ownIdUP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { frameSync := c_fs2, frameNumber := e_frame3, ownIdUP := p_ownIdUP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := ?, slowData := p_slowData, payload := ? } // end template mw_frame3Voice } // end template mw_frame3dataT1orT2 template Frame4 mw_frame4dataT1 ( OwnIdLP p_ownIdLP, ColourCode p_cc) := { template Frame4 mw_frame4dataT1orT2 ( ColourCode p_cc, OwnIdLP p_ownIdLP, in template CommunicationsMode p_commsMode, in template SlowData p_slowData) := { colourCode := p_cc, frameNumber := e_frame4, ownIdLP := p_ownIdLP, communicationsMode := e_dataT1, communicationsMode := p_commsMode, commsFormat := ?, reserved2bit := c_reserved2bits, slowData := ?, slowData := p_slowData, payload := ? } // end template mw_frame4Voice } // end template mw_frame4dataT1orT2 } // end Group T1T2DataFrameGroup Loading
ttcn/dPMR_TestCases.ttcn +241 −23 Original line number Diff line number Diff line Loading @@ -161,9 +161,9 @@ module dPMR_TestCases { f_cfMseUp(v_mse, v_ut); //Test body v_mse.start(f_TC_voiceWithAutomaticConnectionRequestTx_MS01()); v_mse.start(f_TC_voiceWithAutomaticConnectionRequestOnlyCheckFramesTx_MS01()); v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeVoiceWithAutmaticConnectionRequest))); e_makeOACSUCall))); Loading Loading @@ -867,8 +867,68 @@ module dPMR_TestCases { } // end group DialingPlan group IndividualShortDataMessage { // Clause 5.2.3 group ISDM_FreeTestMessage {// Clause 5.2.3.1 /** * t2 data transmission ISDM Free text message */ testcase TC_PMR_0852_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_T1orT2DataTx_MS01( e_dataT2, mw_slowData(?,e_freeTextMessage,?,?))); v_ut.start(f_TC_msAction_UT( m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeT2DataCallWithFreeTextMessage))); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); // Configuration Down f_cfMseDown(v_mse, v_ut); } // end TC_PMR_0852_01 } // end group ISDM_FreeTestMessage group ISDM_PrecodedMessage {// Clause 5.2.3.2 /** * T2 data transmission ISDM Precoded message */ testcase TC_PMR_0851_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_T1orT2DataTx_MS01( e_dataT2, mw_slowData(?,e_precodedMessage,?,?))); v_ut.start(f_TC_msAction_UT( m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeT2DataCallWithFreeTextMessage))); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); // Configuration Down f_cfMseDown(v_mse, v_ut); } // end TC_PMR_0851_01 } // end group ISDM_PrecodedMessage group ISDM_ShortFileTransfer {// Clause 5.2.3.3 } // end group ISDM_ShortFileTransfer Loading @@ -876,6 +936,34 @@ module dPMR_TestCases { } // end group ISDM_StatusMessage } // end group IndividualShortDataMessage group OACSU { // Clause 5.2.4 /** * header and end frame in automatic connection request */ testcase TC_PMR_0840_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_voiceWithAutomaticConnectionRequestTx_MS01()); v_ut.start(f_TC_msAction_UT(m_commandCSF_utRequest( c_defaultPeerToPeerDialString , e_makeOACSUCall))); // synchronize both PTCs f_serverSync2ClientsAndStop({c_prDone, c_tbDone}); // Configuration Down f_cfMseDown(v_mse, v_ut); } // end TC_PMR_0840_01 } // end group OACSU group ShortAppendedData { // Clause 5.2.5 } // end group ShortAppendedData Loading Loading @@ -1153,27 +1241,27 @@ module dPMR_TestCases { m_superFrame( m_frame1T1Data( vc_mse.testerIdUP, m_T1Payload(PXT_DATA_T1_F1), m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_continueAfterFrame, PXT_DATA_T1_F1_length)), m_frame2T1Data( vc_mse.testerIdLP, m_T1Payload(PXT_DATA_T1_F2), vc_mse.colourCode, m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_continueAfterFrame, PXT_DATA_T1_F2_length)), m_frame3T1Data( vc_mse.iutIdUP, m_T1Payload(PXT_DATA_T1_F3), m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_continueAfterFrame, PXT_DATA_T1_F3_length)), m_frame4T1Data( vc_mse.iutIdLP, m_T1Payload(PXT_DATA_T1_F4), vc_mse.colourCode, m_slowDataT1Data( e_DataInFrame, m_slowData( e_DataInFrame, e_shortFileTransfer, e_finishAfterFrame, PXT_DATA_T1_F4_length)))), Loading Loading @@ -1645,6 +1733,51 @@ module dPMR_TestCases { } // end function f_TC_T3DataHeaderTx_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, */ function f_TC_voiceWithAutomaticConnectionRequestOnlyCheckFramesTx_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_callSetUpOrServiceRequest( m_headerFrame(?,vc_mse.colourCode), m_endFrame(?))) { // got the connection request tc_ac.stop ; setverdict(pass); } [] tc_ac.timeout { log("**** f_TC_VoiceWithAutomaticConnectionRequestTx_MS01: Timeout: TC Timer expiration before reception of Connection Request ****"); setverdict(fail); } } // end alt f_clientSyncAndVerdict(c_tbDone, v_ret); deactivate; } // end function f_TC_voiceWithAutomaticConnectionRequestTx_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, Loading Loading @@ -1725,15 +1858,29 @@ module dPMR_TestCases { mw_headerInformationTx( vc_mse.testerId, vc_mse.iutId, e_voice, e_dataT1, 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))), mw_frame1dataT1orT2( vc_mse.testerIdUP, e_dataT1, mw_slowData(?,?,?,?)), mw_frame2dataT1orT2( vc_mse.colourCode, vc_mse.testerIdLP, e_dataT1, mw_slowData(?,?,?,?)), mw_frame3dataT1orT2( vc_mse.iutIdUP, e_dataT1, mw_slowData(?,?,?,?)), mw_frame4dataT1orT2( vc_mse.colourCode, vc_mse.iutIdLP, e_dataT1, mw_slowData(?,?,?,?)))), m_endFrame(mw_endInformation(e_noAckReq)))) { // received correctly Loading Loading @@ -1764,6 +1911,77 @@ module dPMR_TestCases { } // end function f_TC_T1DataWithAutomaticDisconnectionRequestTx_MS01 /** * @desc receive data on T1 or T23 transmission from the MS (IUT) , check that SLD fields ok */ function f_TC_T1orT2DataTx_MS01 ( CommunicationsMode p_commMode, in template SlowData p_slowData) 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, p_commMode)); //Preamble f_clientSyncAndVerdict(c_prDone, v_ret); //Test Body tc_ac.start ; alt { [] dp1Port.receive( m_voiceorT1orT2PayloadTransmission( m_headerFrame( mw_headerInformationTx( vc_mse.testerId, vc_mse.iutId, p_commMode, e_p2p), vc_mse.colourCode), mw_superFrameList_OneOrManyElem( m_superFrame( mw_frame1dataT1orT2( vc_mse.testerIdUP, p_commMode, p_slowData), mw_frame2dataT1orT2( vc_mse.colourCode, vc_mse.testerIdLP, p_commMode, p_slowData), mw_frame3dataT1orT2( vc_mse.iutIdUP, p_commMode, p_slowData), mw_frame4dataT1orT2( vc_mse.colourCode, vc_mse.iutIdLP, p_commMode, p_slowData))), m_endFrame(mw_endInformation(e_noAckReq)))) { // received correctly tc_ac.stop; setverdict(pass); } [] tc_ac.timeout { log("**** f_TC_T1orT2DataTx_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_T1orT2DataTx_MS01 /** * @desc Check that a data on T1 transmission from the MS (IUT) consists of * a Header Frame containing the Communication Mode set to '010b' Loading
ttcn/dPMR_TestExecution.ttcn +12 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ module dPMR_TestExecution { if ((PIC_ISF_OR_CSF == e_csf) and PIC_AUTOMATIC_CONNECTION_REQUEST and PIC_CSF_VOICE_SUPPORT) {execute(TC_PMR_0405_02() );} PIC_CSF_VOICE_SUPPORT and PIC_CSF_VOICE_SS_OACSU) {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 Loading Loading @@ -92,8 +92,14 @@ module dPMR_TestExecution { // } // end group DialingPlan // group IndividualShortDataMessage { // Clause 5.2.3 // group ISDM_FreeTestMessage {// Clause 5.2.3.1 if (PIC_CSF_T2Data_SS_GROUP_FREETEXT_MESSAGE) {execute(TC_PMR_0852_01() );} // } // end group ISDM_FreeTestMessage // group ISDM_PrecodedMessage {// Clause 5.2.3.2 if (PIC_CSF_T2Data_SS_GROUP_PRECODED_MESSAGE) {execute(TC_PMR_0851_01() );} // } // end group ISDM_PrecodedMessage // group ISDM_ShortFileTransfer {// Clause 5.2.3.3 // } // end group ISDM_ShortFileTransfer Loading @@ -101,6 +107,9 @@ module dPMR_TestExecution { // } // end group ISDM_StatusMessage // } // end group IndividualShortDataMessage // group OACSU { // Clause 5.2.4 if (PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0840_01() );} // } // end group OACSU // group ShortAppendedData { // Clause 5.2.5 // } // end group ShortAppendedData Loading @@ -118,8 +127,8 @@ module dPMR_TestExecution { execute(TC_PMR_0801_01( ) ); if (PIC_ISF_OR_CSF == e_csf and PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0405_02( ) );} // if (PIC_ISF_OR_CSF == e_csf // and PIC_CSF_VOICE_SS_OACSU) {execute(TC_PMR_0405_02( ) );} // TODO TO BE DONE Loading
ttcn/dPMR_Types.ttcn +4 −2 Original line number Diff line number Diff line Loading @@ -528,7 +528,7 @@ module dPMR_Types { e_testToneNotReceived (3) , //Have you NOT heard a test tone? e_makeManualConnectionRequest (4), // Make a manual Connection Request e_makeVoiceWithAutmaticConnectionRequest (5), // Make a voice with Automatic Connection Request e_makeOACSUCall (5), // Make a voice with Automatic Connection Request e_makeManualDisconnectionRequest (6), // Make a manual Disconnection Request e_makeT1DataWithAutomaticDisconnectionRequest (7), // Make a T1 data with Automatic Disconnection Request e_makeT1DataCall (8), // Make a T1 data call Loading @@ -538,7 +538,9 @@ module dPMR_Types { e_enableTalkingPartyIDAndCheckThatTESTER_IdIsPresented (12), // check that the incoming call have the TESTER ID displayed (CSF:address or ISF:COMMON_ID) e_makeABroadcastCall (13), // Make a Broadcast call (All Call) e_enterDialStrinDoNotPressSendOrHash (14), // enter the dialstring, but dont press send or "#" e_enterDialStringAndPressSendKeyOrHash (15) // enter the dialstring, then press send or "#" e_enterDialStringAndPressSendKeyOrHash (15), // enter the dialstring, then press send or "#" e_makeT2DataCallWithFreeTextMessage (16), // Make a dataCall with a Free Text Message e_makeT2DataCallWithAPrecodedMessage (17) // Make a dataCall with a Free Text Message } // ------------ MS configuration parameters --------------- Loading