Loading ttcn/dPMR_Templates.ttcn +3 −10 Original line number Diff line number Diff line Loading @@ -752,26 +752,19 @@ channelNr := p_channelNumber, politeLvl := omit, signalLevel := omit, colourCode := omit, taActParams := e_taStandby colourCode := omit } template TaRequest m_interfereOnCC(ChannelNumber p_channelNumber, Int8 p_signalLevel, ColourCode p_cc, TaActParams p_taAction) := { ColourCode p_cc) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := p_signalLevel, colourCode := p_cc, taActParams := p_taAction colourCode := p_cc } } Loading ttcn/dPMR_Types.ttcn +314 −333 Original line number Diff line number Diff line Loading @@ -57,99 +57,43 @@ module dPMR_Types { group InformationElements { // 5.6 Frame numbering type enumerated FrameNumber { // 2 bits e_frame1 (0), e_frame2 (1), e_frame3 (3), e_frame4 (4) } with {encode "2 bits"} // 5.7 Communication mode type enumerated CommunicationsMode { // 3 bits e_voice (0), e_voiceSlowData (1), e_dataT1 (2), e_dataT2 (3), e_dataT3 (4), e_voiceDataT2 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "2 bits"} // 5.8 Communication format // 5.13 ARQ type enumerated CommsFormat { // 4 bits e_callAll (0), e_p2p (1), type enumerated AckRequest { // 2 bits e_noAckReq (0), e_AckReq (1), e_rsv2 (2), e_rsv3 (3), e_other (4) } with {encode "4 bits"} // 5.9 SLD format e_rsv3 (3) } with {encode "2 bit"} type union SlowData { SlowDataInVoice slowDataInVoice, SlowDataInDataT1OrT2 slowDataInDataT1OrT2 } type UInt8 ApplicableCommonId (1 .. 254); type record SlowDataInVoice { Continue cont1, UserData userData1, Continue cont2, UserData userData2 } // Called and Own Id types type Bit12 CalledIdUP; type Bit12 CalledIdLP; type enumerated Continue { // 1 bit e_continue (0), e_terminate (1) type union ChannelNumber { IsfChannelNr isfChannelNr, CsfChannelNr csfChannelNr } type Bit8 UserData; // 5.10 Call information type record SlowDataInDataT1OrT2 { Reserved5bit reserved5bit, DataPosition dataPosition, type record CiInfoNormalDataT1T2 { DataFormat format, ContFlag contFlag, DataLength dataLength Reserved4bit reserved4bit } type Bit6 DataLength; type enumerated DataPosition { // 2 bits e_NoDataInFrame (0), e_rsv1 (1), e_rsv2 (2), e_DataInFrame (3) } with {encode "2 bits"} type enumerated DataFormat { // 4 bits e_statusMessage (0), e_precodedMessage (1), e_freeTextMessage (2), e_shortFileTransfer (3), e_userDefData1 (4), e_userDefData2 (5), e_userDefData3 (6), e_userDefData4 (7), e_other (8) // Represent all other non-defined values. } with {encode "4 bits"} type enumerated ContFlag { // 1 bit e_continueAfterFrame (0), e_finishAfterFrame (1) } with {encode "1 bit"} type record CiInfoNormalDataT3 { PdS pdS, PdM pdM } // 5.10 Call information type union CiInfoNormalOrPws { CiInformationNormal ciInformationNormal, CiInformationPws ciInformationPws } type union CallInformation { // 11 bits CiInformationNormalOrPws ciInformationNormalOrPws, Loading @@ -159,61 +103,56 @@ module dPMR_Types { // 5.10.1 type record CiInformationNormalOrPws { CiTypeNormalOrPws ciTypeNormalOrPws, CiInfoNormalOrPws ciInfoNormalOrPws // Call information for acknowledgements type record CiInformationAck { CiTypeAck ciTypeAck, CiInfoAck ciInfoAck } type enumerated CiTypeNormalOrPws { // 3 bits e_reserved0 (0), // used by voice? e_dataT1T2 (1), // T1 and T2 e_reserved2 (2), // e_dataT3 (3), // T3 e_reserved4 (4), // e_reserved5 (5), // e_reserved6 (6), // e_extendWakeupHdr (7) type enumerated CiTypeAck { // 3 bits e_rsv0 (0), e_ack (1), e_nackReqResend (2), e_nackReqDenied (3), e_rsv4 (4), e_rsv5 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "3 bit"} type union CiInfoNormalOrPws { CiInformationNormal ciInformationNormal, CiInformationPws ciInformationPws } type Bit8 CiInfoAck; // Value 0 reserved, value 1..255 ACK/NACK status (reject reason defined by user). type union CiInformationNormal { CiInfoNormalDataT1T2 ciInfoNormalDataT1T2, CiInfoNormalDataT3 ciInfoNormalDataT3 } type record CiInfoNormalDataT1T2 { DataFormat format, Reserved4bit reserved4bit type record CiInformationNormalOrPws { CiTypeNormalOrPws ciTypeNormalOrPws, CiInfoNormalOrPws ciInfoNormalOrPws } type record CiInfoNormalDataT3 { PdS pdS, PdM pdM // 5.10.4 Call information for system transactions type record CiInformationSysTrans { CiTypeSysTrans ciTypeSysTrans, CiInfoSysTrans ciInfoSysTrans } type enumerated PdS { // 4 bits e_frmTm80ms (0), e_frmTm160ms (1), e_frmTm240ms (2), e_frmTm320ms (3), e_rsv4 (4) // represent all other 4 bit values } with {encode "4 bit"} type enumerated CiTypeSysTrans { // 3 bits e_rsv0 (0), e_dynGrpReqAnswDev (1), e_rsv2 (2), e_rsv3 (3), e_esnReqRpl (4), e_mfidReqRpl (5), e_contactStationAddr (6), e_rsv7 (7) } with {encode "3 bit"} type Bit8 CiInfoSysTrans; // All 8 bits shall be set to zero. type enumerated PdM { // 4 bits e_pdM0 (0), e_pdM1 (1), e_pdM2 (2), e_pdM3 (3), e_pdM4 (4), e_pdM5 (5), e_pdM6 (6), e_pdM7 (7), e_rsv8 (8) // represent all other 4 bit values } with {encode "4 bit"} type enumerated CiInformationPws { // 8 bits e_normalHdrFrame (0), Loading @@ -235,61 +174,114 @@ module dPMR_Types { e_reserved (16) // Represent all other 8 bit values } with {encode "8 bit"} // 5.10.4 Call information for system transactions type enumerated CiTypeNormalOrPws { // 3 bits e_reserved0 (0), // used by voice? e_dataT1T2 (1), // T1 and T2 e_reserved2 (2), // e_dataT3 (3), // T3 e_reserved4 (4), // e_reserved5 (5), // e_reserved6 (6), // e_extendWakeupHdr (7) } with {encode "3 bit"} type record CiInformationSysTrans { CiTypeSysTrans ciTypeSysTrans, CiInfoSysTrans ciInfoSysTrans type Bit8 Common_ID; // 6.1.5 Coulour code type bitstring IsfColourCode; type bitstring CsfColourCode; type union ColourCode { IsfColourCode isfColourCode, CsfColourCode csfColourCode } type enumerated CiTypeSysTrans { // 3 bits e_rsv0 (0), e_dynGrpReqAnswDev (1), // 5.7 Communication mode type enumerated CommunicationsMode { // 3 bits e_voice (0), e_voiceSlowData (1), e_dataT1 (2), e_dataT2 (3), e_dataT3 (4), e_voiceDataT2 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "2 bits"} // 5.8 Communication format type enumerated CommsFormat { // 4 bits e_callAll (0), e_p2p (1), e_rsv2 (2), e_rsv3 (3), e_esnReqRpl (4), e_mfidReqRpl (5), e_contactStationAddr (6), e_rsv7 (7) } with {encode "3 bit"} e_other (4) } with {encode "4 bits"} type Bit8 CiInfoSysTrans; // All 8 bits shall be set to zero. type enumerated ContFlag { // 1 bit e_continueAfterFrame (0), e_finishAfterFrame (1) // Call information for acknowledgements } with {encode "1 bit"} type record CiInformationAck { CiTypeAck ciTypeAck, CiInfoAck ciInfoAck type enumerated Continue { // 1 bit e_continue (0), e_terminate (1) } type enumerated CiTypeAck { // 3 bits e_rsv0 (0), e_ack (1), e_nackReqResend (2), e_nackReqDenied (3), e_rsv4 (4), e_rsv5 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "3 bit"} type Bit16 CrcD // CRC for data field. type Bit8 CiInfoAck; // Value 0 reserved, value 1..255 ACK/NACK status (reject reason defined by user). type Bit24 CSFAddress; // 5.11 Header type type enumerated CsfChannelNr { e_csfChannelNr_1 (1), e_csfChannelNr_2 (2), e_csfChannelNr_3 (3), e_csfChannelNr_4 (4), e_csfChannelNr_5 (5), e_csfChannelNr_6 (6), e_csfChannelNr_7 (7), e_csfChannelNr_8 (8), e_csfChannelNr_9 (9), e_csfChannelNr_10 (10), e_csfChannelNr_11 (11), e_csfChannelNr_12 (12), e_csfChannelNr_13 (13), e_csfChannelNr_14 (14), e_csfChannelNr_15 (15), e_csfChannelNr_16 (16) } type enumerated HeaderType { // 4 bits e_commStartHeader (0), e_connReqHeader (1), e_unconnReqHeader (2), e_ackHeader (3), e_sysReqHeader (4), e_ackHdrReply (5), e_sysDelivHdr (6), e_statusRspHdr (7), e_statusReqHdr (8), e_rsv9 (9) // represent all other undefined 4 bit values } with {encode "4 bit"} type union Data { UserDataPds0 userDataPds0, // 36 octets maximum UserDataPds1 userDataPds1, // 84 octets maximum UserDataPds2 userDataPds2, // 132 octets maximum UserDataPds3 userDataPds3 // 180 octets maximum } type enumerated DataFormat { // 4 bits e_statusMessage (0), e_precodedMessage (1), e_freeTextMessage (2), e_shortFileTransfer (3), e_userDefData1 (4), e_userDefData2 (5), e_userDefData3 (6), e_userDefData4 (7), e_other (8) // Represent all other non-defined values. } with {encode "4 bits"} type Bit6 DataLength; type enumerated DataPosition { // 2 bits e_NoDataInFrame (0), e_rsv1 (1), e_rsv2 (2), e_DataInFrame (3) } with {encode "2 bits"} // 5.12 End type Loading @@ -300,50 +292,45 @@ module dPMR_Types { e_rsv3 (3) } with {encode "2 bit"} type Bit16 FixedPart; // 5.13 ARQ type enumerated AckRequest { // 2 bits e_noAckReq (0), e_AckReq (1), e_rsv2 (2), e_rsv3 (3) } with {encode "2 bit"} // 5.14 Tx Wait type enumerated TxWait { // 4 bits e_noSpecTime (0), e_halfFrame40ms (1), e_oneFrame80ms (2), e_twoFrames160ms (3), e_fourFrames320ms (4), e_rsv5 (5) // All other non-defined 4 bit values } with {encode "4 bit"} // 5.15 Status message // 5.6 Frame numbering type Bit5 StatusMessage; // Status message 0.. 31 type enumerated FrameNumber { // 2 bits e_frame1 (0), e_frame2 (1), e_frame3 (3), e_frame4 (4) } with {encode "2 bits"} type Bit48 FrameSync1; type Bit24 FrameSync2; type Bit24 FrameSync3; type Bit48 FrameSync4; // 6.1 Frame sync type Bit24 FrameSync24; type Bit48 FrameSync48; // 6.1.5 Coulour code type bitstring IsfColourCode; type bitstring CsfColourCode; // 5.11 Header type // type UInt8 RadioChannelNumber (1 .. 16); type enumerated HeaderType { // 4 bits e_commStartHeader (0), e_connReqHeader (1), e_unconnReqHeader (2), e_ackHeader (3), e_sysReqHeader (4), e_ackHdrReply (5), e_sysDelivHdr (6), e_statusRspHdr (7), e_statusReqHdr (8), e_rsv9 (9) // represent all other undefined 4 bit values } with {encode "4 bit"} type union ChannelNumber { IsfChannelNr isfChannelNr, CsfChannelNr csfChannelNr type record ISFAddress { Common_ID common_ID, FixedPart fixedPart } type enumerated IsfChannelNr { Loading @@ -365,32 +352,23 @@ module dPMR_Types { e_isfChannelNr_16 (16) } type enumerated CsfChannelNr { e_csfChannelNr_1 (1), e_csfChannelNr_2 (2), e_csfChannelNr_3 (3), e_csfChannelNr_4 (4), e_csfChannelNr_5 (5), e_csfChannelNr_6 (6), e_csfChannelNr_7 (7), e_csfChannelNr_8 (8), e_csfChannelNr_9 (9), e_csfChannelNr_10 (10), e_csfChannelNr_11 (11), e_csfChannelNr_12 (12), e_csfChannelNr_13 (13), e_csfChannelNr_14 (14), e_csfChannelNr_15 (15), e_csfChannelNr_16 (16) type union MsAddress { ISFAddress isfAddress, CSFAddress csfAddress } type union ColourCode { IsfColourCode isfColourCode, CsfColourCode csfColourCode } type octetstring Oct36 length(36) with {encode "36 bytes"}; type octetstring Oct84 length(84) with {encode "84 bytes"}; type octetstring Oct132 length(132) with {encode "132 bytes"}; type octetstring Oct180 length(180) with {encode "180 bytes"}; type Bit12 OwnIdLP; type Bit12 OwnIdUP; // 8.3.3 Packet frame coding type UInt3 PacketDataFrameNumber; // Number of packet data frames in packet packet transmission (3 bits) type record PacketFrame { ColourCode colourCode, PacketDataFrameNumber packetDataFrameNumber, Loading @@ -400,77 +378,89 @@ module dPMR_Types { Data data } type UInt3 PacketDataFrameNumber; // Number of packet data frames in packet packet transmission (3 bits) // Payload type UInt8 ValidDataLen; // Actual length of valid data in the packet frame type record Payload { Oct9 payLoad1, Oct9 payLoad2, Oct9 payLoad3, Oct9 payLoad4 }; // 72*4 bits (=288) type Bit16 CrcD // CRC for data field. type enumerated PdM { // 4 bits e_pdM0 (0), e_pdM1 (1), e_pdM2 (2), e_pdM3 (3), e_pdM4 (4), e_pdM5 (5), e_pdM6 (6), e_pdM7 (7), e_rsv8 (8) // represent all other 4 bit values } with {encode "4 bit"} type union Data { UserDataPds0 userDataPds0, // 36 octets maximum UserDataPds1 userDataPds1, // 84 octets maximum UserDataPds2 userDataPds2, // 132 octets maximum UserDataPds3 userDataPds3 // 180 octets maximum } type enumerated PdS { // 4 bits e_frmTm80ms (0), e_frmTm160ms (1), e_frmTm240ms (2), e_frmTm320ms (3), e_rsv4 (4) // represent all other 4 bit values } with {encode "4 bit"} type Bit72 Preamble; type Bit48 FrameSync1; type Bit24 FrameSync2; type Bit24 FrameSync3; type Bit48 FrameSync4; type Oct36 UserDataPds0; type Oct84 UserDataPds1; type Oct132 UserDataPds2; type Oct180 UserDataPds3; // Reserved fields type octetstring Oct36 length(36) with {encode "36 bytes"}; type octetstring Oct84 length(84) with {encode "84 bytes"}; type octetstring Oct132 length(132) with {encode "132 bytes"}; type octetstring Oct180 length(180) with {encode "180 bytes"}; type Bit2 Reserved2bit; type Bit4 Reserved4bit; type Bit5 Reserved5bit; type Bit14 Reserved14Bit // Called and Own Id types // 5.9 SLD format type Bit12 CalledIdUP; type Bit12 CalledIdLP; type union SlowData { SlowDataInVoice slowDataInVoice, SlowDataInDataT1OrT2 slowDataInDataT1OrT2 } type Bit8 Common_ID; type UInt8 ApplicableCommonId (1 .. 254); type Bit16 FixedPart; type record SlowDataInDataT1OrT2 { Reserved5bit reserved5bit, DataPosition dataPosition, DataFormat format, ContFlag contFlag, DataLength dataLength } type record ISFAddress { Common_ID common_ID, FixedPart fixedPart type record SlowDataInVoice { Continue cont1, UserData userData1, Continue cont2, UserData userData2 } type Bit24 CSFAddress; // 5.15 Status message type union MsAddress { ISFAddress isfAddress, CSFAddress csfAddress } type Bit5 StatusMessage; // Status message 0.. 31 type Bit12 OwnIdUP; type Bit12 OwnIdLP; // 5.14 Tx Wait // Payload type enumerated TxWait { // 4 bits e_noSpecTime (0), e_halfFrame40ms (1), e_oneFrame80ms (2), e_twoFrames160ms (3), e_fourFrames320ms (4), e_rsv5 (5) // All other non-defined 4 bit values } with {encode "4 bit"} type record Payload { Oct9 payLoad1, Oct9 payLoad2, Oct9 payLoad3, Oct9 payLoad4 }; // 72*4 bits (=288) type Bit8 UserData; // Reserved fields type Oct36 UserDataPds0; type Oct84 UserDataPds1; type Oct132 UserDataPds2; type Oct180 UserDataPds3; type Bit2 Reserved2bit; type Bit4 Reserved4bit; type Bit5 Reserved5bit; type Bit14 Reserved14Bit type UInt8 ValidDataLen; // Actual length of valid data in the packet frame } // End group InformationElements Loading @@ -478,41 +468,7 @@ module dPMR_Types { group AtsRelatedTypes { type record UtRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission DialString dialString optional, // Dial string to identify the TE CSF address (CSF only) Common_ID isfCidAddr optional, // Common part (1-255) of ISF address (ISF only) UtActParams utActParams optional // Instruction for the test operator } type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission 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 //voice } /** * * @desc A generic response which is returned for all upper test requests. * */ type record UtConfirm { UT_Success success, Observation observation optional } type enumerated UT_Success { e_ut_success, e_ut_noSuccess } type String1To11 DialString; type enumerated Observation { e_requestedObservationMade, Loading @@ -520,6 +476,17 @@ module dPMR_Types { e_noChangeObserved } // ------------ MS configuration parameters --------------- // politeLv1 : IUT shall be "Polite to CC", "Polite to CC or Talkgroup" or "Impolite" type enumerated PoliteLvl { e_politeCc (0), e_politeCcOrTalkgroup (1), // Only valid for CSF radios e_impolite (2) } type charstring String1To11 length(1..11) with {encode "length(1..11)"}; /** * * @desc A generic response which is returned for all upper test requests. Loading @@ -530,17 +497,22 @@ module dPMR_Types { Observation observation optional } type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission Int8 signalLevel optional, // in units of dBM ColourCode colourCode optional // set the colourcode //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 //voice } type enumerated TA_Success { 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 @@ -617,19 +589,28 @@ module dPMR_Types { } // ------------ MS configuration parameters --------------- // politeLv1 : IUT shall be "Polite to CC", "Polite to CC or Talkgroup" or "Impolite" type enumerated PoliteLvl { e_politeCc (0), e_politeCcOrTalkgroup (1), // Only valid for CSF radios e_impolite (2) /** * * @desc A generic response which is returned for all upper test requests. * */ type record UtConfirm { UT_Success success, Observation observation optional } type record UtRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission DialString dialString optional, // Dial string to identify the TE CSF address (CSF only) Common_ID isfCidAddr optional, // Common part (1-255) of ISF address (ISF only) UtActParams utActParams optional // Instruction for the test operator } type charstring String1To11 length(1..11) with {encode "length(1..11)"}; type String1To11 DialString; type enumerated UT_Success { e_ut_success, e_ut_noSuccess } } // End group AtsRelatedTypes Loading @@ -654,9 +635,9 @@ type charstring String1To11 length(1..11) with {encode "length(1..11)"}; group radioProperties { type enumerated VoiceConnectionRequestStatus { e_voiceConnectionRequest (0), e_voiceNonConnectionRequest (1) type enumerated ConnectionRequestConfigurability { e_ConnectionRequestConfigurable (0), e_ConnectionRequestNotConfigurable (1) } type enumerated DataConnectionRequestStatus { Loading @@ -664,16 +645,16 @@ type charstring String1To11 length(1..11) with {encode "length(1..11)"}; e_dataNonConnectionRequest (1) } type enumerated ConnectionRequestConfigurability { e_ConnectionRequestConfigurable (0), e_ConnectionRequestNotConfigurable (1) } type enumerated Entity { e_isf (0), e_csf (1) } type enumerated VoiceConnectionRequestStatus { e_voiceConnectionRequest (0), e_voiceNonConnectionRequest (1) } } // end group radioProperties Loading Loading
ttcn/dPMR_Templates.ttcn +3 −10 Original line number Diff line number Diff line Loading @@ -752,26 +752,19 @@ channelNr := p_channelNumber, politeLvl := omit, signalLevel := omit, colourCode := omit, taActParams := e_taStandby colourCode := omit } template TaRequest m_interfereOnCC(ChannelNumber p_channelNumber, Int8 p_signalLevel, ColourCode p_cc, TaActParams p_taAction) := { ColourCode p_cc) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := p_signalLevel, colourCode := p_cc, taActParams := p_taAction colourCode := p_cc } } Loading
ttcn/dPMR_Types.ttcn +314 −333 Original line number Diff line number Diff line Loading @@ -57,99 +57,43 @@ module dPMR_Types { group InformationElements { // 5.6 Frame numbering type enumerated FrameNumber { // 2 bits e_frame1 (0), e_frame2 (1), e_frame3 (3), e_frame4 (4) } with {encode "2 bits"} // 5.7 Communication mode type enumerated CommunicationsMode { // 3 bits e_voice (0), e_voiceSlowData (1), e_dataT1 (2), e_dataT2 (3), e_dataT3 (4), e_voiceDataT2 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "2 bits"} // 5.8 Communication format // 5.13 ARQ type enumerated CommsFormat { // 4 bits e_callAll (0), e_p2p (1), type enumerated AckRequest { // 2 bits e_noAckReq (0), e_AckReq (1), e_rsv2 (2), e_rsv3 (3), e_other (4) } with {encode "4 bits"} // 5.9 SLD format e_rsv3 (3) } with {encode "2 bit"} type union SlowData { SlowDataInVoice slowDataInVoice, SlowDataInDataT1OrT2 slowDataInDataT1OrT2 } type UInt8 ApplicableCommonId (1 .. 254); type record SlowDataInVoice { Continue cont1, UserData userData1, Continue cont2, UserData userData2 } // Called and Own Id types type Bit12 CalledIdUP; type Bit12 CalledIdLP; type enumerated Continue { // 1 bit e_continue (0), e_terminate (1) type union ChannelNumber { IsfChannelNr isfChannelNr, CsfChannelNr csfChannelNr } type Bit8 UserData; // 5.10 Call information type record SlowDataInDataT1OrT2 { Reserved5bit reserved5bit, DataPosition dataPosition, type record CiInfoNormalDataT1T2 { DataFormat format, ContFlag contFlag, DataLength dataLength Reserved4bit reserved4bit } type Bit6 DataLength; type enumerated DataPosition { // 2 bits e_NoDataInFrame (0), e_rsv1 (1), e_rsv2 (2), e_DataInFrame (3) } with {encode "2 bits"} type enumerated DataFormat { // 4 bits e_statusMessage (0), e_precodedMessage (1), e_freeTextMessage (2), e_shortFileTransfer (3), e_userDefData1 (4), e_userDefData2 (5), e_userDefData3 (6), e_userDefData4 (7), e_other (8) // Represent all other non-defined values. } with {encode "4 bits"} type enumerated ContFlag { // 1 bit e_continueAfterFrame (0), e_finishAfterFrame (1) } with {encode "1 bit"} type record CiInfoNormalDataT3 { PdS pdS, PdM pdM } // 5.10 Call information type union CiInfoNormalOrPws { CiInformationNormal ciInformationNormal, CiInformationPws ciInformationPws } type union CallInformation { // 11 bits CiInformationNormalOrPws ciInformationNormalOrPws, Loading @@ -159,61 +103,56 @@ module dPMR_Types { // 5.10.1 type record CiInformationNormalOrPws { CiTypeNormalOrPws ciTypeNormalOrPws, CiInfoNormalOrPws ciInfoNormalOrPws // Call information for acknowledgements type record CiInformationAck { CiTypeAck ciTypeAck, CiInfoAck ciInfoAck } type enumerated CiTypeNormalOrPws { // 3 bits e_reserved0 (0), // used by voice? e_dataT1T2 (1), // T1 and T2 e_reserved2 (2), // e_dataT3 (3), // T3 e_reserved4 (4), // e_reserved5 (5), // e_reserved6 (6), // e_extendWakeupHdr (7) type enumerated CiTypeAck { // 3 bits e_rsv0 (0), e_ack (1), e_nackReqResend (2), e_nackReqDenied (3), e_rsv4 (4), e_rsv5 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "3 bit"} type union CiInfoNormalOrPws { CiInformationNormal ciInformationNormal, CiInformationPws ciInformationPws } type Bit8 CiInfoAck; // Value 0 reserved, value 1..255 ACK/NACK status (reject reason defined by user). type union CiInformationNormal { CiInfoNormalDataT1T2 ciInfoNormalDataT1T2, CiInfoNormalDataT3 ciInfoNormalDataT3 } type record CiInfoNormalDataT1T2 { DataFormat format, Reserved4bit reserved4bit type record CiInformationNormalOrPws { CiTypeNormalOrPws ciTypeNormalOrPws, CiInfoNormalOrPws ciInfoNormalOrPws } type record CiInfoNormalDataT3 { PdS pdS, PdM pdM // 5.10.4 Call information for system transactions type record CiInformationSysTrans { CiTypeSysTrans ciTypeSysTrans, CiInfoSysTrans ciInfoSysTrans } type enumerated PdS { // 4 bits e_frmTm80ms (0), e_frmTm160ms (1), e_frmTm240ms (2), e_frmTm320ms (3), e_rsv4 (4) // represent all other 4 bit values } with {encode "4 bit"} type enumerated CiTypeSysTrans { // 3 bits e_rsv0 (0), e_dynGrpReqAnswDev (1), e_rsv2 (2), e_rsv3 (3), e_esnReqRpl (4), e_mfidReqRpl (5), e_contactStationAddr (6), e_rsv7 (7) } with {encode "3 bit"} type Bit8 CiInfoSysTrans; // All 8 bits shall be set to zero. type enumerated PdM { // 4 bits e_pdM0 (0), e_pdM1 (1), e_pdM2 (2), e_pdM3 (3), e_pdM4 (4), e_pdM5 (5), e_pdM6 (6), e_pdM7 (7), e_rsv8 (8) // represent all other 4 bit values } with {encode "4 bit"} type enumerated CiInformationPws { // 8 bits e_normalHdrFrame (0), Loading @@ -235,61 +174,114 @@ module dPMR_Types { e_reserved (16) // Represent all other 8 bit values } with {encode "8 bit"} // 5.10.4 Call information for system transactions type enumerated CiTypeNormalOrPws { // 3 bits e_reserved0 (0), // used by voice? e_dataT1T2 (1), // T1 and T2 e_reserved2 (2), // e_dataT3 (3), // T3 e_reserved4 (4), // e_reserved5 (5), // e_reserved6 (6), // e_extendWakeupHdr (7) } with {encode "3 bit"} type record CiInformationSysTrans { CiTypeSysTrans ciTypeSysTrans, CiInfoSysTrans ciInfoSysTrans type Bit8 Common_ID; // 6.1.5 Coulour code type bitstring IsfColourCode; type bitstring CsfColourCode; type union ColourCode { IsfColourCode isfColourCode, CsfColourCode csfColourCode } type enumerated CiTypeSysTrans { // 3 bits e_rsv0 (0), e_dynGrpReqAnswDev (1), // 5.7 Communication mode type enumerated CommunicationsMode { // 3 bits e_voice (0), e_voiceSlowData (1), e_dataT1 (2), e_dataT2 (3), e_dataT3 (4), e_voiceDataT2 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "2 bits"} // 5.8 Communication format type enumerated CommsFormat { // 4 bits e_callAll (0), e_p2p (1), e_rsv2 (2), e_rsv3 (3), e_esnReqRpl (4), e_mfidReqRpl (5), e_contactStationAddr (6), e_rsv7 (7) } with {encode "3 bit"} e_other (4) } with {encode "4 bits"} type Bit8 CiInfoSysTrans; // All 8 bits shall be set to zero. type enumerated ContFlag { // 1 bit e_continueAfterFrame (0), e_finishAfterFrame (1) // Call information for acknowledgements } with {encode "1 bit"} type record CiInformationAck { CiTypeAck ciTypeAck, CiInfoAck ciInfoAck type enumerated Continue { // 1 bit e_continue (0), e_terminate (1) } type enumerated CiTypeAck { // 3 bits e_rsv0 (0), e_ack (1), e_nackReqResend (2), e_nackReqDenied (3), e_rsv4 (4), e_rsv5 (5), e_rsv6 (6), e_rsv7 (7) } with {encode "3 bit"} type Bit16 CrcD // CRC for data field. type Bit8 CiInfoAck; // Value 0 reserved, value 1..255 ACK/NACK status (reject reason defined by user). type Bit24 CSFAddress; // 5.11 Header type type enumerated CsfChannelNr { e_csfChannelNr_1 (1), e_csfChannelNr_2 (2), e_csfChannelNr_3 (3), e_csfChannelNr_4 (4), e_csfChannelNr_5 (5), e_csfChannelNr_6 (6), e_csfChannelNr_7 (7), e_csfChannelNr_8 (8), e_csfChannelNr_9 (9), e_csfChannelNr_10 (10), e_csfChannelNr_11 (11), e_csfChannelNr_12 (12), e_csfChannelNr_13 (13), e_csfChannelNr_14 (14), e_csfChannelNr_15 (15), e_csfChannelNr_16 (16) } type enumerated HeaderType { // 4 bits e_commStartHeader (0), e_connReqHeader (1), e_unconnReqHeader (2), e_ackHeader (3), e_sysReqHeader (4), e_ackHdrReply (5), e_sysDelivHdr (6), e_statusRspHdr (7), e_statusReqHdr (8), e_rsv9 (9) // represent all other undefined 4 bit values } with {encode "4 bit"} type union Data { UserDataPds0 userDataPds0, // 36 octets maximum UserDataPds1 userDataPds1, // 84 octets maximum UserDataPds2 userDataPds2, // 132 octets maximum UserDataPds3 userDataPds3 // 180 octets maximum } type enumerated DataFormat { // 4 bits e_statusMessage (0), e_precodedMessage (1), e_freeTextMessage (2), e_shortFileTransfer (3), e_userDefData1 (4), e_userDefData2 (5), e_userDefData3 (6), e_userDefData4 (7), e_other (8) // Represent all other non-defined values. } with {encode "4 bits"} type Bit6 DataLength; type enumerated DataPosition { // 2 bits e_NoDataInFrame (0), e_rsv1 (1), e_rsv2 (2), e_DataInFrame (3) } with {encode "2 bits"} // 5.12 End type Loading @@ -300,50 +292,45 @@ module dPMR_Types { e_rsv3 (3) } with {encode "2 bit"} type Bit16 FixedPart; // 5.13 ARQ type enumerated AckRequest { // 2 bits e_noAckReq (0), e_AckReq (1), e_rsv2 (2), e_rsv3 (3) } with {encode "2 bit"} // 5.14 Tx Wait type enumerated TxWait { // 4 bits e_noSpecTime (0), e_halfFrame40ms (1), e_oneFrame80ms (2), e_twoFrames160ms (3), e_fourFrames320ms (4), e_rsv5 (5) // All other non-defined 4 bit values } with {encode "4 bit"} // 5.15 Status message // 5.6 Frame numbering type Bit5 StatusMessage; // Status message 0.. 31 type enumerated FrameNumber { // 2 bits e_frame1 (0), e_frame2 (1), e_frame3 (3), e_frame4 (4) } with {encode "2 bits"} type Bit48 FrameSync1; type Bit24 FrameSync2; type Bit24 FrameSync3; type Bit48 FrameSync4; // 6.1 Frame sync type Bit24 FrameSync24; type Bit48 FrameSync48; // 6.1.5 Coulour code type bitstring IsfColourCode; type bitstring CsfColourCode; // 5.11 Header type // type UInt8 RadioChannelNumber (1 .. 16); type enumerated HeaderType { // 4 bits e_commStartHeader (0), e_connReqHeader (1), e_unconnReqHeader (2), e_ackHeader (3), e_sysReqHeader (4), e_ackHdrReply (5), e_sysDelivHdr (6), e_statusRspHdr (7), e_statusReqHdr (8), e_rsv9 (9) // represent all other undefined 4 bit values } with {encode "4 bit"} type union ChannelNumber { IsfChannelNr isfChannelNr, CsfChannelNr csfChannelNr type record ISFAddress { Common_ID common_ID, FixedPart fixedPart } type enumerated IsfChannelNr { Loading @@ -365,32 +352,23 @@ module dPMR_Types { e_isfChannelNr_16 (16) } type enumerated CsfChannelNr { e_csfChannelNr_1 (1), e_csfChannelNr_2 (2), e_csfChannelNr_3 (3), e_csfChannelNr_4 (4), e_csfChannelNr_5 (5), e_csfChannelNr_6 (6), e_csfChannelNr_7 (7), e_csfChannelNr_8 (8), e_csfChannelNr_9 (9), e_csfChannelNr_10 (10), e_csfChannelNr_11 (11), e_csfChannelNr_12 (12), e_csfChannelNr_13 (13), e_csfChannelNr_14 (14), e_csfChannelNr_15 (15), e_csfChannelNr_16 (16) type union MsAddress { ISFAddress isfAddress, CSFAddress csfAddress } type union ColourCode { IsfColourCode isfColourCode, CsfColourCode csfColourCode } type octetstring Oct36 length(36) with {encode "36 bytes"}; type octetstring Oct84 length(84) with {encode "84 bytes"}; type octetstring Oct132 length(132) with {encode "132 bytes"}; type octetstring Oct180 length(180) with {encode "180 bytes"}; type Bit12 OwnIdLP; type Bit12 OwnIdUP; // 8.3.3 Packet frame coding type UInt3 PacketDataFrameNumber; // Number of packet data frames in packet packet transmission (3 bits) type record PacketFrame { ColourCode colourCode, PacketDataFrameNumber packetDataFrameNumber, Loading @@ -400,77 +378,89 @@ module dPMR_Types { Data data } type UInt3 PacketDataFrameNumber; // Number of packet data frames in packet packet transmission (3 bits) // Payload type UInt8 ValidDataLen; // Actual length of valid data in the packet frame type record Payload { Oct9 payLoad1, Oct9 payLoad2, Oct9 payLoad3, Oct9 payLoad4 }; // 72*4 bits (=288) type Bit16 CrcD // CRC for data field. type enumerated PdM { // 4 bits e_pdM0 (0), e_pdM1 (1), e_pdM2 (2), e_pdM3 (3), e_pdM4 (4), e_pdM5 (5), e_pdM6 (6), e_pdM7 (7), e_rsv8 (8) // represent all other 4 bit values } with {encode "4 bit"} type union Data { UserDataPds0 userDataPds0, // 36 octets maximum UserDataPds1 userDataPds1, // 84 octets maximum UserDataPds2 userDataPds2, // 132 octets maximum UserDataPds3 userDataPds3 // 180 octets maximum } type enumerated PdS { // 4 bits e_frmTm80ms (0), e_frmTm160ms (1), e_frmTm240ms (2), e_frmTm320ms (3), e_rsv4 (4) // represent all other 4 bit values } with {encode "4 bit"} type Bit72 Preamble; type Bit48 FrameSync1; type Bit24 FrameSync2; type Bit24 FrameSync3; type Bit48 FrameSync4; type Oct36 UserDataPds0; type Oct84 UserDataPds1; type Oct132 UserDataPds2; type Oct180 UserDataPds3; // Reserved fields type octetstring Oct36 length(36) with {encode "36 bytes"}; type octetstring Oct84 length(84) with {encode "84 bytes"}; type octetstring Oct132 length(132) with {encode "132 bytes"}; type octetstring Oct180 length(180) with {encode "180 bytes"}; type Bit2 Reserved2bit; type Bit4 Reserved4bit; type Bit5 Reserved5bit; type Bit14 Reserved14Bit // Called and Own Id types // 5.9 SLD format type Bit12 CalledIdUP; type Bit12 CalledIdLP; type union SlowData { SlowDataInVoice slowDataInVoice, SlowDataInDataT1OrT2 slowDataInDataT1OrT2 } type Bit8 Common_ID; type UInt8 ApplicableCommonId (1 .. 254); type Bit16 FixedPart; type record SlowDataInDataT1OrT2 { Reserved5bit reserved5bit, DataPosition dataPosition, DataFormat format, ContFlag contFlag, DataLength dataLength } type record ISFAddress { Common_ID common_ID, FixedPart fixedPart type record SlowDataInVoice { Continue cont1, UserData userData1, Continue cont2, UserData userData2 } type Bit24 CSFAddress; // 5.15 Status message type union MsAddress { ISFAddress isfAddress, CSFAddress csfAddress } type Bit5 StatusMessage; // Status message 0.. 31 type Bit12 OwnIdUP; type Bit12 OwnIdLP; // 5.14 Tx Wait // Payload type enumerated TxWait { // 4 bits e_noSpecTime (0), e_halfFrame40ms (1), e_oneFrame80ms (2), e_twoFrames160ms (3), e_fourFrames320ms (4), e_rsv5 (5) // All other non-defined 4 bit values } with {encode "4 bit"} type record Payload { Oct9 payLoad1, Oct9 payLoad2, Oct9 payLoad3, Oct9 payLoad4 }; // 72*4 bits (=288) type Bit8 UserData; // Reserved fields type Oct36 UserDataPds0; type Oct84 UserDataPds1; type Oct132 UserDataPds2; type Oct180 UserDataPds3; type Bit2 Reserved2bit; type Bit4 Reserved4bit; type Bit5 Reserved5bit; type Bit14 Reserved14Bit type UInt8 ValidDataLen; // Actual length of valid data in the packet frame } // End group InformationElements Loading @@ -478,41 +468,7 @@ module dPMR_Types { group AtsRelatedTypes { type record UtRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission DialString dialString optional, // Dial string to identify the TE CSF address (CSF only) Common_ID isfCidAddr optional, // Common part (1-255) of ISF address (ISF only) UtActParams utActParams optional // Instruction for the test operator } type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission 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 //voice } /** * * @desc A generic response which is returned for all upper test requests. * */ type record UtConfirm { UT_Success success, Observation observation optional } type enumerated UT_Success { e_ut_success, e_ut_noSuccess } type String1To11 DialString; type enumerated Observation { e_requestedObservationMade, Loading @@ -520,6 +476,17 @@ module dPMR_Types { e_noChangeObserved } // ------------ MS configuration parameters --------------- // politeLv1 : IUT shall be "Polite to CC", "Polite to CC or Talkgroup" or "Impolite" type enumerated PoliteLvl { e_politeCc (0), e_politeCcOrTalkgroup (1), // Only valid for CSF radios e_impolite (2) } type charstring String1To11 length(1..11) with {encode "length(1..11)"}; /** * * @desc A generic response which is returned for all upper test requests. Loading @@ -530,17 +497,22 @@ module dPMR_Types { Observation observation optional } type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission Int8 signalLevel optional, // in units of dBM ColourCode colourCode optional // set the colourcode //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 //voice } type enumerated TA_Success { 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 @@ -617,19 +589,28 @@ module dPMR_Types { } // ------------ MS configuration parameters --------------- // politeLv1 : IUT shall be "Polite to CC", "Polite to CC or Talkgroup" or "Impolite" type enumerated PoliteLvl { e_politeCc (0), e_politeCcOrTalkgroup (1), // Only valid for CSF radios e_impolite (2) /** * * @desc A generic response which is returned for all upper test requests. * */ type record UtConfirm { UT_Success success, Observation observation optional } type record UtRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission DialString dialString optional, // Dial string to identify the TE CSF address (CSF only) Common_ID isfCidAddr optional, // Common part (1-255) of ISF address (ISF only) UtActParams utActParams optional // Instruction for the test operator } type charstring String1To11 length(1..11) with {encode "length(1..11)"}; type String1To11 DialString; type enumerated UT_Success { e_ut_success, e_ut_noSuccess } } // End group AtsRelatedTypes Loading @@ -654,9 +635,9 @@ type charstring String1To11 length(1..11) with {encode "length(1..11)"}; group radioProperties { type enumerated VoiceConnectionRequestStatus { e_voiceConnectionRequest (0), e_voiceNonConnectionRequest (1) type enumerated ConnectionRequestConfigurability { e_ConnectionRequestConfigurable (0), e_ConnectionRequestNotConfigurable (1) } type enumerated DataConnectionRequestStatus { Loading @@ -664,16 +645,16 @@ type charstring String1To11 length(1..11) with {encode "length(1..11)"}; e_dataNonConnectionRequest (1) } type enumerated ConnectionRequestConfigurability { e_ConnectionRequestConfigurable (0), e_ConnectionRequestNotConfigurable (1) } type enumerated Entity { e_isf (0), e_csf (1) } type enumerated VoiceConnectionRequestStatus { e_voiceConnectionRequest (0), e_voiceNonConnectionRequest (1) } } // end group radioProperties Loading