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;
}
|