Loading ttcn/dPMR_Functions.ttcn +20 −0 Original line number Diff line number Diff line Loading @@ -377,8 +377,28 @@ group UtilityFunctions { } } /* * @desc f_getWrongColourCode returns wrong colourcode i.e. != inparam * * @param ColourCode */ function f_getWrongColourCode(ColourCode p_cc) return ColourCode { var ColourCode v_retcc; if (PIC_ISF_OR_CSF == e_isf) { if (p_cc.isfColourCode != c_grpAcf1) { v_retcc.isfColourCode :=c_grpAcf1; } } else { if (p_cc.csfColourCode != c_grpBcf1) { v_retcc.csfColourCode :=c_grpBcf1; } } return v_retcc; } } //end UtilityFunctions group UtFunctions { /** Loading ttcn/dPMR_Templates.ttcn +17 −1 Original line number Diff line number Diff line Loading @@ -736,9 +736,25 @@ ) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := omit signalLevel := omit, colourCode := omit, taActParams := e_taStandby } template TaRequest m_interfereOnWrongCC(ChannelNumber p_channelNumber, Int8 p_signalLevel, ColourCode p_cc, TaActParams p_taAction) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := p_signalLevel, colourCode := p_cc, taActParams := p_taAction } } Loading ttcn/dPMR_TestCases.ttcn +60 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ module dPMR_TestCases { f_cfMseUp(v_mse, v_ut); //Test body // v_mse.start(f_TC_transmitOnWrongCCAndReceiveVoice_MS01()); // TODO TODO implement!!! v_mse.start(f_TC_transmitOnWrongCCAndReceiveVoice_MS01()); // TODO TODO implement!!! if (PIC_ISF_OR_CSF == e_isf) { v_ut.start(f_TC_msAction_UT(e_politeToOwnCC, m_commandISFCSF_utRequest( omit , c_defaultCommonId, Loading Loading @@ -2981,6 +2981,65 @@ module dPMR_TestCases { } // end function f_TC_voiceTx_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, TA shall emmit on voice -102dBm and on WRONG colour code */ function f_TC_transmitOnWrongCCAndReceiveVoice_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 v_ret := f_handshake_Ta(m_interfereOnWrongCC( f_getChannelNrFromColourCode( vc_mse.colourCode), c_102dBm, f_getWrongColourCode(vc_mse.colourCode),e_continousVoiceOnChannelWithWrongCC )); 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, 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_voiceTx_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 ttcn/dPMR_TestExecution.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ module dPMR_TestExecution { // group ChannelAccess { // Clause 5.1.2 if (PIC_MS_POLITE_OWN_CC) {execute(TC_PMR_1004_01() );} //} // group Framing {// Clause 5.1.3 if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_0401_01() );} Loading ttcn/dPMR_Types.ttcn +11 −1 Original line number Diff line number Diff line Loading @@ -498,7 +498,10 @@ module dPMR_Types { type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission Int8 signalLevel optional //in units of dBM Int8 signalLevel optional, // in units of dBM ColourCode colourCode optional, // set the colourcode TaActParams taActParams optional // Instruction for the test adapter //only for CSF special instruction to test adpter to create and execute voice alls in addition to the voice calls controlled by TTCN // testerAddress //iutId , msAddress Loading Loading @@ -540,6 +543,13 @@ module dPMR_Types { e_ta_success, e_ta_noSuccess } /** * @desc Collection of commands to be executed by test adapter */ type enumerated TaActParams { e_taStandby (0), //Please use default values... e_continousVoiceOnChannelWithWrongCC (1) // send cont voice on channel, with wrong cc } /** * @desc Collection of commands to be executed by test operator Loading Loading
ttcn/dPMR_Functions.ttcn +20 −0 Original line number Diff line number Diff line Loading @@ -377,8 +377,28 @@ group UtilityFunctions { } } /* * @desc f_getWrongColourCode returns wrong colourcode i.e. != inparam * * @param ColourCode */ function f_getWrongColourCode(ColourCode p_cc) return ColourCode { var ColourCode v_retcc; if (PIC_ISF_OR_CSF == e_isf) { if (p_cc.isfColourCode != c_grpAcf1) { v_retcc.isfColourCode :=c_grpAcf1; } } else { if (p_cc.csfColourCode != c_grpBcf1) { v_retcc.csfColourCode :=c_grpBcf1; } } return v_retcc; } } //end UtilityFunctions group UtFunctions { /** Loading
ttcn/dPMR_Templates.ttcn +17 −1 Original line number Diff line number Diff line Loading @@ -736,9 +736,25 @@ ) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := omit signalLevel := omit, colourCode := omit, taActParams := e_taStandby } template TaRequest m_interfereOnWrongCC(ChannelNumber p_channelNumber, Int8 p_signalLevel, ColourCode p_cc, TaActParams p_taAction) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := p_signalLevel, colourCode := p_cc, taActParams := p_taAction } } Loading
ttcn/dPMR_TestCases.ttcn +60 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ module dPMR_TestCases { f_cfMseUp(v_mse, v_ut); //Test body // v_mse.start(f_TC_transmitOnWrongCCAndReceiveVoice_MS01()); // TODO TODO implement!!! v_mse.start(f_TC_transmitOnWrongCCAndReceiveVoice_MS01()); // TODO TODO implement!!! if (PIC_ISF_OR_CSF == e_isf) { v_ut.start(f_TC_msAction_UT(e_politeToOwnCC, m_commandISFCSF_utRequest( omit , c_defaultCommonId, Loading Loading @@ -2981,6 +2981,65 @@ module dPMR_TestCases { } // end function f_TC_voiceTx_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, TA shall emmit on voice -102dBm and on WRONG colour code */ function f_TC_transmitOnWrongCCAndReceiveVoice_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 v_ret := f_handshake_Ta(m_interfereOnWrongCC( f_getChannelNrFromColourCode( vc_mse.colourCode), c_102dBm, f_getWrongColourCode(vc_mse.colourCode),e_continousVoiceOnChannelWithWrongCC )); 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, 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_voiceTx_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
ttcn/dPMR_TestExecution.ttcn +2 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ module dPMR_TestExecution { // group ChannelAccess { // Clause 5.1.2 if (PIC_MS_POLITE_OWN_CC) {execute(TC_PMR_1004_01() );} //} // group Framing {// Clause 5.1.3 if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_0401_01() );} Loading
ttcn/dPMR_Types.ttcn +11 −1 Original line number Diff line number Diff line Loading @@ -498,7 +498,10 @@ module dPMR_Types { type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission Int8 signalLevel optional //in units of dBM Int8 signalLevel optional, // in units of dBM ColourCode colourCode optional, // set the colourcode TaActParams taActParams optional // Instruction for the test adapter //only for CSF special instruction to test adpter to create and execute voice alls in addition to the voice calls controlled by TTCN // testerAddress //iutId , msAddress Loading Loading @@ -540,6 +543,13 @@ module dPMR_Types { e_ta_success, e_ta_noSuccess } /** * @desc Collection of commands to be executed by test adapter */ type enumerated TaActParams { e_taStandby (0), //Please use default values... e_continousVoiceOnChannelWithWrongCC (1) // send cont voice on channel, with wrong cc } /** * @desc Collection of commands to be executed by test operator Loading