diff options
author | erititan | 2017-10-09 09:46:52 +0000 |
---|---|---|
committer | erititan | 2017-10-09 09:46:52 +0000 |
commit | 4a5aad5b26f817cd5128cb8732cb6d3d97b0fd4b (patch) | |
tree | 6f0001aaca614bf880abd1de36a8f283897ebeb1 | |
parent | d47b0c3b940ecb63b8ec4a2ddae398b784bd9e20 (diff) | |
download | titan.ProtocolModules.GTPv2_v13.7.0-4a5aad5b26f817cd5128cb8732cb6d3d97b0fd4b.tar.gz titan.ProtocolModules.GTPv2_v13.7.0-4a5aad5b26f817cd5128cb8732cb6d3d97b0fd4b.tar.xz titan.ProtocolModules.GTPv2_v13.7.0-4a5aad5b26f817cd5128cb8732cb6d3d97b0fd4b.zip |
Initial commitR.2.A
-rw-r--r-- | GTPv2_v13.7.0_CNL113846.tpd | 43 | ||||
-rw-r--r-- | doc/GTPv2_v13.7.0_CNL113846_1551.pdf | bin | 0 -> 228269 bytes | |||
-rw-r--r-- | doc/GTPv2_v13.7_PRI.pdf | bin | 0 -> 34144 bytes | |||
-rw-r--r-- | src/GTPv2_Types.ttcn | 4803 |
4 files changed, 4846 insertions, 0 deletions
diff --git a/GTPv2_v13.7.0_CNL113846.tpd b/GTPv2_v13.7.0_CNL113846.tpd new file mode 100644 index 0000000..09c9a05 --- /dev/null +++ b/GTPv2_v13.7.0_CNL113846.tpd @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2017 Ericsson + + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + + File: GTPv2_v13.7.0_CNL113846.tpd + Description: tpd project file + Rev: R2A + Prodnr: CNL 113 846 + + --> +<TITAN_Project_File_Information version="1.0"> + <ProjectName>GTPv2_v13.7.0_CNL113846</ProjectName> + <ReferencedProjects> + <ReferencedProject name="GTPv2_PrivateExtensions_CNL113798" projectLocationURI="../GTPv2_PrivateExtensions_CNL113798/GTPv2_PrivateExtensions_CNL113798.tpd"/> + <ReferencedProject name="ProtocolModules_Common" projectLocationURI="../COMMON/ProtocolModules_Common.tpd"/> + </ReferencedProjects> + <Files> + <FileResource projectRelativePath="GTPv2_Types.ttcn" relativeURI="src/GTPv2_Types.ttcn"/> + </Files> + <ActiveConfiguration>Default</ActiveConfiguration> + <Configurations> + <Configuration name="Default"> + <ProjectProperties> + <MakefileSettings> + <generateInternalMakefile>true</generateInternalMakefile> + <GNUMake>true</GNUMake> + <incrementalDependencyRefresh>true</incrementalDependencyRefresh> + <targetExecutable>bin/GTPv2_v13.7.0_CNL113846</targetExecutable> + <buildLevel>Level3-Creatingobjectfileswithdependencyupdate</buildLevel> + </MakefileSettings> + <LocalBuildSettings> + <workingDirectory>bin</workingDirectory> + </LocalBuildSettings> + </ProjectProperties> + </Configuration> + </Configurations> +</TITAN_Project_File_Information> diff --git a/doc/GTPv2_v13.7.0_CNL113846_1551.pdf b/doc/GTPv2_v13.7.0_CNL113846_1551.pdf Binary files differnew file mode 100644 index 0000000..0f8f03f --- /dev/null +++ b/doc/GTPv2_v13.7.0_CNL113846_1551.pdf diff --git a/doc/GTPv2_v13.7_PRI.pdf b/doc/GTPv2_v13.7_PRI.pdf Binary files differnew file mode 100644 index 0000000..fec62ed --- /dev/null +++ b/doc/GTPv2_v13.7_PRI.pdf diff --git a/src/GTPv2_Types.ttcn b/src/GTPv2_Types.ttcn new file mode 100644 index 0000000..a1601c7 --- /dev/null +++ b/src/GTPv2_Types.ttcn @@ -0,0 +1,4803 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2000-2017 Ericsson Telecom AB +// +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// which accompanies this distribution, and is available at +// http://www.eclipse.org/legal/epl-v10.html +/////////////////////////////////////////////////////////////////////////////// +// +// File: GTPv2_Types.ttcn +// Description: GTPv2 protocol module +// Rev: R2A +// Prodnr: CNL 113 846 +// Contact: http://ttcn.ericsson.se +// Reference: 3GPP TS 29.274 v13.7.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 spare_1 optional, + BIT1 spare_2 optional, + BIT1 spare_3 optional, + BIT1 spare_4 optional, + BIT1 spare_5 optional, + BIT1 spare_6 optional, + BIT1 spare_7 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, spare_1, spare_2, spare_3, spare_4, spare_5, spare_6, spare_7, 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 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, + BIT2 spare2, + CGI cGI optional, + SAI sAI optional, + RAI rAI optional, + TAI tAI optional, + ECGI eCGI optional, + LAI lAI optional, + octetstring additionalOctets optional +} with { + variant (lengthIndicator) "LENGTHTO(cGI_Flag,sAI_Flag,rAI_Flag,tAI_Flag,eCGI_Flag, + lAI_Flag,spare2,cGI,sAI,rAI,tAI,eCGI,lAI,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 "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.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 spare5, + 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,spare5, + 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 spare3, + integer noofQuintuplets, + BIT3 usedCipher, + BIT3 usedGPRSIntegrityProtectionAlgorithm, + BIT2 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 spare5, + 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,uGIPAI,gUPII,spare3,noofQuintuplets, + usedCipher,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,spare5, + lengthOfVoiceDomainPreferenceAndUEsUsageSetting, + voiceDomainPreferenceAndUEsUsageSetting, + lengthOfHigherBitratesThan16Mbpsflags, + higherBitratesThan16Mbpsflags, + 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; )"; +}; + +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 spare5, + 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,spare5, + 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 spare3, + 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 spare5, + 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(ksi,dRXI,spare2,securityMode,sAMBRI,uAMBRI,uGIPAI,gUPII,spare3, + 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,spare5, + lengthOfVoiceDomainPreferenceAndUEsUsageSetting, + voiceDomainPreferenceAndUEsUsageSetting, + lengthOfHigherBitratesThan16Mbpsflags, + higherBitratesThan16Mbpsflags, + 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 (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 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 spare5, + 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 + 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,spare5, + oldEPS_SecurityContext, + lengthOfVoiceDomainPreferenceAndUEsUsageSetting, + voiceDomainPreferenceAndUEsUsageSetting, + lengthOfUERadioCapabilityforPagingInformation, + uERadioCapabilityforPagingInformation, + 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 (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 spare5, + 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,spare5, + 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 presenceReportingAreaAction optional, + WLANOffloadabilityIndication wLANOffloadabilityIndication optional, + RemoteUEContextGrouped remoteUEContext optional, + PDN_Type pDN_Type optional, + HeaderCompressionConfiguration headerCompressionConfiguration optional +} with { + variant(iP_Address) "REPEATABLE(yes)"; + variant(fullyQualifiedDomainName) "REPEATABLE(yes)"; + variant(bearerContexts) "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 macro_eNodeB_ID, + Cell_ID cell_ID, + Home_eNodeB_ID home_eNodeB_ID, + octetstring unknown +} + +type octetstring RNC_ID; +type octetstring Cell_ID; + +type record Macro_eNodeB_ID { + 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 { + 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_spec { + 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_spec { + 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, + BIT5 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, + octetstring additionalOctets optional +}with { + variant (lengthIndicator) "LENGTHTO(actionField,spare2,presenceReportingAreaIdentifier,numberOfRAI,numberOfTAI,numberOfMacroENodeB, + spare3,numberOfHomeENodeB,spare4,numberOfECGI,spare5,numberOfSAI,spare6,numberOfCGI,spare7,tAIs,macroENBIDs,homeENBIDs, + eCGIs,rAIs,sAIs,cGIs,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 "PRESENCE (elementIdentifier = 'B1'O;)"; +} + +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_spec Macro_eNB_ID_List; +type set of Home_eNodeB_ID_spec Home_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, + BIT6 spare2, + octetstring additionalOctets optional +}with { + variant (lengthIndicator) "LENGTHTO(presenceReportingAreaIdentifier,iPRA,oPRA, spare2, additionalOctets)"; + variant "PRESENCE (elementIdentifier = 'B2'O;)"; +} + +//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;)"; +} + +// 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 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 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, + PrivateExtension_List privateExtension optional +} with { + 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)"; +}; + + +//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, + CSG_InformationReportingAction cSG_InformationReportingAction optional, + HeNBInformationReporting heNBInformationReporting optional, + FullyQualifiedTEID_List fullyQualifiedTEID optional, + PDN_AddressAllocation pDN_AddressAllocation optional, + APN_Restriction aPN_Restriction optional, + AggregateMaximumBitRate ambr optional, + EPS_BearerID linkedEPS_Bearer_ID optional, + ProtocolConfigOptions protocolConfigOptions optional, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + FullyQualifiedDomainName chargingGatewayName optional, + IP_Address chargingGatewayAddress optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + LocalDistinguishedName_List lDN optional, + EPC_Timer pGW_Back_OffTime optional, + APCO aPCO optional, + IPv4ConfigurationPrameters trustedWLANIPv4Parameters optional, + Indication indicationFlags optional, + PresenceReportingAreaAction presenceReportingAreaAction optional, + LoadControlInformationGrouped_List loadControlInformationGrouped optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedContainer nBIFOMContainer optional, + ChargingID pDNConnectionChargingID optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(fullyQualifiedTEID) "REPEATABLE(yes)"; + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(lDN) "REPEATABLE(yes)"; + variant(loadControlInformationGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.3 +type set CreateBearerRequest +{ + ProcedureTransactionID procedureTransactionID optional, + EPS_BearerID linkedEPS_BearerID, + ProtocolConfigOptions protocolConfigOptions optional, + BearerContextGrouped_List bearerContextGrouped, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + ChangeReportingAction changeReportingAction optional, + CSG_InformationReportingAction cSG_InformationReportingAction optional, + HeNBInformationReporting heNBInformationReporting optional, + PresenceReportingAreaAction presenceReportingAreaAction optional, + Indication indicationFlags optional, + LoadControlInformationGrouped_List loadControlInformationGrouped optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedContainer nBIFOMContainer optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(loadControlInformationGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.4 +//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 CreateBearerResponse +{ + Cause cause, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + ProtocolConfigOptions protocolConfigOptions optional, + UE_TimeZone uE_TimeZone optional, + UserLocationInfo uLI optional, + TrustedWLANAccessNetworkIdentifier_List trustedWLANAccessNetworkIdentifier optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + PresenceReportingAreaInformation presenceReportingAreaInformation optional, + IP_Address_List iP_Addr optional, + TWANIdentifierTimestamp wLANLocationTimestamp optional, + PortNumber_List portNumber optional, + FullyQualifiedContainer nBIFOMContainer optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; + variant(iP_Addr) "REPEATABLE(yes)"; + variant(trustedWLANAccessNetworkIdentifier) "REPEATABLE(yes)"; + variant(portNumber) "REPEATABLE(yes)" +}; + +//7.2.5 +type set BearerResourceCommand +{ + EPS_BearerID_List epsBearerIdentity, + ProcedureTransactionID procedureTransactionID, + FlowQoS flowQoS optional, + TrafficAggregateDescription tAD optional, + RAT_Type rAT_Type optional, + ServingNetwork servingNetwork optional, + UserLocationInfo userLocationInfo optional, + // EBI is included in 1st field : EPS_BearerID_List + Indication indicationFlags optional, + FullyQualifiedTEID_List fullyQualifiedTEID optional, + ProtocolConfigOptions protocolConfigOptions optional, + SignallingPriorityIndication signallingPriorityIndication optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedContainer nBIFOMContainer optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(epsBearerIdentity) "REPEATABLE(yes)"; + variant(fullyQualifiedTEID) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.6 +type set BearerResourceFailureIndication +{ + Cause cause, + EPS_BearerID linkedBearerIdentity, + ProcedureTransactionID procedureTransactionID, + Indication indicationFlags optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + Recovery recovery optional, + FullyQualifiedContainer nBIFOMContainer optional, + PrivateExtension_List privateExtension optional +} with { + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.7 +type set ModifyBearerRequest +{ + MEI mEI optional, + UserLocationInfo userLocationInfo optional, + ServingNetwork servingNetwork optional, + RAT_Type rAT_Type optional, + Indication indicationFlags optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + AggregateMaximumBitRate ambr optional, + DelayValue delayDownlinkPacketNotificationReq optional, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + UE_TimeZone uE_TimeZone optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + User_CSG_Information user_CSG_Information optional, + IP_Address_List iP_Addr optional, + PortNumber_List portNumber optional, + LocalDistinguishedName_List lDN optional, +// MMBR maxMBR_APN_AMBR optional, + CNOperatorSelectionEntity cNOperatorSelectionEntity optional, + PresenceReportingAreaInformation presenceReportingAreaInformation optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + ServingPLMNRateControl servingPLMNRateControl optional, + Counter counter optional, + PrivateExtension_List privateExtension optional +} with { + 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)"; +}; + +//7.2.8 +type set ModifyBearerResponse +{ + Cause cause, + MSISDN mSISDN optional, + EPS_BearerID linkedEPS_Bearer_ID optional, + APN_Restriction aPN_Restriction optional, + ProtocolConfigOptions protocolConfigOptions optional, + BearerContextGrouped_List bearerContextGrouped optional, + ChangeReportingAction changeReportingAction optional, + CSG_InformationReportingAction cSG_InformationReportingAction optional, + HeNBInformationReporting heNBInformationReporting optional, + FullyQualifiedDomainName chargingGatewayName optional, + IP_Address chargingGatewayAddress optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + Recovery recovery optional, + LocalDistinguishedName_List lDN optional, + Indication indicationFlags optional, + PresenceReportingAreaAction presenceReportingAreaAction optional, + LoadControlInformationGrouped_List loadControlInformationGrouped optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + ChargingID pDNConnectionChargingID optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(lDN) "REPEATABLE(yes)"; + variant(loadControlInformationGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.9.1 +type set DeleteSessionRequest +{ + Cause cause optional, + EPS_BearerID linkedEPS_Bearer_ID optional, + UserLocationInfo uLI optional, + Indication indicationFlags optional, + ProtocolConfigOptions protocolConfigOptions optional, + NodeType originatingNode optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + UE_TimeZone uE_TimeZone optional, + UserLocationInformationTimestamp uLITimestamp optional, + RAN_NASCause rANNASReleaseCause optional, + TrustedWLANAccessNetworkIdentifier_List trustedWLANAccessNetworkIdentifier optional, + TWANIdentifierTimestamp_List tWANIdentifierTimestamp optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + IP_Address uELocalIP_Addr optional, + PortNumber_List portNumber optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; + variant(trustedWLANAccessNetworkIdentifier) "REPEATABLE(yes)"; + variant(tWANIdentifierTimestamp) "REPEATABLE(yes)"; + variant(portNumber) "REPEATABLE(yes)"; +}; +//7.2.9.2 +type set DeleteBearerRequest +{ + EPS_BearerID_List epsBearerIdentity optional, //LBI , EBI + BearerContextGrouped_List bearerContextGrouped optional, + ProcedureTransactionID procedureTransactionID optional, + ProtocolConfigOptions protocolConfigOptions optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + Cause cause optional, + Indication indicationFlags optional, + LoadControlInformationGrouped_List loadControlInformationGrouped optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedContainer nBIFOMContainer optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(epsBearerIdentity) "REPEATABLE(yes)"; + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)" + variant(loadControlInformationGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.10.1 +type set DeleteSessionResponse +{ + Cause cause, + Recovery recovery optional, + ProtocolConfigOptions protocolConfigOptions optional, + Indication indicationFlags optional, + LoadControlInformationGrouped_List loadControlInformationGrouped optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(loadControlInformationGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.10.2 +type set DeleteBearerResponse +{ + Cause cause, + EPS_BearerID linkedBearerIdentity optional, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + ProtocolConfigOptions protocolConfigOptions optional, + UE_TimeZone uE_TimeZone optional, + UserLocationInfo uLI optional, + UserLocationInformationTimestamp uLITimestamp optional, + TrustedWLANAccessNetworkIdentifier trustedWLANAccessNetworkIdentifier optional, + TWANIdentifierTimestamp tWANIdentifierTimestamp optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + IP_Address_List iP_Addr optional, + PortNumber_List portNumber optional, + FullyQualifiedContainer nBIFOMContainer optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; + variant(iP_Addr) "REPEATABLE(yes)"; + variant(portNumber) "REPEATABLE(yes)"; +}; + +//7.2.11.1 +type set DownlinkDataNotification +{ + Cause cause optional, + EPS_BearerID_List epsBearerIdentity optional, + AllocationRetentionPriority aRP optional, + IMSI iMSI optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + Indication indicationFlags optional, + LoadControlInformationGrouped loadControlInformationGrouped optional, + OverloadControlInformationGrouped overloadControlInformationGrouped optional, + PagingAndServiceInformation pagingAndServiceInformation optional, + PrivateExtension_List privateExtension optional +}with { + variant(epsBearerIdentity) "REPEATABLE(yes)"; +}; + + +//7.2.11.2 +type set DownlinkDataNotificationAcknowledgement +{ + Cause cause, + DelayValue dataNotificationDelay optional, + Recovery recovery optional, + Throttling dL_LowPriorityTrafficThrottling optional, + IMSI iMSI optional, + EPC_Timer dLBufferingDuration optional, + IntegerNumber dLBufferingSuggestedPacketCount optional, + PrivateExtension_List privateExtension optional +}; + +//7.2.11.3 +type set DownlinkDataNotificationFailureIndication +{ + Cause cause, + NodeType originatingNode optional, + IMSI iMSI optional, + PrivateExtension_List privateExtension optional +}; + +//7.2.12 +type set DeleteIndirectDataForwardingTunnelRequest +{ + PrivateExtension_List privateExtension optional +}; + +//7.2.13 +type set DeleteIndirectDataForwardingTunnelResponse +{ + Cause cause, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} + +//7.2.14.1 +type set ModifyBearerCommand +{ + AggregateMaximumBitRate ambr, + BearerContextGrouped bearerContextGrouped, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + PrivateExtension_List privateExtension optional +}with { + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.14.2 +type set ModifyBearerFailureIndication +{ + Cause cause, + Recovery recovery optional, + Indication indicationFlags optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + PrivateExtension_List privateExtension optional +}with { + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.15 +type set UpdateBearerRequest +{ + BearerContextGrouped_List bearerContextGrouped, + ProcedureTransactionID procedureTransactionID optional, + ProtocolConfigOptions protocolConfigOptions optional, + AggregateMaximumBitRate apn_ambr, + ChangeReportingAction changeReportingAction optional, + CSG_InformationReportingAction cSG_InformationReportingAction optional, + Indication indicationFlags optional, + HeNBInformationReporting heNBInformationReporting optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + PresenceReportingAreaAction presenceReportingAreaAction optional, + LoadControlInformationGrouped_List loadControlInformationGrouped optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedContainer nBIFOMContainer optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(loadControlInformationGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.16 +//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 UpdateBearerResponse +{ + Cause cause, + BearerContextGrouped_List bearerContextGrouped optional, + ProtocolConfigOptions protocolConfigOptions optional, + Recovery recovery optional, + FullyQualifiedPDN_ConnectionSetID_List csid optional, + Indication indicationFlags optional, + UE_TimeZone uE_TimeZone optional, + UserLocationInfo uLI optional, + TrustedWLANAccessNetworkIdentifier trustedWLANAccessNetworkIdentifier optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + PresenceReportingAreaInformation presenceReportingAreaInformation optional, + IP_Address_List iP_Addr optional, + TWANIdentifierTimestamp tWANIdentifierTimestamp optional, + PortNumber_List portNumber optional, + FullyQualifiedContainer nBIFOMContainer optional, + ExtendedProtocolConfigOptions extendedProtocolConfigOptions optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(csid) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; + variant(iP_Addr) "REPEATABLE(yes)"; + variant(portNumber) "REPEATABLE(yes)"; +}; + +//7.2.17.1 +type set DeleteBearerCommand +{ + BearerContextGrouped_List bearerContextGrouped, + UserLocationInfo uli optional, + UserLocationInformationTimestamp uli_timestamp optional, + UE_TimeZone ue_timezone optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.17.2 +type set DeleteBearerFailureIndication +{ + Cause cause, + BearerContextGrouped_List bearerContextGrouped, + Recovery recovery optional, + Indication indicationFlags optional, + OverloadControlInformationGrouped_List overloadControlInformationGrouped optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(overloadControlInformationGrouped) "REPEATABLE(yes)"; +}; + +//7.2.18 +type set CreateIndirectDataForwardingTunnelRequest +{ + IMSI iMSI optional, + MEI mEI optional, + Indication indicationFlags optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + BearerContextGrouped_List bearerContextGrouped, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; +}; + +//7.2.19 +//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 CreateIndirectDataForwardingTunnelResponse +{ + Cause cause, + FullyQualifiedTEID fullyQualifiedTEID optional, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; +}; + +//7.2.20 +// VOID + +//7.2.21 +type set ReleaseAccessBearersRequest +{ + EPS_BearerID_List listOfRABs optional, + NodeType originatingNode optional, + Indication indicationFlags optional, + PrivateExtension_List privateExtension optional +} with { + variant(listOfRABs) "REPEATABLE(yes)"; +}; + +//7.2.22 +type set ReleaseAccessBearersResponse +{ + Cause cause, + Recovery recovery optional, + Indication indicationFlags optional, + LoadControlInformationGrouped loadControlInformationGrouped optional, + OverloadControlInformationGrouped overloadControlInformationGrouped optional, + PrivateExtension_List privateExtension optional +} + +//7.2.23 +type set StopPagingIndication +{ + IMSI iMSI optional, + PrivateExtension_List privateExtension optional +} + +//7.2.24 +type set ModifyAccessBearersRequest +{ + Indication indicationFlags optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + DelayValue delayDownlinkPacketNotifReq optional, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; +}; + + +//7.2.25 +type set ModifyAccessBearersResponse +{ + Cause cause, + BearerContextGrouped_List bearerContextGrouped optional, + Recovery recovery optional, + Indication indicationFlags optional, + LoadControlInformationGrouped loadControlInformationGrouped optional, + OverloadControlInformationGrouped overloadControlInformationGrouped optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; +}; + + +//7.2.26 +type set RemoteUEReportNotification +{ + RemoteUEContextGrouped_List remoteUEContextGrouped optional, + PrivateExtension_List privateExtension optional +} with { + variant(remoteUEContextGrouped) "REPEATABLE(yes)"; +}; + +//7.2.27 +type set RemoteUEReportAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +}; + +// Mobility Management messages +//7.3.1 +type set ForwardRelocationRequest +{ + IMSI iMSI optional, + FullyQualifiedTEID_List fullyQualifiedTEID, + PDN_ConnectionGrouped_List pDN_Connection, + FullyQualifiedDomainName_List nodeName optional, + MM_Context mM_Context, + Indication indication optional, + FullyQualifiedContainer_List containers optional, + TargetIdentification targetIdentification optional, + IP_Address_List iP_Addr optional, + FullyQualifiedCause_List cause optional, + SourceIdentification sourceIdentification optional, + PLMN_ID selected_PLMN_ID optional, + Recovery recovery optional, + TraceInformation traceInformation optional, + RFSP_Index_List rFSP_Index optional, + CSG_ID cSG_ID optional, + CSG_MembershipIndication cSG_MembershipIndication optional, + UE_TimeZone uE_TimeZone optional, + ServingNetwork servingNetwork optional, + LocalDistinguishedName lDN optional, + AdditionalMMContextForSRVCC additionalMMContextForSRVCC optional, + AdditionalFlagsForSRVCC additionalFlagsForSRVCC optional, + STN_SR sTN_SR optional, + MSISDN_List mSISDN optional, + MDT_Configuration mDT_Configuration optional, + User_CSG_Information user_CSG_Information optional, + MonitoringEventInformation monitoringEventInformation optional, + IntegerNumber uEUsageType optional, + SCEF_PDN_ConnectionGrouped mME_UE_SCEF_PDN_Connection optional, + PortNumber sourceUDPPortNumber optional, + ServingPLMNRateControl servingPLMNRateControl optional, + PrivateExtension_List privateExtension optional +} with { + variant(fullyQualifiedTEID) "REPEATABLE(yes)"; + variant(pDN_Connection) "REPEATABLE(yes)"; + variant(containers) "REPEATABLE(yes)"; + variant(iP_Addr) "REPEATABLE(yes)"; + variant(cause) "REPEATABLE(yes)"; + variant(rFSP_Index) "REPEATABLE(yes)"; + variant(nodeName) "REPEATABLE(yes)"; + variant(mSISDN) "REPEATABLE(yes)"; +} + +//7.3.2 +type set ForwardRelocationResponse +{ + Cause cause, + FullyQualifiedTEID fullyQualifiedTEID optional, + Indication indication optional, + BearerContextGrouped_List bearerContextGrouped optional, + FullyQualifiedCause_List fullyQualifiedCause optional, + FullyQualifiedContainer_List transparentContainer optional, + LocalDistinguishedName lDN optional, + FullyQualifiedDomainName_List nodeName optional, + NodeNumber_List nodeNumber optional, + NodeIdentifier_List nodeIdentifier optional, + PrivateExtension_List privateExtension optional +} with { + variant(bearerContextGrouped) "REPEATABLE(yes)"; + variant(fullyQualifiedCause) "REPEATABLE(yes)"; + variant(transparentContainer) "REPEATABLE(yes)"; + variant(nodeName) "REPEATABLE(yes)"; + variant(nodeIdentifier) "REPEATABLE(yes)"; + variant(nodeNumber) "REPEATABLE(yes)"; +}; + +//7.3.3 +type set ForwardRelocationCompleteNotification +{ + Indication indication optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.4 +type set ForwardRelocationCompleteAcknowledge +{ + Cause cause, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.5 +type set ContextRequest +{ + IMSI iMSI optional, + GUTI gUTI optional, + UserLocationInfo uLI optional, + Packet_TMSI pTMSI optional, + P_TMSI_Signature pTMSI_Signature optional, + CompleteRequestMessage complete_TAU_RequestMessage optional, + FullyQualifiedTEID address_and_TEID_for_ControlPlane optional, + PortNumber portNumber optional, + RAT_Type rAT_Type optional, + Indication indication optional, + Hop_Counter hop_Counter optional, + ServingNetwork target_PLMN_ID optional, + LocalDistinguishedName lDN optional, + FullyQualifiedDomainName_List nodeName optional, + NodeNumber sGSNNumber optional, + NodeIdentifier_List nodeIdentifier optional, + CIoT_OptimizationsSupportIndication cIoT_OptimizationsSupportIndication optional, + PrivateExtension_List privateExtension optional +} with { + variant(nodeName) "REPEATABLE(yes)"; + variant(nodeIdentifier) "REPEATABLE(yes)"; +}; + +//7.3.6 +type set ContextResponse +{ + Cause cause, + IMSI iMSI optional, + MM_Context mM_Context optional, + PDN_ConnectionGrouped_List pDN_Connection optional, + FullyQualifiedTEID_List fullyQualifiedTEID optional, + FullyQualifiedDomainName_List nodeName optional, + Indication indication optional, + TraceInformation traceInformation optional, + IP_Address_List iP_Addr optional, + RFSP_Index_List rFSP_Index optional, + UE_TimeZone uE_TimeZone optional, + LocalDistinguishedName lDN optional, + MDT_Configuration mDT_Configuration optional, + User_CSG_Information user_CSG_Information optional, + MonitoringEventInformation monitoringEventInformation optional, + IntegerNumber uEUsageType optional, + SCEF_PDN_ConnectionGrouped mME_US_SCEF_PDN_Connection optional, + RAT_Type rAT_Type optional, + ServingPLMNRateControl servingPLMNRateControl optional, + Counter counter optional, + PrivateExtension_List privateExtension optional +}with { + variant(pDN_Connection) "REPEATABLE(yes)"; + variant(fullyQualifiedTEID) "REPEATABLE(yes)"; + variant(iP_Addr) "REPEATABLE(yes)"; + variant(rFSP_Index) "REPEATABLE(yes)"; + variant(nodeName) "REPEATABLE(yes)"; +}; + +//7.3.7 +type set ContextAcknowledge +{ + Cause cause, + Indication indication optional, //SGW change ind, israi + FullyQualifiedTEID fullyQualifiedTEID optional, + NodeNumber_List nodeNumber optional, + NodeIdentifier_List nodeIdentifier optional, + PrivateExtension_List privateExtension optional +}with { + variant(nodeNumber) "REPEATABLE(yes)"; + variant(nodeIdentifier) "REPEATABLE(yes)"; +}; + +//7.3.8 +type set IdentificationRequest +{ + GUTI gUTI optional, + UserLocationInfo uLI optional, + Packet_TMSI pTMSI optional, + P_TMSI_Signature pTMSI_Signature optional, + CompleteRequestMessage complete_AttachRequestMessage optional, + IP_Address addressForControlPlane optional, + PortNumber portNumber optional, + Hop_Counter hop_Counter optional, + ServingNetwork target_PLMN_ID optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.9 +type set IdentificationResponse +{ + Cause cause, + IMSI iMSI optional, + MM_Context mM_Context optional, + TraceInformation traceInformation optional, + IntegerNumber uEUsageType optional, + MonitoringEventInformation monitoringEventInformation optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.10 +type set ForwardAccessContextNotification +{ + RAB_Context_List rAB_Contexts optional, + Source_RNC_PDCP_Context_Info source_RNC_PDCP_Context_Info optional, + PDU_Numbers pDU_Numbers optional, + FullyQualifiedContainer eUTRAN_TransparentContainer optional, + PrivateExtension_List privateExtension optional +}with { + variant(rAB_Contexts) "REPEATABLE(yes)"; +}; + + +//7.3.11 +type set ForwardAccessContextAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +} + +//7.3.12 +type set DetachNotification +{ + Cause cause, + DetachType detachType optional, + PrivateExtension_List privateExtension optional +} + +//7.3.13 +type set DetachAcknowledge +{ + Cause cause, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.14 +type set ChangeNotificationRequest +{ + IMSI iMSI optional, + MEI mEI optional, + Indication indication optional, + RAT_Type rAT_Type, + UserLocationInfo uLI optional, + User_CSG_Information user_CSG_Information optional, + IP_Address gTPC_IP_Address optional, + EPS_BearerID linkedBearerIdentity optional, + PresenceReportingAreaInformation presenceReportingAreaInformation optional, + Counter counter optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.15 +//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 ChangeNotificationResponse +{ + IMSI iMSI optional, + MEI mEI optional, + Cause cause, + ChangeReportingAction changeReportingAction optional, + CSG_InformationReportingAction cSG_InformationReportingAction optional, + PresenceReportingAreaAction presenceReportingAreaAction optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.16 +type set RelocationCancelRequest +{ + IMSI iMSI optional, + MEI mEI optional, + Indication indication optional, + FullyQualifiedCause ranapCause optional, + PrivateExtension_List privateExtension optional +}; + +//7.3.17 +type set RelocationCancelResponse +{ + Cause cause, + PrivateExtension_List privateExtension optional +}; + +//7.3.18 +type set ConfigurationTransferTunnel +{ + FullyQualifiedContainer eUTRAN_TransparentContainer, + TargetIdentification targetENB_ID +} + +//7.3.19 +type set RAN_InformationRelay +{ + FullyQualifiedContainer bSS_Container, + TargetIdentification rIM_RoutingAddress optional, + PrivateExtension_List privateExtension optional +} + +//7.3.20 +type set ISR_StatusIndication +{ + ActionIndication actionIndication, + PrivateExtension_List privateExtension optional +} + +//7.3.21 +type set UE_RegistrationQueryRequest +{ + IMSI iMSI, + PrivateExtension_List privateExtension optional +} + +//7.3.22 +type set UE_RegistrationQueryResponse +{ + Cause cause, + IMSI iMSI, + PLMN_ID selectedCoreNetworkOperatorIdenifier, + PrivateExtension_List privateExtension optional +} + +//7.4 Fallback Related messages + +//7.4.1 +type set SuspendNotification +{ + IMSI iMSI optional, + UserLocationInfo uLI optional, + EPS_BearerID linkedEPS_BearerID optional, + Packet_TMSI pTMSI optional, + NodeType originatingNode optional, + IP_Address addressForControlPlane optional, + PortNumber uDPSourcePortNumber optional, + Hop_Counter hopCounter optional, + PrivateExtension_List privateExtension optional +}; + +//7.4.2 +type set SuspendAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +}; + +//7.4.3 +type set ResumeNotification +{ + IMSI iMSI, + EPS_BearerID linkedEPS_BearerID optional, + NodeType originatingNode optional, + PrivateExtension_List privateExtension optional +}; + +//7.4.4 +type set ResumeAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +}; + +//7.4.5 +type set CSPagingIndication +{ + IMSI iMSI, + FullyQualifiedDomainName vLR_Name, + TMSI tMSI optional, + UserLocationInfo locationAreaIdentifier optional, + GlobalCN_ID globalCN_ID optional, + ChannelNeeded channelNeeded optional, + EMLPP_Priority eMLPP_Priority optional, + ServiceIndicator serviceIndicator optional, + PrivateExtension_List privateExtension optional +}; + +//7.4.6 +type set AlertMMENotification +{ + PrivateExtension_List privateExtension optional +}; + +//7.4.7 +type set AlertMMEAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +}; + +//7.4.8 +type set UEActivityNotification +{ + PrivateExtension_List privateExtension optional +}; + +//7.4.9 +type set UEActivityAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +}; + +//Non-3GPP access related messages +//7.5.1 +type set CreateForwardingTunnelRequest +{ + S103_PDF_List s103_PDF, + PrivateExtension_List privateExtension optional +} with { + variant(s103_PDF) "REPEATABLE(yes)"; +}; + +//7.5.2 +type set CreateForwardingTunnelResponse +{ + Cause cause, + S1_UDF_List s1_UDF optional, + PrivateExtension_List privateExtension optional +} with { + variant(s1_UDF) "REPEATABLE(yes)"; +}; + +//Restoration and recovery +//7.9.1 +type set DeletePDN_ConnectionSetRequest +{ + FullyQualifiedPDN_ConnectionSetID_List csid optional, //MME, SGW, PGW, ePDG, TWAN + PrivateExtension_List privateExtension optional +} with { + variant(csid) "REPEATABLE(yes)"; +}; + +//7.9.2 +type set DeletePDN_ConnectionSetResponse +{ + Cause cause, + PrivateExtension_List privateExtension optional +} + +//7.9.3 +type set UpdatePDN_ConnectionSetRequest +{ + FullyQualifiedPDN_ConnectionSetID_List csid optional, //MME, SGW + PrivateExtension_List privateExtension optional +} with { + variant(csid) "REPEATABLE(yes)"; +}; + + +//7.9.4 +type set UpdatePDN_ConnectionSetResponse +{ + Cause cause, + FullyQualifiedPDN_ConnectionSetID csid optional, //PGW + PrivateExtension_List privateExtension optional +} + +//7.9.5 +type set PGW_RestartNotification +{ + IP_Address_List iP_Addr,//PGW, SGW + Cause cause optional, + PrivateExtension_List privateExtension optional +} +with { + variant(iP_Addr) "REPEATABLE(yes)"; +}; + +//7.9.6 +type set PGW_RestartNotificationAcknowledge +{ + Cause cause, + PrivateExtension_List privateExtension optional +} + +//7.9.7 +type set PGW_DownlinkTriggeringNotification +{ + IMSI iMSI, + IP_Address mME_S4_SGSN_Identifier optional, + FullyQualifiedTEID senderF_TEIDForControlPlane optional, + PrivateExtension_List privateExtension optional +} + +//7.9.8 +type set PGW_DownlinkTriggeringAcknowledge +{ + Cause cause, + IMSI iMSI optional, + IP_Address mME_S4_SGSN_Identifier optional, + PrivateExtension_List privateExtension optional +} + + +// Trace Management Messages +//7.12.1 +type set TraceSessionActivation +{ + IMSI iMSI optional, + TraceInformation traceInformation, + MEI mEI optional +} + +//7.12.2 +type set TraceSessionDeactivation +{ + TraceReference traceReference +} + + +// MBMS Messages +//7.13.1 +type set MBMSSessionStartRequest +{ + FullyQualifiedTEID fullyQualifiedTEID, + TMGI tMGI, + MBMS_SessionDuration mBMS_SessionDuration, + MBMS_ServiceArea mBMS_ServiceArea, + MBMS_SessionIdentifier mBMS_SessionIdentifier optional, + MBMS_FlowIdentifier mBMS_FlowIdentifier optional, + Bearer_QoS QoS_Profile, + MBMS_IPMulticastDistribution_List mBMS_IPMulticastDistribution, + Recovery recovery optional, + MBMSTimetoDataTransfer mBMSTimetoDataTransfer optional, + AbsoluteTimeofMBMSDataTransfer mBMS_Data_Transfer_Start optional, + MBMSFlags mBMSFlags optional, + ECGI_List mBMSCellList optional, + PrivateExtension_List privateExtension optional +} with { + variant(mBMS_IPMulticastDistribution) "REPEATABLE(yes)"; +}; + +//7.13.2 +type set MBMSSessionStartResponse +{ + Cause cause, + FullyQualifiedTEID_List fullyQualifiedTEID optional, + MBMS_DistributionAcknowledge mBMS_DistributionAcknowledge optional, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} with { + variant(fullyQualifiedTEID) "REPEATABLE(yes)"; +}; + +//7.13.3 +type set MBMSSessionUpdateRequest +{ + MBMS_ServiceArea mBMS_ServiceArea optional, + TMGI tMGI, + FullyQualifiedTEID fullyQualifiedTEID optional, + MBMS_SessionDuration mBMS_SessionDuration, + Bearer_QoS QoS_Profile, + MBMS_SessionIdentifier mBMS_SessionIdentifier optional, + MBMS_FlowIdentifier mBMS_FlowIdentifier optional, + MBMSTimetoDataTransfer mBMSTimetoDataTransfer optional, + AbsoluteTimeofMBMSDataTransfer mBMS_Data_Transfer_Start optional, + ECGI_List mBMSCellList optional, + PrivateExtension_List privateExtension optional +} + +//7.13.4 +type set MBMSSessionUpdateResponse +{ + Cause cause, + MBMS_DistributionAcknowledge mBMS_DistributionAcknowledge optional, + FullyQualifiedTEID fullyQualifiedTEID optional, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} + +//7.13.5 +type set MBMSSessionStopRequest +{ + MBMS_FlowIdentifier mBMS_FlowIdentifier optional, + AbsoluteTimeofMBMSDataTransfer mBMS_Data_Transfer_Stop optional, + PrivateExtension_List privateExtension optional +} + +//7.13.6 +type set MBMSSessionStopResponse +{ + Cause cause, + Recovery recovery optional, + PrivateExtension_List privateExtension optional +} + + +type union GTPCv2_PDUs { + EchoRequest echoRequest, + EchoResponse echoResponse, + VersionNotSupported versionNotSupported, + CreateSessionRequest createSessionRequest, + CreateSessionResponse createSessionResponse, + CreateBearerRequest createBearerRequest, + CreateBearerResponse createBearerResponse, + BearerResourceCommand bearerResourceCommand, + BearerResourceFailureIndication bearerResourceFailureIndication, + ModifyBearerRequest modifyBearerRequest, + ModifyBearerResponse modifyBearerResponse, + DeleteSessionRequest deleteSessionRequest, + DeleteBearerRequest deleteBearerRequest, + DeleteSessionResponse deleteSessionResponse, + DeleteBearerResponse deleteBearerResponse, + DownlinkDataNotification downlinkDataNotification, + DownlinkDataNotificationAcknowledgement downlinkDataNotificationAcknowledgement, + DownlinkDataNotificationFailureIndication downlinkDataNotificationFailureIndication, + DeleteIndirectDataForwardingTunnelRequest deleteIndirectDataForwardingTunnelRequest, + DeleteIndirectDataForwardingTunnelResponse deleteIndirectDataForwardingTunnelResponse, + ModifyBearerCommand modifyBearerCommand, + ModifyBearerFailureIndication modifyBearerFailureIndication, + UpdateBearerRequest updateBearerRequest, + UpdateBearerResponse updateBearerResponse, + DeleteBearerCommand deleteBearerCommand, + DeleteBearerFailureIndication deleteBearerFailureIndication, + CreateIndirectDataForwardingTunnelRequest createIndirectDataForwardingTunnelRequest, + CreateIndirectDataForwardingTunnelResponse createIndirectDataForwardingTunnelResponse, + ReleaseAccessBearersRequest releaseAccessBearersRequest, + ReleaseAccessBearersResponse releaseAccessBearersResponse, + StopPagingIndication stopPagingIndication, + ModifyAccessBearersRequest modifyAccessBearersRequest, + ModifyAccessBearersResponse modifyAccessBearersResponse, + RemoteUEReportNotification remoteUEReportNotification, + RemoteUEReportAcknowledge remoteUEReportAcknowledge, + ForwardRelocationRequest forwardRelocationRequest, + ForwardRelocationResponse forwardRelocationResponse, + ForwardRelocationCompleteNotification forwardRelocationCompleteNotification, + ForwardRelocationCompleteAcknowledge forwardRelocationCompleteAcknowledge, + ContextRequest contextRequest, + ContextResponse contextResponse, + ContextAcknowledge contextAcknowledge, + IdentificationRequest identificationRequest, + IdentificationResponse identificationResponse, + ForwardAccessContextNotification forwardAccessContextNotification, + ForwardAccessContextAcknowledge forwardAccessContextAcknowledge, + DetachNotification detachNotification, + DetachAcknowledge detachAcknowledge, + ChangeNotificationRequest changeNotificationRequest, + ChangeNotificationResponse changeNotificationResponse, + RelocationCancelRequest relocationCancelRequest, + RelocationCancelResponse relocationCancelResponse, + ConfigurationTransferTunnel configurationTransferTunnel, + RAN_InformationRelay rAN_InformationRelay, + SuspendNotification suspendNotification, + SuspendAcknowledge suspendAcknowledge, + ResumeNotification resumeNotification, + ResumeAcknowledge resumeAcknowledge, + CSPagingIndication cSPagingIndication, + CreateForwardingTunnelRequest createForwardingTunnelRequest, + CreateForwardingTunnelResponse createForwardingTunnelResponse, + DeletePDN_ConnectionSetRequest deletePDN_ConnectionSetRequest, + DeletePDN_ConnectionSetResponse deletePDN_ConnectionSetResponse, + TraceSessionActivation traceSessionActivation, + TraceSessionDeactivation traceSessionDeactivation, + UpdatePDN_ConnectionSetRequest updatePDN_ConnectionSetRequest, + UpdatePDN_ConnectionSetResponse updatePDN_ConnectionSetResponse, + PGW_RestartNotification pGW_RestartNotification, + PGW_RestartNotificationAcknowledge pGW_RestartNotificationAcknowledge, + PGW_DownlinkTriggeringNotification pGW_DownlinkTriggeringNotification, + PGW_DownlinkTriggeringAcknowledge pGW_DownlinkTriggeringAcknowledge, + AlertMMENotification alertMMENotification, + AlertMMEAcknowledge alertMMEAcknowledge, + UEActivityNotification uEActivityNotification, + UEActivityAcknowledge uEActivityAcknowledge, + MBMSSessionStartRequest mBMSSessionStartRequest, + MBMSSessionStartResponse mBMSSessionStartResponse, + MBMSSessionUpdateRequest mBMSSessionUpdateRequest, + MBMSSessionUpdateResponse mBMSSessionUpdateResponse, + MBMSSessionStopRequest mBMSSessionStopRequest, + MBMSSessionStopResponse mBMSSessionStopResponse, + ISR_StatusIndication iSR_StatusIndication, + UE_RegistrationQueryRequest uE_RegistrationQueryRequest, + UE_RegistrationQueryResponse uE_RegistrationQueryResponse +} + +// TOP LEVEL GTPC PDU +type record PDU_GTPCv2 +{ + BIT3 spare, //0 + BIT1 t_Bit, + BIT1 p_Bit, + BIT3 version, //'010'B + OCT1 messageType, + LIN2_BO_LAST lengthf, + OCT4 tEID optional, + OCT3 sequenceNumber, + OCT1 spare3, // 0 + GTPCv2_PDUs gtpcv2_pdu, + PDU_GTPCv2 piggybackPDU_GTPCv2 optional +} with { + variant (tEID) "PRESENCE(t_Bit = '1'B)"; + variant (piggybackPDU_GTPCv2) "PRESENCE(p_Bit = '1'B)"; + variant (lengthf) "LENGTHTO(tEID,sequenceNumber,spare3,gtpcv2_pdu)"; + variant (gtpcv2_pdu) "CROSSTAG( + echoRequest, messageType = '01'O; + echoResponse, messageType = '02'O; + versionNotSupported, messageType = '03'O; + createSessionRequest, messageType = '20'O; //32 + createSessionResponse, messageType = '21'O; //33 + createBearerRequest, messageType = '5F'O; //95 + createBearerResponse, messageType = '60'O; //96 + bearerResourceCommand, messageType = '44'O; //68 + bearerResourceFailureIndication, messageType = '45'O; //69 + modifyBearerRequest, messageType = '22'O; //34 + modifyBearerResponse, messageType = '23'O; //35 + deleteSessionRequest, messageType = '24'O; //36 + deleteBearerRequest, messageType = '63'O; //99 + deleteSessionResponse, messageType = '25'O; //37 + deleteBearerResponse, messageType = '64'O; //100 + downlinkDataNotification, messageType = 'B0'O; //176 + downlinkDataNotificationAcknowledgement, messageType = 'B1'O; //177 + downlinkDataNotificationFailureIndication, messageType = '46'O; //70 + deleteIndirectDataForwardingTunnelRequest, messageType = 'A8'O; //168 + deleteIndirectDataForwardingTunnelResponse, messageType = 'A9'O; //169 + modifyBearerCommand, messageType = '40'O; //64 + modifyBearerFailureIndication, messageType = '41'O; //65 + updateBearerRequest, messageType = '61'O; //97 + updateBearerResponse, messageType = '62'O; //98 + deleteBearerCommand, messageType = '42'O; //66 + deleteBearerFailureIndication, messageType = '43'O; //67 + createIndirectDataForwardingTunnelRequest, messageType = 'A6'O; //166 + createIndirectDataForwardingTunnelResponse, messageType = 'A7'O; //167 + releaseAccessBearersRequest, messageType = 'AA'O; //170 + releaseAccessBearersResponse, messageType = 'AB'O; //171 + stopPagingIndication, messageType = '49'O; //73 + modifyAccessBearersRequest, messageType = 'D3'O; //211 + modifyAccessBearersResponse, messageType = 'D4'O; //212 + remoteUEReportNotification, messageType = '28'O; //40 + remoteUEReportAcknowledge, messageType = '29'O; //41 + forwardRelocationRequest, messageType = '85'O; //133 + forwardRelocationResponse, messageType = '86'O; //134 + forwardRelocationCompleteNotification, messageType = '87'O; //135 + forwardRelocationCompleteAcknowledge, messageType = '88'O; //136 + contextRequest, messageType = '82'O; //130 + contextResponse, messageType = '83'O; //131 + contextAcknowledge, messageType = '84'O; //132 + identificationRequest, messageType = '80'O; //128 + identificationResponse, messageType = '81'O; //129 + forwardAccessContextNotification, messageType = '89'O; //137 + forwardAccessContextAcknowledge, messageType = '8A'O; //138 + detachNotification, messageType = '95'O; //149 + detachAcknowledge, messageType = '96'O; //150 + changeNotificationRequest, messageType = '26'O; //38 + changeNotificationResponse, messageType = '27'O; //39 + relocationCancelRequest, messageType = '8B'O; //139 + relocationCancelResponse, messageType = '8C'O; //140 + configurationTransferTunnel, messageType = '8D'O; //141 + rAN_InformationRelay, messageType = '98'O; //152 + suspendNotification, messageType = 'A2'O; //162 + suspendAcknowledge, messageType = 'A3'O; //163 + resumeNotification, messageType = 'A4'O; //164 + resumeAcknowledge, messageType = 'A5'O; //165 + cSPagingIndication, messageType = '97'O; //151 + createForwardingTunnelRequest, messageType = 'A0'O; //160 + createForwardingTunnelResponse, messageType = 'A1'O; //161 + deletePDN_ConnectionSetRequest, messageType = '65'O; //101 + deletePDN_ConnectionSetResponse, messageType = '66'O; //102 + traceSessionActivation, messageType = '47'O; //71 + traceSessionDeactivation, messageType = '48'O; //72 + updatePDN_ConnectionSetRequest, messageType = 'C8'O; //200 + updatePDN_ConnectionSetResponse, messageType = 'C9'O; //201 + pGW_RestartNotification, messageType = 'B3'O; //179 + pGW_RestartNotificationAcknowledge, messageType = 'B4'O; //180 + pGW_DownlinkTriggeringNotification, messageType = '67'O; //103 + pGW_DownlinkTriggeringAcknowledge, messageType = '68'O; //104 + alertMMENotification, messageType = '99'O; //153 + alertMMEAcknowledge, messageType = '9A'O; //154 + uEActivityNotification, messageType = '9B'O; //155 + uEActivityAcknowledge, messageType = '9C'O; //156 + iSR_StatusIndication, messageType = '9D'O; //157 + uE_RegistrationQueryRequest, messageType = '9E'O; //158 + uE_RegistrationQueryResponse, messageType = '9F'O; //159 + mBMSSessionStartRequest, messageType = 'E7'O; //231 + mBMSSessionStartResponse, messageType = 'E8'O; //232 + mBMSSessionUpdateRequest, messageType = 'E9'O; //233 + mBMSSessionUpdateResponse, messageType = 'EA'O; //234 + mBMSSessionStopRequest, messageType = 'EB'O; //235 + mBMSSessionStopResponse, messageType = 'EC'O; //236 + )"; +}; + + + +} with { encode "RAW"} // End of module |