module AtsDpmr_Types {

  // Import statements.

  import from LibCommon_DataStrings all;

  import from LibCommon_BasicTypesAndValues all;

  import from LibCommon_TextStrings all;

  group FrameCodingTypes {

    // Type definitions.

    type record EndInformation {
      EndType endType,
      AckRequest ackRequest,
      TxWait txWait,
      StatusMessage statusMessage,
      Reserved4bit reserved4bit
    }

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

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

  group InformationElements {

    // Type definitions.

    type enumerated AckRequest {
      e_noAckReq ( 0 ),
      e_AckReq ( 1 ),
      e_rsv2 ( 2 ),
      e_rsv3 ( 3 )
    } with {      
      encode "2 bit"
    }

    type UInt8 ApplicableCommonId ( 1 . . 254 );

    type Bit12 CalledIdUP;

    type Bit12 CalledIdLP;

    type union ChannelNumber {
      IsfChannelNr isfChannelNr,
      CsfChannelNr csfChannelNr
    }

    type record CiInfoNormalDataT1T2 {
      DataFormat format,
      Reserved4bit reserved4bit
    }

    type record CiInfoNormalDataT3 {
      PdS pdS,
      PdM pdM
    }

    type union CiInfoNormalOrPws {
      CiInformationNormal ciInformationNormal,
      CiInformationPws ciInformationPws
    }

    type union CallInformation {
      CiInformationNormalOrPws ciInformationNormalOrPws,
      CiInformationSysTrans ciInformationSysTrans,
      CiInformationAck ciInformationAck
    }

    type record CiInformationAck {
      CiTypeAck ciTypeAck,
      CiInfoAck ciInfoAck
    }

    type enumerated CiTypeAck {
      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 Bit8 CiInfoAck;

    type union CiInformationNormal {
      CiInfoNormalDataT1T2 ciInfoNormalDataT1T2,
      CiInfoNormalDataT3 ciInfoNormalDataT3
    }

    type record CiInformationNormalOrPws {
      CiTypeNormalOrPws ciTypeNormalOrPws,
      CiInfoNormalOrPws ciInfoNormalOrPws
    }

    type record CiInformationSysTrans {
      CiTypeSysTrans ciTypeSysTrans,
      CiInfoSysTrans ciInfoSysTrans
    }

    type enumerated CiTypeSysTrans {
      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;

    type enumerated CiInformationPws {
      e_normalHdrFrame ( 0 ),
      e_extHdrFrame1 ( 1 ),
      e_extHdrFrame2 ( 2 ),
      e_extHdrFrame3 ( 3 ),
      e_extHdrFrame4 ( 4 ),
      e_extHdrFrame5 ( 5 ),
      e_extHdrFrame6 ( 6 ),
      e_extHdrFrame7 ( 7 ),
      e_extHdrFrame8 ( 8 ),
      e_extHdrFrame9 ( 9 ),
      e_extHdrFrame10 ( 10 ),
      e_extHdrFrame11 ( 11 ),
      e_extHdrFrame12 ( 12 ),
      e_extHdrFrame13 ( 13 ),
      e_extHdrFrame14 ( 14 ),
      e_extHdrFrame15 ( 15 ),
      e_reserved ( 16 )
    } with {      
      encode "8 bit"
    }

    type enumerated CiTypeNormalOrPws {
      e_reserved0 ( 0 ),
      e_dataT1T2 ( 1 ),
      e_reserved2 ( 2 ),
      e_dataT3 ( 3 ),
      e_reserved4 ( 4 ),
      e_reserved5 ( 5 ),
      e_reserved6 ( 6 ),
      e_extendWakeupHdr ( 7 )
    } with {      
      encode "3 bit"
    }

    type Bit8 Common_ID;

    type bitstring IsfColourCode;

    type bitstring CsfColourCode;

    type union ColourCode {
      IsfColourCode isfColourCode,
      CsfColourCode csfColourCode
    }

    type enumerated CommunicationsMode {
      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"
    }

    type enumerated CommsFormat {
      e_callAll ( 0 ),
      e_p2p ( 1 ),
      e_rsv2 ( 2 ),
      e_rsv3 ( 3 ),
      e_other ( 4 )
    } with {      
      encode "4 bits"
    }

    type enumerated ContFlag {
      e_continueAfterFrame ( 0 ),
      e_finishAfterFrame ( 1 )
    } with {      
      encode "1 bit"
    }

    type enumerated Continue {
      e_continue ( 0 ),
      e_terminate ( 1 )
    }

    type Bit16 CrcD;

    type Bit24 CSFAddress;

    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 Data {
      UserDataPds0 userDataPds0,
      UserDataPds1 userDataPds1,
      UserDataPds2 userDataPds2,
      UserDataPds3 userDataPds3
    }

    type enumerated DataFormat {
      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 )
    } with {      
      encode "4 bits"
    }

    type Bit6 DataLength;

    type enumerated DataPosition {
      e_NoDataInFrame ( 0 ),
      e_rsv1 ( 1 ),
      e_rsv2 ( 2 ),
      e_DataInFrame ( 3 )
    } with {      
      encode "2 bits"
    }

    type enumerated EndType {
      e_endFrame ( 0 ),
      e_endFrameWithStatusMsg ( 1 ),
      e_rsv2 ( 2 ),
      e_rsv3 ( 3 )
    } with {      
      encode "2 bit"
    }

    type Bit16 FixedPart;

    type enumerated FrameNumber {
      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;

    type Bit24 FrameSync24;

    type Bit48 FrameSync48;

    type enumerated HeaderType {
      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 )
    } with {      
      encode "4 bit"
    }

    type record ISFAddress {
      Common_ID common_ID,
      FixedPart fixedPart
    }

    type enumerated IsfChannelNr {
      e_isfChannelNr_1 ( 1 ),
      e_isfChannelNr_2 ( 2 ),
      e_isfChannelNr_3 ( 3 ),
      e_isfChannelNr_4 ( 4 ),
      e_isfChannelNr_5 ( 5 ),
      e_isfChannelNr_6 ( 6 ),
      e_isfChannelNr_7 ( 7 ),
      e_isfChannelNr_8 ( 8 ),
      e_isfChannelNr_9 ( 9 ),
      e_isfChannelNr_10 ( 10 ),
      e_isfChannelNr_11 ( 11 ),
      e_isfChannelNr_12 ( 12 ),
      e_isfChannelNr_13 ( 13 ),
      e_isfChannelNr_14 ( 14 ),
      e_isfChannelNr_15 ( 15 ),
      e_isfChannelNr_16 ( 16 )
    }

    type union MsAddress {
      ISFAddress isfAddress,
      CSFAddress csfAddress
    }

    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;

    type UInt3 PacketDataFrameNumber;

    type record PacketFrame {
      ColourCode colourCode,
      PacketDataFrameNumber packetDataFrameNumber,
      ValidDataLen validDataLength,
      Reserved14Bit reserved14bit,
      CrcD crcForData,
      Data data
    }

    type record Payload {
      Oct9 payLoad1,
      Oct9 payLoad2,
      Oct9 payLoad3,
      Oct9 payLoad4
    }

    type enumerated PdM {
      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 )
    } with {      
      encode "4 bit"
    }

    type enumerated PdS {
      e_frmTm80ms ( 0 ),
      e_frmTm160ms ( 1 ),
      e_frmTm240ms ( 2 ),
      e_frmTm320ms ( 3 ),
      e_rsv4 ( 4 )
    } with {      
      encode "4 bit"
    }

    type Bit72 Preamble;

    type Bit2 Reserved2bit;

    type Bit4 Reserved4bit;

    type Bit5 Reserved5bit;

    type Bit14 Reserved14Bit;

    type union SlowData {
      SlowDataInVoice slowDataInVoice,
      SlowDataInDataT1OrT2 slowDataInDataT1OrT2
    }

    type record SlowDataInDataT1OrT2 {
      Reserved5bit reserved5bit,
      DataPosition dataPosition,
      DataFormat format,
      ContFlag contFlag,
      DataLength dataLength
    }

    type record SlowDataInVoice {
      Continue cont1,
      UserData userData1,
      Continue cont2,
      UserData userData2
    }

    type Bit5 StatusMessage;

    type enumerated TxWait {
      e_noSpecTime ( 0 ),
      e_halfFrame40ms ( 1 ),
      e_oneFrame80ms ( 2 ),
      e_twoFrames160ms ( 3 ),
      e_fourFrames320ms ( 4 ),
      e_rsv5 ( 5 )
    } with {      
      encode "4 bit"
    }

    type Bit8 UserData;

    type Oct36 UserDataPds0;

    type Oct84 UserDataPds1;

    type Oct132 UserDataPds2;

    type Oct180 UserDataPds3;

    type UInt8 ValidDataLen;
  }

  group AtsRelatedTypes {

    // Type definitions.

    type String1To13 DialString;

    type enumerated Observation {
      e_requestedObservationMade,
      e_differentObservationMade,
      e_noChangeObserved
    }

    type enumerated PoliteLvl {
      e_politeCc ( 0 ),
      e_politeCcOrTalkgroup ( 1 ),
      e_impolite ( 2 )
    }

    type record TaConfirm {
      TA_Success success,
      Observation observation optional
    }

    type record TaRequest {
      ChannelNumber channelNr optional,
      PoliteLvl politeLvl optional,
      Int8 signalLevel optional,
      ColourCode colourCode optional
    }

    type enumerated TA_Success {
      e_ta_success,
      e_ta_noSuccess
    }

    type enumerated UtActParams {
      e_pressPtt ( 0 ),
      e_statusMessageReceived ( 1 ),
      e_testToneReceived ( 2 ),
      e_testToneNotReceived ( 3 ),
      e_makeManualConnectionRequest ( 4 ),
      e_makeOACSUCall ( 5 ),
      e_makeManualDisconnectionRequest ( 6 ),
      e_makeT1DataWithAutomaticDisconnectionRequest ( 7 ),
      e_makeT1DataCall ( 8 ),
      e_makeT2DataCall ( 9 ),
      e_makeMSPowersaveAndPressPtt ( 10 ),
      e_makeMSPowersave15ExtHdrsAndPressPtt ( 11 ),
      e_enableTalkingPartyIDAndCheckThatTESTER_IdIsPresented ( 12 ),
      e_makeABroadcastCall ( 13 ),
      e_enterDialStrinDoNotPressSendOrHash ( 14 ),
      e_enterDialStringAndPressSendKeyOrHash ( 15 ),
      e_makeT2DataCallWithFreeTextMessage ( 16 ),
      e_makeT2DataCallWithAPrecodedMessage ( 17 ),
      e_makeOACSUCallandSayOkWhenDisplayedThatCallCanStart ( 18 ),
      e_ifOACSUEnabledPleaseAccept ( 19 ),
      e_makeOACSUCallAndCheckCallFail ( 20 ),
      e_enableSlowDataAndSetPresetSlowDataAndPresPtt ( 21 ),
      e_makeT3DataCall ( 22 ),
      e_receiveT3DataCall ( 23 ),
      e_toStandby ( 24 ),
      e_enablePowersaveMode ( 25 ),
      e_useCsfChannel1 ( 26 ),
      e_useCsfChannel2 ( 27 ),
      e_useCsfChannel3 ( 28 ),
      e_useCsfChannel4 ( 29 ),
      e_useCsfChannel5 ( 30 ),
      e_useCsfChannel6 ( 31 ),
      e_useCsfChannel7 ( 32 ),
      e_useCsfChannel8 ( 33 ),
      e_useCsfChannel9 ( 34 ),
      e_useCsfChannel10 ( 35 ),
      e_useCsfChannel11 ( 36 ),
      e_useCsfChannel12 ( 37 ),
      e_useCsfChannel13 ( 38 ),
      e_useCsfChannel14 ( 39 ),
      e_useCsfChannel15 ( 40 ),
      e_useCsfChannel16 ( 41 ),
      e_enablePowersaveModeWith15Headers ( 42 ),
      e_enableTalkingPartyId ( 43 ),
      e_useOACSU ( 44 ),
      e_presetSLDtestData ( 45 ),
      e_useIsfChannel1 ( 46 ),
      e_useIsfChannel2 ( 47 ),
      e_useIsfChannel3 ( 48 ),
      e_useIsfChannel4 ( 49 ),
      e_useIsfChannel5 ( 50 ),
      e_useIsfChannel6 ( 51 ),
      e_useIsfChannel7 ( 52 ),
      e_useIsfChannel8 ( 53 ),
      e_useIsfChannel9 ( 54 ),
      e_useIsfChannel10 ( 55 ),
      e_useIsfChannel11 ( 56 ),
      e_useIsfChannel12 ( 57 ),
      e_useIsfChannel13 ( 58 ),
      e_useIsfChannel14 ( 59 ),
      e_useIsfChannel15 ( 60 ),
      e_useIsfChannel16 ( 61 ),
      e_makeT3DataCallWith1400Bytes ( 62 ),
      e_setCommonIdTo255 ( 63 ),
      e_politeToOwnCC ( 64 ),
      e_makeT2DataWithAutomaticDisconnectionRequest ( 65 ),
      e_makeT3DataWithAutomaticDisconnectionRequest ( 66 ),
      e_makeT1DataCallStatusMessage ( 67 ),
      e_makeT1DataCallPrecodedMessage ( 68 ),
      e_makeT1DataCallWithFreeTextMessage ( 69 ),
      e_makeT1DataCallWithShortFileTransfer ( 70 ),
      e_makeT2DataCallStatusMessage ( 71 ),
      e_makeT2DataCallPrecodedMessage ( 72 ),
      e_makeT2DataCallWithShortFileTransfer ( 73 ),
      e_toStandbyAndUseAckTimer ( 74 ),
      e_toStandbyAndUseAckTimerAndMultipleAcks ( 75 ),
      e_toStandbyAndConfigMaskedDialingXX_X_XXAndDialString ( 76 ),
      e_toStandbyAndConfigNumericGroup9991234 ( 77 ),
      e_reportCallFail ( 78 ),
      e_makeCallWithDialStringAndThenCancelCallWithHashHash ( 79 ),
      e_makePttCallWhitin300msAftertesttone ( 80 ),
      e_makeT3DataCallWithShortFileTransfer ( 81 ),
      e_toStandbyAndMultipleAcks ( 82 ),
      e_toStandbyAndNotConfigNumericGroup9991234 ( 83 ),
      e_doNoMore ( 84 )
    }

    type record UtConfirm {
      UT_Success success,
      Observation observation optional
    }

    type record UtRequest {
      ChannelNumber channelNr optional,
      PoliteLvl politeLvl optional,
      DialString dialString optional,
      Common_ID isfCidAddr optional,
      UtActParams utActParams optional
    }

    type enumerated UT_Success {
      e_ut_success,
      e_ut_noSuccess
    }
  }

  group userInteractionProperties {

    // Type definitions.

    type enumerated CCITT_keyPad {
      e_key_zero ( 0 ),
      e_key_one ( 1 ),
      e_key_two ( 2 ),
      e_key_three ( 3 ),
      e_key_four ( 4 ),
      e_key_five ( 5 ),
      e_key_six ( 6 ),
      e_key_seven ( 7 ),
      e_key_eight ( 8 ),
      e_key_nine ( 9 ),
      e_key_star ( 10 ),
      e_key_hash ( 11 )
    }
  }

  group radioProperties {

    // Type definitions.

    type enumerated ConnectionRequestConfigurability {
      e_ConnectionRequestConfigurable ( 0 ),
      e_ConnectionRequestNotConfigurable ( 1 )
    }

    type enumerated DataConnectionRequestStatus {
      e_dataConnectionRequest ( 0 ),
      e_dataNonConnectionRequest ( 1 )
    }

    type enumerated Entity {
      e_isf ( 0 ),
      e_csf ( 1 )
    }

    type enumerated VoiceConnectionRequestStatus {
      e_voiceConnectionRequest ( 0 ),
      e_voiceNonConnectionRequest ( 1 )
    }
  }
}
Generated with T3Doc 2.0 on Fri Feb 22 17:24:44 CET 2008.

Author

STF 340

Description

Data type definitions for information elements for digital Public Mobile Radio (dPMR) messages