blob: cd749846720072ab0a6f244b70d38bf316afd69f [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2018 Ericsson Telecom AB
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
// File: GTPv2_Types.ttcn
// Description: GTPv2 protocol module
// Rev: <RnXnn>
// Prodnr: CNL 113 870
// Contact: http://ttcn.ericsson.se
// Reference: 3GPP TS 29.274 v15.2.0
//
module GTPv2_Types
{
import from General_Types all;
import from GTPv2_PrivateExtensions all;
external function enc_PDU_GTPCv2(in PDU_GTPCv2 pdu) return octetstring
with { extension "prototype(convert)" extension "encode(RAW)" }
external function dec_PDU_GTPCv2(in octetstring stream) return PDU_GTPCv2
with { extension "prototype(convert)" extension "decode(RAW)" }
external function enc_PDU_GTPCv2_fast(in PDU_GTPCv2 pdu, out octetstring stream)
with { extension "prototype(fast) encode(RAW)" }
external function dec_PDU_GTPCv2_backtrack(in octetstring stream, out PDU_GTPCv2 pdu) return integer
with { extension "prototype(backtrack) decode(RAW)" }
// Information Elements
//8.2.1A For future use
type record Special_IE_Type_Extension
{
OCT1 elementIdentifier, // dec 254, 'FE'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
IE_Extension_UnionType iE_Type_Extension
} with {
variant (lengthIndicator) "LENGTHTO(iE_Type_Extension)";
variant "PRESENCE (elementIdentifier = 'FE'O; )";
};
type union IE_Extension_UnionType
{
IE_Type_Extension iE_Type_Extension
}
type record IE_Type_Extension
{
OCT2 elementIdentifier,
octetstring valueField
}
// 8.3
type record IMSI
{
OCT1 elementIdentifier, //dec 1, '01'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
hexstring iMSI_Value
} with {
variant "PRESENCE (elementIdentifier = '01'O;)"
variant (lengthIndicator) "LENGTHTO(iMSI_Value)"
variant (iMSI_Value) "PADDING(yes)";
variant (iMSI_Value) "PADDING_PATTERN('1'B)"
};
// 8.4
type record Cause
{
OCT1 elementIdentifier, //dec 2, '02'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 causeValue,
BIT1 cS,
BIT1 bCE,
BIT1 pCE,
BIT5 spare2,
OCT1 typeOfOffendingIE optional,
LIN2_BO_LAST lengthIndicator2 optional,
BIT4 instanceOfOffendingIE optional,
BIT4 spare3 optional
} with {
variant "PRESENCE (elementIdentifier = '02'O; )"
variant (lengthIndicator) "LENGTHTO(causeValue,cS,bCE,pCE,spare2,typeOfOffendingIE,
lengthIndicator2,instanceOfOffendingIE,spare3 )"
};
// 8.5
type record Recovery
{
OCT1 elementIdentifier, // dec 3, '03'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer recoveryValue
} with {
variant (lengthIndicator) "LENGTHTO(recoveryValue)"
variant "PRESENCE (elementIdentifier = '03'O; )"
};
// 8.6
type record AccessPointName
{
OCT1 elementIdentifier, // dec 71, '47'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring aPN_Value
} with {
variant (lengthIndicator) "LENGTHTO(aPN_Value)"
variant "PRESENCE (elementIdentifier = '47'O; )"
};
// 8.7
type record AggregateMaximumBitRate
{
OCT1 elementIdentifier, // dec 72, '48'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 aPN_AMBR_for_uplink,
OCT4 aPN_AMBR_for_downlink
} with {
variant (lengthIndicator) "LENGTHTO(aPN_AMBR_for_uplink,aPN_AMBR_for_downlink)"
variant "PRESENCE (elementIdentifier = '48'O; )"
};
//8.8
type record EPS_BearerID
{
OCT1 elementIdentifier, // dec 73, '49'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer ePS_Bearer_ID_Value,
BIT4 spare2, //'0000'B
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(ePS_Bearer_ID_Value,spare2,additionalOctets)"
variant "PRESENCE (elementIdentifier = '49'O; )"
variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)";
};
type set of EPS_BearerID EPS_BearerID_List;
//8.9
type union IPv4_IPv6_Address{
OCT4 iPv4_Address,
OCT16 iPv6_Address
};
type record IP_Address
{
OCT1 elementIdentifier, // dec 74, '4A'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
IPv4_IPv6_Address iPv4_IPv6_Address
} with {
variant (lengthIndicator) "LENGTHTO(iPv4_IPv6_Address)"
variant "PRESENCE (elementIdentifier = '4A'O; )"
variant (iPv4_IPv6_Address) "CROSSTAG( iPv4_Address, lengthIndicator = 4;
iPv6_Address, lengthIndicator = 16)"
};
type set of IP_Address IP_Address_List;
//8.10
type record MEI
{
OCT1 elementIdentifier, // dec 75, '4B'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring mEI_Value
} with {
variant (lengthIndicator) "LENGTHTO(mEI_Value)"
variant "PRESENCE (elementIdentifier = '4B'O; )"
};
//8.11
type record MSISDN
{
OCT1 elementIdentifier, // dec 76, '4C'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
hexstring mSISDN_Value
} with {
variant (lengthIndicator) "LENGTHTO(mSISDN_Value)"
variant "PRESENCE (elementIdentifier = '4C'O; )"
variant (mSISDN_Value) "PADDING(yes)";
variant (mSISDN_Value) "PADDING_PATTERN('1'B)"
};
type set of MSISDN MSISDN_List;
//8.12
type record Indication
{
OCT1 elementIdentifier, // dec 77, '4D'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 sGWCI,
BIT1 iSRAI,
BIT1 iSRSI,
BIT1 oI,
BIT1 dFI,
BIT1 hI,
BIT1 dTF,
BIT1 dAF,
BIT1 mSV,
BIT1 sI,
BIT1 pT,
BIT1 pBit,
BIT1 cRSI,
BIT1 cFSI,
BIT1 uIMSI,
BIT1 sQCI,
BIT1 cCRSI optional,
BIT1 iSRAU optional,
BIT1 mBMDT optional,
BIT1 s4AF optional,
BIT1 s6AF optional,
BIT1 sRNI optional,
BIT1 pBIC optional,
BIT1 retLoc optional,
BIT1 cPSR optional,
BIT1 cLII optional,
BIT1 cSFBI optional,
BIT1 pPSI optional,
BIT1 pPON_PPEI optional,
BIT1 pPOF optional,
BIT1 aRRL optional,
BIT1 cPRAI optional,
BIT1 aOPI optional,
BIT1 aOSI optional,
BIT1 pCRI optional,
BIT1 pSCI optional,
BIT1 bDWI optional,
BIT1 dTCI optional,
BIT1 uASI optional,
BIT1 nSI optional,
BIT1 wPMSI optional,
BIT1 uNACCSI optional,
BIT1 pNSI optional,
BIT1 s11TF optional,
BIT1 pMTSMI optional,
BIT1 cPOPCI optional,
BIT1 ePCOSI optional,
BIT1 rOAAI optional,
BIT1 tSPCMI optional,
BIT1 eNBCRSI optional,
BIT1 spare_1 optional,
BIT1 spare_2 optional,
BIT1 spare_3 optional,
BIT1 spare_4 optional,
BIT1 spare_5 optional,
BIT1 spare_6 optional,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(sGWCI,iSRAI,iSRSI,oI,dFI,hI,dTF,dAF,
mSV,sI,pT,pBit,cRSI,cFSI,uIMSI,sQCI,
cCRSI, iSRAU,mBMDT,s4AF,s6AF,sRNI,pBIC,retLoc,
cPSR,cLII,cSFBI,pPSI,pPON_PPEI,pPOF,aRRL,cPRAI,aOPI,aOSI,pCRI,pSCI,bDWI,dTCI,uASI,nSI,
wPMSI,uNACCSI,pNSI,s11TF,pMTSMI,cPOPCI,ePCOSI,rOAAI, tSPCMI, eNBCRSI, spare_1, spare_2, spare_3, spare_4, spare_5, spare_6, additionalOctets)"
variant "PRESENCE (elementIdentifier = '4D'O; )"
};
type set of Indication Indication_List;
//8.13
// 24.301 (9.9.4.8) -> 24.008 (10.5.6.3)
type set of ProtocolID_or_ContainerID ProtocolIDs_and_ContainerIDs;
type record ProtocolID_or_ContainerID
{
OCT2 protocolID_or_ContainerID,
LIN1 lengthIndicator,
octetstring protID_orContID_Contents
} with { variant (lengthIndicator) "LENGTHTO (protID_orContID_Contents)"};
type record ProtocolConfigOptions
{
OCT1 elementIdentifier, // dec 78 '4E'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 configProtocol,
BIT4 spare2, //'0000'B
BIT1 extensionField, //'1'B
ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional
} with {
variant (lengthIndicator) "LENGTHTO(configProtocol,spare2,extensionField,protocolIDs_and_ContainerIDs)"
variant "PRESENCE (elementIdentifier = '4E'O; )"
};
//8.14
type union PDN_Address_and_Prefix{
OCT4 iPv4_Address,
IPv6 iPv6_Address,
IPv4_IPv6 iPv4_IPv6
};
type record IPv6
{
integer prefixLength,
OCT16 iPv6_Address
};
type record IPv4_IPv6
{
integer prefixLength,
OCT16 iPv6_Address,
OCT4 iPv4_Address
};
type record PDN_AddressAllocation
{
OCT1 elementIdentifier, // dec 79 '4F'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 pDN_Type,
BIT5 spare2, //'00000'B
PDN_Address_and_Prefix pDN_Address_and_Prefix optional
} with {
variant (lengthIndicator) "LENGTHTO(pDN_Type,spare2,pDN_Address_and_Prefix)"
variant "PRESENCE (elementIdentifier = '4F'O; )"
variant (pDN_Address_and_Prefix) "CROSSTAG
(
iPv4_Address, pDN_Type ='001'B;
iPv6_Address, pDN_Type ='010'B;
iPv4_IPv6, pDN_Type ='011'B;
)"
};
//8.15
type record Bearer_QoS
{
OCT1 elementIdentifier, // dec 80 '50'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 pVI,
BIT1 spare2,
BIT4 pL,
BIT1 pCI,
BIT1 spare3,
OCT1 labelQCI,
OCT5 maxBitrateUplink,
OCT5 maxBitrateDownLink,
OCT5 guaranteedBitrateUplink,
OCT5 guaranteedBitrateDownLink,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(pVI,spare2,pL,pCI,spare3,
labelQCI,maxBitrateUplink,maxBitrateDownLink,
guaranteedBitrateUplink,guaranteedBitrateDownLink,additionalOctets)"
variant "PRESENCE (elementIdentifier = '50'O; )"
};
//8.16
type record FlowQoS
{
OCT1 elementIdentifier, // dec 81 '51'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 labelQCI,
OCT5 maxBitrateUplink,
OCT5 maxBitrateDownLink,
OCT5 guaranteedBitrateUplink,
OCT5 guaranteedBitrateDownLink,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(labelQCI,maxBitrateUplink,maxBitrateDownLink,guaranteedBitrateUplink,guaranteedBitrateDownLink,additionalOctets)"
variant "PRESENCE (elementIdentifier = '51'O; )"
};
//8.17
type record RAT_Type
{
OCT1 elementIdentifier, // dec 82, '52'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer rAT_TypeValue,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(rAT_TypeValue,additionalOctets)"
variant "PRESENCE (elementIdentifier = '52'O; )"
};
//8.18
type record ServingNetwork
{
OCT1 elementIdentifier, // dec 83, '53'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2,additionalOctets)"
variant "PRESENCE (elementIdentifier = '53'O; )"
};
//8.19 24.008 10.5.6.12
type union TrafficFlowTemplateV
{
TrafficFlowTemplateV_CreateAddReplaceTFT
trafficFlowTemplateV_CreateAddReplaceTFT,
TrafficFlowTemplateV_DeletePacketFilter
trafficFlowTemplateV_DeletePacketFilter,
TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
trafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
};
type record TrafficFlowTemplateV_CreateAddReplaceTFT
{
integer numberOfPacketFilters,
BIT1 eBIT,
BIT3 operationCodeTFT,
PacketFilterList_CreateAddReplaceTFT packetFilterList_CreateAddReplaceTFT,
ParametersList parametersList optional
} with {
variant "PRESENCE (operationCodeTFT = '001'B, // Create New TFT
operationCodeTFT = '011'B, // Add packet filters to existing TFT
operationCodeTFT = '100'B // Replace packet filters in existing TFT
)";
variant(parametersList) "PRESENCE(eBIT = '1'B)";
variant(numberOfPacketFilters)"FIELDLENGTH(4)";
variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_CreateAddReplaceTFT)";
variant(numberOfPacketFilters)"UNIT(elements)";
};
type record TrafficFlowTemplateV_DeletePacketFilter
{
integer numberOfPacketFilters,
BIT1 eBIT,
BIT3 operationCodeTFT,
//'101'B or '011'B or '100'B
PacketFilterList_DeletePacketFilter packetFilterList_DeletePacketFilter,
ParametersList parametersList optional
} with {
variant "PRESENCE (operationCodeTFT = '101'B)" // Delete packet filters from existing TFT
variant(parametersList) "PRESENCE(eBIT = '1'B)";
variant(numberOfPacketFilters)"FIELDLENGTH(4)";
variant(numberOfPacketFilters)"LENGTHTO(packetFilterList_DeletePacketFilter)";
variant (numberOfPacketFilters)"UNIT(elements)";
};
type record TrafficFlowTemplateV_Delete_Existing_TFT_or_No_TFT_Operation
{
BIT4 numberOfPacketFilters, //'0000'B
// numberOfPacketFilters is meaningless here since there is no PacketFilterList
BIT1 eBIT,
BIT3 operationCodeTFT, // '010'B or '110'B
ParametersList parametersList optional
} with {
variant "PRESENCE (operationCodeTFT = '010'B, // delete existing TFT
operationCodeTFT = '110'B // No TFT Operation
)";
variant (parametersList) "PRESENCE(eBIT = '1'B)"
};
type record of PacketFilter PacketFilterList_CreateAddReplaceTFT;
type record PacketFilter
{
PacketFilterIdentifier identifier,
OCT1 evaluationPrecedence,
LIN1 lengthIndicator,
octetstring contents
} with { variant (lengthIndicator) "LENGTHTO (contents)"};
type record of PacketFilterIdentifier PacketFilterList_DeletePacketFilter;
type record PacketFilterIdentifier
{
BIT4 identifier,
BIT2 direction,
BIT2 spare
};
type record of Parameter ParametersList;
type record Parameter
{
OCT1 parameterIdentifier,
LIN1 lengthIndicator,
octetstring contents
} with { variant (lengthIndicator) "LENGTHTO (contents)"};
type record EPS_BearerLevel_TFT
{
OCT1 elementIdentifier, // dec 84, '54'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
TrafficFlowTemplateV trafficFlowTemplateValue
} with {
variant (lengthIndicator) "LENGTHTO(trafficFlowTemplateValue)"
variant "PRESENCE (elementIdentifier = '54'O; )";
};
type set of EPS_BearerLevel_TFT EPS_BearerLevel_TFT_List;
//8.20
type record TrafficAggregateDescription
{
OCT1 elementIdentifier, // dec 85, '55'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring trafficAggregateDescriptionValue
} with {
variant (lengthIndicator) "LENGTHTO(trafficAggregateDescriptionValue)"
variant "PRESENCE (elementIdentifier = '55'O; )";
};
//8.21
type set of UserLocationInfo UserLocationInfo_List;
type record UserLocationInfo
{
OCT1 elementIdentifier, // dec 86, '56'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 cGI_Flag,
BIT1 sAI_Flag,
BIT1 rAI_Flag,
BIT1 tAI_Flag,
BIT1 eCGI_Flag,
BIT1 lAI_Flag,
BIT1 macro_eNodeB_ID_Flag,
BIT1 extendedMacro_eNodeB_ID_Flag,
CGI cGI optional,
SAI sAI optional,
RAI rAI optional,
TAI tAI optional,
ECGI eCGI optional,
LAI lAI optional,
Macro_eNodeB_ID macro_eNodeB_ID optional,
ExtendedMacro_eNodeB_ID extendedMacro_eNodeB_ID optional,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(cGI_Flag,sAI_Flag,rAI_Flag,tAI_Flag,eCGI_Flag,
lAI_Flag,macro_eNodeB_ID_Flag, extendedMacro_eNodeB_ID_Flag,cGI,sAI,rAI,tAI,eCGI,lAI, macro_eNodeB_ID, extendedMacro_eNodeB_ID, additionalOctets)"
variant(cGI) "PRESENCE(cGI_Flag = '1'B)";
variant(sAI) "PRESENCE(sAI_Flag = '1'B)";
variant(rAI) "PRESENCE(rAI_Flag = '1'B)";
variant(tAI) "PRESENCE(tAI_Flag = '1'B)";
variant(eCGI) "PRESENCE(eCGI_Flag = '1'B)";
variant(lAI) "PRESENCE(lAI_Flag = '1'B)";
variant(macro_eNodeB_ID) "PRESENCE(macro_eNodeB_ID_Flag = '1'B)";
variant(extendedMacro_eNodeB_ID) "PRESENCE(extendedMacro_eNodeB_ID_Flag = '1'B)";
variant "PRESENCE (elementIdentifier = '56'O; )"
};
//8.21.1
type record CGI
{
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT2 lAC,
OCT2 cI
};
//8.21.2
type record SAI
{
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT2 lAC,
OCT2 sAC
};
//8.21.3
type record RAI
{
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT2 lAC,
OCT2 rAC
};
//8.21.4
type record TAI
{
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT2 tAC
};
//8.21.5
type record ECGI
{
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)";
};
//8.21.6
type record LAI
{
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT2 lAC
}
//8.21.7
// Macro_eNodeB_ID
//8.21.8
type record ExtendedMacro_eNodeB_ID
{
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT2 spare,
BIT1 sMeNB,
bitstring targetID length(21)
} with {
variant (spare,sMeNB,targetID) "FIELDORDER(msb)";
variant (targetID) "BYTEORDER(last)";
}
//8.22
type record FullyQualifiedTEID
{
OCT1 elementIdentifier, // dec 87, '57'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer interfaceType,
BIT1 v6_Flag,
BIT1 v4_Flag,
OCT4 tEID_GRE_Key,
OCT4 iPv4_Address optional,
OCT16 iPv6_Address optional,
octetstring additionalOctets optional
} with {
variant "PRESENCE (elementIdentifier = '57'O; )"
variant (lengthIndicator) "LENGTHTO(interfaceType,v6_Flag,v4_Flag,tEID_GRE_Key,
iPv4_Address,iPv6_Address,additionalOctets)"
variant(interfaceType) "FIELDLENGTH(6)";
variant(iPv4_Address) "PRESENCE(v4_Flag = '1'B)";
variant(iPv6_Address) "PRESENCE(v6_Flag = '1'B)";
};
type set of FullyQualifiedTEID FullyQualifiedTEID_List;
//8.23
type record TMSI
{
OCT1 elementIdentifier, // dec 88, '58'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 tMSI_Value
} with {
variant (lengthIndicator) "LENGTHTO(tMSI_Value)";
variant "PRESENCE (elementIdentifier = '58'O; )";
};
//8.24
type record GlobalCN_ID
{
OCT1 elementIdentifier, // dec 89, '59'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
octetstring cN_ID
} with {
variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,mncDigit1,mncDigit2,cN_ID)"
variant "PRESENCE (elementIdentifier = '59'O; )";
};
//8.25
type record EPS_Bearer_ID
{
integer ePS_Bearer_ID_Value,
BIT4 spare // '0000'B
} with {
variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)";}
type set of EPS_Bearer_ID EPS_Bearer_IDs;
type record S103_PDF
{
OCT1 elementIdentifier,// dec 90, '5A'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer hSGW_AddrForForwardingLength (4,16),
octetstring hSGW_AddrForForwarding length (4..16),
OCT4 gRE_Key,
integer ePSBearerID_Number,
EPS_Bearer_IDs ePS_Bearer_IDs
} with {
variant (lengthIndicator) "LENGTHTO(hSGW_AddrForForwardingLength,hSGW_AddrForForwarding,gRE_Key,ePSBearerID_Number,ePS_Bearer_IDs)";
variant "PRESENCE (elementIdentifier = '5A'O; )";
variant (hSGW_AddrForForwardingLength) "LENGTHTO(hSGW_AddrForForwarding)";
variant (ePSBearerID_Number) "LENGTHTO(ePS_Bearer_IDs)";
variant (ePSBearerID_Number) "UNIT (elements)";
};
type set of S103_PDF S103_PDF_List
//8.26
type record S1_UDF
{
OCT1 elementIdentifier, // dec 91, '5B'O;
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer ePS_Bearer_ID_Value,
BIT4 spare2, // '0000'B
integer servingGWAddrLength (0,4,16),
octetstring servingGWAddr length (4..16) optional,
OCT4 servingGW_S1U_TEID
} with {
variant (lengthIndicator) "LENGTHTO(ePS_Bearer_ID_Value,spare2,servingGWAddrLength,servingGWAddr,servingGW_S1U_TEID)";
variant "PRESENCE (elementIdentifier = '5B'O; )";
variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)";
variant (servingGWAddrLength) "LENGTHTO(servingGWAddr)";
};
type set of S1_UDF S1_UDF_List
//8.27
type record DelayValue
{
OCT1 elementIdentifier, // dec 92 , '5C'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer delayValue, //(integer multiples of 50 millisec)
octetstring additionalOctets optional
}
with {
variant (lengthIndicator) "LENGTHTO(delayValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '5C'O; )";
};
//8.28 - Grouped
type set BearerContextIEs
{
EPS_BearerID ePS_Bearer_ID optional,
Cause cause optional,
EPS_BearerLevel_TFT ePS_Bearer_TFT optional,
FullyQualifiedTEID_List fullyQualifiedTEID optional,
Bearer_QoS bearerLevel_QoS optional,
ChargingID chargingID optional,
BearerFlags bearerFlags optional,
TransactionIdentifier transactionIdentifier optional,
ProtocolConfigOptions protocolConfigOptions optional,
RAN_NASCause_List rAN_NASCause optional,
APCO additionalProtocolConfigOptions optional,
ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional
}
with {
variant(fullyQualifiedTEID) "REPEATABLE(yes)";
variant(rAN_NASCause) "REPEATABLE(yes)";
};
type record BearerContextGrouped
{
OCT1 elementIdentifier, // dec 93 , '5D'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BearerContextIEs bearerContextIEs
} with {
variant (lengthIndicator) "LENGTHTO(bearerContextIEs)";
variant "PRESENCE (elementIdentifier = '5D'O; )";
};
type set of BearerContextGrouped BearerContextGrouped_List;
//8.29
type record ChargingID
{
OCT1 elementIdentifier, // dec 94, '5E'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 chargingID_Value,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(chargingID_Value,additionalOctets)";
variant "PRESENCE (elementIdentifier = '5E'O; )";
};
//8.30
type record ChargingCharacteristics
{
OCT1 elementIdentifier, // dec 95, '5F'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT2 chargingCharacteristicsValue,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(chargingCharacteristicsValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '5F'O; )";
};
//8.31
type record TraceInformation
{
OCT1 elementIdentifier, // dec 96, '60'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT3 traceIDValue,
OCT9 triggeringEvents,
OCT2 listOfNE_Types,
OCT1 sessionTraceDepth,
OCT12 listOfInterfaces,
octetstring iPAddressOfTraceCollectionEntity
} with {
variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3, mncDigit1,mncDigit2,
traceIDValue,triggeringEvents,listOfNE_Types,sessionTraceDepth,
listOfInterfaces,iPAddressOfTraceCollectionEntity)";
variant "PRESENCE (elementIdentifier = '60'O; )";
};
//8.32
type record BearerFlags
{
OCT1 elementIdentifier, // dec 97, '61'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 pPC,
BIT1 vB,
BIT1 vind,
BIT1 aSI,
BIT4 spare2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(pPC,vB,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '61'O; )";
};
//8.33
//VOID
//8.34
type record PDN_Type
{
OCT1 elementIdentifier, // dec 99, '63'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 pDN_TypeValue,
BIT5 spare2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(pDN_TypeValue,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '63'O; )";
};
//8.35
type record ProcedureTransactionID
{
OCT1 elementIdentifier, // dec 100, '64'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer pTI_Value,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(pTI_Value,additionalOctets)";
variant "PRESENCE (elementIdentifier = '64'O; )";
};
//8.36 Void
//8.37 Void
//8.38
type union MM_Context
{
GSM_Key_and_Triplets gSM_Key_and_Triplets,
UMTS_Key_UsedCipher_and_Quintuplets uMTS_Key_UsedCipher_and_Quintuplets,
GSM_Key_UsedCipher_and_Quintuplets gSM_Key_UsedCipher_and_Quintuplets,
UMTS_key_and_Quintuplets uMTS_key_and_Quintuplets,
EPS_SecurityContext_and_Quadruplets ePS_SecurityContext_and_Quadruplets,
UMTS_Key_Quadruplets_and_Quintuplets uMTS_Key_Quadruplets_and_Quintuplets
}
type set of AuthTriplet AuthTriplets;
type record AuthTriplet
{
OCT16 rAND,
OCT4 sRES,
OCT8 kc
};
type set of AuthQuintuplet AuthQuintuplets;
type record AuthQuintuplet {
OCT16 rand,
integer xresLength,
octetstring xres,
OCT16 ck,
OCT16 ik,
integer autnLength,
octetstring autn
} with {
variant (xresLength) "LENGTHTO(xres)";
variant (autnLength) "LENGTHTO(autn)";
};
type set of AuthQuadruplet AuthQuadruplets;
type record AuthQuadruplet
{
OCT16 rand,
integer xresLength,
octetstring xres,
integer autnLength,
octetstring autn,
octetstring k_asme length (32)
} with {
variant (xresLength) "LENGTHTO(xres)";
variant (autnLength) "LENGTHTO(autn)";
};
type record GSM_Key_and_Triplets
{
OCT1 elementIdentifier, // dec 103, '67'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 cksn,
BIT1 dRXI,
BIT1 spare2,
integer securityMode,
BIT1 sAMBRI,
BIT1 uAMBRI,
BIT3 spare3,
integer noofTriplets,
BIT3 usedCipher,
BIT5 spare4,
OCT8 kc,
AuthTriplets triplets,
OCT2 drx_par optional,
OCT4 uplinkSubscribedUE_AMBR optional,
OCT4 downlinkSubscribedUE_AMBR optional,
OCT4 uplinkUsedUE_AMBR optional,
OCT4 downlinkUsedUE_AMBR optional,
integer lengthOfUE_NEtworkCapability,
octetstring uE_NEtworkCapability,
integer lengthOfMS_NetworkCapability,
octetstring mS_NetworkCapability,
integer lengthOfMobileEquipmentIdentity,
octetstring mobileEquipmentIdentity,
BIT1 uNA,
BIT1 gENA,
BIT1 gANA,
BIT1 iNA,
BIT1 eNA,
BIT1 hNNA,
BIT1 nBNA,
BIT1 eCNA,
integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring additionalOctets optional //"extendable" optional for backward compatibility
} with {
variant (lengthIndicator) "LENGTHTO(cksn,dRXI,spare2,securityMode,sAMBRI,uAMBRI,spare3,noofTriplets,usedCipher,spare4,
kc,triplets,drx_par,uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR,
uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability,
uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability,
lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity,
uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,eCNA,
lengthOfVoiceDomainPreferenceAndUEsUsageSetting,
voiceDomainPreferenceAndUEsUsageSetting,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '67'O; )";
variant (securityMode) "FIELDLENGTH(3)";
variant (noofTriplets) "FIELDLENGTH(3)";
variant (noofTriplets) "LENGTHTO(triplets)";
variant (noofTriplets) "UNIT(elements)";
variant (drx_par) "PRESENCE (dRXI = '1'B; )";
variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)";
variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)";
variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)";
variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)";
variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
};
type record UMTS_Key_UsedCipher_and_Quintuplets
{
OCT1 elementIdentifier, // dec 104, '68'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 cksn_ksi,
BIT1 dRXI,
BIT1 spare2,
integer securityMode,
BIT1 sAMBRI,
BIT1 uAMBRI,
BIT1 uGIPAI,
BIT1 gUPII,
BIT1 iOVI,
integer noofQuintuplets,
BIT3 usedCipher,
BIT3 usedGPRSIntegrityProtectionAlgorithm,
BIT2 spare3,
OCT16 ck,
OCT16 ik,
AuthQuintuplets quintuplets,
OCT2 drx_par optional,
OCT4 uplinkSubscribedUE_AMBR optional,
OCT4 downlinkSubscribedUE_AMBR optional,
OCT4 uplinkUsedUE_AMBR optional,
OCT4 downlinkUsedUE_AMBR optional,
integer lengthOfUE_NEtworkCapability,
octetstring uE_NEtworkCapability,
integer lengthOfMS_NetworkCapability,
octetstring mS_NetworkCapability,
integer lengthOfMobileEquipmentIdentity,
octetstring mobileEquipmentIdentity,
BIT1 uNA,
BIT1 gENA,
BIT1 gANA,
BIT1 iNA,
BIT1 eNA,
BIT1 hNNA,
BIT1 nBNA,
BIT1 eCNA,
integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
integer lengthOfHigherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility
octetstring higherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility
LIN1 iOV_UpdatesCounter optional, //"extendable" optional for backward compatibility
octetstring additionalOctets optional //"extendable" optional for backward compatibility
} with {
variant (lengthIndicator) "LENGTHTO(cksn_ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,uGIPAI,gUPII,iOVI,noofQuintuplets,
usedCipher,usedGPRSIntegrityProtectionAlgorithm,spare3,ck,ik,quintuplets,drx_par,uplinkSubscribedUE_AMBR,
downlinkSubscribedUE_AMBR,uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,
lengthOfUE_NEtworkCapability,uE_NEtworkCapability,lengthOfMS_NetworkCapability,
mS_NetworkCapability,lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity,
uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,eCNA,
lengthOfVoiceDomainPreferenceAndUEsUsageSetting,
voiceDomainPreferenceAndUEsUsageSetting,
lengthOfHigherBitratesThan16Mbpsflags,
higherBitratesThan16Mbpsflags,iOV_UpdatesCounter,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '68'O; )";
variant (securityMode) "FIELDLENGTH(3)";
variant (noofQuintuplets) "FIELDLENGTH(3)";
variant (noofQuintuplets) "LENGTHTO(quintuplets)";
variant (noofQuintuplets) "UNIT(elements)";
variant (drx_par) "PRESENCE (dRXI = '1'B; )";
variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)";
variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)";
variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)";
variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)";
variant (lengthOfHigherBitratesThan16Mbpsflags) "LENGTHTO(higherBitratesThan16Mbpsflags)";
variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (iOV_UpdatesCounter) "PRESENCE (iOVI = '1'B; )";
};
type record GSM_Key_UsedCipher_and_Quintuplets
{
OCT1 elementIdentifier, // dec 105, '69'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 cksn_ksi,
BIT1 dRXI,
BIT1 spare2,
integer securityMode,
BIT1 sAMBRI,
BIT1 uAMBRI,
BIT3 spare3,
integer noofQuintuplets,
BIT3 usedCipher,
BIT5 spare4,
OCT8 kc,
AuthQuintuplets quintuplets,
OCT2 drx_par optional,
OCT4 uplinkSubscribedUE_AMBR optional,
OCT4 downlinkSubscribedUE_AMBR optional,
OCT4 uplinkUsedUE_AMBR optional,
OCT4 downlinkUsedUE_AMBR optional,
integer lengthOfUE_NEtworkCapability,
octetstring uE_NEtworkCapability,
integer lengthOfMS_NetworkCapability,
octetstring mS_NetworkCapability,
integer lengthOfMobileEquipmentIdentity,
octetstring mobileEquipmentIdentity,
BIT1 uNA,
BIT1 gENA,
BIT1 gANA,
BIT1 iNA,
BIT1 eNA,
BIT1 hNNA,
BIT1 nBNA,
BIT1 eCNA,
integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
integer lengthOfHigherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility
octetstring higherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility
octetstring additionalOctets optional //"extendable" optional for backward compatibility
} with {
variant (lengthIndicator) "LENGTHTO(cksn_ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,spare3,
noofQuintuplets,usedCipher,spare4,kc,quintuplets,
drx_par,uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR,
uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability,
uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability,
lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity,
uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,eCNA,
lengthOfVoiceDomainPreferenceAndUEsUsageSetting,
voiceDomainPreferenceAndUEsUsageSetting,
lengthOfHigherBitratesThan16Mbpsflags,
higherBitratesThan16Mbpsflags,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '69'O; )";
variant (securityMode) "FIELDLENGTH(3)";
variant (noofQuintuplets) "FIELDLENGTH(3)";
variant (noofQuintuplets) "LENGTHTO(quintuplets)";
variant (noofQuintuplets) "UNIT(elements)";
variant (drx_par) "PRESENCE (dRXI = '1'B; )";
variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)";
variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)";
variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)";
variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)";
variant (lengthOfHigherBitratesThan16Mbpsflags) "LENGTHTO(higherBitratesThan16Mbpsflags)";
variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
};
type record UMTS_key_and_Quintuplets
{
OCT1 elementIdentifier, // dec 106, '6A'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 ksi,
BIT1 dRXI,
BIT1 spare2,
integer securityMode,
BIT1 sAMBRI,
BIT1 uAMBRI,
BIT1 uGIPAI,
BIT1 gUPII,
BIT1 iOVI,
integer noofQuintuplets,
BIT3 usedGPRSIntegrityProtectionAlgorithm,
BIT5 spare4,
OCT16 ck,
OCT16 ik,
AuthQuintuplets quintuplets,
OCT2 drx_par optional,
OCT4 uplinkSubscribedUE_AMBR optional,
OCT4 downlinkSubscribedUE_AMBR optional,
OCT4 uplinkUsedUE_AMBR optional,
OCT4 downlinkUsedUE_AMBR optional,
integer lengthOfUE_NEtworkCapability,
octetstring uE_NEtworkCapability,
integer lengthOfMS_NetworkCapability,
octetstring mS_NetworkCapability,
integer lengthOfMobileEquipmentIdentity,
octetstring mobileEquipmentIdentity,
BIT1 uNA,
BIT1 gENA,
BIT1 gANA,
BIT1 iNA,
BIT1 eNA,
BIT1 hNNA,
BIT1 nBNA,
BIT1 eCNA,
integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
integer lengthOfHigherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility
octetstring higherBitratesThan16Mbpsflags optional, //"extendable" optional for backward compatibility
LIN1 iOV_UpdatesCounter optional,
integer lengthOfExtendedAccessRestrictionData optional,
BIT1 nRSRNA optional,
BIT7 spare5 optional,
octetstring additionalOctets optional //"extendable" optional for backward compatibility
} with {
variant (lengthIndicator) "LENGTHTO(ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,uGIPAI,gUPII,iOVI,
noofQuintuplets,usedGPRSIntegrityProtectionAlgorithm,spare4,ck,ik,quintuplets,
drx_par,uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR,
uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability,
uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability,
lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity,
uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,eCNA,
lengthOfVoiceDomainPreferenceAndUEsUsageSetting,
voiceDomainPreferenceAndUEsUsageSetting,
lengthOfHigherBitratesThan16Mbpsflags,
higherBitratesThan16Mbpsflags,iOV_UpdatesCounter,
lengthOfExtendedAccessRestrictionData,nRSRNA,spare5,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '6A'O; )";
variant (securityMode) "FIELDLENGTH(3)";
variant (noofQuintuplets) "FIELDLENGTH(3)";
variant (noofQuintuplets) "LENGTHTO(quintuplets)";
variant (noofQuintuplets) "UNIT(elements)";
variant (drx_par) "PRESENCE (dRXI = '1'B; )";
variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)";
variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)";
variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)";
variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)";
variant (lengthOfHigherBitratesThan16Mbpsflags) "LENGTHTO(higherBitratesThan16Mbpsflags)";
variant (lengthOfExtendedAccessRestrictionData) "LENGTHTO(nRSRNA,spare5)";
variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (iOV_UpdatesCounter) "PRESENCE (iOVI = '1'B; )";
};
type record OldEPS_SecurityContext
{
BIT3 oldNCC,
BIT3 oldKSI,
BIT1 spare,
BIT1 nHI_old,
octetstring old_K_asme length (32),
octetstring old_NH length (32) optional
} with {
variant (old_NH) "PRESENCE(nHI_old = '1'B )";
};
type record EPS_SecurityContext_and_Quadruplets
{
OCT1 elementIdentifier, // dec 107, '6B'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 ksi_asme,
BIT1 dRXI,
BIT1 nHI,
integer securityMode,
BIT1 osci,
BIT1 uAMBRI,
integer noofQuadruplets,
integer noofQuintuplets,
BIT4 usedNAS_Cipher,
BIT3 usedNAS_IntegrityAlgorithm,
BIT1 sAMBRI,
integer nAS_DownlinkCount,
integer nAS_UplinkCount,
octetstring k_asme length (32),
AuthQuadruplets quadruplets,
AuthQuintuplets quintuplets,
OCT2 drx_par optional,
octetstring nH length (32) optional,
BIT3 nCC optional,
BIT5 spare4 optional,
OCT4 uplinkSubscribedUE_AMBR optional,
OCT4 downlinkSubscribedUE_AMBR optional,
OCT4 uplinkUsedUE_AMBR optional,
OCT4 downlinkUsedUE_AMBR optional,
integer lengthOfUE_NEtworkCapability,
octetstring uE_NEtworkCapability,
integer lengthOfMS_NetworkCapability,
octetstring mS_NetworkCapability,
integer lengthOfMobileEquipmentIdentity,
octetstring mobileEquipmentIdentity,
BIT1 uNA,
BIT1 gENA,
BIT1 gANA,
BIT1 iNA,
BIT1 eNA,
BIT1 hNNA,
BIT1 nBNA,
BIT1 eCNA,
OldEPS_SecurityContext oldEPS_SecurityContext optional,
integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
LIN2_BO_LAST lengthOfUERadioCapabilityforPagingInformation optional, //"extendable" optional for backward compatibility
octetstring uERadioCapabilityforPagingInformation optional, //"extendable" optional for backward compatibility
integer lengthOfExtendedAccessRestrictionData optional, //"extendable" optional for backward compatibility
BIT1 nRSRNA optional,
BIT1 uSSRNA optional,
BIT6 spare5 optional,
integer lengthOfUEAdditionalSecurityCapability optional, //"extendable" optional for backward compatibility
octetstring uEAdditionalSecurityCapability optional, //"extendable" optional for backward compatibility
octetstring additionalOctets optional //"extendable" optional for backward compatibility
} with {
variant (lengthIndicator) "LENGTHTO(ksi_asme,dRXI,nHI,securityMode,osci,uAMBRI,noofQuadruplets,
noofQuintuplets,usedNAS_Cipher,usedNAS_IntegrityAlgorithm,sAMBRI,
nAS_DownlinkCount,nAS_UplinkCount,k_asme,
quadruplets,quintuplets,drx_par,nH,nCC,spare4,
uplinkSubscribedUE_AMBR,downlinkSubscribedUE_AMBR,
uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,lengthOfUE_NEtworkCapability,
uE_NEtworkCapability,lengthOfMS_NetworkCapability,mS_NetworkCapability,
lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity,
uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,eCNA,
oldEPS_SecurityContext,
lengthOfVoiceDomainPreferenceAndUEsUsageSetting,
voiceDomainPreferenceAndUEsUsageSetting,
lengthOfUERadioCapabilityforPagingInformation,
uERadioCapabilityforPagingInformation,
lengthOfExtendedAccessRestrictionData,nRSRNA, uSSRNA,spare5,
lengthOfUEAdditionalSecurityCapability,uEAdditionalSecurityCapability,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '6B'O; )";
variant (securityMode) "FIELDLENGTH(3)";
variant (noofQuadruplets) "FIELDLENGTH(3)";
variant (noofQuadruplets) "LENGTHTO(quadruplets)";
variant (noofQuadruplets) "UNIT(elements)";
variant (noofQuintuplets) "FIELDLENGTH(3)";
variant (noofQuintuplets) "LENGTHTO(quintuplets)";
variant (noofQuintuplets) "UNIT(elements)";
variant (nAS_DownlinkCount) "FIELDLENGTH(24)";
variant (nAS_DownlinkCount) "BYTEORDER(last)";
variant (nAS_UplinkCount) "FIELDLENGTH(24)";
variant (nAS_UplinkCount) "BYTEORDER(last)";
variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)";
variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)";
variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)";
variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)";
variant (lengthOfUERadioCapabilityforPagingInformation) "LENGTHTO(uERadioCapabilityforPagingInformation)";
variant (lengthOfExtendedAccessRestrictionData) "LENGTHTO(nRSRNA,uSSRNA,spare5)";
variant (lengthOfUEAdditionalSecurityCapability) "LENGTHTO(uEAdditionalSecurityCapability)";
variant (drx_par) "PRESENCE(dRXI = '1'B)";
variant (nH) "PRESENCE(nHI = '1'B)";
variant (nCC) "PRESENCE(nHI = '1'B)";
variant (spare4) "PRESENCE(nHI = '1'B)";
variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (oldEPS_SecurityContext) "PRESENCE(osci = '1'B )";
};
type record UMTS_Key_Quadruplets_and_Quintuplets
{
OCT1 elementIdentifier, // dec 108, '6C'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 ksi_asme,
BIT1 dRXI,
BIT1 spare2,
integer securityMode,
BIT1 sAMBRI,
BIT1 uAMBRI,
integer noofQuadruplets,
integer noofQuintuplets,
OCT1 spare4,
OCT16 ck,
OCT16 ik,
AuthQuadruplets quadruplets,
AuthQuintuplets quintuplets,
OCT2 drx_par optional,
OCT4 uplinkSubscribedUE_AMBR optional,
OCT4 downlinkSubscribedUE_AMBR optional,
OCT4 uplinkUsedUE_AMBR optional,
OCT4 downlinkUsedUE_AMBR optional,
integer lengthOfUE_NEtworkCapability,
octetstring uE_NEtworkCapability,
integer lengthOfMS_NetworkCapability,
octetstring mS_NetworkCapability,
integer lengthOfMobileEquipmentIdentity,
octetstring mobileEquipmentIdentity,
BIT1 uNA,
BIT1 gENA,
BIT1 gANA,
BIT1 iNA,
BIT1 eNA,
BIT1 hNNA,
BIT1 nBNA,
BIT1 eCNA,
integer lengthOfVoiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring voiceDomainPreferenceAndUEsUsageSetting optional, //"extendable" optional for backward compatibility
octetstring additionalOctets optional //"extendable" optional for backward compatibility
} with {
variant (lengthIndicator) "LENGTHTO(ksi_asme,dRXI,spare2,securityMode,sAMBRI,uAMBRI,
noofQuadruplets,noofQuintuplets,spare4,ck,
ik,quadruplets,quintuplets,drx_par,uplinkSubscribedUE_AMBR,
downlinkSubscribedUE_AMBR,uplinkUsedUE_AMBR,downlinkUsedUE_AMBR,
lengthOfUE_NEtworkCapability,uE_NEtworkCapability,
lengthOfMS_NetworkCapability,mS_NetworkCapability,
lengthOfMobileEquipmentIdentity,mobileEquipmentIdentity,
uNA,gENA,gANA,iNA,eNA,hNNA,nBNA,eCNA,
lengthOfVoiceDomainPreferenceAndUEsUsageSetting,
voiceDomainPreferenceAndUEsUsageSetting,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '6C'O; )";
variant (securityMode) "FIELDLENGTH(3)";
variant (noofQuadruplets) "FIELDLENGTH(3)";
variant (noofQuadruplets) "LENGTHTO(quadruplets)";
variant (noofQuadruplets) "UNIT(elements)";
variant (noofQuintuplets) "FIELDLENGTH(3)";
variant (noofQuintuplets) "LENGTHTO(quintuplets)";
variant (noofQuintuplets) "UNIT(elements)";
variant (drx_par) "PRESENCE (dRXI = '1'B; )";
variant (lengthOfUE_NEtworkCapability) "LENGTHTO(uE_NEtworkCapability)";
variant (lengthOfMS_NetworkCapability) "LENGTHTO(mS_NetworkCapability)";
variant (lengthOfMobileEquipmentIdentity) "LENGTHTO(mobileEquipmentIdentity)";
variant (lengthOfVoiceDomainPreferenceAndUEsUsageSetting) "LENGTHTO(voiceDomainPreferenceAndUEsUsageSetting)";
variant (uplinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (downlinkSubscribedUE_AMBR) "PRESENCE (sAMBRI = '1'B; )";
variant (uplinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
variant (downlinkUsedUE_AMBR) "PRESENCE (uAMBRI = '1'B; )";
};
//8.39
type set PDN_Conn_BearerContext_IEs
{
EPS_BearerID ePS_BearerID optional,
EPS_BearerLevel_TFT ePS_Bearer_TFT optional,
FullyQualifiedTEID_List fullyQualifiedTEID optional,
Bearer_QoS bearerLevel_QoS optional,
FullyQualifiedContainer container optional,
TransactionIdentifier transactionIdentifier optional,
BearerFlags bearerFlags optional
}with {
variant(fullyQualifiedTEID) "REPEATABLE(yes)";
};
type record PDN_Conn_BearerContext
{
OCT1 elementIdentifier,// dec 93, '5D'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
PDN_Conn_BearerContext_IEs bearerContext_IEs
} with {
variant (lengthIndicator) "LENGTHTO(bearerContext_IEs)";
variant "PRESENCE (elementIdentifier = '5D'O; )";
};
type set of PDN_Conn_BearerContext PDN_Conn_BearerContext_List
type set PDN_Connection_IEs
{
AccessPointName accessPointName optional,
IP_Address_List iP_Address optional,
EPS_BearerID linkedEPS_Bearer_ID optional,
FullyQualifiedTEID fullyQualifiedTEID optional,
FullyQualifiedDomainName_List fullyQualifiedDomainName optional,
PDN_Conn_BearerContext_List bearerContexts optional,
AggregateMaximumBitRate apn_ambr optional,
ChargingCharacteristics chargingCharacteristics optional,
APN_Restriction aPN_Restriction optional,
SelectionMode selectionMode optional,
ChangeReportingAction changeReportingAction optional,
CSG_InformationReportingAction cSG_InformationReportingAction optional,
HeNBInformationReporting heNBInformationReporting optional,
Indication indicationFlags optional,
SignallingPriorityIndication signallingPriorityIndication optional,
ChangeToReportFlags changeToReportFlags optional,
PresenceReportingAreaAction_List presenceReportingAreaAction optional,
WLANOffloadabilityIndication wLANOffloadabilityIndication optional,
RemoteUEContextGrouped_List remoteUEContext optional,
PDN_Type pDN_Type optional,
HeaderCompressionConfiguration headerCompressionConfiguration optional
} with {
variant(iP_Address) "REPEATABLE(yes)";
variant(fullyQualifiedDomainName) "REPEATABLE(yes)";
variant(bearerContexts) "REPEATABLE(yes)";
variant(presenceReportingAreaAction) "REPEATABLE(yes)";
variant(remoteUEContext) "REPEATABLE(yes)";
};
type record PDN_ConnectionGrouped
{
OCT1 elementIdentifier, // dec 109, '6D'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
PDN_Connection_IEs pDN_Connection_IEs
} with {
variant (lengthIndicator) "LENGTHTO(pDN_Connection_IEs)";
variant "PRESENCE (elementIdentifier = '6D'O; )";
};
type set of PDN_ConnectionGrouped PDN_ConnectionGrouped_List
//8.40
type record PDU_Numbers
{
OCT1 elementIdentifier, // dec 110, '6E'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT4 nSAPI,
BIT4 spare2,
integer dL_GTPU_SeqNumber,
integer uL_GTPU_SeqNumber,
integer send_NPDU_Number,
integer receive_NPDU_Number,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(nSAPI,spare2,dL_GTPU_SeqNumber,
uL_GTPU_SeqNumber,send_NPDU_Number,
receive_NPDU_Number,additionalOctets)";
variant "PRESENCE (elementIdentifier = '6E'O;)";
variant (dL_GTPU_SeqNumber) "FIELDLENGTH(16)";
variant (dL_GTPU_SeqNumber) "BYTEORDER(last)";
variant (uL_GTPU_SeqNumber) "FIELDLENGTH(16)";
variant (uL_GTPU_SeqNumber) "BYTEORDER(last)";
variant (send_NPDU_Number) "FIELDLENGTH(16)";
variant (send_NPDU_Number) "BYTEORDER(last)";
variant (receive_NPDU_Number) "FIELDLENGTH(16)";
variant (receive_NPDU_Number) "BYTEORDER(last)";
};
//8.41
type record Packet_TMSI
{
OCT1 elementIdentifier, // dec 111, '6F'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 pTMSI_Value
} with {
variant (lengthIndicator) "LENGTHTO(pTMSI_Value)";
variant "PRESENCE (elementIdentifier = '6F'O; )";
};
//8.42
type record P_TMSI_Signature
{
OCT1 elementIdentifier, // dec 112, '70'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT3 p_TMSI_SignatureValue
} with {
variant (lengthIndicator) "LENGTHTO(p_TMSI_SignatureValue)";
variant "PRESENCE (elementIdentifier = '70'O; )";
};
//8.43
type record Hop_Counter
{
OCT1 elementIdentifier, //dec 113, '71'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer hopCounterValue,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(hopCounterValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '71'O; )";
};
//8.44
type record UE_TimeZone
{
OCT1 elementIdentifier, //dec 114, '72'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 timeZone,
BIT2 daylightSavingTime,
BIT6 spare2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(timeZone,daylightSavingTime,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '72'O; )";
};
//8.45
type record TraceReference
{
OCT1 elementIdentifier, //dec 115, '73'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT3 traceID_Value
} with {
variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,
mncDigit1,mncDigit2,traceID_Value)";
variant "PRESENCE (elementIdentifier = '73'O; )";
};
//8.46
type record CompleteRequestMessage
{
OCT1 elementIdentifier, //dec 116, '74'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer completeRequestMessageType,
octetstring completeRequestMessageValue
} with {
variant (lengthIndicator) "LENGTHTO(completeRequestMessageType,completeRequestMessageValue)";
variant "PRESENCE (elementIdentifier = '74'O; )";
};
//8.47
type record GUTI
{
OCT1 elementIdentifier, //dec 117, '75'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
OCT2 mME_GroupID,
OCT1 mME_Code,
octetstring m_TMSI
} with {
variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,mncDigit3,
mncDigit1,mncDigit2,mME_GroupID,mME_Code,m_TMSI
)";
variant "PRESENCE (elementIdentifier = '75'O; )";
};
//8.48
type record FullyQualifiedContainer
{
OCT1 elementIdentifier, //dec 118, '76'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer containerType,
BIT4 spare2,
F_ContainerField f_ContainerField
} with {
variant (lengthIndicator) "LENGTHTO(containerType,spare2,f_ContainerField)";
variant "PRESENCE (elementIdentifier = '76'O; )";
variant (containerType) "FIELDLENGTH(4)";
variant (f_ContainerField) "CROSSTAG(
uTRAN_TransparentContainer, containerType = 1;
bSS_Container, containerType = 2;
eUTRAN_TransparentContainer, containerType = 3;
nBIFOM_Container, containerType = 4;
)";
};
type union F_ContainerField
{
BSS_Container_union bSS_Container,
octetstring uTRAN_TransparentContainer,
octetstring eUTRAN_TransparentContainer,
octetstring nBIFOM_Container
}
type set of FullyQualifiedContainer FullyQualifiedContainer_List;
type union BSS_Container_union {
BSS_Container bSS_Container_structured,
octetstring bSS_Container_octet
}
//8.48-2
type record BSS_Container
{
BIT1 pFI,
BIT1 rP,
BIT1 sAPIflag,
BIT1 pHX,
BIT4 spare,
OCT1 packetFlowID optional,
BIT3 radioPriority optional,
BIT1 spare2 optional,
BIT4 sAPI optional,
integer xiDparametersLength optional,
octetstring xiDparameters optional
} with {
variant "PRESENCE (spare = '0000'B; )";
variant (xiDparametersLength) "LENGTHTO(xiDparameters)";
variant (packetFlowID) "PRESENCE (pFI = '1'B; )";
variant (radioPriority) "PRESENCE (rP = '1'B; )";
variant (sAPI) "PRESENCE (sAPIflag = '1'B; )";
variant (xiDparametersLength) "PRESENCE (pHX = '1'B; )";
variant (xiDparameters) "PRESENCE (pHX = '1'B; )";
};
//8.49
type record FullyQualifiedCause
{
OCT1 elementIdentifier, //dec 119, '77'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT4 causeType,
BIT4 spare2,
octetstring f_CauseFieldValue
} with {
variant (lengthIndicator) "LENGTHTO(causeType,spare2,f_CauseFieldValue)";
variant "PRESENCE (elementIdentifier = '77'O; )";
};
type set of FullyQualifiedCause FullyQualifiedCause_List;
//8.50
type record PLMN_ID
{
OCT1 elementIdentifier, //dec 120, '78'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT3 pLMN_IdentityValue
}with {
variant (lengthIndicator) "LENGTHTO(pLMN_IdentityValue)";
variant "PRESENCE (elementIdentifier = '78'O; )";
};
//8.51
type record TargetIdentification
{
OCT1 elementIdentifier, //dec 121, '79'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer targetType,
TargetId targetID
} with {
variant (lengthIndicator) "LENGTHTO(targetType,targetID)";
variant "PRESENCE (elementIdentifier = '79'O; )";
variant (targetID) "CROSSTAG( rnc_ID, targetType = 0;
macro_eNodeB_ID, targetType = 1;
cell_ID, targetType = 2;
home_eNodeB_ID, targetType = 3;
unknown, OTHERWISE)"
};
type union TargetId {
RNC_ID rnc_ID,
Macro_eNodeB_ID_TAC macro_eNodeB_ID,
Cell_ID cell_ID,
Home_eNodeB_ID_TAC home_eNodeB_ID,
octetstring unknown
}
type octetstring RNC_ID;
type octetstring Cell_ID;
type record Macro_eNodeB_ID_TAC {
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT4 spare2,
bitstring targetID length(20),
OCT2 tac
} with {
variant (spare2,targetID) "FIELDORDER(msb)";
variant (targetID) "BYTEORDER(last)";
}
type record Home_eNodeB_ID_TAC {
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT4 spare2,
bitstring targetID length(28),
OCT2 tac
} with {
variant (spare2,targetID) "FIELDORDER(msb)";
variant (targetID) "BYTEORDER(last)";
}
// In Presence Reporting Area Action it shall be encoded as per octets 6 to 11 of the Target ID
type record Macro_eNodeB_ID {
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT4 spare2,
bitstring targetID length(20)
} with {
variant (spare2,targetID) "FIELDORDER(msb)";
variant (targetID) "BYTEORDER(last)";
}
// In Presence Reporting Area Action it shall be encoded as per octets 6 to 11 of the Target ID
type record Home_eNodeB_ID {
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT4 spare2,
bitstring targetID length(28)
} with {
variant (spare2,targetID) "FIELDORDER(msb)";
variant (targetID) "BYTEORDER(last)";
}
//8.52
//VOID
//8.53
type record PacketFlowID
{
OCT1 elementIdentifier, // dec 123, '7B'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT4 eBI,
BIT4 spare2,
octetstring packetFlowIDValue
} with {
variant (lengthIndicator) "LENGTHTO(eBI,spare2,packetFlowIDValue)";
variant "PRESENCE (elementIdentifier = '7B'O;)";
};
//8.54
type record RAB_Context
{
OCT1 elementIdentifier, // dec 124, '7C'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT4 nSAPI,
BIT4 spare2,
integer dL_GTPU_SeqNumber,
integer uL_GTPU_SeqNumber,
integer dL_PDCP_SeqNumber,
integer uL_PDCP_SeqNumber
}with {
variant (lengthIndicator) "LENGTHTO(nSAPI,spare2,dL_GTPU_SeqNumber,uL_GTPU_SeqNumber,dL_PDCP_SeqNumber,uL_PDCP_SeqNumber)";
variant "PRESENCE (elementIdentifier = '7C'O;)";
variant (dL_GTPU_SeqNumber) "FIELDLENGTH(16)";
variant (dL_GTPU_SeqNumber) "BYTEORDER(last)";
variant (uL_GTPU_SeqNumber) "FIELDLENGTH(16)";
variant (uL_GTPU_SeqNumber) "BYTEORDER(last)";
variant (dL_PDCP_SeqNumber) "FIELDLENGTH(16)";
variant (dL_PDCP_SeqNumber) "BYTEORDER(last)";
variant (uL_PDCP_SeqNumber) "FIELDLENGTH(16)";
variant (uL_PDCP_SeqNumber) "BYTEORDER(last)";
};
type set of RAB_Context RAB_Context_List
//8.55
type record Source_RNC_PDCP_Context_Info
{
OCT1 elementIdentifier, // dec 125, '7D'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring rRC_ContainerValue
} with {
variant (lengthIndicator) "LENGTHTO(rRC_ContainerValue)";
variant "PRESENCE (elementIdentifier = '7D'O;)";
};
//8.56
type record PortNumber
{
OCT1 elementIdentifier, // dec 126, '7E'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer PortNumberValue,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(PortNumberValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '7E'O;)";
variant (PortNumberValue) "FIELDLENGTH(16)";
variant (PortNumberValue) "BYTEORDER(last)";
};
type set of PortNumber PortNumber_List
//8.57
type record APN_Restriction
{
OCT1 elementIdentifier, // dec 127, '7F'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer restrictionTypeValue,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(restrictionTypeValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '7F'O;)";
};
//8.58
type record SelectionMode
{
OCT1 elementIdentifier, // dec 128, '80'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer selectionModeValue,
BIT6 spare2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(selectionModeValue,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '80'O;)";
variant (selectionModeValue) "FIELDLENGTH(2)";
};
//8.59
type record SourceIdentification
{
OCT1 elementIdentifier, // dec 129, '81'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT8 targetCellID,
OCT1 sourceType,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT4 spare2,
bitstring sourceID length(20),
OCT2 tac
} with {
variant (lengthIndicator) "LENGTHTO(targetCellID,sourceType,mccDigit1,mccDigit2,mccDigit3,
mncDigit3,mncDigit1,mncDigit2,spare2,
sourceID,tac)";
variant "PRESENCE (elementIdentifier = '81'O;)";
variant (spare2,sourceID) "FIELDORDER(msb)";
variant (sourceID) "BYTEORDER(last)";
};
//8.60
//VOID
//8.61
type record ChangeReportingAction
{
OCT1 elementIdentifier, // dec 131, '83'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring actionValue
} with {
variant (lengthIndicator) "LENGTHTO(actionValue)";
variant "PRESENCE (elementIdentifier = '83'O;)";
};
//8.62
type set of OCT2 PDN_CSID_List;
type union NodeID
{
OCT4 globalUnicastIPv4,
OCT16 globalUnicastIPv6,
OCT4 fourOctets
};
type record FullyQualifiedPDN_ConnectionSetID //FQ CSID
{
OCT1 elementIdentifier, // dec 132, '84'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer nRofCSIDs,
integer nodeIDType,
NodeID nodeID,
PDN_CSID_List pDN_CSID_List,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(nRofCSIDs,nodeIDType,nodeID,pDN_CSID_List,additionalOctets)";
variant "PRESENCE (elementIdentifier = '84'O;)";
variant (nRofCSIDs) "FIELDLENGTH(4)";
variant (nRofCSIDs) "LENGTHTO(pDN_CSID_List)";
variant (nRofCSIDs) "UNIT(elements)";
variant (nodeIDType) "FIELDLENGTH(4)";
variant (nodeID) "CROSSTAG(
globalUnicastIPv4, nodeIDType = 0;
globalUnicastIPv6, nodeIDType = 1;
fourOctets, nodeIDType = 2;
)";
};
type set of FullyQualifiedPDN_ConnectionSetID FullyQualifiedPDN_ConnectionSetID_List;
//8.63
type record ChannelNeeded
{
OCT1 elementIdentifier, // dec 133, '85'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring channelNeededValue
} with {
variant (lengthIndicator) "LENGTHTO(channelNeededValue)";
variant "PRESENCE (elementIdentifier = '85'O;)";
};
//8.64
type record EMLPP_Priority
{
OCT1 elementIdentifier, // dec 134, '86'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring eMLPP_PriorityValue
}with {
variant (lengthIndicator) "LENGTHTO(eMLPP_PriorityValue)";
variant "PRESENCE (elementIdentifier = '86'O;)";
};
//8.65
type record NodeType
{
OCT1 elementIdentifier,// dec 135, '87'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 nodeTypeValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(nodeTypeValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '87'O;)";
};
//8.66
type record FullyQualifiedDomainName
{
OCT1 elementIdentifier, // dec 136, '88'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring fQDN_Value
} with {
variant (lengthIndicator) "LENGTHTO(fQDN_Value)";
variant "PRESENCE (elementIdentifier = '88'O;)";
};
type set of FullyQualifiedDomainName FullyQualifiedDomainName_List;
//8.67
// Moved to GTPv2_PrivateExtensions.ttcn
//8.68
type record TransactionIdentifier
{
OCT1 elementIdentifier, // dec 137, '89'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT4 spare2,
L3_TransactionId transactionIdentifierValue
} with {
variant (lengthIndicator) "LENGTHTO(spare2,transactionIdentifierValue)";
variant "PRESENCE (elementIdentifier = '89'O;)";
};
type record L3_TransactionId
{
BIT3 tio,
BIT1 tiFlag ,
TI_Extension tIExtension optional
// an extension octet (TI) can be used for session management messages
// not yet implemented (see 24.008 clause 10.3.2 for more detail
} with { variant (tIExtension) "PRESENCE(tio = '111'B)"
};
type record TI_Extension
{
BIT7 tI_Value,
BIT1 tI_ExtBit //'1'B
};
//8.69
type record MBMS_SessionDuration
{
OCT1 elementIdentifier, // dec 138, '8A'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT3 mBMS_SessionDurationValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mBMS_SessionDurationValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '8A'O;)";
};
//8.70
type record MBMS_ServiceArea
{
OCT1 elementIdentifier, // dec 139, '8B'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring mBMS_ServiceAreaValue
}with {
variant (lengthIndicator) "LENGTHTO(mBMS_ServiceAreaValue)";
variant "PRESENCE (elementIdentifier = '8B'O;)";
};
//8.71
type record MBMS_SessionIdentifier
{
OCT1 elementIdentifier, // dec 140, '8C'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 mBMS_SessionIdentifierValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mBMS_SessionIdentifierValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '8C'O;)";
};
//8.72
type record MBMS_FlowIdentifier
{
OCT1 elementIdentifier, // dec 141, '8D'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT2 mBMS_FlowIdentifierValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mBMS_FlowIdentifierValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = '8D'O;)";
};
//8.73
type record MBMS_IPMulticastDistribution
{
OCT1 elementIdentifier, // dec 142, '8E'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 commonTunnelEndpointIdentifierData,
GSN_Address iP_MulticastDistributionAddress,
GSN_Address iP_MulticastSourceAddress,
OCT1 mBMS_HCIndicator,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(commonTunnelEndpointIdentifierData,iP_MulticastDistributionAddress,
iP_MulticastSourceAddress,mBMS_HCIndicator,additionalOctets)";
variant "PRESENCE (elementIdentifier = '8E'O;)";
};
type set of MBMS_IPMulticastDistribution MBMS_IPMulticastDistribution_List;
type record GSN_Address
{
INT6b lengthIndicator,
BIT2 addressType,
octetstring addressValue
}with {
variant (lengthIndicator) "LENGTHTO(addressValue)";
};
//8.74
type record MBMS_DistributionAcknowledge
{
OCT1 elementIdentifier, // dec 143, '8F'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT2 distributionIndicationValue,
BIT6 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(distributionIndicationValue,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '8F'O;)";
};
//8.75
type record User_CSG_Information
{
OCT1 elementIdentifier, // dec 145, '91'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
BIT5 spare2,
bitstring cSG_ID length(27),
BIT1 cMI,
BIT1 lCSG,
BIT4 spare3,
BIT2 accessMode,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mccDigit1,mccDigit2,mccDigit3,
mncDigit3,mncDigit1,mncDigit2,
spare2,cSG_ID,cMI,lCSG,spare3,
accessMode,additionalOctets)";
variant (spare2,cSG_ID) "FIELDORDER(msb)";
variant (cSG_ID) "BYTEORDER(last)";
variant "PRESENCE (elementIdentifier = '91'O;)";
};
//8.76
type record CSG_InformationReportingAction
{
OCT1 elementIdentifier, // dec 146, '92'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 uCIC_SG,
BIT1 uCIS_HC,
BIT1 uCIU_HC,
BIT5 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(uCIC_SG,uCIS_HC,uCIU_HC,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '92'O;)";
};
//8.77
type record of RFSP_Index RFSP_Index_List;
type record RFSP_Index
{
OCT1 elementIdentifier, // dec 144, '90'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer rFSP_IndexValue
} with {
variant (lengthIndicator) "LENGTHTO(rFSP_IndexValue)";
variant "PRESENCE (elementIdentifier = '90'O;)";
variant (rFSP_IndexValue) "FIELDLENGTH(16)";
variant (rFSP_IndexValue) "BYTEORDER(last)";
};
//8.78
type record CSG_ID
{
OCT1 elementIdentifier, // dec 147, '93'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT5 spare2,
bitstring cSG_ID length(27),
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(spare2,cSG_ID,additionalOctets)";
variant (spare2,cSG_ID) "FIELDORDER(msb)";
variant (cSG_ID) "BYTEORDER(last)";
variant "PRESENCE (elementIdentifier = '93'O;)";
};
//8.79
type record CSG_MembershipIndication
{
OCT1 elementIdentifier, // dec 148, '94'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 cMI,
BIT7 spare2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(cMI,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '94'O;)";
};
//8.80
type record ServiceIndicator
{
OCT1 elementIdentifier, // dec 149, '95'O
LIN2_BO_LAST lengthIndicator, //=1
BIT4 instance,
BIT4 spare,
INT1 serviceIndicator
} with {
variant (lengthIndicator) "LENGTHTO(serviceIndicator)";
variant "PRESENCE (elementIdentifier = '95'O;)";
};
//8.81
type record DetachType
{
OCT1 elementIdentifier, // dec 150, '96'O
LIN2_BO_LAST lengthIndicator, //=1
BIT4 instance,
BIT4 spare,
INT1 detachType
} with {
variant (lengthIndicator) "LENGTHTO(detachType)";
variant "PRESENCE (elementIdentifier = '96'O;)";
};
//8.82
type record LocalDistinguishedName
{
OCT1 elementIdentifier, // dec 151 '97'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
charstring lDN length (1..400)
} with {
variant (lengthIndicator) "LENGTHTO(lDN)";
variant "PRESENCE (elementIdentifier = '97'O;)";
};
type set of LocalDistinguishedName LocalDistinguishedName_List
//8.83
type record NodeFeatures
{
OCT1 elementIdentifier, // dec 152, '98'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 pRN,
BIT1 mABR,
BIT1 nTSR,
BIT1 cIOT,
BIT4 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(pRN,mABR,nTSR,cIOT,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '98'O;)";
};
//8.84
type record MBMSTimetoDataTransfer
{
OCT1 elementIdentifier, // dec 153, '99'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 mBMSTimetoDataTransfervalue,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(mBMSTimetoDataTransfervalue, additionalOctets)";
variant "PRESENCE (elementIdentifier = '99'O;)";
};
//8.85
type record Throttling
{
OCT1 elementIdentifier, // dec 154, '9A'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
INT5b throttlingDelayValue,
BIT3 throttlingDelayUnit,
INT1 throttlingfactor,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(throttlingDelayValue,throttlingDelayUnit,throttlingfactor,additionalOctets)";
variant "PRESENCE (elementIdentifier = '9A'O;)";
};
//8.86
type record AllocationRetentionPriority
{
OCT1 elementIdentifier, // dec 155, '9B'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 pVI,
BIT1 spare2,
BIT4 pL,
BIT1 pCI,
BIT1 spare3,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(pVI,spare2,pL,pCI,spare3,additionalOctets)";
variant "PRESENCE (elementIdentifier = '9B'O;)";
};
//8.87
type record EPC_Timer
{
OCT1 elementIdentifier, // dec 156, '9C'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
INT5b timerValue,
BIT3 timerUnit,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(timerValue,timerUnit,additionalOctets)";
variant "PRESENCE (elementIdentifier = '9C'O;)";
};
//8.88
type record SignallingPriorityIndication
{
OCT1 elementIdentifier, // dec 157, '9D'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 lAPI,
BIT7 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(lAPI,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = '9D'O;)";
};
//8.89
type record TMGI
{
OCT1 elementIdentifier, // dec 158, '9E'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT3 mBMSServiceID,
HEX1 mccDigit1,
HEX1 mccDigit2,
HEX1 mccDigit3,
HEX1 mncDigit3,
HEX1 mncDigit1,
HEX1 mncDigit2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(mBMSServiceID, mccDigit1,
mccDigit2, mccDigit3, mncDigit1,
mncDigit2, mncDigit3,
additionalOctets)";
variant "PRESENCE (elementIdentifier = '9E'O;)";
};
//8.90
type record AdditionalMMContextForSRVCC
{
OCT1 elementIdentifier, // dec 159, '9F'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer mobileStationClassmark2Length,
MobileStationClassmark2 mobileStationClassmark2,
integer mobileStationClassmark3Length,
octetstring mobileStationClassmark3,
integer supportedCodecListLength,
SupportedCodecList supportedCodecList,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mobileStationClassmark2Length,mobileStationClassmark2,
mobileStationClassmark3Length,mobileStationClassmark3,
supportedCodecListLength,supportedCodecList,
additionalOctets)";
variant (mobileStationClassmark2Length) "LENGTHTO(mobileStationClassmark2)";
variant (mobileStationClassmark3Length) "LENGTHTO(mobileStationClassmark3)";
variant (supportedCodecListLength) "LENGTHTO(supportedCodecList)";
variant "PRESENCE (elementIdentifier = '9F'O;)";
};
// 24.008/ 10.5.1.6 MobileStationClassmark2
//4th octet:
type record MobileStationClassmark2_oct4
{
BIT1 fc,
BIT1 vgcs,
BIT1 vbs,
BIT1 sm_Capability,
BIT2 ss_ScreenIndicator,
BIT1 ps_Capability,
BIT1 spare2_1
};
//5th octet ( Table 10.5.6a ):
type record MobileStationClassmark2_oct5
{
BIT1 a5_2,
BIT1 a5_3,
BIT1 cmsp,
BIT1 solsa,
BIT1 ucs2,
BIT1 lcsva_cap,
BIT1 spare5_7,
BIT1 cm3
};
type record MobileStationClassmark2
{
BIT3 rf_PowerCapability,
BIT1 a5_1,
BIT1 esind,
BIT2 revisionLevel,
BIT1 spare1_1,
MobileStationClassmark2_oct4 mobileStationClassmark2_oct4 optional,
MobileStationClassmark2_oct5 mobileStationClassmark2_oct5 optional
};
// TS 24008/10.5.4.32 Supported Codec List
type record Codec
{
OCT1 systemIdentification,
integer lengthOfBitmap,
OCT1 codecBitmap_bits1to8,
OCT1 codecBitmap_bits9to16 optional,
octetstring additional_codecs optional
} with {
variant (lengthOfBitmap) "LENGTHTO(codecBitmap_bits1to8,codecBitmap_bits9to16,additional_codecs)";
};
type record of Codec SupportedCodecList;
//8.91
type record AdditionalFlagsForSRVCC
{
OCT1 elementIdentifier, // dec 160, 'A0'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 iCS,
BIT7 spare2,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO(iCS, spare2, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A0'O;)";
};
// Sv Information Elements
// 3GPP TS 29.280 6.2
type record STN_SR
{
OCT1 elementIdentifier, // dec 51, '33'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 nanpi,
hexstring sTN_SR_Value
}with {
variant (lengthIndicator) "LENGTHTO(nanpi,sTN_SR_Value)";
variant "PRESENCE (elementIdentifier = '33'O;)";
variant (sTN_SR_Value) "PADDING(yes)";
variant (sTN_SR_Value) "PADDING_PATTERN('1'B)";
};
//8.92 Void
/*type record MMBR
{
OCT1 elementIdentifier, // dec 161, 'A1'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 maxMMBR_for_uplink,
OCT4 maxMMBR_for_downlink,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(maxMMBR_for_uplink,maxMMBR_for_downlink,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A1'O;)";
};*/
//8.93
type record MDT_Configuration
{
OCT1 elementIdentifier, // dec 162, 'A2'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT1 jobType,
OCT4 listOfmeasurements,
OCT1 reportingTrigger,
OCT1 reportInterval,
OCT1 reportAmount,
OCT1 eventThresholdforRSRP,
OCT1 eventThresholdforRSRQ,
INT1 lengthOfAreaScope,
octetstring areaScope optional,
BIT1 cRRMI,
BIT1 mPI,
BIT1 pMI,
BIT1 pLI,
BIT4 spare2,
CollectionPeriodforRRMmeasurementsLTE collectionPeriodforRRMmeasurementsLTE optional,
MeasurementPeriodLTE measurementPeriodLTE optional,
PositioningMethod positioningMethod optional,
INT1 numberOfMDT_PLMNs optional,
MDT_PLMN_List mDT_PLMN_List length(0..16) optional,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(jobType,listOfmeasurements,reportingTrigger,
reportInterval,reportAmount,eventThresholdforRSRP,
eventThresholdforRSRQ,lengthOfAreaScope,areaScope,
cRRMI,mPI,pMI,pLI,spare2,
collectionPeriodforRRMmeasurementsLTE,measurementPeriodLTE,positioningMethod,
numberOfMDT_PLMNs,mDT_PLMN_List,additionalOctets )";
variant "PRESENCE (elementIdentifier = 'A2'O;)";
variant (lengthOfAreaScope) "LENGTHTO(areaScope)";
variant (collectionPeriodforRRMmeasurementsLTE) "PRESENCE(cRRMI = '1'B)";
variant (measurementPeriodLTE) "PRESENCE(mPI = '1'B)";
variant (positioningMethod) "PRESENCE(pMI = '1'B)";
variant (mDT_PLMN_List) "PRESENCE(pLI = '1'B)";
variant (numberOfMDT_PLMNs) "PRESENCE(pLI = '1'B)";
variant (numberOfMDT_PLMNs) "LENGTHTO(mDT_PLMN_List)";
variant (numberOfMDT_PLMNs) "UNIT(elements)";
};
//5.10.19 3GPP TS 32.422
type record PositioningMethod
{
BIT1 gNSS,
BIT1 eCellID,
BIT6 spare
}
//5.10.20 3GPP TS 32.422
type enumerated CollectionPeriodforRRMmeasurementsLTE
{
ms1024 (0),
ms1280 (1),
ms2048 (2),
ms2560 (3),
ms5120 (4),
ms10240 (5),
min1 (6)
} with { variant "FIELDLENGTH(8)"; }
//5.10.23 3GPP TS 32.422
type enumerated MeasurementPeriodLTE
{
ms1024 (0),
ms1280 (1),
ms2048 (2),
ms2560 (3),
ms5120 (4),
ms10240 (5),
min1 (6)
} with { variant "FIELDLENGTH(8)"; }
//9.2.1.89, 9.2.3.8 TS 32.422
type record of OCT3 MDT_PLMN_List;
//8.94
type record APCO
{
OCT1 elementIdentifier, // dec 163, 'A3'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 configProtocol,
BIT4 spare2, //'0000'B
BIT1 extensionField, //'1'B
ProtocolIDs_and_ContainerIDs protocolIDs_and_ContainerIDs optional,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(configProtocol,spare2,extensionField,protocolIDs_and_ContainerIDs,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A3'O;)";
};
//8.95
type record AbsoluteTimeofMBMSDataTransfer
{
OCT1 elementIdentifier, // dec 164, 'A4'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT8 value_part,
octetstring additionalOctets optional
} with {
variant (lengthIndicator) "LENGTHTO( value_part, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A4'O;)";
};
//8.96
type record HeNBInformationReporting
{
OCT1 elementIdentifier, // dec 165, 'A5'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 FTI,
BIT7 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(FTI,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A5'O;)";
};
//8.97
type record IPv4ConfigurationPrameters
{
OCT1 elementIdentifier, // dec 166, 'A6'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
INT1 subnetPrefixLength,
OCT4 iPv4DefaultRouterAddress,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(subnetPrefixLength,iPv4DefaultRouterAddress,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A6'O;)";
}
//8.98
type record ChangeToReportFlags
{
OCT1 elementIdentifier, // dec 167, 'A7'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 servingNetworkChangeToReport,
BIT1 timeZoneChangeToReport,
BIT6 spare2, //'000000'B
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(servingNetworkChangeToReport,timeZoneChangeToReport,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A7'O;)";
}
//8.99
type record ActionIndication
{
OCT1 elementIdentifier, // dec 168, 'A8'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 indication,
BIT5 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(indication,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A8'O;)";
}
//8.100
type record TrustedWLANAccessNetworkIdentifier
{
OCT1 elementIdentifier, //dec 169, 'A9'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 bssIdIndicator,
BIT1 cIVAI,
BIT1 pLMNI,
BIT1 oPNAI,
BIT1 lAAI,
BIT3 spare2,
INT1 lengthOfSSID,
octetstring SSID,
OCT6 BSSID optional,
INT1 lengthOfCivicAddress optional,
octetstring civicAddressInformation optional,
OCT4 tWAN_PLMNID optional,
INT1 lengthOfTWANOperatorName optional,
octetstring tWANOperatorName optional,
INT1 relayIdentityType optional,
INT1 lengthOfRelayIdentity optional,
octetstring relayIdentity optional,
INT1 lengthOfcircuitID optional,
octetstring circuitID optional,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(bssIdIndicator,cIVAI,pLMNI,oPNAI,lAAI,spare2,
lengthOfSSID,SSID,BSSID,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'A9'O;)";
variant (lengthOfSSID) "LENGTHTO(SSID)";
variant (civicAddressInformation) "PRESENCE(cIVAI = '1'B)";
variant (lengthOfCivicAddress) "PRESENCE(cIVAI = '1'B)";
variant (lengthOfCivicAddress) "LENGTHTO(civicAddressInformation)";
variant (tWAN_PLMNID) "PRESENCE(pLMNI = '1'B)";
variant (tWANOperatorName) "PRESENCE(oPNAI = '1'B)";
variant (lengthOfTWANOperatorName) "PRESENCE(oPNAI = '1'B)";
variant (lengthOfTWANOperatorName) "LENGTHTO(tWANOperatorName)";
variant (relayIdentityType) "PRESENCE(lAAI = '1'B)";
variant (lengthOfRelayIdentity) "PRESENCE(lAAI = '1'B)";
variant (relayIdentity) "PRESENCE(lAAI = '1'B)";
variant (lengthOfcircuitID) "PRESENCE(lAAI = '1'B)";
variant (circuitID) "PRESENCE(lAAI = '1'B)";
variant (lengthOfRelayIdentity) "LENGTHTO(relayIdentity)";
variant (lengthOfcircuitID) "LENGTHTO(circuitID)";
};
type set of TrustedWLANAccessNetworkIdentifier TrustedWLANAccessNetworkIdentifier_List;
//8.101
type record UserLocationInformationTimestamp
{
OCT1 elementIdentifier, //dec 170, 'AA'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 timestampValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(timestampValue, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'AA'O;)";
}
//8.102
type record MBMSFlags
{
OCT1 elementIdentifier, //dec 171, 'AB'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 mSRI,
BIT1 lMR,
BIT6 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mSRI,lMR,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'AB'O;)";
}
//8.103
type record RAN_NASCause
{
OCT1 elementIdentifier, //dec 172, 'AC'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT4 causeType,
BIT4 protocolType,
OCT1 causeValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(causeType, protocolType, causeValue, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'AC'O;)";
}
type set of RAN_NASCause RAN_NASCause_List;
//8.104
type record CNOperatorSelectionEntity
{
OCT1 elementIdentifier, //dec 173, 'AD'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT2 selectionEntity,
BIT6 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(selectionEntity, spare2, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'AD'O;)";
}
//8.105
type record TrustedWLANModeIndication
{
OCT1 elementIdentifier, //dec 174, 'AE'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 sCM,
BIT1 mCM,
BIT6 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(sCM, mCM, spare2, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'AE'O;)";
}
//8.106
type record NodeNumber
{
OCT1 elementIdentifier, //dec 175, 'AF'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
LIN1 lenghOfNodeNumber,
octetstring nodeNumber,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(lenghOfNodeNumber, nodeNumber, additionalOctets)";
variant (lenghOfNodeNumber) "LENGTHTO(nodeNumber)";
variant "PRESENCE (elementIdentifier = 'AF'O;)";
}
type set of NodeNumber NodeNumber_List;
//8.107
type record NodeIdentifier
{
OCT1 elementIdentifier, //dec 176, 'B0'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
LIN1 lenghOfNodeName,
octetstring nodeName,
LIN1 lenghOfNodeRealm,
octetstring nodeRealm,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(lenghOfNodeName,nodeName,lenghOfNodeRealm,nodeRealm, additionalOctets)";
variant (lenghOfNodeName) "LENGTHTO(nodeName)";
variant (lenghOfNodeRealm) "LENGTHTO(nodeRealm)";
variant "PRESENCE (elementIdentifier = 'B0'O;)";
}
type set of NodeIdentifier NodeIdentifier_List;
//8.108
type record PresenceReportingAreaAction
{
OCT1 elementIdentifier, //dec 177, 'B1'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT3 actionField,
BIT1 iNAPRA,
BIT4 spare2,
OCT3 presenceReportingAreaIdentifier optional,
INT4b numberOfRAI (0..15) optional,
INT4b numberOfTAI (0..15) optional,
INT6b numberOfMacroENodeB (0..63) optional,
BIT2 spare3 optional,
INT6b numberOfHomeENodeB (0..63) optional,
BIT2 spare4 optional,
INT6b numberOfECGI (0..63) optional,
BIT2 spare5 optional,
INT6b numberOfSAI (0..63) optional,
BIT2 spare6 optional,
INT6b numberOfCGI (0..63) optional,
BIT2 spare7 optional,
TAIList tAIs optional,
Macro_eNB_ID_List macroENBIDs optional,
Home_eNB_ID_List homeENBIDs optional,
ECGIList eCGIs optional,
RAIList rAIs optional,
SAIList sAIs optional,
CGIList cGIs optional,
INT6b numberOfExtendedMacroENODEB (0..63) optional,
BIT2 spare8 optional,
ExtendedMacro_eNB_ID_List extendedMacroENBIDs optional,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(actionField,iNAPRA,spare2,presenceReportingAreaIdentifier,numberOfRAI,numberOfTAI,numberOfMacroENodeB,
spare3,numberOfHomeENodeB,spare4,numberOfECGI,spare5,numberOfSAI,spare6,numberOfCGI,spare7,tAIs,macroENBIDs,homeENBIDs,
eCGIs,rAIs,sAIs,cGIs,numberOfExtendedMacroENODEB,spare8,extendedMacroENBIDs,additionalOctets)";
variant (numberOfRAI) "LENGTHTO(rAIs)";
variant (numberOfRAI) "UNIT(elements)";
variant (numberOfTAI) "LENGTHTO(tAIs)";
variant (numberOfTAI) "UNIT(elements)";
variant (numberOfMacroENodeB) "LENGTHTO(macroENBIDs)";
variant (numberOfMacroENodeB) "UNIT(elements)";
variant (numberOfHomeENodeB) "LENGTHTO(homeENBIDs)";
variant (numberOfHomeENodeB) "UNIT(elements)";
variant (numberOfECGI) "LENGTHTO(eCGIs)";
variant (numberOfECGI) "UNIT(elements)";
variant (numberOfSAI) "LENGTHTO(sAIs)";
variant (numberOfSAI) "UNIT(elements)";
variant (numberOfCGI) "LENGTHTO(cGIs)";
variant (numberOfCGI) "UNIT(elements)";
variant (numberOfExtendedMacroENODEB) "LENGTHTO(extendedMacroENBIDs)";
variant (numberOfExtendedMacroENODEB) "UNIT(elements)";
variant "PRESENCE (elementIdentifier = 'B1'O;)";
}
type set of PresenceReportingAreaAction PresenceReportingAreaAction_List;
type set of TAI TAIList;
type set of ECGI ECGIList;
type set of RAI RAIList;
type set of SAI SAIList;
type set of CGI CGIList;
type set of Macro_eNodeB_ID Macro_eNB_ID_List;
type set of Home_eNodeB_ID Home_eNB_ID_List;
type set of ExtendedMacro_eNodeB_ID ExtendedMacro_eNB_ID_List;
//8.109
type record PresenceReportingAreaInformation
{
OCT1 elementIdentifier, //dec 178, 'B2'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT3 presenceReportingAreaIdentifier,
BIT1 iPRA,
BIT1 oPRA,
BIT1 aPRA,
BIT1 iNAPRA,
BIT4 spare2,
AdditionalPRA additionalPRA optional,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(presenceReportingAreaIdentifier,iPRA,oPRA,aPRA,iNAPRA, spare2,additionalPRA, additionalOctets)";
variant (additionalPRA) "PRESENCE(iNAPRA = '0'B)";
variant (additionalPRA) "PRESENCE(aPRA = '1'B)";
variant "PRESENCE (elementIdentifier = 'B2'O;)";
}
type set of PresenceReportingAreaInformation PresenceReportingAreaInformation_List;
type record AdditionalPRA
{
OCT3 additionalPRA_Identifier,
BIT1 iPRA,
BIT1 oPRA,
BIT1 aPRA,
BIT5 spare,
AdditionalPRA additionalPRA optional
}with {
variant (additionalPRA) "PRESENCE(aPRA = '1'B)";
}
//8.110
type record TWANIdentifierTimestamp
{
OCT1 elementIdentifier, //dec 179, 'B3'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 tWANIdentifierTimestampValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(tWANIdentifierTimestampValue, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'B3'O;)";
}
type set of TWANIdentifierTimestamp TWANIdentifierTimestamp_List
//8.111
type record OverloadControlInformationGrouped
{
OCT1 elementIdentifier, //dec 180, 'B4'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OverloadControlInformationIEs overloadControlInformationIEs
}with {
variant (lengthIndicator) "LENGTHTO(overloadControlInformationIEs)";
variant "PRESENCE (elementIdentifier = 'B4'O;)";
}
type set OverloadControlInformationIEs
{
SequenceNumber overloadControlSequenceNumber optional,
Metric overloadReductionMetric optional,
EPC_Timer periodOfValidity optional,
AccessPointName listOfAccessPointName optional
}
type set of OverloadControlInformationGrouped OverloadControlInformationGrouped_List;
//8.112
type record LoadControlInformationGrouped
{
OCT1 elementIdentifier, //dec 181, 'B5'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
LoadControlInformationIEs loadControlInformationIEs
}with {
variant (lengthIndicator) "LENGTHTO(loadControlInformationIEs)";
variant "PRESENCE (elementIdentifier = 'B5'O;)";
}
type set LoadControlInformationIEs
{
SequenceNumber loadControlSequenceNumber optional,
Metric loadMetric optional,
APNandRelativeCapacity listOfAPNandRelativeCapacity optional
}
type set of LoadControlInformationGrouped LoadControlInformationGrouped_List;
//8.113
type record Metric
{
OCT1 elementIdentifier, //dec 182, 'B6'O
LIN2_BO_LAST lengthIndicator (1),
BIT4 instance,
BIT4 spare,
LIN1 metric (0..100)
}with {
variant (lengthIndicator) "LENGTHTO(metric)";
variant "PRESENCE (elementIdentifier = 'B6'O;)";
}
//8.114
type record SequenceNumber
{
OCT1 elementIdentifier, //dec 183, 'B7'O
LIN2_BO_LAST lengthIndicator (4),
BIT4 instance,
BIT4 spare,
LIN4_BO_LAST sequenceNumber
}with {
variant (lengthIndicator) "LENGTHTO(sequenceNumber)";
variant "PRESENCE (elementIdentifier = 'B7'O;)";
}
//8.115
type record APNandRelativeCapacity
{
OCT1 elementIdentifier, //dec 184, 'B8'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
LIN1 relativeCapacity (0..100),
LIN1 aPNLength,
AccessPointName accessPointName,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(relativeCapacity,aPNLength,accessPointName, additionalOctets)";
variant (aPNLength) "LENGTHTO(accessPointName)";
variant "PRESENCE (elementIdentifier = 'B8'O;)";
}
//8.116
type record WLANOffloadabilityIndication
{
OCT1 elementIdentifier, //dec 185, 'B9'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 uTRANIndication,
BIT1 eUTRANIndication,
BIT6 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(uTRANIndication, eUTRANIndication, spare2, additionalOctets)";
variant "PRESENCE (elementIdentifier = 'B9'O;)";
}
//8.117
type record PagingAndServiceInformation
{
OCT1 elementIdentifier, //dec 186, 'BA'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
integer ePS_Bearer_ID_Value,
BIT4 spare2,
BIT1 pPI,
BIT7 spare3,
BIT6 pagingPolicyIndicationValue optional,
BIT2 spare4 optional,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(ePS_Bearer_ID_Value,spare2,pPI,spare3,pagingPolicyIndicationValue,spare4,additionalOctets)";
variant(ePS_Bearer_ID_Value) "FIELDLENGTH(4)";
variant "PRESENCE (elementIdentifier = 'BA'O;)";
variant (pagingPolicyIndicationValue) "PRESENCE(pPI = '1'B)";
variant (spare4) "PRESENCE(pPI = '1'B)";
}
//8.118
type record IntegerNumber
{
OCT1 elementIdentifier, //dec 187, 'BB'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
IntegerNumberValue integerNumberValue optional
}with {
variant (lengthIndicator) "LENGTHTO(integerNumberValue)";
variant "PRESENCE (elementIdentifier = 'BB'O;)";
variant (integerNumberValue)"CROSSTAG(int1,lengthIndicator=1;
int2,lengthIndicator=2)"
}
type union IntegerNumberValue
{
LIN1 int1,
LIN2_BO_LAST int2
}
//8.119
type record MillisecondTimeStamp
{
OCT1 elementIdentifier, //dec 188, 'BC'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT6 millisecondTimeStampValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(millisecondTimeStampValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'BC'O;)";
}
//8.120
type record MonitoringEventInformation
{
OCT1 elementIdentifier, //dec 189, 'BD'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 sCEFReferenceID, //Unsigned32 ?
LIN1 sCEF_ID_length,
octetstring sCEF_ID,
OCT2 remainingNumberOfReports, //Unsigned32 ?
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(sCEFReferenceID,sCEF_ID_length,sCEF_ID,remainingNumberOfReports,additionalOctets)";
variant (sCEF_ID_length) "LENGTHTO(sCEF_ID)";
variant "PRESENCE (elementIdentifier = 'BD'O;)";
}
//8.121
type record ECGI_List
{
OCT1 elementIdentifier, //dec 190, 'BE'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
LIN2_BO_LAST numberOfECGI,
ECGIs eCGIs,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(numberOfECGI,eCGIs,additionalOctets)";
variant (numberOfECGI) "LENGTHTO(eCGIs)";
variant (numberOfECGI) "UNIT(elements)";
variant "PRESENCE (elementIdentifier = 'BE'O;)";
}
type set of ECGI ECGIs;
//8.122
type record RemoteUEContextGrouped
{
OCT1 elementIdentifier, //dec 191, 'BF'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
RemoteUEContextIEs remoteUEContextIEs
}with {
variant (lengthIndicator) "LENGTHTO(remoteUEContextIEs)";
variant "PRESENCE (elementIdentifier = 'BF'O;)";
}
type set RemoteUEContextIEs
{
RemoteUserID remoteUserID optional,
RemoteUEIPInformation remoteUEIPInformation optional
}
type set of RemoteUEContextGrouped RemoteUEContextGrouped_List;
//8.123
type record RemoteUserID
{
OCT1 elementIdentifier, //dec 192, 'C0'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 mSISDNF,
BIT1 iMEIF,
BIT6 spare2,
LIN1 lengthOfIMSI,
hexstring iMSI,
LIN1 lengthOfMSISDN optional,
hexstring mSISDN optional,
LIN1 lengthOfIMEI optional,
octetstring iMEI optional,
octetstring additionalOctets optional
}with {
variant "PRESENCE (elementIdentifier = 'C0'O;)";
variant (lengthIndicator) "LENGTHTO(mSISDNF,iMEIF,spare2,lengthOfIMSI,iMSI,lengthOfMSISDN,mSISDN,lengthOfIMEI,iMEI,additionalOctets)";
variant (lengthOfMSISDN) "PRESENCE(mSISDNF = '1'B)";
variant (mSISDN) "PRESENCE(mSISDNF = '1'B)";
variant (lengthOfIMEI) "PRESENCE(iMEIF = '1'B)";
variant (iMEI) "PRESENCE(iMEIF = '1'B)";
variant (lengthOfIMSI) "LENGTHTO(iMSI)";
variant (iMSI) "PADDING(yes)";
variant (iMSI) "PADDING_PATTERN('1'B)";
variant (lengthOfMSISDN) "LENGTHTO(mSISDN)";
variant (mSISDN) "PADDING(yes)";
variant (mSISDN) "PADDING_PATTERN('1'B)";
variant (lengthOfIMEI) "LENGTHTO(iMEI)" ;
}
//8.124
type record RemoteUEIPInformation
{
OCT1 elementIdentifier, //dec 193, 'C1'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring remoteUEIPInformation
}with {
variant (lengthIndicator) "LENGTHTO(remoteUEIPInformation)";
variant "PRESENCE (elementIdentifier = 'C1'O;)";
}
//8.125
type record CIoT_OptimizationsSupportIndication
{
OCT1 elementIdentifier, //dec 194, 'C2'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 sGNIPDN,
BIT1 sCNIPDN,
BIT1 aWOPDN,
BIT1 iHCSI,
BIT4 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(sGNIPDN,sCNIPDN,aWOPDN,iHCSI,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'C2'O;)";
}
//8.126
type record SCEF_PDN_ConnectionGrouped
{
OCT1 elementIdentifier, //dec 195, 'C3'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
SCEF_PDN_ConnectionIEs sCEF_PDN_ConnectionIEs
}with {
variant (lengthIndicator) "LENGTHTO(sCEF_PDN_ConnectionIEs)";
variant "PRESENCE (elementIdentifier = 'C3'O;)";
}
type set SCEF_PDN_ConnectionIEs
{
AccessPointName accessPointName optional,
EPS_BearerID ePS_BearerID optional,
NodeIdentifier nodeIdentifier optional
}
type set of SCEF_PDN_ConnectionGrouped SCEF_PDN_ConnectionGrouped_List;
//8.127
type record HeaderCompressionConfiguration
{
OCT1 elementIdentifier, //dec 196, 'C4'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT2 rOHC_Profiles,
LIN2_BO_LAST maxCID (1..16383),
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(rOHC_Profiles,maxCID,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'C4'O;)";
}
//8.128
type record ExtendedProtocolConfigOptions
{
OCT1 elementIdentifier, //dec 197, 'C5'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
octetstring ePCO
}with {
variant (lengthIndicator) "LENGTHTO(ePCO)";
variant "PRESENCE (elementIdentifier = 'C5'O;)";
}
//8.129
type record ServingPLMNRateControl
{
OCT1 elementIdentifier, //dec 197, 'C6'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
LIN2_BO_LAST uplinkRateLimit,
LIN2_BO_LAST downlinkRateLimit,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(uplinkRateLimit,downlinkRateLimit,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'C6'O;)";
}
//8.130
type record Counter
{
OCT1 elementIdentifier, //dec 199, 'C7'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT4 timestampValue,
OCT1 counterValue,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(timestampValue,counterValue,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'C7'O;)";
}
//8.131
type record Mapped_UE_UsageType
{
OCT1 elementIdentifier, //dec 200, 'C8'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
OCT2 mapped_UE_UsageType,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(mapped_UE_UsageType,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'C8'O;)";
}
//8.132
type record Secondary_RAT_UsageDataReport
{
OCT1 elementIdentifier, //dec 201, 'C9'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 iRPGW,
BIT1 iRSGW,
BIT6 spare2,
integer secondaryRATType,
BIT4 eBI,
BIT4 spare3,
OCT4 startTimestamp,
OCT4 endTimestamp,
OCT8 usageDataDL,
OCT8 usageDataUL,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(iRPGW,iRSGW,spare2,secondaryRATType,eBI,spare3,
startTimestamp,endTimestamp,usageDataDL,usageDataUL,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'C9'O;)";
}
type set of Secondary_RAT_UsageDataReport Secondary_RAT_UsageDataReport_List;
//8.133
type record UP_FunctionSelectionIndicationFlags
{
OCT1 elementIdentifier, //dec 202, 'CA'O
LIN2_BO_LAST lengthIndicator,
BIT4 instance,
BIT4 spare,
BIT1 dCNR,
BIT7 spare2,
octetstring additionalOctets optional
}with {
variant (lengthIndicator) "LENGTHTO(dCNR,spare2,additionalOctets)";
variant "PRESENCE (elementIdentifier = 'CA'O;)";
}
// GTPC PDUs
// Path Management messages
//7.1.1
type set EchoRequest
{
Recovery recovery,
NodeFeatures sendingNodeFeatures optional,
PrivateExtension_List privateExtension optional
};
//7.1.2
type set EchoResponse
{
Recovery recovery,
NodeFeatures sendingNodeFeatures optional,
PrivateExtension_List privateExtension optional
};
//7.1.3
type set VersionNotSupported
{};
// Tunnel Management messages
//7.2.1
type set CreateSessionRequest
{
IMSI iMSI optional,
MSISDN mSISDN optional,
MEI mEI optional,
UserLocationInfo_List userLocationInfo optional,
ServingNetwork servingNetwork optional,
RAT_Type rAT_Type,
Indication indication optional,
FullyQualifiedTEID_List fullyQualifiedTEID,
AccessPointName accessPointName,
SelectionMode selectionMode optional,
PDN_Type pDN_Type optional,
PDN_AddressAllocation pDN_AddressAllocation optional,
APN_Restriction maxAPN_Restriction optional,
AggregateMaximumBitRate ambr optional,
EPS_BearerID linkedEPS_Bearer_ID optional,
TrustedWLANModeIndication trustedWLANModeIndication optional,
ProtocolConfigOptions protocolConfigOptions optional,
BearerContextGrouped_List bearerContextGrouped,
TraceInformation traceInformation optional,
Recovery recovery optional,
FullyQualifiedPDN_ConnectionSetID_List csid optional,
UE_TimeZone uE_TimeZone optional,
User_CSG_Information user_CSG_Information optional,
ChargingCharacteristics chargingCharacteristics optional,
LocalDistinguishedName_List lDN optional,
SignallingPriorityIndication signallingPriorityIndication optional,
// MMBR maxMBR_APN_AMBR optional,
IP_Address_List iP_Addr optional,
PortNumber_List portNumber optional,
APCO aPCO optional,
TrustedWLANAccessNetworkIdentifier_List trustedWLANAccessNetworkIdentifier optional,
CNOperatorSelectionEntity cNOperatorSelectionEntity optional,
PresenceReportingAreaInformation_List presenceReportingAreaInformation optional,
OverloadControlInformationGrouped_List overloadControlInformationGrouped optional,
MillisecondTimeStamp originationTimeStamp optional,
IntegerNumber maximumWaitTime optional,
TWANIdentifierTimestamp wLANLocationTimestamp optional,
FullyQualifiedContainer nBIFOMContainer optional,
RemoteUEContextGrouped_List remoteUEContextGrouped optional,
NodeIdentifier_List nodeIdentifier optional,
ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional,
ServingPLMNRateControl servingPLMNRateControl optional,
Counter counter optional,
Mapped_UE_UsageType mapped_UE_UsageType optional,
FullyQualifiedDomainName fullyQualifiedDomainName optional,
Secondary_RAT_UsageDataReport_List secondary_RAT_UsageDataReport optional,
UP_FunctionSelectionIndicationFlags uP_FunctionSelectionIndicationFlags optional,
PrivateExtension_List privateExtension optional
} with {
variant(userLocationInfo) "REPEATABLE(yes)";
variant(fullyQualifiedTEID) "REPEATABLE(yes)";
variant(bearerContextGrouped) "REPEATABLE(yes)";
variant(csid) "REPEATABLE(yes)";
variant(lDN) "REPEATABLE(yes)";
variant(iP_Addr) "REPEATABLE(yes)";
variant(portNumber) "REPEATABLE(yes)";
variant(overloadControlInformationGrouped) "REPEATABLE(yes)";
variant(remoteUEContextGrouped) "REPEATABLE(yes)";
variant(trustedWLANAccessNetworkIdentifier) "REPEATABLE(yes)";
variant(presenceReportingAreaInformation) "REPEATABLE(yes)";
variant(secondary_RAT_UsageDataReport) "REPEATABLE(yes)";
};
//7.2.2
//6.1.1 - Only the Cause information element, optionally Protocol Configuration Options and optionally the Recovery information element
//shall be included in the response if the Cause contains a value indicating that the request is not accepted.
type set CreateSessionResponse
{
Cause cause,
ChangeReportingAction changeReportingAction optional,