4420 lines
150 KiB
Plaintext
4420 lines
150 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// Copyright Test Competence Center (TCC) ETH 2016 //
|
|
// //
|
|
// The copyright to the computer program(s) herein is the property of TCC. //
|
|
// The program(s) may be used and/or copied only with the written permission //
|
|
// of TCC or in accordance with the terms and conditions stipulated in the //
|
|
// agreement/contract under which the program(s) has been supplied. //
|
|
// //
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// File: BSSGP_Types.ttcn
|
|
// Rev: R1A
|
|
// Prodnr: CNL 113 833
|
|
// Contact: http://ttcn.ericsson.se
|
|
// Reference: 3GPP TS 48.018 13.0.0
|
|
|
|
|
|
module BSSGP_Types
|
|
{
|
|
|
|
import from General_Types all;
|
|
|
|
external function enc_PDU_BSSGP(in PDU_BSSGP pdu) return octetstring;
|
|
|
|
external function dec_PDU_BSSGP(in octetstring stream) return PDU_BSSGP;
|
|
|
|
external function enc_PDU_BSSGP_fast(in PDU_BSSGP pdu, out octetstring stream)
|
|
with { extension "prototype(fast) encode(RAW)" }
|
|
|
|
external function dec_PDU_BSSGP_backtrack(in octetstring stream, out PDU_BSSGP pdu) return integer
|
|
with { extension "prototype(backtrack) decode(RAW)" }
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// INFORMATION ELEMENTS
|
|
//-----------------------------------------------------------------------------
|
|
type union LIN2_2a
|
|
{
|
|
integer length1,
|
|
integer length2
|
|
} with {
|
|
variant (length1) "FIELDLENGTH(7)";
|
|
variant (length2) "FIELDLENGTH(15)";
|
|
variant (length2) "BYTEORDER(last)";
|
|
variant (length1,length2) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.1
|
|
type record Alignment_octets
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring spare_octet length(0..3)
|
|
} with {
|
|
variant "PRESENCE(iEI = '00'O)";
|
|
variant (lengthIndicator) "LENGTHTO (spare_octet)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.2
|
|
type record Bmax_default_MS
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 bmax // could be changed to integer input if simpler
|
|
} with {
|
|
variant "PRESENCE(iEI = '01'O)";
|
|
variant (lengthIndicator) "LENGTHTO (bmax)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.3
|
|
type record BSS_Area_Indication
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 bSS_indicator
|
|
} with {
|
|
variant "PRESENCE(iEI = '02'O)";
|
|
variant (lengthIndicator) "LENGTHTO (bSS_indicator)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.4
|
|
type record Bucket_Leak_Rate
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 r_Value // could be changed to integer input if simpler
|
|
} with {
|
|
variant "PRESENCE(iEI = '03'O)";
|
|
variant (lengthIndicator) "LENGTHTO (r_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.5
|
|
type record BVC_Bucket_Size
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 bmax
|
|
} with {
|
|
variant "PRESENCE(iEI = '05'O)";
|
|
variant (lengthIndicator) "LENGTHTO (bmax)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.6
|
|
type record BVCI
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 unstructured_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '04'O)";
|
|
variant (lengthIndicator) "LENGTHTO (unstructured_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.7
|
|
type record BVC_Measurement
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 delay_Value
|
|
|
|
} with {
|
|
variant "PRESENCE(iEI = '06'O)";
|
|
variant (lengthIndicator) "LENGTHTO (delay_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.8
|
|
type record Cause_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 cause_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '07'O)";
|
|
variant (lengthIndicator) "LENGTHTO (cause_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.9
|
|
type record Cell_Identifier
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1 ,
|
|
HEX1 mccDigit2 ,
|
|
HEX1 mccDigit3 ,
|
|
HEX1 mncDigit3 ,
|
|
HEX1 mncDigit1 ,
|
|
HEX1 mncDigit2 ,
|
|
OCT2 lac,
|
|
OCT1 rac,
|
|
OCT2 cI_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '08'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,
|
|
mncDigit2,lac,rac,cI_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
type record Cell_Identifier_V
|
|
{
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac,
|
|
OCT1 rac,
|
|
OCT2 cI_value
|
|
};
|
|
|
|
// 11.3.10
|
|
// 29.018, 44.018
|
|
type record Channel_needed
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Channel_Needed_Value channel_Needed_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '09'O)";
|
|
variant (lengthIndicator) "LENGTHTO (channel_Needed_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
type record Channel_Needed_Value
|
|
{
|
|
BIT2 channel_1,
|
|
BIT2 channel_2,
|
|
BIT4 channelNeededIEI //44.018
|
|
}
|
|
|
|
// 11.3.11
|
|
type record DRX_Parameters
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 splitPG_CycleCode,
|
|
BIT3 nonDRXTimer,
|
|
BIT1 splitOnCCCH,
|
|
BIT4 cnSpecificDRXCycleLength
|
|
} with {
|
|
variant "PRESENCE(iEI = '0A'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (splitPG_CycleCode,nonDRXTimer,splitOnCCCH,
|
|
cnSpecificDRXCycleLength)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.12
|
|
type record EMLPP_Priority_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT3 callPriority,
|
|
BIT5 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '0B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (callPriority,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.13
|
|
type record Flush_Action
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 actionValue
|
|
} with {
|
|
variant "PRESENCE(iEI = '0C'O)";
|
|
variant (lengthIndicator) "LENGTHTO (actionValue)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.14
|
|
type record IMSI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT3 type_of_Identity,
|
|
BIT1 oddevenIndicator, // '1'B or '0'B
|
|
hexstring digits length(5..15)
|
|
} with {
|
|
variant "PRESENCE(iEI = '0D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (type_of_Identity,
|
|
oddevenIndicator,digits)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
//variant (fillerDigit) "PRESENCE (oddevenIndicator = '0'B) ";
|
|
variant (digits) "HEXORDER(low)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant "PADDING(yes)";
|
|
variant "PADDING_PATTERN('1'B)"
|
|
|
|
};
|
|
|
|
// 11.3.15
|
|
//NOTE: lengthIndicator-short form will be converted to long form
|
|
// if needed during encoding
|
|
type record LLC_PDU
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring lLC_PDU // Note: this is divided into 2 parts in spec!
|
|
} with {
|
|
variant "PRESENCE(iEI = '0E'O)";
|
|
variant (lengthIndicator) "LENGTHTO (lLC_PDU)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.16
|
|
type record LLC_Frames_Discarded
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
hexstring number_of_frames_discarded length (2)
|
|
} with {
|
|
variant "PRESENCE(iEI = '0F'O)";
|
|
variant (lengthIndicator) "LENGTHTO (number_of_frames_discarded)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.17
|
|
type record Location_Area
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac
|
|
} with {
|
|
variant "PRESENCE(iEI = '10'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,
|
|
mncDigit3,mncDigit1,mncDigit2,lac)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.18
|
|
type record LSA_Identifier_List_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring lSA_Identifier_List // encoded LSA Identifier List
|
|
} with {
|
|
variant "PRESENCE(iEI = '26'O)";
|
|
variant (lengthIndicator) "LENGTHTO (lSA_Identifier_List)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.19
|
|
type record LSA_Information_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
LSA_Information lSA_Information // encoded LSA Information 48.008
|
|
} with {
|
|
variant "PRESENCE(iEI = '27'O)";
|
|
variant (lengthIndicator) "LENGTHTO (lSA_Information)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record LSA_Information // encoded LSA Information 48.008
|
|
{
|
|
BIT1 lSA_Only,
|
|
BIT7 spare,
|
|
LSA_Identification_and_Attributes_List lSA_Identification_and_Attributes_List
|
|
}
|
|
|
|
type record of LSA_Identification_and_Attributes LSA_Identification_and_Attributes_List;
|
|
|
|
type record LSA_Identification_and_Attributes
|
|
{
|
|
BIT4 priority,
|
|
BIT1 pref,
|
|
BIT1 act,
|
|
BIT2 spare,
|
|
OCT3 lSA_ID
|
|
}
|
|
|
|
|
|
// 11.3.20
|
|
type record Mobile_Id_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
MobileIdentityV_BSSGP mobile_Identity
|
|
} with {
|
|
variant "PRESENCE(iEI = '11'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mobile_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// MobileIdentityV structure copied from 24.008 MobileL3
|
|
type record MobileIdentityV_BSSGP
|
|
{
|
|
BIT3 typeOfIdentity,
|
|
OddEvenInd_Identity_BSSGP oddEvenInd_identity
|
|
} with {
|
|
variant (oddEvenInd_identity) "CROSSTAG
|
|
(
|
|
imei, typeOfIdentity ='010'B;
|
|
imsi, typeOfIdentity ='001'B;
|
|
imei_sv, typeOfIdentity ='011'B;
|
|
)"
|
|
};
|
|
|
|
type union OddEvenInd_Identity_BSSGP
|
|
{
|
|
IMSI_MobileIdentityV imsi,
|
|
IMEI_MobileIdentityV imei,
|
|
IMEI_SV_MobileIdentityV imei_sv
|
|
};
|
|
|
|
type record IMSI_MobileIdentityV
|
|
{
|
|
BIT1 oddevenIndicator, // '1'B or '0'B
|
|
hexstring digits length(5..15),
|
|
BIT4 fillerDigit optional // B'1111, fillerDigit is present
|
|
// if oddevenIndicator=0
|
|
}
|
|
with
|
|
{
|
|
variant (fillerDigit) "PRESENCE (oddevenIndicator = '0'B) ";
|
|
};
|
|
|
|
type record IMEI_MobileIdentityV
|
|
{
|
|
BIT1 oddevenIndicator, // '1'B
|
|
hexstring digits length(15)
|
|
};
|
|
|
|
type record IMEI_SV_MobileIdentityV
|
|
{
|
|
BIT1 oddevenIndicator, // '0'B
|
|
hexstring digits length(16),
|
|
BIT4 fillerDigit // filler '1111'B
|
|
};
|
|
|
|
// 11.3.21
|
|
type record MS_Bucket_Size
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 bmax
|
|
} with {
|
|
variant "PRESENCE(iEI = '12'O)";
|
|
variant (lengthIndicator) "LENGTHTO (bmax)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.22
|
|
// Note : structure from 24.008 Mobile L3
|
|
type record MS_Radio_Access_Capability
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
MSRadioAccessCapabilityV_BSSGP mSRadioAccessCapabilityV_BSSGP
|
|
} with {
|
|
variant "PRESENCE(iEI = '13'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mSRadioAccessCapabilityV_BSSGP)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant /*(ext,lengthIndicator)*/ "FIELDORDER(msb)";
|
|
variant "PADDING(yes)"
|
|
};
|
|
|
|
type record of MSRACapabilityValuesRecord_BSSGP MSRadioAccessCapabilityV_BSSGP
|
|
with { variant "EXTENSION_BIT(reverse)";variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record MSRACapabilityValuesRecord_BSSGP
|
|
{
|
|
MSRACapabilityValues_BSSGP mSRACapabilityValues,
|
|
BIT1 presenceBitMSRACap
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type union MSRACapabilityValues_BSSGP
|
|
{
|
|
MSRACapabilityValuesExclude1111_BSSGP mSRACapabilityValuesExclude1111,
|
|
MSRACapabilityValues1111_BSSGP mSRACapabilityValues1111
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record MSRACapabilityValuesExclude1111_BSSGP
|
|
{
|
|
BIT4 accessTechnType,
|
|
AccessCapabilitiesStruct_BSSGP accessCapabilities
|
|
} with {
|
|
variant "PRESENCE (
|
|
accessTechnType = '0000'B, // GSM P
|
|
accessTechnType = '0001'B, // GSM E
|
|
accessTechnType = '0010'B, // GSM R
|
|
accessTechnType = '0011'B, // GSM 1800
|
|
accessTechnType = '0100'B, // GSM190
|
|
accessTechnType = '0101'B, // GSM 450
|
|
accessTechnType = '0110'B, // GSM480
|
|
accessTechnType = '0111'B, // GSM 480
|
|
accessTechnType = '1000'B, // GSM 700
|
|
accessTechnType = '1001'B, // GSM T 310
|
|
accessTechnType = '1010'B, // GSM T 410
|
|
accessTechnType = '1011'B // GSM T 900
|
|
)"
|
|
variant "FIELDORDER(msb)"
|
|
};
|
|
|
|
|
|
// Access Capabilities Struct
|
|
type record AccessCapabilitiesStruct_BSSGP
|
|
{
|
|
integer lengthIndicator,
|
|
AccessCapabilities_BSSGP accessCapabilities,
|
|
// spare_bits "expands to the indicated length",
|
|
// i.e. 24.008 spec puts no restriction on number
|
|
// of spare_bits. The only restriction is that the whole
|
|
// MS Radio Access Capability IE is less than 52 octets
|
|
bitstring spare_bits optional
|
|
} with {
|
|
variant (lengthIndicator) "FIELDLENGTH(7)";
|
|
variant (lengthIndicator) "LENGTHTO(accessCapabilities,spare_bits)";
|
|
variant (lengthIndicator) "UNIT(bits)";
|
|
variant "FIELDORDER(msb)";
|
|
variant (lengthIndicator) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
//Access Capabilities
|
|
type record AccessCapabilities_BSSGP
|
|
{
|
|
BIT3 rfPowerCapability,
|
|
BIT1 presenceBitA5,
|
|
A5BITS_BSSGP a5bits optional,
|
|
BIT1 esind,
|
|
BIT1 psbit,
|
|
BIT1 vgcs,
|
|
BIT1 vbs,
|
|
BIT1 presenceBitMultislot,
|
|
MultislotCap_BSSGP multislotcap optional,
|
|
AccessCapAdditionsAfterRel97_BSSGP accessCapAdditionsAfterRel97 optional //opt because of V97
|
|
//Note: AccessCapAdditionsAfterRel97 can include:
|
|
// Rel99 or
|
|
// Rel99 + Rel4 or
|
|
// Rel99 + Rel4 + Rel5 or
|
|
// Rel99 + Rel4 + Rel5 + Rel6
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (a5bits) "PRESENCE(presenceBitA5 = '1'B)";
|
|
variant (multislotcap) "PRESENCE(presenceBitMultislot = '1'B)";
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsAfterRel97_BSSGP
|
|
{
|
|
AccessCapAdditionsRel99_BSSGP accessCapAdditionsRel99,
|
|
AccessCapAdditionsAfterRel99_BSSGP accessCapAdditionsAfterRel99 optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsRel99_BSSGP
|
|
{
|
|
BIT1 presenceBitPskpow,
|
|
BIT2 pskpowercap optional,
|
|
BIT1 compactIntMeasurCap,
|
|
BIT1 revisionLevelInd,
|
|
BIT1 umtsfddRadAccTechCap,
|
|
BIT1 umtstddRadAccTechCap,
|
|
BIT1 cdma2kRadAccTechCap
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (pskpowercap) "PRESENCE(presenceBitPskpow = '1'B)";
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsAfterRel99_BSSGP
|
|
{
|
|
AccessCapAdditionsRel4_BSSGP accessCapAdditionsRel4,
|
|
AccessCapAdditionsAfterRel4_BSSGP accessCapAdditionsAfterRel4 optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsRel4_BSSGP
|
|
{
|
|
BIT1 umts128RadAccTechCap,
|
|
BIT1 geranFeaturePackage,
|
|
BIT1 presenceBitExtendedDTM,
|
|
ExtendedDTM_BSSGP extendedDTM optional,
|
|
BIT1 modulationBasedMultislotClass
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (extendedDTM) "PRESENCE(presenceBitExtendedDTM = '1'B)";
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsAfterRel4_BSSGP
|
|
{
|
|
AccessCapAdditionsRel5_BSSGP accessCapAdditionsRel5,
|
|
AccessCapAdditionsAfterRel5_BSSGP accessCapAdditionsAfterRel5 optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsRel5_BSSGP
|
|
{
|
|
BIT1 presenceBitHighMultislotCapability,
|
|
BIT2 highMultislotCapability optional,
|
|
BIT1 presenceBitGeranIuModeCapability,
|
|
GeranIuModeCap_BSSGP geranIuModeCap optional,
|
|
BIT2 gMSKMultislotPowerProfile,
|
|
BIT2 eightPSKMultislotPowerProfile
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (highMultislotCapability)
|
|
"PRESENCE(presenceBitHighMultislotCapability = '1'B)"
|
|
variant (geranIuModeCap)"PRESENCE(presenceBitGeranIuModeCapability = '1'B)"
|
|
}
|
|
|
|
|
|
type record GeranIuModeCap_BSSGP
|
|
{
|
|
integer lengthIndicator,
|
|
BIT1 fLOIuCapability,
|
|
bitstring spare_bits
|
|
// spare_bits "expands to the indicated length",
|
|
// i.e. 24.008 spec puts no restriction on number
|
|
// of spare_bits. The only restriction is that the whole
|
|
// MS Radio Access Capability IE is less than 52 octets
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (lengthIndicator) "FIELDLENGTH(4)";
|
|
variant (lengthIndicator) "LENGTHTO(fLOIuCapability,spare_bits)";
|
|
variant (lengthIndicator) "UNIT(bits)";
|
|
}
|
|
|
|
type record AccessCapAdditionsAfterRel5_BSSGP
|
|
{
|
|
AccessCapAdditionsRel6_BSSGP accessCapAdditionsRel6,
|
|
AccessCapAdditionsRel7_BSSGP accessCapAdditionsAfterRel6 optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record AccessCapAdditionsRel6_BSSGP
|
|
{
|
|
BIT1 multipleTBFCapability,
|
|
BIT2 downlinkAdvancedReceiverPerformance,
|
|
BIT1 extendedRLCMACCtrlMsgSegmentationCap,
|
|
BIT1 dTMEnhancementsCapability,
|
|
BIT1 presenceBitDTMGPRSHighMultiSlotClass,
|
|
DTMGPRSHighMultiSlotClass_BSSGP dTMGPRSHighMultiSlotClass optional,
|
|
BIT1 pSHandoverCapability
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (dTMGPRSHighMultiSlotClass)
|
|
"PRESENCE(presenceBitDTMGPRSHighMultiSlotClass = '1'B)"
|
|
}
|
|
|
|
|
|
type record DTMGPRSHighMultiSlotClass_BSSGP
|
|
{
|
|
BIT3 dTMGPRSHighMultiSlotClassValue,
|
|
BIT1 presenceBitDTMEGPRSHighMultiSlotClass,
|
|
BIT3 dTMEGPRSHighMultiSlotClassValue optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (dTMEGPRSHighMultiSlotClassValue)
|
|
"PRESENCE(presenceBitDTMEGPRSHighMultiSlotClass = '1'B)"
|
|
|
|
}
|
|
|
|
|
|
type record AccessCapAdditionsRel7_BSSGP
|
|
{
|
|
BIT1 dTMHandoverCapability,
|
|
BIT1 presenceBitDownlinkDualCarrier,
|
|
DownlinkDualCarrier_BSSGP downlinkDualCarrier,
|
|
BIT1 flexibleTimeslotAssignment,
|
|
BIT1 gANPSHandoverCapability,
|
|
BIT1 rLCNonPersistentMode,
|
|
BIT1 reducedLatencyEGPRSCapability
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (downlinkDualCarrier)
|
|
"PRESENCE(presenceBitDownlinkDualCarrier = '1'B)"
|
|
}
|
|
|
|
|
|
type record DownlinkDualCarrier_BSSGP
|
|
{
|
|
BIT3 multislotCapReductionforDownLinkDualCarrier,
|
|
BIT1 downlinkDualCarrierforDTMCapability
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record ExtendedDTM_BSSGP
|
|
{
|
|
BIT2 ExtendedDTM_GPRSMultislot,
|
|
BIT2 ExtendedDTM_EGPRSMultislot
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
//MultislotCap
|
|
type record MultislotCap_BSSGP
|
|
{
|
|
BIT1 presenceBitHscsd,
|
|
BIT5 hscsdmultislotclass optional,
|
|
BIT1 presenceBitGprs,
|
|
MultislotCap_GPRS_BSSGP gprsmultislot optional,
|
|
BIT1 presenceBitSms,
|
|
MultislotCap_SMS_BSSGP multislotCap_SMS optional,
|
|
MultislotCapAdditionsAfterRel97_BSSGP multislotCapAdditionsAfterRel97 optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (hscsdmultislotclass) "PRESENCE(presenceBitHscsd = '1'B)";
|
|
variant (gprsmultislot) "PRESENCE(presenceBitGprs = '1'B)";
|
|
variant (multislotCap_SMS) "PRESENCE(presenceBitSms = '1'B)";
|
|
|
|
}
|
|
|
|
|
|
type record MultislotCapAdditionsAfterRel97_BSSGP
|
|
{
|
|
BIT1 presenceBitEcsdmulti,
|
|
BIT5 ecsdmultislotclass optional,
|
|
BIT1 presenceBitEgprsmulti,
|
|
MultislotCap_EGPRS_BSSGP multislotCap_EGPRS optional,
|
|
BIT1 presenceBitDtmGprsmulti,
|
|
MultislotCap_dtmgprsmultislotsubclass_BSSGP
|
|
multislotCapdtmgprsmultislotsubclass optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (ecsdmultislotclass) "PRESENCE(presenceBitEcsdmulti = '1'B)";
|
|
variant (multislotCap_EGPRS) "PRESENCE(presenceBitEgprsmulti = '1'B)" ;
|
|
variant (multislotCapdtmgprsmultislotsubclass)
|
|
"PRESENCE(presenceBitDtmGprsmulti = '1'B)"
|
|
}
|
|
|
|
|
|
type record MultislotCap_GPRS_BSSGP
|
|
{
|
|
BIT5 gprsmultislotclass,
|
|
BIT1 gprsextendeddynalloccap
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record MultislotCap_SMS_BSSGP
|
|
{
|
|
BIT4 smsValue,
|
|
BIT4 smValue
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record MultislotCap_EGPRS_BSSGP
|
|
{
|
|
BIT5 egprsmultislotclass,
|
|
BIT1 egprsextendeddynalloccap
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
type record MultislotCap_dtmgprsmultislotsubclass_BSSGP
|
|
{
|
|
BIT2 dtmgprsmultislotsubclass,
|
|
BIT1 singleSlotDTM,
|
|
BIT1 presenceBitDTM_EGPRSMultiSlot,
|
|
BIT2 dTM_EGPRSMultiSlot optional
|
|
} with {
|
|
variant "FIELDORDER(msb)";
|
|
variant (dTM_EGPRSMultiSlot) "PRESENCE(presenceBitDTM_EGPRSMultiSlot = '1'B)"
|
|
};
|
|
|
|
|
|
//A5BITS
|
|
|
|
type record A5BITS_BSSGP
|
|
{
|
|
BIT1 a51 ,
|
|
BIT1 a52 ,
|
|
BIT1 a53 ,
|
|
BIT1 a54 ,
|
|
BIT1 a55 ,
|
|
BIT1 a56 ,
|
|
BIT1 a57
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record MSRACapabilityValues1111_BSSGP
|
|
{
|
|
BIT4 accessTechnType, //1111
|
|
integer lengthIndicator,
|
|
BIT1 presenceIndicator_AdditionalAccessTechnologiesRepetition,
|
|
AdditionalAccessTechnologiesRepetition_BSSGP // coded '1'B if list is not empty
|
|
additionalAccessTechnologiesRepetition optional,
|
|
bitstring spare_bits
|
|
} with {
|
|
variant "PRESENCE (accessTechnType = '1111'B)";
|
|
variant "FIELDORDER(msb)";
|
|
variant (lengthIndicator) "FIELDLENGTH(7)";
|
|
variant (lengthIndicator) "UNIT(bits)";
|
|
variant (lengthIndicator) "BYTEORDER(last)";
|
|
variant (additionalAccessTechnologiesRepetition)
|
|
"PRESENCE(presenceIndicator_AdditionalAccessTechnologiesRepetition = '1'B)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO(presenceIndicator_AdditionalAccessTechnologiesRepetition,
|
|
additionalAccessTechnologiesRepetition,spare_bits)";
|
|
|
|
};
|
|
|
|
type record of AdditionalAccessTechnologiesRecord_BSSGP
|
|
AdditionalAccessTechnologiesRepetition_BSSGP
|
|
with { variant "EXTENSION_BIT(reverse)" };
|
|
|
|
|
|
type record AdditionalAccessTechnologiesRecord_BSSGP
|
|
{
|
|
AdditionalAccessTechnologies_BSSGP additionalAccessTechnologies,
|
|
BIT1 extensionBit
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
type record AdditionalAccessTechnologies_BSSGP
|
|
{
|
|
BIT4 accessTechnType,
|
|
BIT3 gMSKPowerClass,
|
|
BIT2 psk8PowerClass
|
|
} with { variant "FIELDORDER(msb)" };
|
|
|
|
|
|
|
|
// 11.3.23
|
|
type record OMC_Id_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT20 oMC_Identity
|
|
} with {
|
|
variant "PRESENCE(iEI = '14'O)";
|
|
variant (lengthIndicator) "LENGTHTO (oMC_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.24
|
|
//NOTE: lengthIndicator-short form will be converted to
|
|
// long form if needed during encoding
|
|
type record PDU_in_Error
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring erroneous_BSSGP_PDU
|
|
} with {
|
|
variant "PRESENCE(iEI = '15'O)";
|
|
variant (lengthIndicator) "LENGTHTO (erroneous_BSSGP_PDU)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.25
|
|
type record PDU_Lifetime
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 delay_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '16'O)";
|
|
variant (lengthIndicator) "LENGTHTO (delay_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.27
|
|
type record Priority_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 pvi,
|
|
BIT1 qa,
|
|
BIT4 priority_Level, //(1..14) 0: spare, 15: not used
|
|
BIT1 pci,
|
|
BIT1 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '17'O)";
|
|
variant (lengthIndicator) "LENGTHTO (pvi,qa,priority_Level,pci,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.28
|
|
type record QoS_Profile
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 peak_Bit_Rate,
|
|
BIT3 precedence,
|
|
BIT1 a_bit,
|
|
BIT1 t_bit,
|
|
BIT1 c_r_bit,
|
|
BIT2 peakBitRateGranularity
|
|
} with {
|
|
variant "PRESENCE(iEI = '18'O)";
|
|
variant (lengthIndicator) "LENGTHTO (peak_Bit_Rate,precedence,
|
|
a_bit,t_bit,c_r_bit,peakBitRateGranularity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
type record QoS_Profile_V
|
|
{
|
|
OCT2 peak_Bit_Rate,
|
|
BIT3 precedence,
|
|
BIT1 a_bit,
|
|
BIT1 t_bit,
|
|
BIT1 c_r_bit,
|
|
BIT2 peakBitRateGranularity
|
|
}
|
|
|
|
// 11.3.29
|
|
type record Radio_Cause
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 radio_Cause_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '19'O)";
|
|
variant (lengthIndicator) "LENGTHTO (radio_Cause_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.30
|
|
type record RA_Cap_UPD_CAUSE
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 rA_CAP_UPD_Cause_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '1A'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rA_CAP_UPD_Cause_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.31
|
|
type record Routeing_Area
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac,
|
|
OCT1 rac
|
|
} with {
|
|
variant "PRESENCE(iEI = '1B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,
|
|
mncDigit1,mncDigit2,lac,rac)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.32
|
|
type record R_default_MS
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 r_default_MS_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '1C'O)";
|
|
variant (lengthIndicator) "LENGTHTO (r_default_MS_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.33
|
|
type record Suspend_Reference_Number
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 suspend_Reference_Number_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '1D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (suspend_Reference_Number_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.34
|
|
type record Tag
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 unstructured_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '1E'O)";
|
|
variant (lengthIndicator) "LENGTHTO (unstructured_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.35
|
|
type record TLLI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT4 tLLI_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '1F'O)";
|
|
variant (lengthIndicator) "LENGTHTO (tLLI_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.36
|
|
// Note : reference in spec is to "TMSI/P-TMSI information element in
|
|
// 3GPP TS 24.008", however this specification has Mobile Identity
|
|
// IE which includes TMSI/P-TMSI
|
|
type record TMSI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT4 tMSI_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '20'O)";
|
|
variant (lengthIndicator) "LENGTHTO (tMSI_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.37
|
|
type record Trace_Reference_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 trace_Reference
|
|
} with {
|
|
variant "PRESENCE(iEI = '21'O)";
|
|
variant (lengthIndicator) "LENGTHTO (trace_Reference)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.38
|
|
type record Trace_Type_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 equipment_Trace
|
|
} with {
|
|
variant "PRESENCE(iEI = '22'O)";
|
|
variant (lengthIndicator) "LENGTHTO (equipment_Trace)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
|
|
};
|
|
|
|
|
|
// 11.3.39
|
|
type record TransactionId_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 transaction_Id
|
|
} with {
|
|
variant "PRESENCE(iEI = '23'O)";
|
|
variant (lengthIndicator) "LENGTHTO (transaction_Id)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.40
|
|
type record Trigger_Id_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT20 entity_Identity
|
|
} with {
|
|
variant "PRESENCE(iEI = '24'O)";
|
|
variant (lengthIndicator) "LENGTHTO (entity_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.41
|
|
type record Number_of_octets_affected
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT3 number_of_octets_transfered_or_deleted
|
|
// could be changed to integer input if simpler
|
|
} with {
|
|
variant "PRESENCE(iEI = '25'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (number_of_octets_transfered_or_deleted)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.42
|
|
type record PFI
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT7 pFI_Value,
|
|
BIT1 spare // '0'B according to 10.5.6.11 of 24.008
|
|
|
|
} with {
|
|
variant "PRESENCE(iEI = '28'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (pFI_Value,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.43
|
|
// Note : structure from 24.008
|
|
type record ABQP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT3 reliabilityClass,
|
|
BIT3 delayClass,
|
|
BIT2 spare1, // '00'B
|
|
BIT3 precedenceClass,
|
|
BIT1 spare2,
|
|
BIT4 peakThroughput,
|
|
BIT5 meanThroughput,
|
|
BIT3 spare3,
|
|
BIT3 deliverErroneusSDU optional, //opt because of V97
|
|
BIT2 deliveryOrder optional, //opt because of V97
|
|
BIT3 trafficClass optional, //opt because of V97
|
|
OCT1 maxSDUSize optional, //opt because of V97
|
|
OCT1 maxBitrateUplink optional, //opt because of V97
|
|
OCT1 maxBitrateDownlink optional, //opt because of V97
|
|
BIT4 sduErrorRatio optional, //opt because of V97
|
|
BIT4 residualBER optional, //opt because of V97
|
|
BIT2 trafficHandlingPriority optional, //opt because of V97
|
|
BIT6 transferDelay optional, //opt because of V97
|
|
OCT1 guaranteedBitRateUplink optional, //opt because of V97
|
|
OCT1 guaranteedBitRateDownlink optional, //opt because of V97
|
|
BIT4 sourceStatisticsDescriptor optional, //opt because of V97
|
|
BIT1 signallingIndication optional, //opt because of V97
|
|
BIT3 spare4 optional, //opt because of V97
|
|
OCT1 maxBitRateDownlinkExtended optional,
|
|
OCT1 guaranteedBitRateDownlinkExtended optional,
|
|
OCT1 maxBitrateUplinkExtended optional, //opt because of V97
|
|
OCT1 guaranteedBitRateUplinkExtended optional //opt because of V97
|
|
} with {
|
|
variant "PRESENCE(iEI = '3A'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (reliabilityClass,delayClass,spare1,precedenceClass,
|
|
spare2,peakThroughput,
|
|
meanThroughput,spare3
|
|
,deliverErroneusSDU,deliveryOrder,trafficClass,maxSDUSize,
|
|
maxBitrateUplink,maxBitrateDownlink,sduErrorRatio,residualBER,
|
|
trafficHandlingPriority,transferDelay,guaranteedBitRateUplink,
|
|
guaranteedBitRateDownlink,sourceStatisticsDescriptor,
|
|
signallingIndication,spare4,maxBitRateDownlinkExtended,
|
|
guaranteedBitRateDownlinkExtended,maxBitrateUplinkExtended,
|
|
guaranteedBitRateUplinkExtended)";
|
|
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.44
|
|
type record GPRS_Timer
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT5 timer_Value,
|
|
BIT3 unit_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '29'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (timer_Value,unit_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.45
|
|
type record Feature_bitmap
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 pFC,
|
|
BIT1 cBL,
|
|
BIT1 iNR,
|
|
BIT1 lCS,
|
|
BIT1 rIM,
|
|
BIT1 pFC_FC,
|
|
BIT1 enhancedRadioStatus,
|
|
BIT1 mBMS
|
|
} with {
|
|
variant "PRESENCE(iEI = '3B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (pFC,cBL,iNR,lCS,rIM,pFC_FC,
|
|
enhancedRadioStatus,mBMS)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.46
|
|
type record Bucket_Full_Ratio
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 rate_of_the_Bucket
|
|
// could be changed to integer input if simpler
|
|
} with {
|
|
variant "PRESENCE(iEI = '3C'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rate_of_the_Bucket)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.47
|
|
type record Service_UTRAN_CCO
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT3 service_UTRAN_CCO_Value,
|
|
BIT2 service_E_UTRAN_CCO_Value,
|
|
BIT3 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '3D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (service_UTRAN_CCO_Value,service_E_UTRAN_CCO_Value,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// new IE for Wendy Xiang and Freeman Feng
|
|
type record Service_Class_Indicator {
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 serviceClassIndicator
|
|
} with {
|
|
variant "PRESENCE(iEI = '99'O)";
|
|
variant (lengthIndicator) "LENGTHTO (serviceClassIndicator)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.48
|
|
type record NSEI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT2 nSEI
|
|
} with {
|
|
variant "PRESENCE(iEI = '3E'O)";
|
|
variant (lengthIndicator) "LENGTHTO (nSEI)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.49
|
|
type record RRLP_APDU_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring rRLP_Message
|
|
} with {
|
|
variant "PRESENCE(iEI = '3F'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rRLP_Message)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
//variant "PADDING(yes)";
|
|
}
|
|
|
|
|
|
// 11.3.50
|
|
// 24.008 -> 49.031
|
|
type record LCS_QoS_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 vert,
|
|
BIT1 vel,
|
|
BIT6 spare1,
|
|
BIT7 horizontal_Accuracy,
|
|
BIT1 hA_Indicator, // 1: is specified
|
|
BIT7 vertical_Accuracy,
|
|
BIT1 vA_Indicator, // 1: is specified
|
|
BIT6 spare2,
|
|
BIT2 response_Time_Category
|
|
} with {
|
|
variant "PRESENCE(iEI = '40'O)";
|
|
variant (lengthIndicator) "LENGTHTO (vert,vel,spare1,horizontal_Accuracy,hA_Indicator,vertical_Accuracy,vA_Indicator,spare2,response_Time_Category)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.51
|
|
// 49.031
|
|
type record LCS_Client_Type_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT4 client_Subtype,
|
|
BIT4 client_Category
|
|
} with {
|
|
variant "PRESENCE(iEI = '41'O)";
|
|
variant (lengthIndicator) "LENGTHTO (client_Subtype,client_Category)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.52
|
|
// 49.031
|
|
type record Requested_GPS_Assistance_Data_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Requested_GPS_Assistance_Data_Value requested_GPS_Assistance_Data
|
|
} with {
|
|
variant "PRESENCE(iEI = '42'O)";
|
|
variant (lengthIndicator) "LENGTHTO (requested_GPS_Assistance_Data)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record Requested_GPS_Assistance_Data_Value
|
|
{
|
|
OCT1 bits_H_to_A,
|
|
OCT1 bits_P_to_I,
|
|
SatelliteRelatedData satelliteRelatedData
|
|
}
|
|
|
|
type record SatelliteRelatedData
|
|
{
|
|
BIT6 spare,
|
|
BIT10 gPS_Week,
|
|
OCT1 gPS_Toe,
|
|
BIT4 t_Toe_Limit,
|
|
integer nSAT,
|
|
SatID_and_IODE_List satID_and_IODE_List
|
|
} with { variant(nSAT) "FIELDLENGTH(4)";
|
|
variant(nSAT) "LENGTHTO(satID_and_IODE_List)";
|
|
variant(nSAT) "UNIT(elements)";
|
|
}
|
|
|
|
type record of SatID_and_IODE SatID_and_IODE_List;
|
|
|
|
type record SatID_and_IODE
|
|
{
|
|
BIT6 satID,
|
|
BIT2 spare,
|
|
OCT1 iODE
|
|
}
|
|
|
|
// 11.3.53
|
|
// 49.031
|
|
type record Location_Type_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 location_Information,
|
|
OCT1 positioning_Method optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '43'O)";
|
|
variant (lengthIndicator) "LENGTHTO (location_Information,positioning_Method)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.54
|
|
// 48.008 -> 23.03
|
|
type record Location_Estimate_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring location // encoded location information
|
|
} with {
|
|
variant "PRESENCE(iEI = '44'O)";
|
|
variant (lengthIndicator) "LENGTHTO (location)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.55
|
|
// 49.031
|
|
type record Positioning_Data_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
PositioningDataValue positioningDataValue // encoded location data
|
|
} with {
|
|
variant "PRESENCE(iEI = '45'O)";
|
|
variant (lengthIndicator) "LENGTHTO (positioningDataValue)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record PositioningDataValue
|
|
{
|
|
BIT4 positioningDataDiscriminator,
|
|
BIT4 spare,
|
|
PositioningMethod_List positioningMethod_List
|
|
}
|
|
|
|
type record of PositioningMethodValue PositioningMethod_List;
|
|
|
|
type record PositioningMethodValue
|
|
{
|
|
BIT3 usage,
|
|
BIT5 positioningMethod
|
|
}
|
|
|
|
// 11.3.56
|
|
type record Deciphering_Keys_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
DecipheringKeysValue decipheringKeysValue // encoded deciphering keys data
|
|
} with {
|
|
variant "PRESENCE(iEI = '46'O)";
|
|
variant (lengthIndicator) "LENGTHTO (decipheringKeysValue)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record DecipheringKeysValue
|
|
{
|
|
BIT1 cipheringkeyFlag,
|
|
BIT7 spare,
|
|
OCT7 currentDecipheringKeyValue,
|
|
OCT7 nextDecipheringKeyValue
|
|
}
|
|
|
|
// 11.3.57
|
|
// 49.031
|
|
type record LCS_Priority_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 priority_Value // 0: highest, other: normal
|
|
} with {
|
|
variant "PRESENCE(iEI = '47'O)";
|
|
variant (lengthIndicator) "LENGTHTO (priority_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.58
|
|
// 49.031
|
|
type record LCS_Cause_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 cause_Value,
|
|
OCT1 diagnostic_Value optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '48'O)";
|
|
variant (lengthIndicator) "LENGTHTO (cause_Value,diagnostic_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.59
|
|
// 24.008
|
|
type record LCS_Capability_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 gPS_C,
|
|
BIT1 gPS_B,
|
|
BIT1 gPS_A,
|
|
BIT1 oTD_B,
|
|
BIT1 oTD_A,
|
|
BIT3 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '49'O)";
|
|
variant (lengthIndicator) "LENGTHTO (gPS_C,gPS_B,gPS_A,oTD_B,oTD_A,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.60
|
|
type record RRLP_Flags_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 flag1,
|
|
BIT7 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '4A'O)";
|
|
variant (lengthIndicator) "LENGTHTO (flag1,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
//11.3.61
|
|
type record RIM_Application_Identity
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 rIMApplicationIdentity
|
|
} with {
|
|
variant "PRESENCE(iEI = '4B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIMApplicationIdentity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
//11.3.62
|
|
type record RIM_Sequence_Number
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT4 rIMSequenceNumber
|
|
} with {
|
|
variant "PRESENCE(iEI = '4C'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIMSequenceNumber)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// Table 11.3.62a.1
|
|
type record RAN_Information_Request_RIM_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
RIM_Application_Identity rIM_Application_Identity,
|
|
RIM_Sequence_Number rIM_Sequence_Number,
|
|
RIM_PDU_Indications rIM_PDU_Indications,
|
|
RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional,
|
|
RAN_Information_Request_Application_Container application_Container optional,
|
|
SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity_TLV optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '57'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
|
|
rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number,
|
|
application_Container,sON_Transfer_Application_Identity_TLV)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (application_Container)
|
|
"PRESENCE
|
|
(rIM_Application_Identity.rIMApplicationIdentity = '01'O,
|
|
rIM_Application_Identity.rIMApplicationIdentity = '02'O,
|
|
rIM_Application_Identity.rIMApplicationIdentity = '03'O)";
|
|
variant (application_Container)
|
|
"CROSSTAG
|
|
(nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O;
|
|
si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O;
|
|
mBMS_data_channel,rIM_Application_Identity.rIMApplicationIdentity = '03'O;)"
|
|
};
|
|
|
|
|
|
// Table 11.3.62a.2
|
|
type record RAN_Information_RIM_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
RIM_Application_Identity rIM_Application_Identity,
|
|
RIM_Sequence_Number rIM_Sequence_Number,
|
|
RIM_PDU_Indications rIM_PDU_Indications,
|
|
RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional,
|
|
ApplContainer_or_ApplErrContainer applContainer_or_ApplErrContainer optional,
|
|
SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '58'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
|
|
rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number,
|
|
applContainer_or_ApplErrContainer,sON_Transfer_Application_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (applContainer_or_ApplErrContainer)
|
|
"PRESENCE
|
|
(rIM_Application_Identity.rIMApplicationIdentity = '01'O,
|
|
rIM_Application_Identity.rIMApplicationIdentity = '02'O,
|
|
rIM_Application_Identity.rIMApplicationIdentity = '03'O)";
|
|
variant (applContainer_or_ApplErrContainer)
|
|
"CROSSTAG
|
|
(nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O;
|
|
si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O;
|
|
mBMS_data_channel,rIM_Application_Identity.rIMApplicationIdentity = '03'O;)"
|
|
};
|
|
|
|
|
|
type union ApplContainer_or_ApplErrContainer
|
|
{
|
|
ApplContainer_or_ApplErrContainer_NACC nacc,
|
|
ApplContainer_or_ApplErrContainer_SI3 si3,
|
|
ApplContainer_or_ApplErrContainer_MBMS_data_channel mBMS_data_channel
|
|
}
|
|
|
|
type union ApplContainer_or_ApplErrContainer_NACC
|
|
{
|
|
RAN_Information_Application_Container_NACC application_Container,
|
|
Application_Error_Container_NACC application_Error_Container
|
|
};
|
|
|
|
type union ApplContainer_or_ApplErrContainer_SI3
|
|
{
|
|
RAN_Information_Application_Container_SI3 application_Container,
|
|
Application_Error_Container_SI3 application_Error_Container
|
|
};
|
|
|
|
type union ApplContainer_or_ApplErrContainer_MBMS_data_channel
|
|
{
|
|
RAN_Information_Application_Container_MBMS_data_channel application_Container,
|
|
Application_Error_Container_MBMS_data_channel application_Error_Container
|
|
};
|
|
|
|
// Table 11.3.62a.3
|
|
type record RAN_Information_Ack_RIM_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
RIM_Application_Identity rIM_Application_Identity,
|
|
RIM_Sequence_Number rIM_Sequence_Number,
|
|
RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional,
|
|
SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '5A'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
|
|
rIM_Sequence_Number,rIM_Protocol_Version_Number,sON_Transfer_Application_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// Table 11.3.62a.4
|
|
type record RAN_Information_Error_RIM_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
RIM_Application_Identity rIM_Application_Identity,
|
|
Cause_BSSGP rIM_cause,
|
|
RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional,
|
|
PDU_in_Error pDU_in_Error,
|
|
SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '5B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
|
|
rIM_cause,rIM_Protocol_Version_Number,pDU_in_Error,sON_Transfer_Application_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// Table 11.3.62a.5
|
|
type record RAN_Information_Application_Error_RIM_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
RIM_Application_Identity rIM_Application_Identity,
|
|
RIM_Sequence_Number rIM_Sequence_Number,
|
|
RIM_PDU_Indications rIM_PDU_Indications,
|
|
RIM_Protocol_Version_Number rIM_Protocol_Version_Number optional,
|
|
Application_Error_Container application_Error_Container,
|
|
SON_Transfer_Application_Identity_TLV sON_Transfer_Application_Identity optional
|
|
} with {
|
|
variant "PRESENCE(iEI = '59'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIM_Application_Identity,
|
|
rIM_Sequence_Number,rIM_PDU_Indications,rIM_Protocol_Version_Number,
|
|
application_Error_Container,sON_Transfer_Application_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (application_Error_Container)
|
|
"CROSSTAG
|
|
(nacc,rIM_Application_Identity.rIMApplicationIdentity = '01'O;
|
|
si3,rIM_Application_Identity.rIMApplicationIdentity = '02'O;
|
|
mBMS_data_channel,rIM_Application_Identity.rIMApplicationIdentity = '03'O;)"
|
|
};
|
|
|
|
|
|
// 11.3.63.1
|
|
type union RAN_Information_Request_Application_Container
|
|
{
|
|
RAN_Information_Request_Application_Container_NACC nacc,
|
|
RAN_Information_Request_Application_Container_SI3 si3,
|
|
RAN_Information_Request_Application_Container_MBMS_data_channel mBMS_data_channel
|
|
}
|
|
|
|
|
|
//Table 11.3.63.1.1
|
|
type record RAN_Information_Request_Application_Container_NACC
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier
|
|
} with {
|
|
variant "PRESENCE(iEI = '4D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//Table 11.3.63.1.2
|
|
type record RAN_Information_Request_Application_Container_SI3
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier
|
|
} with {
|
|
variant "PRESENCE(iEI = '4D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//Table 11.3.63.1.3
|
|
type record RAN_Information_Request_Application_Container_MBMS_data_channel
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier
|
|
} with {
|
|
variant "PRESENCE(iEI = '4D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//11.3.63.1.4
|
|
type record RAN_Information_Request_Application_Container_SON_transfer
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier,
|
|
OCTN sON_Transfer_Request_Container
|
|
} with {
|
|
variant "PRESENCE(iEI = '4D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier,sON_Transfer_Request_Container)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//11.3.63.1.5
|
|
type record RAN_Information_Request_Application_Container_UTRA_SI
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier
|
|
} with {
|
|
variant "PRESENCE(iEI = '4D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reporting_Cell_Identifier)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//Table 11.3.63.2.1
|
|
type record RAN_Information_Application_Container_NACC
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier,
|
|
BIT1 typeBit,
|
|
BIT7 number_of_SI_PSI,
|
|
octetstring sI_PSI
|
|
} with {
|
|
variant "PRESENCE(iEI = '4E'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (reporting_Cell_Identifier,typeBit,number_of_SI_PSI,sI_PSI)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//Table 11.3.63.2.2
|
|
type record RAN_Information_Application_Container_SI3
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier,
|
|
SI3 sI3
|
|
} with {
|
|
variant "PRESENCE(iEI = '4E'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (reporting_Cell_Identifier,sI3)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//44.018 9.1.35
|
|
type record SI3
|
|
{
|
|
OCT1 sI3MessageType, //'1B'O
|
|
OCT2 cellIdentity, //10.5.1.1 -> 24.008
|
|
LocationAreaIdentification locationAreaIdentification, //10.5.1.3 -> 24.008
|
|
ControlChannelDescription controlChannelDescription, //10.5.2.11
|
|
CellOptions cellOptions, //10.5.2.3
|
|
CellSelectionParameters cellSelectionParameters, //10.5.2.4
|
|
RACHControlParameters rACHControlParameters, //10.5.2.29
|
|
OCT4 sI3RestOctets //10.5.2.34, bit encoded
|
|
}
|
|
|
|
type record LocationAreaIdentification
|
|
{
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac
|
|
}
|
|
|
|
type record ControlChannelDescription
|
|
{
|
|
BIT3 cCCH_Conf,
|
|
BIT3 bS_AG_BLKS_RES,
|
|
BIT1 aTT,
|
|
BIT1 mSCR,
|
|
BIT3 bS_PA_MFRMS,
|
|
BIT2 spare1, //'00'B
|
|
BIT2 cBQ3,
|
|
BIT1 spare2, //'0'B
|
|
OCT1 t3212
|
|
}
|
|
|
|
type record CellOptions
|
|
{
|
|
BIT4 radioLinkTimeout,
|
|
BIT2 dTX1,
|
|
BIT1 pWRC,
|
|
BIT1 dtx2
|
|
}
|
|
|
|
type record CellSelectionParameters
|
|
{
|
|
BIT5 mS_TXPWR_MAX_CCH,
|
|
BIT3 cellReselectHysterisis,
|
|
BIT6 rXLEV_Access_Min,
|
|
BIT1 nECI,
|
|
BIT1 aCS
|
|
}
|
|
|
|
type record RACHControlParameters
|
|
{
|
|
BIT1 rE,
|
|
BIT1 cellBarrAccess,
|
|
BIT4 tX_Integer,
|
|
BIT2 maxRetrans,
|
|
OCT1 aC_15_to_8,
|
|
OCT1 aC_7_to_0
|
|
}
|
|
|
|
//Table 11.3.63.2.3
|
|
type record RAN_Information_Application_Container_MBMS_data_channel
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier,
|
|
octetstring mBMS_data_channel_report //bit encoded
|
|
} with {
|
|
variant "PRESENCE(iEI = '4E'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (reporting_Cell_Identifier,mBMS_data_channel_report)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//11.3.63.2.4
|
|
type record RAN_Information_Application_Container_SON_transfer
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT4 rAT_Discriminator,
|
|
BIT4 spare,
|
|
Cell_Identifier reporting_Cell_Identifier,
|
|
OCTN sON_Transfer_Response_Container
|
|
} with {
|
|
variant "PRESENCE(iEI = '4E'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (rAT_Discriminator,spare,reporting_Cell_Identifier,sON_Transfer_Response_Container)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//11.3.63.2.5
|
|
type record RAN_Information_Application_Container_UTRA_SI
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Cell_Identifier reporting_Cell_Identifier,
|
|
OCTN uTRA_SI_Container
|
|
} with {
|
|
variant "PRESENCE(iEI = '4E'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (reporting_Cell_Identifier,uTRA_SI_Container)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.64
|
|
type union Application_Error_Container
|
|
{
|
|
Application_Error_Container_NACC nacc,
|
|
Application_Error_Container_SI3 si3,
|
|
Application_Error_Container_MBMS_data_channel mBMS_data_channel
|
|
}
|
|
|
|
//11.3.64.1
|
|
type record Application_Error_Container_NACC
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 nACC_cause,
|
|
Application_Container_IE_NACC erroneousApplicationContainer
|
|
} with {
|
|
variant "PRESENCE(iEI = '56'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (nACC_cause,erroneousApplicationContainer)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
type union Application_Container_IE_NACC
|
|
{
|
|
RAN_Information_Request_Application_Container_NACC
|
|
rAN_Information_Request_Application_Container,
|
|
|
|
RAN_Information_Application_Container_NACC
|
|
rAN_Information_Application_Container
|
|
};
|
|
|
|
//11.3.64.2
|
|
type record Application_Error_Container_SI3
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 sI3_cause,
|
|
Application_Container_IE_SI3 erroneousApplicationContainer
|
|
} with {
|
|
variant "PRESENCE(iEI = '56'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (sI3_cause,erroneousApplicationContainer)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
type union Application_Container_IE_SI3
|
|
{
|
|
RAN_Information_Request_Application_Container_SI3
|
|
rAN_Information_Request_Application_Container,
|
|
|
|
RAN_Information_Application_Container_SI3
|
|
rAN_Information_Application_Container
|
|
};
|
|
|
|
|
|
//11.3.64.3
|
|
type record Application_Error_Container_MBMS_data_channel
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 mBMS_data_channel_cause,
|
|
Application_Container_IE_MBMS_data_channel erroneousApplicationContainer
|
|
} with {
|
|
variant "PRESENCE(iEI = '56'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (mBMS_data_channel_cause,erroneousApplicationContainer)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
type union Application_Container_IE_MBMS_data_channel
|
|
{
|
|
RAN_Information_Request_Application_Container_MBMS_data_channel
|
|
rAN_Information_Request_Application_Container,
|
|
|
|
RAN_Information_Application_Container_MBMS_data_channel
|
|
rAN_Information_Application_Container
|
|
};
|
|
|
|
//11.3.64.4
|
|
type record Application_Error_Container_SON_transfer
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 sON_transfer_cause,
|
|
Application_Container_IE_SON_transfer erroneousApplicationContainer
|
|
};
|
|
|
|
type union Application_Container_IE_SON_transfer
|
|
{
|
|
RAN_Information_Request_Application_Container_SON_transfer
|
|
rAN_Information_Request_Application_Container,
|
|
RAN_Information_Application_Container_SON_transfer
|
|
rAN_Information_Application_Container
|
|
};
|
|
|
|
//11.3.64.5
|
|
type record Application_Error_Container_UTRA_SI
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 uTRA_SI_cause,
|
|
Application_Container_IE_UTRA_SI erroneousApplicationContainer
|
|
};
|
|
|
|
type union Application_Container_IE_UTRA_SI
|
|
{
|
|
RAN_Information_Request_Application_Container_UTRA_SI
|
|
rAN_Information_Request_Application_Container,
|
|
RAN_Information_Application_Container_UTRA_SI
|
|
rAN_Information_Application_Container
|
|
};
|
|
|
|
//11.3.65
|
|
type record RIM_PDU_Indications
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 ack,
|
|
BIT3 pDU_Type_Extension,
|
|
BIT4 reserved
|
|
} with {
|
|
variant "PRESENCE(iEI = '4F'O)";
|
|
variant (lengthIndicator) "LENGTHTO (ack,pDU_Type_Extension,reserved)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
//11.3.67
|
|
type record RIM_Protocol_Version_Number
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 rIMProtocolVersionNumber
|
|
} with {
|
|
variant "PRESENCE(iEI = '55'O)";
|
|
variant (lengthIndicator) "LENGTHTO (rIMProtocolVersionNumber)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.68
|
|
type record PFC_flow_control_parameters
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
integer number_of_PFC (0..11),
|
|
PFCs pFCs
|
|
} with {
|
|
variant "PRESENCE(iEI = '52'O)";
|
|
variant (lengthIndicator) "LENGTHTO (number_of_PFC,pFCs)";
|
|
variant (number_of_PFC) "LENGTHTO (pFCs)";
|
|
variant (number_of_PFC) "UNIT(elements)"
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
type record length(0..11) of PFC PFCs;
|
|
|
|
type record PFC
|
|
{
|
|
BIT7 pFI_Value,
|
|
BIT1 spare, // '0'B according to 10.5.6.11 of 24.008
|
|
OCT2 bmax_PFC,
|
|
OCT2 r_PFC,
|
|
OCT1 b_PFC
|
|
};
|
|
|
|
// 11.3.69
|
|
type record Global_CN_Id_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Global_CN_Id_Value global_CN_Id // encoded Global CN-Id
|
|
} with {
|
|
variant "PRESENCE(iEI = '53'O)";
|
|
variant (lengthIndicator) "LENGTHTO (global_CN_Id)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record Global_CN_Id_Value
|
|
{
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 cN_Id
|
|
}
|
|
|
|
|
|
// 11.3.70
|
|
type record RIM_Routing_Information
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 rIMRoutingAddressDiscriminator,
|
|
HEX1 spare,
|
|
RIM_Routing_Address rIM_Routing_Address
|
|
} with {
|
|
variant "PRESENCE(iEI = '54'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (rIMRoutingAddressDiscriminator,spare,rIM_Routing_Address)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (rIM_Routing_Address)
|
|
"CROSSTAG (cell_Identifier, rIMRoutingAddressDiscriminator = '0'H;
|
|
globalRNCID, rIMRoutingAddressDiscriminator = '1'H;
|
|
eNB_Identifier, rIMRoutingAddressDiscriminator = '2'H;
|
|
eHRPD_SectorID, rIMRoutingAddressDiscriminator = '3'H
|
|
)"
|
|
};
|
|
|
|
type union RIM_Routing_Address
|
|
{
|
|
Cell_Identifier_V cell_Identifier,
|
|
GlobalRNC_ID_BSSGP globalRNCID,
|
|
ENB_Identifier_V eNB_Identifier,
|
|
octetstring eHRPD_SectorID
|
|
}
|
|
|
|
type record GlobalRNC_ID_BSSGP
|
|
{
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac,
|
|
OCT1 rac,
|
|
HEX1 spare,
|
|
integer rNC_ID
|
|
} with {
|
|
variant (spare,rNC_ID) "FIELDORDER(msb)";
|
|
variant (rNC_ID) "BYTEORDER(last)";
|
|
variant (rNC_ID) "FIELDLENGTH(12)";
|
|
}
|
|
|
|
type record ENB_Identifier_V {
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 tac,
|
|
octetstring globaleNBID
|
|
}
|
|
|
|
|
|
// 11.3.71
|
|
type record MBMS_Session_Identity
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 mBMS_Session_Identifier_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '5D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mBMS_Session_Identifier_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.72
|
|
// 29.061
|
|
|
|
type record MBMS_Session_Duration
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring mBMS_Session_Duration_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '5E'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mBMS_Session_Duration_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.73
|
|
type record MBMS_Service_Area_Identity_List
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring mBMS_Service_Area_Identity_List_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '5F'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (mBMS_Service_Area_Identity_List_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.74
|
|
type record MBMS_Response
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 causeValue,
|
|
HEX1 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '60'O)";
|
|
variant (lengthIndicator) "LENGTHTO (causeValue,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.75
|
|
type record MBMS_Routing_Area_List
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 spare,
|
|
HEX1 number_of_Routing_Area_Identifications,
|
|
octetstring routing_Area_Identifications optional
|
|
|
|
} with {
|
|
variant "PRESENCE(iEI = '61'O)";
|
|
variant (lengthIndicator)
|
|
"LENGTHTO (spare,number_of_Routing_Area_Identifications,
|
|
routing_Area_Identifications)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
|
|
// 11.3.76
|
|
type record MBMS_Session_Information
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 bCMC,
|
|
BIT7 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '62'O)";
|
|
variant (lengthIndicator) "LENGTHTO (bCMC, spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
//11.3.77
|
|
// 24.008 10.5.6.13
|
|
type record TMGI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT3 mBMS_Service_ID,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2
|
|
} with {
|
|
variant "PRESENCE(iEI = '5C'O)";
|
|
variant (lengthIndicator) "LENGTHTO
|
|
(mBMS_Service_ID,mccDigit1,mccDigit2,mccDigit3,mncDigit3,
|
|
mncDigit1,mncDigit2)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.78 MBMS Stop Cause
|
|
type record MBMS_Stop_Cause
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 causeValue,
|
|
HEX1 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '63'O)";
|
|
variant (lengthIndicator) "LENGTHTO (causeValue, spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
};
|
|
|
|
// 11.3.79
|
|
type record Source_BSS_to_Target_BSS_Transparent_Container_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Source_BSS_to_Target_BSS_Transparent_Container_Contents
|
|
source_BSS_to_Target_BSS_Transparent_Container_Contents
|
|
} with {
|
|
variant "PRESENCE(iEI = '64'O)";
|
|
variant (lengthIndicator) "LENGTHTO (source_BSS_to_Target_BSS_Transparent_Container_Contents)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record Source_BSS_to_Target_BSS_Transparent_Container_Contents
|
|
{
|
|
MS_Radio_Access_Capability mS_Radio_Access_Capability,
|
|
Inter_RAT_Handover_Info_BSSGP inter_RAT_Handover_Info optional,
|
|
Page_Mode_BSSGP page_Mode_BSSGP optional,
|
|
Container_ID_BSSGP container_ID optional,
|
|
Global_TFI_BSSGP global_TFI optional,
|
|
PS_HandoverIndications pS_HandoverIndications optional,
|
|
CS_Indication cS_Indication optional,
|
|
E_UTRAN_Inter_RAT_Handover_Info e_UTRAN_Inter_RAT_Handover_Info optional,
|
|
IRAT_Measurement_Configuration iRAT_Measurement_Configuration optional,
|
|
Source_Cell_ID source_Cell_ID optional,
|
|
IRAT_Measurement_Configuration_Extended_eARFCNs iRAT_Measurement_Configuration_Extended_eARFCNs optional
|
|
};
|
|
|
|
// 11.3.80
|
|
type record Target_BSS_to_Source_BSS_Transparent_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
Target_BSS_to_Source_BSS_Transparent_Container_Contents
|
|
target_BSS_to_Source_BSS_Transparent_Container_Contents
|
|
} with {
|
|
variant "PRESENCE(iEI = '65'O)";
|
|
variant (lengthIndicator) "LENGTHTO (target_BSS_to_Source_BSS_Transparent_Container_Contents)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
//Note: Only PS_Handover_Command_BSSGP or DTM_Handover_Command is present
|
|
type record Target_BSS_to_Source_BSS_Transparent_Container_Contents
|
|
{
|
|
PS_Handover_Command_BSSGP pS_Handover_Command optional,
|
|
SI_PSI_Container sI_PSI_Container optional, //NEW
|
|
DTM_Handover_Command dTM_Handover_Command optional //NEW
|
|
}
|
|
|
|
// 11.3.81
|
|
type record NAS_container_for_PS_Handover
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
NAS_Container_for_PS_HO nAS_Container_for_PS_HO
|
|
} with {
|
|
variant "PRESENCE(iEI = '66'O)";
|
|
variant (lengthIndicator) "LENGTHTO (nAS_Container_for_PS_HO)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//24.008 10.5.1.14
|
|
type record NAS_Container_for_PS_HO
|
|
{
|
|
BIT3 typeOfCipheringAlgorithm,
|
|
BIT1 spare1,
|
|
BIT1 oldXID,
|
|
BIT3 spare2,
|
|
OCT4 iOV_UI
|
|
}
|
|
|
|
// 11.3.82
|
|
type record PFCs_to_be_set_up_list
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
integer number_of_PFCs (1..11), // note: 0 and 12 .. 255 are reserved!!!
|
|
Multiple_PFCs_BSSGP pFCs
|
|
} with {
|
|
variant "PRESENCE(iEI = '67'O)";
|
|
variant (lengthIndicator) "LENGTHTO (number_of_PFCs,pFCs)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFCs),FIELDORDER(msb),FIELDLENGTH(8)";
|
|
}
|
|
|
|
type record Single_PFC_BSSGP
|
|
{
|
|
PFI pFI,
|
|
GPRS_Timer pFT,
|
|
ABQP aBQP,
|
|
Priority_BSSGP allocation_Retention_Priority optional,
|
|
GPRS_Timer t10 optional
|
|
}
|
|
|
|
type record length (1..11) of Single_PFC_BSSGP Multiple_PFCs_BSSGP;
|
|
|
|
|
|
// 11.3.83
|
|
type record List_of_set_up_PFCs_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
integer number_of_PFCs (0..11), // note: 12 .. 255 are reserved!!!
|
|
Multiple_PFIs_BSSGP pFIs
|
|
} with {
|
|
variant "PRESENCE(iEI = '68'O)";
|
|
variant (lengthIndicator) "LENGTHTO (number_of_PFCs,pFIs)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFIs),FIELDORDER(msb),FIELDLENGTH(8)";
|
|
}
|
|
|
|
type record Single_PFI_BSSGP
|
|
{
|
|
BIT7 pFI_Value,
|
|
BIT1 spare
|
|
}
|
|
|
|
type record length (0..11) of Single_PFI_BSSGP Multiple_PFIs_BSSGP;
|
|
|
|
|
|
// 11.3.84 Extended Feature Bitmap
|
|
type record Extended_Feature_Bitmap
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 pS_Handover,
|
|
BIT1 gigabitInterface,
|
|
BIT1 mOCN,
|
|
BIT1 cS_PS_Coordination_Enhancements,
|
|
BIT4 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '69'O)";
|
|
variant (lengthIndicator) "LENGTHTO (pS_Handover,gigabitInterface,mOCN,cS_PS_Coordination_Enhancements,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.85
|
|
type record Source_to_Target_Transparent_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring source_to_Target_Transparent_Container_Contents //RANAP ASN.1 PER
|
|
} with {
|
|
variant "PRESENCE(iEI = '6A'O)";
|
|
variant (lengthIndicator) "LENGTHTO (source_to_Target_Transparent_Container_Contents)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.86
|
|
type record Target_to_Source_Transparent_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring handover_to_UTRAN_or_Radio_Bearer_Reconfiguration_radio_interface_message //ASN.1
|
|
} with {
|
|
variant "PRESENCE(iEI = '6B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (handover_to_UTRAN_or_Radio_Bearer_Reconfiguration_radio_interface_message)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
|
|
// 11.3.87
|
|
type record RNC_Identifier_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac,
|
|
OCT1 rac,
|
|
OCT2 rNC_ID
|
|
} with {
|
|
variant "PRESENCE(iEI = '6C'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1, mccDigit2, mccDigit3, mncDigit3, mncDigit1, mncDigit2,
|
|
lac, rac, rNC_ID)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.88
|
|
type record Page_Mode_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT2 page_mode, // specified in 3GPP TS 44.060
|
|
BIT6 reserved
|
|
} with {
|
|
variant "PRESENCE(iEI = '6D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (page_mode,reserved)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.89
|
|
type record Container_ID_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT2 container_ID, // specified in 3GPP TS 44.060
|
|
BIT6 reserved
|
|
} with {
|
|
variant "PRESENCE(iEI = '6E'O)";
|
|
variant (lengthIndicator) "LENGTHTO (container_ID,reserved)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.90
|
|
type record Global_TFI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT6 global_TFI, // specified in 3GPP TS 44.060
|
|
BIT2 reserved
|
|
} with {
|
|
variant "PRESENCE(iEI = '6F'O)";
|
|
variant (lengthIndicator) "LENGTHTO (global_TFI,reserved)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.91
|
|
type record IMEI_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
IMEI_Value iMEI
|
|
} with {
|
|
variant "PRESENCE(iEI = '70'O)";
|
|
variant (lengthIndicator) "LENGTHTO (iMEI)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record IMEI_Value
|
|
{
|
|
BIT3 typeOfIdentity,
|
|
BIT1 oddevenIndicator,
|
|
hexstring digits length(15)
|
|
}
|
|
|
|
|
|
// 11.3.92 Time to MBMS Data Transfer
|
|
type record Time_To_MBMS_Data_Transfer
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 valuePart
|
|
} with {
|
|
variant "PRESENCE(iEI = '71'O)";
|
|
variant (lengthIndicator) "LENGTHTO (valuePart)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.93 MBMS Session Repetition Number
|
|
type record MBMS_Session_Repetition_Number
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring repetitionNumber
|
|
} with {
|
|
variant "PRESENCE(iEI = '72'O)";
|
|
variant (lengthIndicator) "LENGTHTO (repetitionNumber)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.94
|
|
type record Inter_RAT_Handover_Info_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring inter_RAT_Handover_Information //as specified in 3GPP TS 25.331
|
|
} with {
|
|
variant "PRESENCE(iEI = '73'O)";
|
|
variant (lengthIndicator) "LENGTHTO (inter_RAT_Handover_Information)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.95
|
|
type record PS_Handover_Command_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring pS_Handover_Command_radio_interface_message
|
|
} with {
|
|
variant "PRESENCE(iEI = '74'O)";
|
|
variant (lengthIndicator) "LENGTHTO (pS_Handover_Command_radio_interface_message)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.95a
|
|
type record PS_HandoverIndications
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 sI_PSI,
|
|
BIT2 dMLC_Carriers,
|
|
BIT5 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '75'O)";
|
|
variant (lengthIndicator) "LENGTHTO (sI_PSI,dMLC_Carriers,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
// 11.3.95b
|
|
type record SI_PSI_Container
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 typeField,
|
|
SI_PSI_ContainerValue sI_PSI_ContainerValue
|
|
} with {
|
|
variant "PRESENCE(iEI = '76'O)";
|
|
variant (lengthIndicator) "LENGTHTO (typeField,sI_PSI_ContainerValue)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (sI_PSI_ContainerValue) "CROSSTAG
|
|
(
|
|
sI_message_Container, typeField ='0'B;
|
|
pSI_message_Container, typeField ='1'B;
|
|
)";
|
|
};
|
|
|
|
type union SI_PSI_ContainerValue
|
|
{
|
|
SI_message_Container sI_message_Container,
|
|
PSI_message_Container pSI_message_Container
|
|
}
|
|
|
|
type record SI_message_Container
|
|
{
|
|
integer number_of_SI,
|
|
SI_message_List sI_message_List
|
|
} with {
|
|
variant (number_of_SI) "UNIT(elements),LENGTHTO(sI_message_List),FIELDORDER(msb),FIELDLENGTH(7)";
|
|
}
|
|
|
|
type record PSI_message_Container
|
|
{
|
|
integer number_of_PSI,
|
|
PSI_message_List pSI_message_List
|
|
} with {
|
|
variant (number_of_PSI) "UNIT(elements),LENGTHTO(pSI_message_List),FIELDORDER(msb),FIELDLENGTH(7)";
|
|
}
|
|
|
|
type record of SI_message SI_message_List;
|
|
|
|
type record of PSI_message PSI_message_List;
|
|
|
|
type octetstring SI_message length (21);
|
|
|
|
type octetstring PSI_message length (22);
|
|
|
|
|
|
// 11.3.95c 48.008 CR 240
|
|
type record Active_PFCs_List_BSSGP
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
integer number_of_PFCs (0..11), // note: 12 .. 255 are reserved!!!
|
|
Multiple_PFIs_BSSGP pFIs
|
|
} with {
|
|
variant "PRESENCE(iEI = '77'O)";
|
|
variant (lengthIndicator) "LENGTHTO (number_of_PFCs,pFIs)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (number_of_PFCs) "UNIT(elements),LENGTHTO(pFIs),FIELDORDER(msb),FIELDLENGTH(8)";
|
|
}
|
|
|
|
//11.3.96
|
|
type record VelocityData
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring velocityDataValue // 23.032
|
|
}with {
|
|
variant "PRESENCE(iEI = '78'O)";
|
|
variant (lengthIndicator) "LENGTHTO (velocityDataValue)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.97
|
|
type record DTM_Handover_Command
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring dTM_HandoverCommandValue // 44.060
|
|
} with {
|
|
variant "PRESENCE(iEI = '79'O)";
|
|
variant (lengthIndicator) "LENGTHTO (dTM_HandoverCommandValue)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.98
|
|
type record CS_Indication
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 cS_IndicationContents //48.008
|
|
} with {
|
|
variant "PRESENCE(iEI = '7A'O)";
|
|
variant (lengthIndicator) "LENGTHTO (cS_IndicationContents)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.99
|
|
type record Requested_GANSS_Assistance_Data
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
octetstring requested_GANSS_Assistance_Data_Value //49.031
|
|
} with {
|
|
variant "PRESENCE(iEI = '7B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (requested_GANSS_Assistance_Data_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.100
|
|
type record GANSS_Location_Type
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 galileo,
|
|
BIT7 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '7C'O)";
|
|
variant (lengthIndicator) "LENGTHTO (galileo,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
// 11.3.101
|
|
//49.031
|
|
type record GANSS_Positioning_Data
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
GANSS_Positioning_DataList gANSS_Positioning_DataList
|
|
} with {
|
|
variant "PRESENCE(iEI = '7D'O)";
|
|
variant (lengthIndicator) "LENGTHTO (gANSS_Positioning_DataList)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record of GANSS_Positioning_DataValue GANSS_Positioning_DataList
|
|
|
|
type record GANSS_Positioning_DataValue
|
|
{
|
|
BIT3 usage,
|
|
BIT3 gANSS_ID,
|
|
BIT2 method
|
|
}
|
|
|
|
//11.3.102
|
|
type record Flow_Control_Granularity
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT2 granularity,
|
|
BIT6 reserved
|
|
} with {
|
|
variant "PRESENCE(iEI = '7E'O)";
|
|
variant (lengthIndicator) "LENGTHTO (granularity,reserved)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
//11.3.103
|
|
type record ENB_Identifier
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 tac,
|
|
OCTN globalEnbID
|
|
|
|
} with {
|
|
variant "PRESENCE(iEI = '7F'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1, mccDigit2, mccDigit3, mncDigit3, mncDigit1,
|
|
mncDigit2, tac, globalEnbID)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
//11.3.104
|
|
type record E_UTRAN_Inter_RAT_Handover_Info
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCTN ue_EUTRA_Capability
|
|
|
|
} with {
|
|
variant "PRESENCE(iEI = '80'O)";
|
|
variant (lengthIndicator) "LENGTHTO (ue_EUTRA_Capability)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
//11.3.105
|
|
type record Subscriber_Profile_ID_For_RAT_Priority
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT8 profile_ID
|
|
} with {
|
|
variant "PRESENCE(iEI = '81'O)";
|
|
variant (lengthIndicator) "LENGTHTO (profile_ID)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.106
|
|
type record Request_For_Inter_RAT_Handover_Info
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 interRATHandoverInfoRequest,
|
|
BIT1 eUTRANinterRATHandoverInfoRequest,
|
|
BIT6 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '82'O)";
|
|
variant (lengthIndicator) "LENGTHTO (interRATHandoverInfoRequest,eUTRANinterRATHandoverInfoRequest,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.107
|
|
type record Reliable_Inter_RAT_Handover_Info
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 reliableInterRATHandoverInfoIndicator,
|
|
BIT7 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '83'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reliableInterRATHandoverInfoIndicator,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.108
|
|
type record SON_Transfer_Application_Identity_TLV
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCTN sON_Transfer_Application_Identity //3GPP TS 36.413 [36]
|
|
} with {
|
|
variant "PRESENCE(iEI = '84'O)";
|
|
variant (lengthIndicator) "LENGTHTO (sON_Transfer_Application_Identity)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.109
|
|
type record CSG_Identifier_TLV
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
CSG_Identity cSG_Identity, //3GPP TS 23.003, bits 4 to 8 of octet 6 are spare
|
|
BIT1 cell_Acces_Mode,
|
|
BIT7 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '85'O)";
|
|
variant (lengthIndicator) "LENGTHTO (cSG_Identity,cell_Acces_Mode,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record CSG_Identity
|
|
{
|
|
OCT3 cSG_Id24,
|
|
BIT3 cSG_Id3,
|
|
BIT5 spare // '0'B
|
|
};
|
|
|
|
//11.3.110
|
|
type record Tracking_Area_Code_TLV
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT3 valueField //3GPP TS 24.301
|
|
} with {
|
|
variant "PRESENCE(iEI = '86'O)";
|
|
variant (lengthIndicator) "LENGTHTO (valueField)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.111
|
|
type record Redirect_Attempt_Flag
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '87'O)";
|
|
variant (lengthIndicator) "LENGTHTO (spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.112
|
|
type record Redirection_Indication
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT8 reroute_Reject_Cause_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '88'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reroute_Reject_Cause_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.113
|
|
type record Redirection_Completed
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT8 outcome_value
|
|
} with {
|
|
variant "PRESENCE(iEI = '89'O)";
|
|
variant (lengthIndicator) "LENGTHTO (outcome_value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.114
|
|
type record Unconfirmed_Send_State_Variable
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT7 spare,
|
|
integer vU
|
|
} with {
|
|
variant "PRESENCE(iEI = '8A'O)";
|
|
variant (lengthIndicator) "LENGTHTO (spare,vU)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
variant (vU) "FIELDLENGTH(9)";
|
|
variant (vU) "BYTEORDER(last)";
|
|
variant (spare,vU) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.115
|
|
type record IRAT_Measurement_Configuration
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
INT6b reportingThreshold,
|
|
BIT1 repQuant,
|
|
BIT1 spare,
|
|
INT1 measurementDuration,
|
|
Measurement_List measurement_List
|
|
} with {
|
|
variant "PRESENCE(iEI = '8B'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reportingThreshold,repQuant,spare,measurementDuration,measurement_List)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record Measurement
|
|
{
|
|
LIN2_BO_LAST e_ARFCN,
|
|
BIT3 measurementBandwidth,
|
|
BIT5 spare
|
|
}
|
|
|
|
type record of Measurement Measurement_List;
|
|
|
|
type record RNC_Id_with_Transparent_Container_BSSGP
|
|
{
|
|
RNC_Identifier_BSSGP target_RNC_Identifier,
|
|
Source_to_Target_Transparent_Container
|
|
source_to_Target_Transparent_Container
|
|
}
|
|
|
|
type union Cell_or_RNC_Id_with_Transparent_Container_BSSGP
|
|
{
|
|
Cell_Id_with_Transparent_Container_BSSGP cell_Id_with_Transparent_Container,
|
|
RNC_Id_with_Transparent_Container_BSSGP rnc_Id_with_Transparent_Container
|
|
}
|
|
|
|
type record Cell_Id_with_Transparent_Container_BSSGP
|
|
{
|
|
Cell_Identifier target_Cell_Identifier,
|
|
Source_BSS_to_Target_BSS_Transparent_Container_BSSGP
|
|
source_BSS_to_Target_BSS_Transparent_Container
|
|
}
|
|
|
|
//11.3.116
|
|
type record SCI
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 service_Class_Value
|
|
} with {
|
|
variant "PRESENCE(iEI = '8c'O)";
|
|
variant (lengthIndicator) "LENGTHTO (service_Class_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.117
|
|
type record GGSN_PGW_Location
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT3 gGSN_PGW_Location_Value,
|
|
BIT5 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '8d'O)";
|
|
variant (lengthIndicator) "LENGTHTO (gGSN_PGW_Location_Value)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.118
|
|
type record Selected_PLMN_ID
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2
|
|
} with {
|
|
variant "PRESENCE(iEI = '8e'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.119
|
|
type record Priority_Class_Indicator
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT1 priority_Class_Indicator_Value,
|
|
BIT7 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '8f'O)";
|
|
variant (lengthIndicator) "LENGTHTO (priority_Class_Indicator_Value,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.120
|
|
type record Source_Cell_ID
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
TrackingAreaIdentity_BSSGP tracking_Area_Identity,
|
|
ECGI_BSSGP eUTRAN_CGI,
|
|
octetstring globaleNBID
|
|
} with {
|
|
variant "PRESENCE(iEI = '90'O)";
|
|
variant (lengthIndicator) "LENGTHTO (tracking_Area_Identity,eUTRAN_CGI,globaleNBID)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
type record TrackingAreaIdentity_BSSGP
|
|
{
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 tAC
|
|
}
|
|
|
|
type record ECGI_BSSGP
|
|
{
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
HEX1 spare,
|
|
integer eCI
|
|
} with {
|
|
variant (spare,eCI) "FIELDORDER(msb)";
|
|
variant(eCI) "FIELDLENGTH(28)";
|
|
variant (eCI) "BYTEORDER(last)";
|
|
};
|
|
|
|
|
|
//11.3.121
|
|
type record IRAT_Measurement_Configuration_Extended_eARFCNs
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
INT6b reportingThreshold,
|
|
BIT1 repQuant,
|
|
BIT1 spare,
|
|
INT1 measurementDuration,
|
|
Measurement_List_Extended measurement_List
|
|
} with {
|
|
variant "PRESENCE(iEI = '91'O)";
|
|
variant (lengthIndicator) "LENGTHTO (reportingThreshold,repQuant,spare,measurementDuration,measurement_List)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
type record Measurement_Extended
|
|
{
|
|
INT18b_BO_LAST e_ARFCN,
|
|
BIT3 spare,
|
|
BIT3 measurementBandwidth
|
|
} with {
|
|
variant (e_ARFCN,spare,measurementBandwidth) "FIELDORDER(msb)";
|
|
}
|
|
type record of Measurement_Extended Measurement_List_Extended;
|
|
|
|
//11.3.122
|
|
type record EDRX_Parameters
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
BIT4 eDRX_Cycle_Value,
|
|
BIT4 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '92'O)";
|
|
variant (lengthIndicator) "LENGTHTO (eDRX_Cycle_Value,spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.123
|
|
type record Time_Until_Next_Paging_Occasion
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
INT6b minutes,
|
|
BIT2 spare,
|
|
INT6b seconds,
|
|
BIT2 spare2
|
|
} with {
|
|
variant "PRESENCE(iEI = '93'O)";
|
|
variant (lengthIndicator) "LENGTHTO (minutes,spare,seconds,spare2)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.124
|
|
type record Old_Routing_Area_Identification
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2,
|
|
OCT2 lac,
|
|
OCT1 rac
|
|
} with {
|
|
variant "PRESENCE(iEI = '94'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2,lac,rac)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.125
|
|
type record Attach_Indicator
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '95'O)";
|
|
variant (lengthIndicator) "LENGTHTO (spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.126
|
|
type record PLMN_Identity
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
HEX1 mccDigit1,
|
|
HEX1 mccDigit2,
|
|
HEX1 mccDigit3,
|
|
HEX1 mncDigit3,
|
|
HEX1 mncDigit1,
|
|
HEX1 mncDigit2
|
|
} with {
|
|
variant "PRESENCE(iEI = '96'O)";
|
|
variant (lengthIndicator) "LENGTHTO (mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
//11.3.127
|
|
type record MME_Query
|
|
{
|
|
OCT1 iEI,
|
|
BIT1 ext,
|
|
LIN2_2a lengthIndicator,
|
|
OCT1 spare
|
|
} with {
|
|
variant "PRESENCE(iEI = '97'O)";
|
|
variant (lengthIndicator) "LENGTHTO (spare)";
|
|
variant (lengthIndicator) "CROSSTAG( length1, ext = '1'B;
|
|
length2, ext = '0'B;)";
|
|
variant (ext,lengthIndicator) "FIELDORDER(msb)";
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// PDUs
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//10.2.1
|
|
type record PDU_BSSGP_DL_UNITDATA
|
|
{
|
|
OCT1 bssgpPduType,
|
|
OCT4 tLLI_current,
|
|
QoS_Profile_V qoS_Profile,
|
|
PDU_Lifetime pDU_Lifetime,
|
|
MS_Radio_Access_Capability mS_Radio_Access_Capability optional,
|
|
Priority_BSSGP priority optional,
|
|
DRX_Parameters dRX_Parameters optional,
|
|
IMSI_BSSGP iMSI optional,
|
|
TLLI_BSSGP tLLI_old optional,
|
|
PFI pFI optional,
|
|
LSA_Information_BSSGP lSA_Information optional,
|
|
Service_UTRAN_CCO service_UTRAN_CCO optional,
|
|
Service_Class_Indicator service_Class_Indicator optional,
|
|
Subscriber_Profile_ID_For_RAT_Priority subscriber_Profile_ID_For_RAT_Priority optional,
|
|
Redirection_Indication redirection_Indication optional,
|
|
Redirection_Completed redirection_Completed optional,
|
|
Unconfirmed_Send_State_Variable unconfirmed_Send_State_Variable optional,
|
|
SCI sCI optional,
|
|
GGSN_PGW_Location gGSN_PGW_Location optional,
|
|
EDRX_Parameters eDRX_Paremeters optional,
|
|
Old_Routing_Area_Identification old_Routing_Area_Identification optional,
|
|
Attach_Indicator attach_Indicator optional,
|
|
Alignment_octets alignment_octets optional,
|
|
LLC_PDU lLC_PDU,
|
|
LLC_PDU initialLLC_PDU optional
|
|
} with { variant "PRESENCE(bssgpPduType = '00'O)"; };
|
|
|
|
//10.2.2
|
|
type record PDU_BSSGP_UL_UNITDATA
|
|
{
|
|
OCT1 bssgpPduType,
|
|
OCT4 tLLI,
|
|
QoS_Profile_V qoS_Profile,
|
|
Cell_Identifier cell_Identifier,
|
|
PFI pFI optional,
|
|
LSA_Identifier_List_BSSGP lSA_Identifier_List optional,
|
|
Redirect_Attempt_Flag redirect_Attempt_Flag optional,
|
|
IMSI_BSSGP iMSI_BSSGP optional,
|
|
Unconfirmed_Send_State_Variable unconfirmed_Send_State_Variable optional,
|
|
Selected_PLMN_ID selected_PLMN_ID optional,
|
|
PLMN_Identity selected_Operator optional,
|
|
PLMN_Identity cS_Registered_Operator optional,
|
|
Alignment_octets alignment_octets optional,
|
|
LLC_PDU lLC_PDU
|
|
} with { variant "PRESENCE(bssgpPduType = '01'O)"; };
|
|
|
|
//10.2.3
|
|
type record PDU_BSSGP_RA_CAPABILITY
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
MS_Radio_Access_Capability mS_Radio_Access_Capability
|
|
} with { variant "PRESENCE(bssgpPduType = '02'O)"; };
|
|
|
|
//10.2.5
|
|
type record PDU_BSSGP_DL_MBMS_UNITDATA
|
|
{
|
|
OCT1 bssgpPduType,
|
|
PDU_Lifetime pDU_Lifetime,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
Alignment_octets alignment_octets optional,
|
|
LLC_PDU lLC_PDU
|
|
} with { variant "PRESENCE(bssgpPduType = '04'O)"; };
|
|
|
|
|
|
// 10.2.6; Deleted from spec 7.10.0,kept in prot module for backward compatibility
|
|
type record PDU_BSSGP_UL_MBMS_UNITDATA
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
Alignment_octets alignment_octets optional,
|
|
LLC_PDU lLC_PDU
|
|
} with { variant "PRESENCE(bssgpPduType = '05'O)"; };
|
|
|
|
// 10.3.1
|
|
type record PDU_BSSGP_PAGING_PS
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
DRX_Parameters dRX_Parameters optional,
|
|
Paging_Field4 paging_Field4,
|
|
PFI pFI optional,
|
|
ABQP aBQP optional,
|
|
QoS_Profile qoS_Profile,
|
|
TMSI_BSSGP pTMSI optional,
|
|
EDRX_Parameters eDRX_Paremeters optional
|
|
} with { variant "PRESENCE(bssgpPduType = '06'O)"; };
|
|
|
|
//10.3.2
|
|
type record PDU_BSSGP_PAGING_CS
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
DRX_Parameters dRX_Parameters,
|
|
Paging_Field4 paging_Field4,
|
|
TLLI_BSSGP tLLI optional,
|
|
Channel_needed channel_needed optional,
|
|
EMLPP_Priority_BSSGP eMLPP_Priority optional,
|
|
TMSI_BSSGP tMSI optional,
|
|
Global_CN_Id_BSSGP global_CN_Id optional
|
|
} with { variant "PRESENCE(bssgpPduType = '07'O)"; };
|
|
|
|
|
|
type union Paging_Field4
|
|
{
|
|
BVCI bVCI,
|
|
Location_Area location_Area,
|
|
Routeing_Area routeing_Area,
|
|
BSS_Area_Indication bSS_Area_Indication
|
|
};
|
|
|
|
//10.3.3
|
|
type record PDU_BSSGP_RA_CAPABILITY_UPDATE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Tag tag
|
|
} with { variant "PRESENCE(bssgpPduType = '08'O)"; };
|
|
|
|
|
|
//10.3.4
|
|
type record PDU_BSSGP_RA_CAPABILITY_UPDATE_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Tag tag,
|
|
IMSI_BSSGP iMSI optional,
|
|
RA_Cap_UPD_CAUSE rA_Cap_UPDATE_CAUSE,
|
|
MS_Radio_Access_Capability mS_Radio_Access_Capability optional
|
|
} with { variant "PRESENCE(bssgpPduType = '09'O)"; };
|
|
|
|
//10.3.5
|
|
type record PDU_BSSGP_RADIO_STATUS
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI optional,
|
|
TMSI_BSSGP tMSI optional,
|
|
IMSI_BSSGP iMSI optional,
|
|
Radio_Cause radio_Cause
|
|
} with { variant "PRESENCE(bssgpPduType = '0A'O)"; };
|
|
|
|
//10.3.6
|
|
type record PDU_BSSGP_SUSPEND
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Routeing_Area routeing_Area
|
|
} with { variant "PRESENCE(bssgpPduType = '0B'O)"; };
|
|
|
|
// 10.3.7
|
|
type record PDU_BSSGP_SUSPEND_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Routeing_Area routeing_Area ,
|
|
Suspend_Reference_Number suspend_Reference_Number
|
|
} with { variant "PRESENCE(bssgpPduType = '0C'O)"; };
|
|
|
|
// 10.3.8
|
|
type record PDU_BSSGP_SUSPEND_NACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Routeing_Area routeing_Area,
|
|
Cause_BSSGP cause optional
|
|
} with { variant "PRESENCE(bssgpPduType = '0D'O)"; };
|
|
|
|
// 10.3.9
|
|
type record PDU_BSSGP_RESUME
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Routeing_Area routeing_Area,
|
|
Suspend_Reference_Number suspend_Reference_Number
|
|
} with { variant "PRESENCE(bssgpPduType = '0E'O)"; };
|
|
|
|
//10.3.10
|
|
type record PDU_BSSGP_RESUME_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Routeing_Area routeing_Area
|
|
} with { variant "PRESENCE(bssgpPduType = '0F'O)"; };
|
|
|
|
// 10.3.11
|
|
type record PDU_BSSGP_RESUME_NACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Routeing_Area routeing_Area,
|
|
Cause_BSSGP cause optional
|
|
} with { variant "PRESENCE(bssgpPduType = '10'O)"; };
|
|
|
|
// 10.3.12
|
|
type record PDU_BSSGP_PAGING_PS_REJECT
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
TMSI_BSSGP pTMSI optional,
|
|
Time_Until_Next_Paging_Occasion time_Until_Next_Paging_Occasion
|
|
} with { variant "PRESENCE(bssgpPduType = '11'O)"; };
|
|
|
|
// 10.3.13
|
|
type record PDU_BSSGP_DUMMY_PAGING_PS
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
Routeing_Area routeing_Area optional,
|
|
EDRX_Parameters eDRX_Paremeters optional
|
|
} with { variant "PRESENCE(bssgpPduType = '12'O)"; };
|
|
|
|
// 10.3.14
|
|
type record PDU_BSSGP_DUMMY_PAGING_PS_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
Time_Until_Next_Paging_Occasion time_Until_Next_Paging_Occasion
|
|
} with { variant "PRESENCE(bssgpPduType = '13'O)"; };
|
|
|
|
// 10.3.15
|
|
type record PDU_BSSGP_MS_REGISTRATION_ENQUIRY_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
PLMN_Identity pS_Registered_Operator optional
|
|
} with { variant "PRESENCE(bssgpPduType = '15'O)"; };
|
|
|
|
// 10.3.15
|
|
type record PDU_BSSGP_MS_REGISTRATION_ENQUIRY
|
|
{
|
|
OCT1 bssgpPduType,
|
|
IMSI_BSSGP iMSI,
|
|
MME_Query mME_Query optional
|
|
} with { variant "PRESENCE(bssgpPduType = '14'O)"; };
|
|
|
|
// 10.4.1
|
|
type record PDU_BSSGP_FLUSH_LL
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
BVCI bVCI_old,
|
|
BVCI bVCI_new optional,
|
|
NSEI_BSSGP nSEI optional
|
|
} with { variant "PRESENCE(bssgpPduType = '2A'O)"; };
|
|
|
|
// 10.4.2
|
|
type record PDU_BSSGP_FLUSH_LL_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Flush_Action flush_Action,
|
|
BVCI bVCI_new optional,
|
|
Number_of_octets_affected number_of_octets_affected,
|
|
NSEI_BSSGP nSEI optional
|
|
} with { variant "PRESENCE(bssgpPduType = '2B'O)"; };
|
|
|
|
// 10.4.3
|
|
type record PDU_BSSGP_LLC_DISCARDED
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
LLC_Frames_Discarded lLC_Frames_Discarded,
|
|
BVCI bVCI,
|
|
Number_of_octets_affected number_of_octets_deleted,
|
|
PFI pFI optional
|
|
} with { variant "PRESENCE(bssgpPduType = '2C'O)"; };
|
|
|
|
// 10.4.4
|
|
type record PDU_BSSGP_FLOW_CONTROL_BVC
|
|
{
|
|
OCT1 bssgpPduType,
|
|
Tag tag,
|
|
BVC_Bucket_Size bVC_Bucket_Size,
|
|
Bucket_Leak_Rate bucket_Leak_Rate,
|
|
Bmax_default_MS bmax_default_MS,
|
|
R_default_MS r_default_MS,
|
|
Bucket_Full_Ratio bucket_Full_Ratio optional,
|
|
BVC_Measurement bVC_Measurement optional,
|
|
Flow_Control_Granularity flow_Control_Granularity optional
|
|
} with { variant "PRESENCE(bssgpPduType = '26'O)"; };
|
|
|
|
// 10.4.5
|
|
type record PDU_BSSGP_FLOW_CONTROL_BVC_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
Tag tag
|
|
} with { variant "PRESENCE(bssgpPduType = '27'O)"; };
|
|
|
|
// 10.4.6
|
|
type record PDU_BSSGP_FLOW_CONTROL_MS
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Tag tag,
|
|
MS_Bucket_Size mS_Bucket_Size,
|
|
Bucket_Leak_Rate bucket_Leak_Rate,
|
|
Bucket_Full_Ratio bucket_Full_Ratio optional,
|
|
Flow_Control_Granularity flow_Control_Granularity optional
|
|
} with { variant "PRESENCE(bssgpPduType = '28'O)"; };
|
|
|
|
// 10.4.7
|
|
type record PDU_BSSGP_FLOW_CONTROL_MS_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Tag tag
|
|
} with { variant "PRESENCE(bssgpPduType = '29'O)"; };
|
|
|
|
|
|
// 10.4.8
|
|
type record PDU_BSSGP_BVC_BLOCK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
BVCI bVCI,
|
|
Cause_BSSGP cause
|
|
} with { variant "PRESENCE(bssgpPduType = '20'O)"; };
|
|
|
|
// 10.4.9
|
|
type record PDU_BSSGP_BVC_BLOCK_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
BVCI bVCI
|
|
} with { variant "PRESENCE(bssgpPduType = '21'O)"; };
|
|
|
|
// 10.4.10
|
|
type record PDU_BSSGP_BVC_UNBLOCK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
BVCI bVCI
|
|
} with { variant "PRESENCE(bssgpPduType = '24'O)"; };
|
|
|
|
// 10.4.11
|
|
type record PDU_BSSGP_BVC_UNBLOCK_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
BVCI bVCI
|
|
} with { variant "PRESENCE(bssgpPduType = '25'O)"; };
|
|
|
|
// 10.4.12
|
|
type record PDU_BSSGP_BVC_RESET
|
|
{
|
|
OCT1 bssgpPduType,
|
|
BVCI bVCI,
|
|
Cause_BSSGP cause,
|
|
Cell_Identifier cell_Identifier optional,
|
|
Feature_bitmap feature_bitmap optional,
|
|
Extended_Feature_Bitmap extended_Feature_Bitmap optional
|
|
} with { variant "PRESENCE(bssgpPduType = '22'O)"; };
|
|
|
|
// 10.4.13
|
|
type record PDU_BSSGP_BVC_RESET_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
BVCI bVCI,
|
|
Cell_Identifier cell_Identifier optional,
|
|
Feature_bitmap feature_bitmap optional,
|
|
Extended_Feature_Bitmap extended_Feature_Bitmap optional
|
|
} with { variant "PRESENCE(bssgpPduType = '23'O)"; };
|
|
|
|
// 10.4.14
|
|
type record PDU_BSSGP_STATUS
|
|
{
|
|
OCT1 bssgpPduType,
|
|
Cause_BSSGP cause,
|
|
BVCI bVCI optional,
|
|
PDU_in_Error pDU_in_Error optional
|
|
} with { variant "PRESENCE(bssgpPduType = '41'O)"; };
|
|
|
|
// 10.4.15
|
|
type record PDU_BSSGP_SGSN_INVOKE_TRACE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
Trace_Type_BSSGP traceType,
|
|
Trace_Reference_BSSGP traceReference,
|
|
Trigger_Id_BSSGP triggerId optional,
|
|
Mobile_Id_BSSGP mobileId optional,
|
|
OMC_Id_BSSGP omcId optional,
|
|
TransactionId_BSSGP transactionId optional
|
|
} with { variant "PRESENCE(bssgpPduType = '40'O)"; };
|
|
|
|
// 10.4.16
|
|
type record PDU_BSSGP_DOWNLOAD_BSS_PFC
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI
|
|
} with { variant "PRESENCE(bssgpPduType = '50'O)"; };
|
|
|
|
// 10.4.17
|
|
type record PDU_BSSGP_CREATE_BSS_PFC
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
IMSI_BSSGP iMSI optional,
|
|
PFI pFI,
|
|
GPRS_Timer pFT,
|
|
ABQP aBQP,
|
|
Service_UTRAN_CCO service_UTRAN_CCO optional,
|
|
MS_Radio_Access_Capability mS_Radio_Access_Capability optional,
|
|
Priority_BSSGP allocation_Retention_Priority optional,
|
|
GPRS_Timer t10 optional,
|
|
Inter_RAT_Handover_Info_BSSGP inter_RAT_Handover_Info optional,
|
|
E_UTRAN_Inter_RAT_Handover_Info e_UTRAN_Inter_RAT_Handover_Info optional,
|
|
Subscriber_Profile_ID_For_RAT_Priority subscriber_Profile_ID_For_RAT optional
|
|
|
|
|
|
} with { variant "PRESENCE(bssgpPduType = '51'O)"; };
|
|
|
|
// 10.4.18
|
|
type record PDU_BSSGP_CREATE_BSS_PFC_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI,
|
|
ABQP aBQP,
|
|
Cause_BSSGP cause optional
|
|
} with { variant "PRESENCE(bssgpPduType = '52'O)"; };
|
|
|
|
// 10.4.19
|
|
type record PDU_BSSGP_CREATE_BSS_PFC_NACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI,
|
|
Cause_BSSGP cause
|
|
} with { variant "PRESENCE(bssgpPduType = '53'O)"; };
|
|
|
|
// 10.4.20
|
|
type record PDU_BSSGP_MODIFY_BSS_PFC
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI,
|
|
ABQP aBQP
|
|
} with { variant "PRESENCE(bssgpPduType = '54'O)"; };
|
|
|
|
// 10.4.21
|
|
type record PDU_BSSGP_MODIFY_BSS_PFC_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI,
|
|
GPRS_Timer pFT,
|
|
ABQP aBQP
|
|
} with { variant "PRESENCE(bssgpPduType = '55'O)"; };
|
|
|
|
// 10.4.22
|
|
type record PDU_BSSGP_DELETE_BSS_PFC
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI
|
|
} with { variant "PRESENCE(bssgpPduType = '56'O)"; };
|
|
|
|
// 10.4.23
|
|
type record PDU_BSSGP_DELETE_BSS_PFC_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI
|
|
} with { variant "PRESENCE(bssgpPduType = '57'O)"; };
|
|
|
|
// 10.4.24
|
|
type record PDU_BSSGP_FLOW_CONTROL_PFC
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Tag tag,
|
|
MS_Bucket_Size mS_Bucket_Size optional,
|
|
Bucket_Leak_Rate bucket_Leak_Rate optional,
|
|
Bucket_Full_Ratio bucket_Full_Ratio optional,
|
|
PFC_flow_control_parameters pFC_flow_control_parameters,
|
|
Flow_Control_Granularity flow_Control_Granularity optional
|
|
|
|
} with { variant "PRESENCE(bssgpPduType = '2D'O)"; };
|
|
|
|
// 10.4.25
|
|
type record PDU_BSSGP_FLOW_CONTROL_PFC_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Tag tag
|
|
} with { variant "PRESENCE(bssgpPduType = '2E'O)"; };
|
|
|
|
// 10.4.26
|
|
type record PDU_BSSGP_DELETE_BSS_PFC_REQ
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
PFI pFI,
|
|
Cause_BSSGP cause
|
|
} with { variant "PRESENCE(bssgpPduType = '58'O)"; };
|
|
|
|
// 10.4.27
|
|
type record PDU_BSSGP_PS_HANDOVER_REQUIRED
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Cause_BSSGP cause,
|
|
Cell_Identifier source_Cell_Identifier,
|
|
Cell_or_RNC_Id_with_Transparent_Container_BSSGP
|
|
cell_or_RNC_Id_with_Transparent_Container,
|
|
Active_PFCs_List_BSSGP active_PFCs_List,
|
|
ENB_Identifier target_ENB_Identifier optional,
|
|
Reliable_Inter_RAT_Handover_Info
|
|
reliable_Inter_RAT_Handover_Info optional,
|
|
CSG_Identifier_TLV cSG_Identifier optional,
|
|
Tracking_Area_Code_TLV tracking_Area_Code optional
|
|
} with { variant "PRESENCE(bssgpPduType = '59'O)"; };
|
|
|
|
|
|
// 10.4.28
|
|
type record PDU_BSSGP_PS_HANDOVER_REQUIRED_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
List_of_set_up_PFCs_BSSGP list_of_set_up_PFCs,
|
|
Target_BSS_to_Source_BSS_Transparent_Container
|
|
target_BSS_to_Source_BSS_Transparent_Container optional,
|
|
Target_to_Source_Transparent_Container
|
|
target_to_Source_Transparent_Container optional
|
|
} with { variant "PRESENCE(bssgpPduType = '5A'O)"; };
|
|
|
|
|
|
// 10.4.29
|
|
type record PDU_BSSGP_PS_HANDOVER_REQUIRED_NACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Cause_BSSGP cause
|
|
} with { variant "PRESENCE(bssgpPduType = '5B'O)"; };
|
|
|
|
|
|
// 10.4.30
|
|
type record PDU_BSSGP_PS_HANDOVER_REQUEST
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
IMSI_BSSGP iMSI,
|
|
Cause_BSSGP cause,
|
|
Cell_Identifier source_Cell_Identifier optional,
|
|
RNC_Identifier_BSSGP source_RNC_Identifier optional,
|
|
Cell_Identifier target_Cell_Identifier optional, // it is mandatory
|
|
Source_BSS_to_Target_BSS_Transparent_Container_BSSGP
|
|
source_BSS_to_Target_BSS_Transparent_Container_BSSGP,
|
|
PFCs_to_be_set_up_list pFCs_to_be_set_up_list,
|
|
NAS_container_for_PS_Handover nAS_container_for_PS_Handover optional,
|
|
Service_UTRAN_CCO service_UTRAN_CCO optional,
|
|
Subscriber_Profile_ID_For_RAT_Priority
|
|
subscriber_Profile_ID_For_RAT_Priority optional,
|
|
Reliable_Inter_RAT_Handover_Info
|
|
reliable_Inter_RAT_Handover_Info optional
|
|
} with { variant "PRESENCE(bssgpPduType = '5C'O)"; };
|
|
|
|
|
|
// 10.4.31
|
|
type record PDU_BSSGP_PS_HANDOVER_REQUEST_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
List_of_set_up_PFCs_BSSGP list_of_set_up_PFCs,
|
|
Target_BSS_to_Source_BSS_Transparent_Container
|
|
target_BSS_to_Source_BSS_Transparent_Container
|
|
} with { variant "PRESENCE(bssgpPduType = '5D'O)"; };
|
|
|
|
|
|
// 10.4.32
|
|
type record PDU_BSSGP_PS_HANDOVER_REQUEST_NACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Cause_BSSGP cause
|
|
} with { variant "PRESENCE(bssgpPduType = '5E'O)"; };
|
|
|
|
|
|
// 10.4.33
|
|
type record PDU_BSSGP_PS_HANDOVER_COMPLETE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
IMSI_BSSGP iMSI,
|
|
Cell_Identifier target_Cell_Identifier optional,
|
|
Request_For_Inter_RAT_Handover_Info
|
|
request_For_Inter_RAT_Handover_Info optional
|
|
} with { variant "PRESENCE(bssgpPduType = '91'O)"; };
|
|
|
|
|
|
// 10.4.34
|
|
type record PDU_BSSGP_PS_HANDOVER_CANCEL
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Cause_BSSGP cause,
|
|
Cell_Identifier source_Cell_Identifier,
|
|
Cell_Identifier target_Cell_Identifier optional,
|
|
RNC_Identifier_BSSGP target_RNC_Identifier optional,
|
|
ENB_Identifier target_Enb_Identifier optional
|
|
} with { variant "PRESENCE(bssgpPduType = '92'O)"; };
|
|
|
|
// 10.4.35
|
|
type record PDU_BSSGP_PS_HANDOVER_COMPLETE_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
Inter_RAT_Handover_Info_BSSGP inter_RAT_Handover_Info_BSSGP,
|
|
E_UTRAN_Inter_RAT_Handover_Info e_UTRAN_Inter_RAT_Handover_Info optional
|
|
} with { variant "PRESENCE(bssgpPduType = '93'O)";};
|
|
|
|
// 10.4.36
|
|
type record PDU_BSSGP_OVERLOAD
|
|
{
|
|
OCT1 bssgpPduType,
|
|
Priority_Class_Indicator priority_Class_Indicator
|
|
} with { variant "PRESENCE(bssgpPduType = '42'O)";};
|
|
|
|
// 10.5.1
|
|
type record PDU_BSSGP_PERFORM_LOCATION_REQUEST
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
IMSI_BSSGP iMSI,
|
|
DRX_Parameters dRX_Parameters optional,
|
|
BVCI bVCI,
|
|
NSEI_BSSGP nSEI,
|
|
Location_Type_BSSGP location_Type,
|
|
Cell_Identifier cell_Identifier,
|
|
LCS_Capability_BSSGP lCS_Capability optional,
|
|
LCS_Priority_BSSGP lCS_Priority optional,
|
|
LCS_QoS_BSSGP lCS_QoS optional,
|
|
LCS_Client_Type_BSSGP lCS_Client_Type optional,
|
|
Requested_GPS_Assistance_Data_BSSGP requested_GPS_Assistance_Data optional,
|
|
IMEI_BSSGP iMEI optional,
|
|
GANSS_Location_Type gANSS_Location_Type optional,
|
|
Requested_GANSS_Assistance_Data requested_GANSS_Assistance_Data optional,
|
|
EDRX_Parameters eDRX_Parameters optional
|
|
} with { variant "PRESENCE(bssgpPduType = '60'O)"; };
|
|
|
|
|
|
// 10.5.2
|
|
type record PDU_BSSGP_PERFORM_LOCATION_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
BVCI bVCI,
|
|
Location_Estimate_BSSGP location_Estimate optional,
|
|
Positioning_Data_BSSGP positioning_Data optional,
|
|
Deciphering_Keys_BSSGP deciphering_Keys optional,
|
|
LCS_Cause_BSSGP lCS_Cause optional,
|
|
VelocityData velocityData optional,
|
|
GANSS_Positioning_Data gANSS_Positioning_Data optional
|
|
} with { variant "PRESENCE(bssgpPduType = '61'O)"; };
|
|
|
|
|
|
// 10.5.3
|
|
type record PDU_BSSGP_PERFORM_LOCATION_ABORT
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
BVCI bVCI,
|
|
LCS_Cause_BSSGP lCS_Cause
|
|
} with { variant "PRESENCE(bssgpPduType = '62'O)"; };
|
|
|
|
|
|
// 10.5.4
|
|
type record PDU_BSSGP_POSITION_COMMAND
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
BVCI bVCI,
|
|
RRLP_Flags_BSSGP rRLP_Flags,
|
|
RRLP_APDU_BSSGP rRLP_APDU
|
|
} with { variant "PRESENCE(bssgpPduType = '63'O)"; };
|
|
|
|
|
|
// 10.5.5
|
|
type record PDU_BSSGP_POSITION_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TLLI_BSSGP tLLI,
|
|
BVCI bVCI,
|
|
RRLP_Flags_BSSGP rRLP_Flags optional,
|
|
RRLP_APDU_BSSGP rRLP_APDU optional,
|
|
LCS_Cause_BSSGP lCS_Cause optional
|
|
} with { variant "PRESENCE(bssgpPduType = '64'O)"; };
|
|
|
|
// 10.6.1
|
|
type record PDU_BSSGP_RAN_INFORMATION_REQUEST
|
|
{
|
|
OCT1 bssgpPduType,
|
|
RIM_Routing_Information destination_Cell_Identifier,
|
|
RIM_Routing_Information source_Cell_Identifier,
|
|
RAN_Information_Request_RIM_Container rIM_Container
|
|
} with { variant "PRESENCE(bssgpPduType = '71'O)"; };
|
|
|
|
// 10.6.2
|
|
type record PDU_BSSGP_RAN_INFORMATION
|
|
{
|
|
OCT1 bssgpPduType,
|
|
RIM_Routing_Information destination_Cell_Identifier,
|
|
RIM_Routing_Information source_Cell_Identifier,
|
|
RAN_Information_RIM_Container rIM_Container
|
|
} with { variant "PRESENCE(bssgpPduType = '70'O)"; };
|
|
|
|
// 10.6.3
|
|
type record PDU_BSSGP_RAN_INFORMATION_ACK
|
|
{
|
|
OCT1 bssgpPduType,
|
|
RIM_Routing_Information destination_Cell_Identifier,
|
|
RIM_Routing_Information source_Cell_Identifier,
|
|
RAN_Information_Ack_RIM_Container rIM_Container
|
|
} with { variant "PRESENCE(bssgpPduType = '72'O)"; };
|
|
|
|
// 10.6.4
|
|
type record PDU_BSSGP_RAN_INFORMATION_ERROR
|
|
{
|
|
OCT1 bssgpPduType,
|
|
RIM_Routing_Information destination_Cell_Identifier,
|
|
RIM_Routing_Information source_Cell_Identifier,
|
|
RAN_Information_Error_RIM_Container rIM_Container
|
|
} with { variant "PRESENCE(bssgpPduType = '73'O)"; };
|
|
|
|
// 10.6.5
|
|
type record PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR
|
|
{
|
|
OCT1 bssgpPduType,
|
|
RIM_Routing_Information destination_Cell_Identifier,
|
|
RIM_Routing_Information source_Cell_Identifier,
|
|
RAN_Information_Application_Error_RIM_Container rIM_Container
|
|
} with { variant "PRESENCE(bssgpPduType = '74'O)"; };
|
|
|
|
// 10.7.1
|
|
type record PDU_BSSGP_MBMS_SESSION_START_REQUEST
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
ABQP aBQP,
|
|
MBMS_Service_Area_Identity_List mBMS_Service_Area_Identity_List,
|
|
MBMS_Routing_Area_List mBMS_Routing_Area_List,
|
|
MBMS_Session_Duration mBMS_Session_Duration,
|
|
MBMS_Session_Information mBMS_Session_Information,
|
|
Time_To_MBMS_Data_Transfer time_To_MBMS_Data_Transfer,
|
|
Priority_BSSGP allocation_Retention_Priority optional,
|
|
MBMS_Session_Repetition_Number mBMS_Session_Repetition_Number optional
|
|
} with { variant "PRESENCE(bssgpPduType = '80'O)"; };
|
|
|
|
// 10.7.2
|
|
type record PDU_BSSGP_MBMS_SESSION_START_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
MBMS_Response mBMS_Response
|
|
} with { variant "PRESENCE(bssgpPduType = '81'O)"; };
|
|
|
|
// 10.7.3
|
|
type record PDU_BSSGP_MBMS_SESSION_STOP_REQUEST
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
MBMS_Stop_Cause mBMS_Stop_Cause
|
|
} with { variant "PRESENCE(bssgpPduType = '82'O)"; };
|
|
|
|
// 10.7.4
|
|
type record PDU_BSSGP_MBMS_STOP_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
MBMS_Response mBMS_Response
|
|
} with { variant "PRESENCE(bssgpPduType = '83'O)"; };
|
|
|
|
|
|
// 10.7.5
|
|
type record PDU_BSSGP_SESSION_UPDATE_REQUEST
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
ABQP aBQP,
|
|
MBMS_Service_Area_Identity_List mBMS_Service_Area_Identity_List,
|
|
MBMS_Routing_Area_List mBMS_Routing_Area_List,
|
|
MBMS_Session_Duration mBMS_Session_Duration,
|
|
MBMS_Session_Information mBMS_Session_Information,
|
|
Time_To_MBMS_Data_Transfer time_To_MBMS_Data_Transfer,
|
|
Priority_BSSGP allocation_Retention_Priority optional,
|
|
MBMS_Session_Repetition_Number mBMS_Session_Repetition_Number optional
|
|
} with { variant "PRESENCE(bssgpPduType = '84'O)"; };
|
|
|
|
|
|
// 10.7.6
|
|
type record PDU_BSSGP_SESSION_UPDATE_RESPONSE
|
|
{
|
|
OCT1 bssgpPduType,
|
|
TMGI_BSSGP tMGI,
|
|
MBMS_Session_Identity mBMS_Session_Identity optional,
|
|
MBMS_Response mBMS_Response
|
|
} with { variant "PRESENCE(bssgpPduType = '85'O)"; };
|
|
|
|
|
|
|
|
type union PDU_BSSGP
|
|
{
|
|
|
|
PDU_BSSGP_DL_UNITDATA pDU_BSSGP_DL_UNITDATA,
|
|
PDU_BSSGP_UL_UNITDATA pDU_BSSGP_UL_UNITDATA,
|
|
PDU_BSSGP_RA_CAPABILITY pDU_BSSGP_RA_CAPABILITY,
|
|
PDU_BSSGP_DL_MBMS_UNITDATA pDU_BSSGP_DL_MBMS_UNITDATA,
|
|
PDU_BSSGP_UL_MBMS_UNITDATA pDU_BSSGP_UL_MBMS_UNITDATA,
|
|
PDU_BSSGP_PAGING_PS pDU_BSSGP_PAGING_PS,
|
|
PDU_BSSGP_PAGING_CS pDU_BSSGP_PAGING_CS,
|
|
PDU_BSSGP_RA_CAPABILITY_UPDATE pDU_BSSGP_RA_CAPABILITY_UPDATE,
|
|
PDU_BSSGP_RA_CAPABILITY_UPDATE_ACK pDU_BSSGP_RA_CAPABILITY_UPDATE_ACK,
|
|
PDU_BSSGP_RADIO_STATUS pDU_BSSGP_RADIO_STATUS,
|
|
PDU_BSSGP_SUSPEND pDU_BSSGP_SUSPEND,
|
|
PDU_BSSGP_SUSPEND_ACK pDU_BSSGP_SUSPEND_ACK,
|
|
PDU_BSSGP_SUSPEND_NACK pDU_BSSGP_SUSPEND_NACK,
|
|
PDU_BSSGP_RESUME pDU_BSSGP_RESUME,
|
|
PDU_BSSGP_RESUME_ACK pDU_BSSGP_RESUME_ACK,
|
|
PDU_BSSGP_RESUME_NACK pDU_BSSGP_RESUME_NACK,
|
|
PDU_BSSGP_PAGING_PS_REJECT pDU_BSSGP_PAGING_PS_REJECT,
|
|
PDU_BSSGP_DUMMY_PAGING_PS pDU_BSSGP_DUMMY_PAGING_PS,
|
|
PDU_BSSGP_DUMMY_PAGING_PS_RESPONSE pDU_BSSGP_DUMMY_PAGING_PS_RESPONSE,
|
|
PDU_BSSGP_MS_REGISTRATION_ENQUIRY_RESPONSE pDU_BSSGP_MS_REGISTRATION_ENQUIRY_RESPONSE,
|
|
PDU_BSSGP_MS_REGISTRATION_ENQUIRY pDU_BSSGP_MS_REGISTRATION_ENQUIRY,
|
|
PDU_BSSGP_FLUSH_LL pDU_BSSGP_FLUSH_LL,
|
|
PDU_BSSGP_FLUSH_LL_ACK pDU_BSSGP_FLUSH_LL_ACK,
|
|
PDU_BSSGP_LLC_DISCARDED pDU_BSSGP_LLC_DISCARDED,
|
|
PDU_BSSGP_FLOW_CONTROL_BVC pDU_BSSGP_FLOW_CONTROL_BVC,
|
|
PDU_BSSGP_FLOW_CONTROL_BVC_ACK pDU_BSSGP_FLOW_CONTROL_BVC_ACK,
|
|
PDU_BSSGP_FLOW_CONTROL_MS pDU_BSSGP_FLOW_CONTROL_MS,
|
|
PDU_BSSGP_FLOW_CONTROL_MS_ACK pDU_BSSGP_FLOW_CONTROL_MS_ACK,
|
|
PDU_BSSGP_FLOW_CONTROL_PFC pDU_BSSGP_FLOW_CONTROL_PFC,
|
|
PDU_BSSGP_FLOW_CONTROL_PFC_ACK pDU_BSSGP_FLOW_CONTROL_PFC_ACK,
|
|
PDU_BSSGP_STATUS pDU_BSSGP_STATUS,
|
|
PDU_BSSGP_BVC_BLOCK pDU_BSSGP_BVC_BLOCK,
|
|
PDU_BSSGP_BVC_BLOCK_ACK pDU_BSSGP_BVC_BLOCK_ACK,
|
|
PDU_BSSGP_BVC_UNBLOCK pDU_BSSGP_BVC_UNBLOCK,
|
|
PDU_BSSGP_BVC_UNBLOCK_ACK pDU_BSSGP_BVC_UNBLOCK_ACK,
|
|
PDU_BSSGP_BVC_RESET pDU_BSSGP_BVC_RESET,
|
|
PDU_BSSGP_BVC_RESET_ACK pDU_BSSGP_BVC_RESET_ACK,
|
|
PDU_BSSGP_SGSN_INVOKE_TRACE pDU_BSSGP_SGSN_INVOKE_TRACE,
|
|
PDU_BSSGP_DOWNLOAD_BSS_PFC pDU_BSSGP_DOWNLOAD_BSS_PFC,
|
|
PDU_BSSGP_CREATE_BSS_PFC pDU_BSSGP_CREATE_BSS_PFC,
|
|
PDU_BSSGP_CREATE_BSS_PFC_ACK pDU_BSSGP_CREATE_BSS_PFC_ACK,
|
|
PDU_BSSGP_CREATE_BSS_PFC_NACK pDU_BSSGP_CREATE_BSS_PFC_NACK,
|
|
PDU_BSSGP_MODIFY_BSS_PFC pDU_BSSGP_MODIFY_BSS_PFC,
|
|
PDU_BSSGP_MODIFY_BSS_PFC_ACK pDU_BSSGP_MODIFY_BSS_PFC_ACK,
|
|
PDU_BSSGP_DELETE_BSS_PFC pDU_BSSGP_DELETE_BSS_PFC,
|
|
PDU_BSSGP_DELETE_BSS_PFC_ACK pDU_BSSGP_DELETE_BSS_PFC_ACK,
|
|
PDU_BSSGP_DELETE_BSS_PFC_REQ pDU_BSSGP_DELETE_BSS_PFC_REQ,
|
|
PDU_BSSGP_PS_HANDOVER_REQUIRED pDU_BSSGP_PS_HANDOVER_REQUIRED,
|
|
PDU_BSSGP_PS_HANDOVER_REQUIRED_ACK pDU_BSSGP_PS_HANDOVER_REQUIRED_ACK,
|
|
PDU_BSSGP_PS_HANDOVER_REQUIRED_NACK pDU_BSSGP_PS_HANDOVER_REQUIRED_NACK,
|
|
PDU_BSSGP_PS_HANDOVER_REQUEST pDU_BSSGP_PS_HANDOVER_REQUEST,
|
|
PDU_BSSGP_PS_HANDOVER_REQUEST_ACK pDU_BSSGP_PS_HANDOVER_REQUEST_ACK,
|
|
PDU_BSSGP_PS_HANDOVER_REQUEST_NACK pDU_BSSGP_PS_HANDOVER_REQUEST_NACK,
|
|
PDU_BSSGP_PS_HANDOVER_COMPLETE pDU_BSSGP_PS_HANDOVER_COMPLETE,
|
|
PDU_BSSGP_PS_HANDOVER_COMPLETE_ACK pDU_BSSGP_PS_HANDOVER_COMPLETE_ACK,
|
|
PDU_BSSGP_PS_HANDOVER_CANCEL pDU_BSSGP_PS_HANDOVER_CANCEL,
|
|
PDU_BSSGP_OVERLOAD pDU_BSSGP_OVERLOAD,
|
|
PDU_BSSGP_PERFORM_LOCATION_REQUEST pDU_BSSGP_PERFORM_LOCATION_REQUEST,
|
|
PDU_BSSGP_PERFORM_LOCATION_RESPONSE pDU_BSSGP_PERFORM_LOCATION_RESPONSE,
|
|
PDU_BSSGP_PERFORM_LOCATION_ABORT pDU_BSSGP_PERFORM_LOCATION_ABORT,
|
|
PDU_BSSGP_POSITION_COMMAND pDU_BSSGP_POSITION_COMMAND,
|
|
PDU_BSSGP_POSITION_RESPONSE pDU_BSSGP_POSITION_RESPONSE,
|
|
PDU_BSSGP_RAN_INFORMATION pDU_BSSGP_RAN_INFORMATION,
|
|
PDU_BSSGP_RAN_INFORMATION_REQUEST pDU_BSSGP_RAN_INFORMATION_REQUEST,
|
|
PDU_BSSGP_RAN_INFORMATION_ACK pDU_BSSGP_RAN_INFORMATION_ACK,
|
|
PDU_BSSGP_RAN_INFORMATION_ERROR pDU_BSSGP_RAN_INFORMATION_ERROR,
|
|
PDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR
|
|
pDU_BSSGP_RAN_INFORMATION_APPLICATION_ERROR,
|
|
PDU_BSSGP_MBMS_SESSION_START_REQUEST pDU_BSSGP_MBMS_SESSION_START_REQUEST,
|
|
PDU_BSSGP_MBMS_SESSION_START_RESPONSE pDU_BSSGP_MBMS_SESSION_START_RESPONSE,
|
|
PDU_BSSGP_MBMS_SESSION_STOP_REQUEST pDU_BSSGP_MBMS_SESSION_STOP_REQUEST,
|
|
PDU_BSSGP_MBMS_STOP_RESPONSE pDU_BSSGP_MBMS_STOP_RESPONSE,
|
|
PDU_BSSGP_SESSION_UPDATE_REQUEST pDU_BSSGP_SESSION_UPDATE_REQUEST,
|
|
PDU_BSSGP_SESSION_UPDATE_RESPONSE pDU_BSSGP_SESSION_UPDATE_RESPONSE,
|
|
octetstring pDU_BSSGP_unknown
|
|
} with { variant "" };
|
|
|
|
} with {encode "RAW"} // end of module
|