diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-04-21 16:58:13 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-04-21 16:58:13 +0000 |
commit | e6a552b2ad25324eb723f214c77a378fbae4c960 (patch) | |
tree | 2771c3235377bd4d53b7abf693335280d2745ce3 | |
parent | 64016f50fe6793ca0a74d52b3f4d13a7ba2d88b1 (diff) |
- Reintroduce heuristic dissector
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3426
- Dissect TransportLayerAddress as IPv4 or IPv6 address
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3427
- Use call dissector_try_port_new()
- Update ASN1 descriptions.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28109 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | asn1/ranap/RANAP-CommonDataTypes.asn | 7 | ||||
-rw-r--r-- | asn1/ranap/RANAP-Constants.asn | 42 | ||||
-rw-r--r-- | asn1/ranap/RANAP-Containers.asn | 17 | ||||
-rw-r--r-- | asn1/ranap/RANAP-IEs.asn | 259 | ||||
-rw-r--r-- | asn1/ranap/RANAP-PDU-Contents.asn | 602 | ||||
-rw-r--r-- | asn1/ranap/RANAP-PDU-Descriptions.asn | 25 | ||||
-rw-r--r-- | asn1/ranap/packet-ranap-template.c | 80 | ||||
-rw-r--r-- | asn1/ranap/ranap.cnf | 298 | ||||
-rw-r--r-- | epan/dissectors/packet-ranap.c | 1204 |
9 files changed, 2038 insertions, 496 deletions
diff --git a/asn1/ranap/RANAP-CommonDataTypes.asn b/asn1/ranap/RANAP-CommonDataTypes.asn index dee2715c55..ff5357f000 100644 --- a/asn1/ranap/RANAP-CommonDataTypes.asn +++ b/asn1/ranap/RANAP-CommonDataTypes.asn @@ -1,7 +1,7 @@ -- RANAP-CommonDataTypes.asn -- --- Taken from 3GPP TS 25.413 V8.0.1 (2008-09) --- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-801.zip +-- Taken from 3GPP TS 25.413 V8.2.1 (2009-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip -- -- 9.3.5 Common Definitions -- @@ -16,7 +16,7 @@ RANAP-CommonDataTypes { itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) } +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) } DEFINITIONS AUTOMATIC TAGS ::= @@ -42,3 +42,4 @@ TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuc END + diff --git a/asn1/ranap/RANAP-Constants.asn b/asn1/ranap/RANAP-Constants.asn index 34737022e3..c8df218b29 100644 --- a/asn1/ranap/RANAP-Constants.asn +++ b/asn1/ranap/RANAP-Constants.asn @@ -1,7 +1,7 @@ -- RANAP-Constants.asn -- --- Taken from 3GPP TS 25.413 V8.0.1 (2008-09) --- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-801.zip +-- Taken from 3GPP TS 25.413 V8.2.1 (2009-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip -- -- 9.3.6 Constant Definitions -- @@ -72,6 +72,7 @@ id-MBMSRABRelease INTEGER ::= 42 id-enhancedRelocationComplete INTEGER ::= 43 id-enhancedRelocationCompleteConfirm INTEGER ::= 44 id-RANAPenhancedRelocation INTEGER ::= 45 +id-SRVCCPreparation INTEGER ::= 256 @@ -183,9 +184,9 @@ id-RequestType INTEGER ::= 57 id-SAI INTEGER ::= 58 id-SAPI INTEGER ::= 59 id-SourceID INTEGER ::= 60 -id-SourceRNC-ToTargetRNC-TransparentContainer INTEGER ::= 61 +id-Source-ToTarget-TransparentContainer INTEGER ::= 61 id-TargetID INTEGER ::= 62 -id-TargetRNC-ToSourceRNC-TransparentContainer INTEGER ::= 63 +id-Target-ToSource-TransparentContainer INTEGER ::= 63 id-TemporaryUE-ID INTEGER ::= 64 id-TraceReference INTEGER ::= 65 id-TraceType INTEGER ::= 66 @@ -277,7 +278,7 @@ id-UnsuccessfulLinkingList INTEGER ::= 155 id-MBMSLinkingInformation INTEGER ::= 156 id-MBMSSessionRepetitionNumber INTEGER ::= 157 id-AlternativeRABConfiguration INTEGER ::= 158 -id-AlternativeRABConfigurationRequest INTEGER ::= 159 +id-AlternativeRABConfigurationRequest INTEGER ::= 159 id-E-DCH-MAC-d-Flow-ID INTEGER ::= 160 id-SourceBSS-ToTargetBSS-TransparentContainer INTEGER ::= 161 id-TargetBSS-ToSourceBSS-TransparentContainer INTEGER ::= 162 @@ -317,7 +318,38 @@ id-RAB-SetupItem-EnhRelocInfoRes INTEGER ::= 195 id-OldIuSigConId INTEGER ::= 196 id-RAB-FailedList-EnhRelocInfoRes INTEGER ::= 197 id-RAB-FailedItem-EnhRelocInfoRes INTEGER ::= 198 +id-Global-ENB-ID INTEGER ::= 199 +id-UE-History-Information INTEGER ::= 200 +id-MBMSSynchronisationInformation INTEGER ::= 201 +id-SubscriberProfileIDforRFP INTEGER ::= 202 +id-CSG-Id INTEGER ::= 203 +id-OldIuSigConIdCS INTEGER ::= 204 +id-OldIuSigConIdPS INTEGER ::= 205 +id-GlobalCN-IDCS INTEGER ::= 206 +id-GlobalCN-IDPS INTEGER ::= 207 +id-SourceExtendedRNC-ID INTEGER ::= 208 +id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes INTEGER ::= 209 +id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes INTEGER ::= 210 +id-SourceRNC-ID INTEGER ::= 211 +id-Relocation-TargetRNC-ID INTEGER ::= 212 +id-Relocation-TargetExtendedRNC-ID INTEGER ::= 213 +id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf INTEGER ::= 214 +id-Alt-RAB-Parameter-SupportedMaxBitrateInf INTEGER ::= 215 +id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 216 +id-Ass-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 217 +id-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 218 +id-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 219 +id-Requested-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 220 +id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 221 +id-Relocation-SourceRNC-ID INTEGER ::= 222 +id-Relocation-SourceExtendedRNC-ID INTEGER ::= 223 +id-EncryptionKey INTEGER ::= 224 +id-IntegrityProtectionKey INTEGER ::= 225 +id-SRVCC-HO-Indication INTEGER ::= 226 +id-SRVCC-Information INTEGER ::= 227 +id-SRVCC-Operation-Possible INTEGER ::= 228 END + diff --git a/asn1/ranap/RANAP-Containers.asn b/asn1/ranap/RANAP-Containers.asn index dcd109da71..5168fa6917 100644 --- a/asn1/ranap/RANAP-Containers.asn +++ b/asn1/ranap/RANAP-Containers.asn @@ -1,7 +1,7 @@ -- RANAP-Containers.asn -- --- Taken from 3GPP TS 25.413 V8.0.1 (2008-09) --- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-801.zip +-- Taken from 3GPP TS 25.413 V8.2.1 (2009-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip -- -- 9.3.7 Container Definitions -- @@ -134,7 +134,7 @@ ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { id RANAP-PROTOCOL-IES.&id ({IEsSetParam}), criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), - value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) + value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) } -- ************************************************************** @@ -148,11 +148,11 @@ ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= ProtocolIE-FieldPair {{IEsSetParam}} ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { - id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), - firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), - firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), - secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), - secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) + id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), + firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), + firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), + secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), + secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) } -- ************************************************************** @@ -203,3 +203,4 @@ PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { END + diff --git a/asn1/ranap/RANAP-IEs.asn b/asn1/ranap/RANAP-IEs.asn index 0f98e140d7..351dad436b 100644 --- a/asn1/ranap/RANAP-IEs.asn +++ b/asn1/ranap/RANAP-IEs.asn @@ -1,7 +1,7 @@ -- RANAP-IEs.asn -- --- Taken from 3GPP TS 25.413 V8.0.1 (2008-09) --- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-801.zip +-- Taken from 3GPP TS 25.413 V8.2.1 (2009-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip -- -- 9.3.4 Information Element Definitions -- @@ -51,7 +51,6 @@ IMPORTS id-MessageStructure, id-SRB-TrCH-Mapping, id-TypeOfError, - id-hS-DSCH-MAC-d-Flow-ID, id-SignallingIndication, id-CellLoadInformationGroup, @@ -74,7 +73,17 @@ IMPORTS id-LAListwithNoIdleModeUEsAnyMore, id-ExtendedRNC-ID, id-GANSS-PositioningDataSet, - id-d-RNTI-for-NoIuCSUP + id-d-RNTI-for-NoIuCSUP, + id-UE-History-Information, + id-SubscriberProfileIDforRFP, + id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf, + id-Alt-RAB-Parameter-SupportedMaxBitrateInf, + id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList, + id-Ass-RAB-Parameter-SupportedMaxBitrateList, + id-RAB-Parameter-SupportedGuaranteedBitrateList, + id-RAB-Parameter-SupportedMaxBitrateList, + id-Requested-RAB-Parameter-SupportedMaxBitrateList, + id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList FROM RANAP-Constants @@ -123,14 +132,18 @@ Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates -- { ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf PRESENCE optional }| -- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates -- -{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }, +{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }| +-- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates -- +{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf PRESENCE optional }| +-- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates -- +{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf PRESENCE optional }, ... } Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE { altExtendedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, altExtendedGuaranteedBitrates Alt-RAB-Parameter-ExtendedGuaranteedBitrates OPTIONAL - -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, ... } @@ -142,7 +155,7 @@ Alt-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSe Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE { altGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, altGuaranteedBitrates Alt-RAB-Parameter-GuaranteedBitrates OPTIONAL - -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, ... } @@ -159,10 +172,26 @@ Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) O Alt-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE { + altSupportedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altSupportedGuaranteedBitrates Alt-RAB-Parameter-SupportedGuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } OPTIONAL, + ... +} + +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + SupportedRAB-ParameterBitrateList + + Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE { altExtendedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, altExtendedMaxBitrates Alt-RAB-Parameter-ExtendedMaxBitrates OPTIONAL - -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --, + -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --, ... } @@ -174,7 +203,7 @@ Alt-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateT Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE { altMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, altMaxBitrates Alt-RAB-Parameter-MaxBitrates OPTIONAL - -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, + -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, ... } @@ -191,6 +220,23 @@ Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + +Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE { + altSupportedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altSupportedMaxBitrates Alt-RAB-Parameter-SupportedMaxBitrates OPTIONAL + -- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, + iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } OPTIONAL, +... +} + +Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + + +Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + SupportedRAB-ParameterBitrateList + AlternativeRABConfigurationRequest ::= ENUMERATED{ alternative-RAB-configuration-Requested, ... @@ -216,7 +262,11 @@ Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate -- { ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| -- Extension for Release 7 to indicate an extended assigned Maximum Bitrate -- - { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }, + { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an supported assigned Maximum Bitrate -- + { ID id-Ass-RAB-Parameter-SupportedMaxBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate -- + { ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, ... } @@ -242,7 +292,7 @@ AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } -AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC +AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC -- B @@ -290,7 +340,6 @@ CauseProtocol ::= INTEGER { abstract-syntax-error-reject (100), abstract-syntax-error-ignore-and-notify (101), abstract-syntax-error-falsely-constructed-message (102) - } (97..112) CauseRadioNetwork ::= INTEGER { @@ -340,7 +389,7 @@ CauseRadioNetwork ::= INTEGER { relocation-not-supported-in-target-RNC-or-target-system (44), directed-retry (45), radio-connection-with-UE-Lost (46), - rNC-unable-to-establish-all-RFCs (47), + rNC-unable-to-establish-all-RFCs (47), deciphering-keys-not-available(48), dedicated-assistance-data-not-available(49), relocation-target-not-allowed (50), @@ -370,8 +419,9 @@ CauseRadioNetworkExtension ::= INTEGER { gTP-Resources-Unavailable(263), tMGI-inUse-overlapping-MBMS-service-area(264), mBMS-no-cell-in-MBMS-service-area(265), - no-Iu-CS-UP-relocation(266) - + no-Iu-CS-UP-relocation(266), + successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267), + cS-fallback-triggered(268) } (257..512) CauseNon-Standard ::= INTEGER (129..256) @@ -409,6 +459,14 @@ CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } +CellType ::= ENUMERATED{ + macro, + micro, + pico, + femto, + ... +} + ClientType ::= ENUMERATED { emergency-Services, value-Added-Services, @@ -459,7 +517,6 @@ MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF ... } - MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } @@ -494,6 +551,8 @@ CN-DomainIndicator ::= ENUMERATED { CN-ID ::= INTEGER (0..4095) +CSG-Id ::= BIT STRING (SIZE (27)) + -- D @@ -537,6 +596,11 @@ DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } +ForwardingIndication::=ENUMERATED{ + forwarding-admitted, + ... +} + DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) DL-N-PDU-SequenceNumber ::= INTEGER (0..65535) @@ -552,6 +616,24 @@ DSCH-ID ::= INTEGER (0..255) E-DCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfEDCHMACdFlows-1) +ENB-ID ::= CHOICE { + macroENB-ID BIT STRING (SIZE(20)), + homeENB-ID BIT STRING (SIZE(28)), + ... +} + +Global-ENB-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + eNB-ID ENB-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL, + selectedTAI TAI, + ... +} + +GlobalENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15) EncryptionInformation ::= SEQUENCE { @@ -726,12 +808,12 @@ GA-UncertaintyEllipse ::= SEQUENCE { } GERAN-BSC-Container ::= OCTET STRING - -- GERAN BSC Container as defined in [11] -- + -- GERAN BSC Container as defined in [11] -- GERAN-Cell-ID ::= SEQUENCE { lAI LAI, - rAC RAC, + rAC RAC, cI CI, iE-Extensions ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL } @@ -741,7 +823,7 @@ GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { } GERAN-Classmark ::= OCTET STRING - -- GERAN Classmark as defined in [11] -- + -- GERAN Classmark as defined in [11] -- GlobalCN-ID ::= SEQUENCE { pLMNidentity PLMNidentity, @@ -824,7 +906,7 @@ InformationRequestType ::= CHOICE { ... } -InformationTransferID ::= INTEGER (0.. 1048575) +InformationTransferID ::= INTEGER (0.. 1048575) InformationTransferType ::= CHOICE { rNCTraceInformation RNCTraceInformation, @@ -885,7 +967,7 @@ KeyStatus ::= ENUMERATED { } -- L -LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF +LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF SEQUENCE { lAC LAC, listOF-SNAs ListOF-SNAs, @@ -919,6 +1001,19 @@ LastKnownServiceArea ::= SEQUENCE { LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } + +LastVisitedUTRANCell-Item ::= SEQUENCE { + uTRAN-CellID UTRAN-CellID, + cellType CellType, + time-UE-StayedInCell Time-UE-StayedInCell, + iE-Extensions ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL, + ... +} + +LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem @@ -982,6 +1077,12 @@ MBMSCountingInformation ::= ENUMERATED { ... } +MBMSHCIndicator ::= ENUMERATED { + uncompressed-header, + compressed-header, + ... +} + MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF TMGI @@ -1061,7 +1162,7 @@ PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF PDP-Type ::= ENUMERATED { empty, ppp, - osp-ihoss -- this value shall not be used -- , + osp-ihoss -- this value shall not be used -- , ipv4, ipv6, ... @@ -1119,7 +1220,7 @@ PositioningPriority ::= ENUMERATED { PositionData ::= SEQUENCE { positioningDataDiscriminator PositioningDataDiscriminator, positioningDataSet PositioningDataSet OPTIONAL, --- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" -- +-- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" -- iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL, ... } @@ -1174,8 +1275,10 @@ RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTraf RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate +--This IE shall be ignored if Supported Guaranteed Bit rate is present-- RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate +--This IE shall be ignored if Supported Maximum Bit rate is present-- RAB-Parameters ::= SEQUENCE { trafficClass TrafficClass, @@ -1204,7 +1307,11 @@ RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 7 to indicate an Extended Guaranteed Bitrate -- { ID id-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| -- Extension for Release 7 to indicate an Extended Maximum Bitrate -- -{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }, +{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an Supported Maximum Bitrate -- +{ ID id-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an Supported Guaranteed Bitrate -- +{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, ... } @@ -1254,7 +1361,7 @@ RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF RAC NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }, +{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }, -- This IE shall be present if the RA of Idle Mode UEs IE is included. -- ... } @@ -1316,10 +1423,10 @@ ReportArea ::= ENUMERATED { } RequestedGPSAssistanceData ::= OCTET STRING (SIZE (1 .. 38 )) - -- gpsAssistanceData as defined in 24.080 -- + -- gpsAssistanceData as defined in 24.080 -- RequestedGANSSAssistanceData ::= OCTET STRING (SIZE (1 .. 201 )) - -- ganssAssistanceData as defined in 24.080 -- + -- ganssAssistanceData as defined in 24.080 -- RequestedLocationRelatedDataType ::= ENUMERATED { decipheringKeysUEBasedOTDOA, @@ -1365,7 +1472,11 @@ Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 7 to request an Extended Maximum Bitrate -- { ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| -- Extension for Release 7 to request an Extended Guaranteed Bitrate -- - { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }, + { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 8 to request an Supported Maximum Bitrate -- + { ID id-Requested-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to request an Supported Guaranteed Bitrate -- + { ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, ... } @@ -1406,7 +1517,7 @@ RIMInformation ::= OCTET STRING RIM-Transfer ::= SEQUENCE { rIMInformation RIMInformation, - rIMRoutingAddress RIMRoutingAddress OPTIONAL, + rIMRoutingAddress RIMRoutingAddress OPTIONAL, iE-Extensions ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL } @@ -1536,6 +1647,15 @@ Service-Handover ::= ENUMERATED { ... } +Source-ToTarget-TransparentContainer ::= OCTET STRING +-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system. +-- Note: In the current version of this specification, this IE may either carry the Source RNC to +-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as +-- defined in [49] + +SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING + + SourceCellID ::= CHOICE { sourceUTRANCellID SourceUTRANCellID, sourceGERANCellID CGI, @@ -1577,7 +1697,7 @@ SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE { -- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --, targetCellId TargetCellId OPTIONAL -- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --, - rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL, + rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL, iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL, ... } @@ -1590,20 +1710,28 @@ SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC -- {ID id-TraceRecordingSessionInformation CRITICALITY ignore EXTENSION TraceRecordingSessionInformation PRESENCE optional}| -- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service -- - {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}| - {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}, + {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}| + {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}| + {ID id-UE-History-Information CRITICALITY ignore EXTENSION UE-History-Information PRESENCE optional}| + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}, ... } +SubscriberProfileIDforRFP ::= INTEGER (1..256) + SourceStatisticsDescriptor ::= ENUMERATED { speech, unknown, ... } +SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate + +SupportedBitrate ::= INTEGER (1..1000000000, ...) +-- Unit is bits per sec + SourceUTRANCellID ::= SEQUENCE { pLMNidentity PLMNidentity, - uTRANcellID TargetCellId, iE-Extensions ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL } @@ -1628,11 +1756,52 @@ SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } +SRVCC-HO-Indication ::= ENUMERATED { + ps-and-cs, + cs-only, + ... +} + +SRVCC-Information ::= SEQUENCE { + nonce BIT STRING (SIZE (128)), + iE-Extensions ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL, + ... +} + +SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRVCC-Operation-Possible ::= ENUMERATED { + srvcc-possible, + ... +} + SubflowSDU-Size ::= INTEGER (0..4095) -- Unit is bit -- T +TAC ::= OCTET STRING (SIZE (2)) + +TAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + tAC TAC, + iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL +} + +TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +Target-ToSource-TransparentContainer ::= OCTET STRING +-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system. +-- Note: In the current version of this specification, this IE may either carry the Target RNC to +-- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as +-- defined in [49] + +TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING @@ -1641,7 +1810,9 @@ TargetCellId ::= INTEGER (0..268435455) TargetID ::= CHOICE { targetRNC-ID TargetRNC-ID, cGI CGI, - ... + + ..., + targeteNB-ID Global-ENB-ID } @@ -1649,7 +1820,7 @@ TargetID ::= CHOICE { TargetRNC-ID ::= SEQUENCE { lAI LAI, - rAC RAC OPTIONAL, + rAC RAC OPTIONAL, rNC-ID RNC-ID, iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL } @@ -1680,6 +1851,8 @@ TemporaryUE-ID ::= CHOICE { ... } +Time-UE-StayedInCell ::= INTEGER (0..4095) + TimeToMBMSDataTransfer ::= OCTET STRING(SIZE(1)) @@ -1765,7 +1938,7 @@ TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } -TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF +TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF TrCH-ID TriggerID ::= OCTET STRING (SIZE (3..22)) @@ -1779,6 +1952,8 @@ TypeOfError ::= ENUMERATED { -- U +UE-History-Information ::= OCTET STRING + UE-ID ::= CHOICE { imsi IMSI, imei IMEI, @@ -1817,6 +1992,17 @@ UserPlaneMode ::= ENUMERATED { ... } +UTRAN-CellID ::= SEQUENCE { + pLMNidentity PLMNidentity, + cellID TargetCellId, + iE-Extensions ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL +} + +UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + -- V VelocityEstimate ::= CHOICE { @@ -1892,3 +2078,4 @@ VerticalAccuracyCode ::= INTEGER (0..127) END + diff --git a/asn1/ranap/RANAP-PDU-Contents.asn b/asn1/ranap/RANAP-PDU-Contents.asn index 7bcadef14c..c83f60f13e 100644 --- a/asn1/ranap/RANAP-PDU-Contents.asn +++ b/asn1/ranap/RANAP-PDU-Contents.asn @@ -1,7 +1,7 @@ -- RANAP-PDU-Contents.asn -- --- Taken from 3GPP TS 25.413 V8.0.1 (2008-09) --- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-801.zip +-- Taken from 3GPP TS 25.413 V8.2.1 (2009-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip -- -- 9.3.3 PDU Definitions -- @@ -45,18 +45,22 @@ IMPORTS ChosenIntegrityProtectionAlgorithm, ClassmarkInformation2, ClassmarkInformation3, + CSG-Id, DL-GTP-PDU-SequenceNumber, DL-N-PDU-SequenceNumber, DataVolumeReportingIndication, DeltaRAListofIdleModeUEs, DRX-CycleLengthCoefficient, EncryptionInformation, + EncryptionKey, ExtendedRNC-ID, FrequenceLayerConvergenceFlag, GERAN-BSC-Container, GERAN-Classmark, + Global-ENB-ID, GlobalCN-ID, GlobalRNC-ID, + GTP-TEI, IncludeVelocity, InformationExchangeID, InformationExchangeType, @@ -66,6 +70,7 @@ IMPORTS InformationTransferType, InterSystemInformationTransferType, IntegrityProtectionInformation, + IntegrityProtectionKey, InterSystemInformation-TransparentContainer, IPMulticastAddress, IuSignallingConnectionIdentifier, @@ -78,6 +83,7 @@ IMPORTS MBMSBearerServiceType, MBMSCountingInformation, MBMSCNDe-Registration, + MBMSHCIndicator, MBMSRegistrationRequestType, MBMSServiceArea, MBMSSessionDuration, @@ -121,9 +127,14 @@ IMPORTS SNA-Access-Information, SourceBSS-ToTargetBSS-TransparentContainer, SourceID, + Source-ToTarget-TransparentContainer, SourceRNC-ToTargetRNC-TransparentContainer, + SRVCC-HO-Indication, + SRVCC-Information, + SRVCC-Operation-Possible, TargetBSS-ToSourceBSS-TransparentContainer, TargetID, + Target-ToSource-TransparentContainer, TargetRNC-ToSourceRNC-TransparentContainer, TemporaryUE-ID, TimeToMBMSDataTransfer, @@ -144,7 +155,8 @@ IMPORTS VerticalAccuracyCode, Alt-RAB-Parameters, Ass-RAB-Parameters, - PeriodicLocationInfo + PeriodicLocationInfo, + SubscriberProfileIDforRFP FROM RANAP-IEs @@ -183,19 +195,24 @@ FROM RANAP-Containers id-ClientType, id-CNMBMSLinkingInformation, id-CriticalityDiagnostics, + id-CSG-Id, id-DeltaRAListofIdleModeUEs, id-DRX-CycleLengthCoefficient, id-DirectTransferInformationItem-RANAP-RelocInf, id-DirectTransferInformationList-RANAP-RelocInf, id-DL-GTP-PDU-SequenceNumber, id-EncryptionInformation, + id-EncryptionKey, id-ExtendedRNC-ID, id-FrequenceLayerConvergenceFlag, id-GERAN-BSC-Container, id-GERAN-Classmark, id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item, id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse, + id-Global-ENB-ID, id-GlobalCN-ID, + id-GlobalCN-IDCS, + id-GlobalCN-IDPS, id-GlobalRNC-ID, id-IncludeVelocity, id-InformationExchangeID, @@ -205,11 +222,14 @@ FROM RANAP-Containers id-InformationTransferID, id-InformationTransferType, id-IntegrityProtectionInformation, + id-IntegrityProtectionKey, id-InterSystemInformationTransferType, id-InterSystemInformation-TransparentContainer, id-IPMulticastAddress, id-IuSigConId, id-OldIuSigConId, + id-OldIuSigConIdCS, + id-OldIuSigConIdPS, id-IuSigConIdItem, id-IuSigConIdList, id-IuTransportAssociation, @@ -224,6 +244,7 @@ FROM RANAP-Containers id-MBMSCountingInformation, id-MBMSCNDe-Registration, id-MBMSRegistrationRequestType, + id-MBMSSynchronisationInformation, id-MBMSServiceArea, id-MBMSSessionDuration, id-MBMSSessionIdentity, @@ -294,6 +315,8 @@ FROM RANAP-Containers id-RAB-SetupOrModifiedList, id-RAB-SetupOrModifyItem, id-RAB-SetupOrModifyList, + id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes, + id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes, id-RAC, id-RAListofIdleModeUEs, id-RAT-Type, @@ -302,6 +325,10 @@ FROM RANAP-Containers id-RedirectionIndication, id-RejectCauseValue, id-RelocationType, + id-Relocation-SourceRNC-ID, + id-Relocation-SourceExtendedRNC-ID, + id-Relocation-TargetRNC-ID, + id-Relocation-TargetExtendedRNC-ID, id-RequestedGANSSAssistanceData, id-RequestType, id-ResponseTime, @@ -311,12 +338,17 @@ FROM RANAP-Containers id-SessionUpdateID, id-SNA-Access-Information, id-SourceBSS-ToTargetBSS-TransparentContainer, + id-SourceRNC-ID, + id-SourceExtendedRNC-ID, id-SourceID, - id-SourceRNC-ToTargetRNC-TransparentContainer, + id-Source-ToTarget-TransparentContainer, id-SourceRNC-PDCP-context-info, + id-SRVCC-HO-Indication, + id-SRVCC-Information, + id-SRVCC-Operation-Possible, id-TargetBSS-ToSourceBSS-TransparentContainer, id-TargetID, - id-TargetRNC-ToSourceRNC-TransparentContainer, + id-Target-ToSource-TransparentContainer, id-TemporaryUE-ID, id-TimeToMBMSDataTransfer, id-TMGI, @@ -333,7 +365,8 @@ FROM RANAP-Containers id-VelocityEstimate, id-VerticalAccuracyCode, id-PeriodicLocationInfo, - id-BroadcastGANSSAssistanceDataDecipheringKeys + id-BroadcastGANSSAssistanceDataDecipheringKeys, + id-SubscriberProfileIDforRFP FROM RANAP-Constants; -- ************************************************************** @@ -342,11 +375,11 @@ FROM RANAP-Constants; -- -- ************************************************************** -RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } -RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} } -ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } -IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} } -DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} } +RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } +RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} } +ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } +IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} } +DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} } -- ************************************************************** -- @@ -361,8 +394,8 @@ DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= -- ************************************************************** Iu-ReleaseCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL, ... } @@ -382,15 +415,15 @@ Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Iu-ReleaseComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} }, - protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL, ... } Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= { { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } | { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -450,9 +483,9 @@ Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationRequired ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL, - ... + protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL, +... } RelocationRequiredIEs RANAP-PROTOCOL-IES ::= { @@ -464,9 +497,9 @@ RelocationRequiredIEs RANAP-PROTOCOL-IES ::= { -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } | { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } | - { ID id-SourceRNC-ToTargetRNC-TransparentContainer - CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE conditional - -- This IE shall be present if the Target ID IE contains a RNC-ID IE -- } | + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID -- } | { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE optional } , ... } @@ -475,7 +508,9 @@ RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 5 to enable GERAN support over Iu-cs -- { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional } | -- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- - { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional }, + { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional }| +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-HO-Indication CRITICALITY reject EXTENSION SRVCC-HO-Indication PRESENCE optional }, ... } @@ -486,14 +521,14 @@ RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL, ... } RelocationCommandIEs RANAP-PROTOCOL-IES ::= { - { ID id-TargetRNC-ToSourceRNC-TransparentContainer - CRITICALITY reject TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | + { ID id-Target-ToSource-TransparentContainer + CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional } | { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE optional } | { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } | { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional } | @@ -555,9 +590,9 @@ RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationPreparationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL, - ... + protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL, +... } RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= { @@ -585,8 +620,8 @@ RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL, ... } @@ -594,12 +629,12 @@ RelocationRequestIEs RANAP-PROTOCOL-IES ::= { { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional } | { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-SourceRNC-ToTargetRNC-TransparentContainer + { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } | { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE optional } | { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | - { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }, + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }, ... } @@ -617,7 +652,7 @@ RAB-SetupItem-RelocReq ::= SEQUENCE { dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, pDP-TypeInformation PDP-TypeInformation OPTIONAL - -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, userPlaneInformation UserPlaneInformation, transportLayerAddress TransportLayerAddress, iuTransportAssociation IuTransportAssociation, @@ -688,13 +723,13 @@ JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationRequestAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL, ... } RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= { - { ID id-TargetRNC-ToSourceRNC-TransparentContainer + { ID id-Target-ToSource-TransparentContainer CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} | { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }| @@ -759,8 +794,8 @@ RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL, ... } @@ -791,8 +826,8 @@ RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationCancel ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCancelIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationCancelIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL, ... } @@ -812,8 +847,8 @@ RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationCancelAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL, ... } @@ -839,8 +874,8 @@ RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** SRNS-ContextRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL, ... } @@ -879,8 +914,8 @@ SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** SRNS-ContextResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL, ... } @@ -948,8 +983,8 @@ SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** SecurityModeCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL, ... } @@ -971,8 +1006,8 @@ SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** SecurityModeComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} }, - protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL, ... } @@ -994,8 +1029,8 @@ SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** SecurityModeReject ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} }, - protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL, ... } @@ -1022,8 +1057,8 @@ SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** DataVolumeReportRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL, ... } @@ -1060,8 +1095,8 @@ DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** DataVolumeReport ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} }, - protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} }, + protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL, ... } @@ -1109,8 +1144,8 @@ RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Reset ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {ResetIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL, ... } @@ -1136,8 +1171,8 @@ ResetExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** ResetAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL, ... } @@ -1169,8 +1204,8 @@ ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** ResetResource ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetResourceIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {ResetResourceIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL, ... } @@ -1214,8 +1249,8 @@ ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** ResetResourceAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL, ... } @@ -1264,8 +1299,8 @@ ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RAB-ReleaseRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL, ... } @@ -1309,8 +1344,8 @@ RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Iu-ReleaseRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL, ... } @@ -1336,8 +1371,8 @@ Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationDetect ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationDetectIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationDetectIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL, ... } @@ -1362,8 +1397,8 @@ RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RelocationComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL, ... } @@ -1388,19 +1423,20 @@ RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** EnhancedRelocationCompleteRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL, ... } EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | - { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | - { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } | - { ID id-ExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } | - { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional }| - { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }, - ... + { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-Relocation-SourceRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Relocation-SourceExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } | + { ID id-Relocation-TargetRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Relocation-TargetExtendedRNC-ID CRITICALITY reject TYPE ExtendedRNC-ID PRESENCE optional } | + { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional } +, ... } RAB-SetupList-EnhancedRelocCompleteReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} } @@ -1411,12 +1447,10 @@ RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= { } RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE { - rAB-ID RAB-ID, + rAB-ID RAB-ID, transportLayerAddressReq1 TransportLayerAddress OPTIONAL, iuTransportAssociationReq1 IuTransportAssociation OPTIONAL, - ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, - transportLayerAddressReq2 TransportLayerAddress OPTIONAL, - iuTransportAssociationReq2 IuTransportAssociation OPTIONAL, + ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} } OPTIONAL, ... } @@ -1436,13 +1470,14 @@ EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** EnhancedRelocationCompleteResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL, ... } EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= { { ID id-RAB-SetupList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-SetupList-EnhancedRelocCompleteRes PRESENCE optional} | + { ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes PRESENCE optional} | { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -1455,13 +1490,35 @@ RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= { } RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE { - rAB-ID RAB-ID, - userPlaneInformation UserPlaneInformation, - + rAB-ID RAB-ID, + rAB-Parameters RAB-Parameters OPTIONAL, + userPlaneInformation UserPlaneInformation, transportLayerAddressRes1 TransportLayerAddress OPTIONAL, iuTransportAssociationRes1 IuTransportAssociation OPTIONAL, - transportLayerAddressRes2 TransportLayerAddress OPTIONAL, - iuTransportAssociationRes2 IuTransportAssociation OPTIONAL, + rab2beReleasedList RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} } + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes PRESENCE mandatory }, + ... +} + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } @@ -1476,8 +1533,8 @@ EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** EnhancedRelocationCompleteFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL, ... } @@ -1498,8 +1555,8 @@ EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** EnhancedRelocationCompleteConfirm ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} }, - protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL, ... } @@ -1526,19 +1583,19 @@ EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** Paging ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {PagingIEs} }, - protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {PagingIEs} }, + protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL, ... } PagingIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } | - { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } | - { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } | - { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } | - { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } | - { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } , + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } | + { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } | + { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } | + { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } | + { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } | + { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } , ... } @@ -1561,8 +1618,8 @@ PagingExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** CommonID ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {CommonID-IEs} }, - protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {CommonID-IEs} }, + protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL, ... } @@ -1577,7 +1634,9 @@ CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling -- { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}| -- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs -- - { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }, + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }| +-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority -- + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}, ... } @@ -1594,20 +1653,20 @@ CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** CN-InvokeTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} }, - protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} }, + protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL, ... } CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= { - { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } | + { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } | -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- - { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | - { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } | + { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | + { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } | -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- - { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } | + { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } | -- This information is mandatory for UTRAN, optional for GERAN Iu mode -- - { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional }, + { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional }, -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- ... } @@ -1631,14 +1690,14 @@ CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** CN-DeactivateTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} }, - protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} }, + protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL, ... } CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= { { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | - { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional }, + { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional }, -- This information is optional for GERAN Iu Mode, not applicable to UTRAN -- ... } @@ -1660,8 +1719,8 @@ CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** LocationReportingControl ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} }, - protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL, ... } @@ -1699,15 +1758,15 @@ LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** LocationReport ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {LocationReportIEs} }, - protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {LocationReportIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL, ... } LocationReportIEs RANAP-PROTOCOL-IES ::= { - { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } , + { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } , ... } @@ -1739,20 +1798,20 @@ LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** InitialUE-Message ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} }, - protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} }, + protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL, ... } InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } | - { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional - -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } | - { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } | - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | - { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } | + { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional + -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } | + { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } | + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, ... } @@ -1766,9 +1825,11 @@ InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- { ID id-NAS-SequenceNumber CRITICALITY ignore EXTENSION NAS-SequenceNumber PRESENCE optional } | -- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs -- - { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional }| + { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional } | -- Extension for Release 7 to indicate extended RNC-ID -- - { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional } , + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional } | +-- Extension for Release 8 to support CSG -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional }, ... } @@ -1785,17 +1846,17 @@ InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** DirectTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, - protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, ... } DirectTransferIEs RANAP-PROTOCOL-IES ::= { - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE optional } | { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE optional } | { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE optional } | - { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional }, + { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional }, ... } @@ -1803,7 +1864,9 @@ DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- { ID id-RedirectionIndication CRITICALITY ignore EXTENSION RedirectionIndication PRESENCE optional }| -- Extension for Release 6 to indicate the MOCN rerouting is completed -- - { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional }, + { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional }| +-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority -- + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}, ... } @@ -1830,8 +1893,8 @@ RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= { -- ************************************************************** Overload ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {OverloadIEs} }, - protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {OverloadIEs} }, + protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL, ... } @@ -1864,15 +1927,15 @@ OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** ErrorIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, - protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, ... } ErrorIndicationIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } | { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, ... } @@ -1898,8 +1961,8 @@ ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** SRNS-DataForwardCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL, ... } @@ -1925,8 +1988,8 @@ SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** ForwardSRNS-Context ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} }, - protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} }, + protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL, ... } @@ -1954,8 +2017,8 @@ ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RAB-AssignmentRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL, ... } @@ -1968,7 +2031,7 @@ RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= { RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} } RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= { - { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst + { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond PRESENCE mandatory }, ... @@ -2030,8 +2093,8 @@ RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** RAB-AssignmentResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL, ... } @@ -2151,7 +2214,7 @@ GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION : -- ************************************************************** PrivateMessage ::= SEQUENCE { - privateIEs PrivateIE-Container { {PrivateMessage-IEs } }, + privateIEs PrivateIE-Container { {PrivateMessage-IEs } }, ... } @@ -2166,8 +2229,8 @@ PrivateMessage-IEs RANAP-PRIVATE-IES ::= { -- ************************************************************** RANAP-RelocationInformation ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} }, - protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL, ... } @@ -2213,7 +2276,7 @@ RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE { ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, ... } @@ -2229,23 +2292,29 @@ RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** -- --- RANAP ENHANCED RELOCATION INFORMATION REQUEST ELEMENTARY PROCEDURE +-- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RANAP Enhanced Relocation Information Request -- -- ************************************************************** RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL, ... } RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-SourceRNC-ToTargetRNC-TransparentContainer + { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | - { ID id-OldIuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | - { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | - { ID id-OldIuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | - { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | + { ID id-OldIuSigConIdCS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } | + { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | + { ID id-OldIuSigConIdPS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } | + { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | { ID id-RAB-SetupList-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupList-EnhRelocInfoReq PRESENCE optional } | { ID id-SNA-Access-Information CRITICALITY ignore TYPE SNA-Access-Information PRESENCE optional} | { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional}| @@ -2262,45 +2331,57 @@ RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= { } RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE { - rAB-ID RAB-ID, - rAB-Parameters RAB-Parameters, + rAB-ID RAB-ID, + cN-DomainIndicator CN-DomainIndicator, + rAB-Parameters RAB-Parameters, dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, - pDP-TypeInformation PDP-TypeInformation OPTIONAL + pDP-TypeInformation PDP-TypeInformation OPTIONAL -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, userPlaneInformation UserPlaneInformation, + dataForwardingInformation TNLInformationEnhRelInfoReq OPTIONAL, + sourceSideIuULTNLInfo TNLInformationEnhRelInfoReq OPTIONAL, + + service-Handover Service-Handover OPTIONAL, + alt-RAB-Parameters Alt-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLInformationEnhRelInfoReq ::=SEQUENCE{ transportLayerAddress TransportLayerAddress, iuTransportAssociation IuTransportAssociation, - service-Handover Service-Handover OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} } OPTIONAL, ... } -RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { --- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- - {ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional} , --- Extension for Release 5 to enable GERAN support over Iu-cs -- +TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } + RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { ... } -- ************************************************************** -- --- RANAP ENHANCED RELOCATION INFORMATION RESPONSE ELEMENTARY PROCEDURE +-- RANAP Enhanced Relocation Information Response -- -- ************************************************************** RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL, ... } RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= { - { ID id-TargetRNC-ToSourceRNC-TransparentContainer + { ID id-Target-ToSource-TransparentContainer CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | { ID id-RAB-SetupList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-SetupList-EnhRelocInfoRes PRESENCE optional} | { ID id-RAB-FailedList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-FailedList-EnhRelocInfoRes PRESENCE optional }| @@ -2318,18 +2399,13 @@ RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= { RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE { cN-DomainIndicator CN-DomainIndicator, rAB-ID RAB-ID, - transportLayerAddress TransportLayerAddress OPTIONAL, - iuTransportAssociation IuTransportAssociation OPTIONAL, - iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL, + dataForwardingInformation TNLInformationEnhRelInfoRes OPTIONAL, + ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL, ... } RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { --- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- - {ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional } | --- Extension for Release 5 to allow transfer of a second pair of TLA and association -- - {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} | - {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional}, ... } @@ -2351,11 +2427,20 @@ RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE { RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } +TNLInformationEnhRelInfoRes ::=SEQUENCE{ + dl-forwardingTransportLayerAddress TransportLayerAddress, + dl-forwardingTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} } OPTIONAL, + ... +} -RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } +RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} -- ************************************************************** -- -- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE @@ -2369,8 +2454,8 @@ RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION : -- ************************************************************** RAB-ModifyRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL, ... } @@ -2414,8 +2499,8 @@ RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** LocationRelatedDataRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL, ... } @@ -2442,8 +2527,8 @@ LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** LocationRelatedDataResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL, ... } @@ -2466,8 +2551,8 @@ LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** LocationRelatedDataFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL, ... } @@ -2495,8 +2580,8 @@ LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** InformationTransferIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} }, - protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL, ... } @@ -2519,8 +2604,8 @@ InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** InformationTransferConfirmation ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} }, - protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL, ... } @@ -2545,8 +2630,8 @@ InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** InformationTransferFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL, ... } @@ -2578,8 +2663,8 @@ InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** UESpecificInformationIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} }, - protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL, ... } @@ -2605,22 +2690,22 @@ UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** DirectInformationTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} }, - protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL, ... } DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= { - { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } | - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } | - { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional }, + { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional }, ... } DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 7 to indicate extended RNC-ID -- - { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, ... } @@ -2646,9 +2731,9 @@ UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= { { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory } | { ID id-InformationExchangeType CRITICALITY reject TYPE InformationExchangeType PRESENCE mandatory } | { ID id-InformationTransferType CRITICALITY reject TYPE InformationTransferType PRESENCE conditional - -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } | + -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } | { ID id-InformationRequestType CRITICALITY reject TYPE InformationRequestType PRESENCE conditional - -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } | + -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } | { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory }, ... @@ -2692,8 +2777,8 @@ UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { -- ************************************************************** UplinkInformationExchangeFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL, + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL, ... } @@ -2730,9 +2815,9 @@ MBMSSessionStart ::= SEQUENCE { MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= { { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | - { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } | + { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } | { ID id-MBMSBearerServiceType CRITICALITY reject TYPE MBMSBearerServiceType PRESENCE mandatory } | - { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }| + { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }| { ID id-RAB-Parameters CRITICALITY reject TYPE RAB-Parameters PRESENCE mandatory } | { ID id-PDP-TypeInformation CRITICALITY ignore TYPE PDP-TypeInformation PRESENCE optional } | { ID id-MBMSSessionDuration CRITICALITY reject TYPE MBMSSessionDuration PRESENCE mandatory } | @@ -2747,7 +2832,20 @@ MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= { MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= { -- Extension for Release 6 to enable MBMS counting in broadcast mode -- - { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional }, + { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional } | + { ID id-MBMSSynchronisationInformation CRITICALITY ignore EXTENSION MBMSSynchronisationInformation PRESENCE optional }, + ... +} + +MBMSSynchronisationInformation ::= SEQUENCE { + mBMSHCIndicator MBMSHCIndicator, + iPMulticastAddress IPMulticastAddress, + gTPDLTEID GTP-TEI, + iE-Extensions ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} } OPTIONAL, + ... +} + +MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { ... } @@ -3015,9 +3113,9 @@ MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= { { ID id-MBMSRegistrationRequestType CRITICALITY reject TYPE MBMSRegistrationRequestType PRESENCE mandatory } | { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | { ID id-IPMulticastAddress CRITICALITY reject TYPE IPMulticastAddress PRESENCE conditional - -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | + -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | { ID id-APN CRITICALITY reject TYPE APN PRESENCE conditional - -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | + -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE optional }, ... } @@ -3228,6 +3326,58 @@ MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { ... } +-- ************************************************************** +-- +-- SRVCC PREPARATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRVCC CS Keys Request +-- +-- ************************************************************** + +SRVCC-CSKeysRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRVCC-CSKeysRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysRequestExtensions} } OPTIONAL, + ... +} + +SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= { + ... +} + +SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRVCC CS Keys Response +-- +-- ************************************************************** + +SRVCC-CSKeysResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRVCC-CSKeysResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysResponseExtensions} } OPTIONAL, + ... +} + +SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-IntegrityProtectionKey CRITICALITY reject TYPE IntegrityProtectionKey PRESENCE mandatory }| + { ID id-EncryptionKey CRITICALITY reject TYPE EncryptionKey PRESENCE mandatory }| + { ID id-SRVCC-Information CRITICALITY reject TYPE SRVCC-Information PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + END + + diff --git a/asn1/ranap/RANAP-PDU-Descriptions.asn b/asn1/ranap/RANAP-PDU-Descriptions.asn index b4c5d0240e..a7f4aded76 100644 --- a/asn1/ranap/RANAP-PDU-Descriptions.asn +++ b/asn1/ranap/RANAP-PDU-Descriptions.asn @@ -1,7 +1,7 @@ -- RANAP-PDU-Descriptions.asn -- --- Taken from 3GPP TS 25.413 V8.0.1 (2008-09) --- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-801.zip +-- Taken from 3GPP TS 25.413 V8.2.1 (2009-03) +-- http://www.3gpp.org/ftp/Specs/archive/25_series/25.413/25413-821.zip -- -- 9.3.2 Elementary Procedure Definitions -- @@ -14,7 +14,7 @@ -- -- ************************************************************** -RANAP-PDU-Descriptions { +RANAP-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)} @@ -110,7 +110,9 @@ FROM RANAP-CommonDataTypes MBMSRABEstablishmentIndication, MBMSRABReleaseRequest, MBMSRABRelease, - MBMSRABReleaseFailure + MBMSRABReleaseFailure, + SRVCC-CSKeysRequest, + SRVCC-CSKeysResponse FROM RANAP-PDU-Contents id-LocationRelatedData, @@ -157,7 +159,8 @@ FROM RANAP-PDU-Contents id-MBMSRegistration, id-MBMSCNDe-Registration-Procedure, id-MBMSRABEstablishmentIndication, - id-MBMSRABRelease + id-MBMSRABRelease, + id-SRVCCPreparation FROM RANAP-Constants; @@ -258,8 +261,8 @@ RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= { mBMSCNDe-Registration | mBMSRABRelease | enhancedRelocationComplete | - rANAP-enhancedRelocation -} + rANAP-enhancedRelocation | + sRVCCPreparation} RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= { rAB-ReleaseRequest | @@ -603,6 +606,14 @@ rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= { CRITICALITY reject } +sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRVCC-CSKeysRequest + OUTCOME SRVCC-CSKeysResponse + PROCEDURE CODE id-SRVCCPreparation + CRITICALITY reject +} + END + diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c index f9eb6be7ff..9d62d9f60b 100644 --- a/asn1/ranap/packet-ranap-template.c +++ b/asn1/ranap/packet-ranap-template.c @@ -57,6 +57,9 @@ #define PSNAME "RANAP" #define PFNAME "ranap" +/* Higest Ranap_ProcedureCode_value, use in heuristics */ +#define RANAP_MAX_PC 45 /* id_RANAPenhancedRelocation = 45 */ + #include "packet-ranap-val.h" /* Initialize the protocol and registered fields */ @@ -66,10 +69,14 @@ static int proto_ranap = -1; static dissector_handle_t rrc_handle = NULL; static int hf_ranap_imsi_digits = -1; +static int hf_ranap_transportLayerAddress_ipv4 = -1; +static int hf_ranap_transportLayerAddress_ipv6 = -1; + #include "packet-ranap-hf.c" /* Initialize the subtree pointers */ static int ett_ranap = -1; +static int ett_ranap_TransportLayerAddress = -1; #include "packet-ranap-ett.c" @@ -126,12 +133,12 @@ static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto int ret; - ret = (dissector_try_port(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + ret = (dissector_try_port_new(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; if (ret == 0) { int key = pdu_type || ProtocolIE_ID; - ret = (dissector_try_port(ranap_ies_dissector_table, key, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + ret = (dissector_try_port_new(ranap_ies_dissector_table, key, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } @@ -140,41 +147,41 @@ static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { pdu_type = IMSG; - return (dissector_try_port(ranap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; pdu_type = 0; } static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { pdu_type = SOUT; - return (dissector_try_port(ranap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; pdu_type = 0; } static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static void @@ -207,6 +214,44 @@ dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } } +static gboolean +dissect_sccp_ranap_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + guint8 temp; + asn1_ctx_t asn1_ctx; + guint length; + int offset; + + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + + /* Is it a ranap packet? + * + * 4th octet should be the length of the rest of the message. + * 2nd octet is the message-type e Z[0, 28] + * (obviously there must be at least four octets) + * + * If both hold true we'll assume its RANAP + */ + + #define LENGTH_OFFSET 3 + #define MSG_TYPE_OFFSET 1 + if (tvb_length(tvb) < 4) { return FALSE; } + /*if (tvb_get_guint8(tvb, LENGTH_OFFSET) != (tvb_length(tvb) - 4)) { return FALSE; }*/ + /* Read the length NOTE offset in bits */ + offset = dissect_per_length_determinant(tvb, LENGTH_OFFSET<<3, &asn1_ctx, tree, -1, &length); + offset = offset>>3; + if (length!= (tvb_length(tvb) - offset)){ + return FALSE; + } + + temp = tvb_get_guint8(tvb, MSG_TYPE_OFFSET); + if (temp > RANAP_MAX_PC) { return FALSE; } + + dissect_ranap(tvb, pinfo, tree); + + return TRUE; +} + /*--- proto_register_ranap -------------------------------------------*/ void proto_register_ranap(void) { module_t *ranap_module; @@ -218,6 +263,15 @@ void proto_register_ranap(void) { { "IMSI digits", "ranap.imsi_digits", FT_STRING, BASE_NONE, NULL, 0, "IMSI digits", HFILL }}, + { &hf_ranap_transportLayerAddress_ipv4, + { "transportLayerAddress IPv4", "ranap.transportLayerAddress_ipv4", + FT_IPv4, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_ranap_transportLayerAddress_ipv6, + { "transportLayerAddress IPv6", "ranap.transportLayerAddress_ipv6", + FT_IPv6, BASE_NONE, NULL, 0, + NULL, HFILL }}, + #include "packet-ranap-hfarr.c" }; @@ -225,6 +279,7 @@ void proto_register_ranap(void) { /* List of subtrees */ static gint *ett[] = { &ett_ranap, + &ett_ranap_TransportLayerAddress, #include "packet-ranap-ettarr.c" }; @@ -276,7 +331,12 @@ proto_reg_handoff_ranap(void) dissector_add("sccp.ssn", global_ranap_sccp_ssn, ranap_handle); local_ranap_sccp_ssn = global_ranap_sccp_ssn; - + /* Add heuristic dissector + * Perhaps we want a preference whether the heuristic dissector + * is or isn't enabled + */ + heur_dissector_add("sccp", dissect_sccp_ranap_heur, proto_ranap); + heur_dissector_add("sua", dissect_sccp_ranap_heur, proto_ranap); } diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf index 575544e45f..e14b07fb23 100644 --- a/asn1/ranap/ranap.cnf +++ b/asn1/ranap/ranap.cnf @@ -32,8 +32,16 @@ ProtocolError-IE-ContainerList #.TYPE_RENAME +InitiatingMessage/value InitiatingMessage_value +SuccessfulOutcome/value SuccessfulOutcome_value +UnsuccessfulOutcome/value UnsuccessfulOutcome_value + #.FIELD_RENAME +InitiatingMessage/value initiatingMessagevalue +UnsuccessfulOutcome/value unsuccessfulOutcome_value +SuccessfulOutcome/value successfulOutcome_value + SDU-ErrorRatio/exponent exponent_1_8 PrivateIE-Field/id private_id @@ -225,6 +233,27 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound") # if (parameter_tvb) # dissect_gtp_mbms_ses_dur(parameter_tvb, actx->pinfo, tree); +#.FN_BODY TransportLayerAddress VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb=NULL; + proto_tree *subtree; + gint tvb_len; + +%(DEFAULT_BODY)s + if (!parameter_tvb) + return offset; +# TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...)) +# Asume 4 bytes used in case of IPv4 + /* Get the length */ + tvb_len = tvb_length(parameter_tvb); + subtree = proto_item_add_subtree(actx->created_item, ett_ranap_TransportLayerAddress); + if (tvb_len==4){ + /* IPv4 */ + proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv4, tvb, 0, tvb_len, FALSE); + } + if (tvb_len==16){ + /* IPv6 */ + proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv6, tvb, 0, tvb_len, FALSE); + } #.TYPE_ATTR ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ranap_ProtocolIE_ID_vals) @@ -276,6 +305,7 @@ id-MBMSRABRelease ProcedureCode id-enhancedRelocationComplete ProcedureCode id-enhancedRelocationCompleteConfirm ProcedureCode id-RANAPenhancedRelocation ProcedureCode +id-SRVCCPreparation ProcedureCode # ProtocolIE-ID id-AreaIdentity ProtocolIE-ID @@ -337,9 +367,9 @@ id-RequestType ProtocolIE-ID id-SAI ProtocolIE-ID id-SAPI ProtocolIE-ID id-SourceID ProtocolIE-ID -id-SourceRNC-ToTargetRNC-TransparentContainer ProtocolIE-ID +id-Source-ToTarget-TransparentContainer ProtocolIE-ID id-TargetID ProtocolIE-ID -id-TargetRNC-ToSourceRNC-TransparentContainer ProtocolIE-ID +id-Target-ToSource-TransparentContainer ProtocolIE-ID id-TemporaryUE-ID ProtocolIE-ID id-TraceReference ProtocolIE-ID id-TraceType ProtocolIE-ID @@ -469,6 +499,37 @@ id-RAB-SetupItem-EnhRelocInfoRes ProtocolIE-ID id-OldIuSigConId ProtocolIE-ID id-RAB-FailedList-EnhRelocInfoRes ProtocolIE-ID id-RAB-FailedItem-EnhRelocInfoRes ProtocolIE-ID + +id-Global-ENB-ID ProtocolIE-ID +id-UE-History-Information ProtocolIE-ID +id-MBMSSynchronisationInformation ProtocolIE-ID +id-SubscriberProfileIDforRFP ProtocolIE-ID +id-CSG-Id ProtocolIE-ID +id-OldIuSigConIdCS ProtocolIE-ID +id-OldIuSigConIdPS ProtocolIE-ID +id-GlobalCN-IDCS ProtocolIE-ID +id-GlobalCN-IDPS ProtocolIE-ID +id-SourceExtendedRNC-ID ProtocolIE-ID +id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ProtocolIE-ID +id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes ProtocolIE-ID +id-SourceRNC-ID ProtocolIE-ID +id-Relocation-TargetRNC-ID ProtocolIE-ID +id-Relocation-TargetExtendedRNC-ID ProtocolIE-ID +id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ProtocolIE-ID +id-Alt-RAB-Parameter-SupportedMaxBitrateInf ProtocolIE-ID +id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList ProtocolIE-ID +id-Ass-RAB-Parameter-SupportedMaxBitrateList ProtocolIE-ID +id-RAB-Parameter-SupportedGuaranteedBitrateList ProtocolIE-ID +id-RAB-Parameter-SupportedMaxBitrateList ProtocolIE-ID +id-Requested-RAB-Parameter-SupportedMaxBitrateList ProtocolIE-ID +id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList ProtocolIE-ID +id-Relocation-SourceRNC-ID ProtocolIE-ID +id-Relocation-SourceExtendedRNC-ID ProtocolIE-ID +id-EncryptionKey ProtocolIE-ID +id-IntegrityProtectionKey ProtocolIE-ID +id-SRVCC-HO-Indication ProtocolIE-ID +id-SRVCC-Information ProtocolIE-ID +id-SRVCC-Operation-Possible ProtocolIE-ID #.END #.REGISTER_NEW @@ -482,9 +543,9 @@ RAB-DataVolumeReportItem N ranap.ies id-RAB-DataVolumeReportItem RAB-ReleasedItem-IuRelComp N ranap.ies id-RAB-ReleasedItem-IuRelComp RelocationType N ranap.ies id-RelocationType SourceID N ranap.ies id-SourceID -SourceRNC-ToTargetRNC-TransparentContainer N ranap.ies id-SourceRNC-ToTargetRNC-TransparentContainer +SourceRNC-ToTargetRNC-TransparentContainer N ranap.ies id-Source-ToTarget-TransparentContainer TargetID N ranap.ies id-TargetID -TargetRNC-ToSourceRNC-TransparentContainer N ranap.ies id-TargetRNC-ToSourceRNC-TransparentContainer +TargetRNC-ToSourceRNC-TransparentContainer N ranap.ies id-Target-ToSource-TransparentContainer ClassmarkInformation2 N ranap.ies id-ClassmarkInformation2 ClassmarkInformation3 N ranap.ies id-ClassmarkInformation3 OldBSS-ToNewBSS-Information N ranap.ies id-OldBSS-ToNewBSS-Information @@ -552,20 +613,20 @@ RAB-ReleasedList N ranap.ies id-RAB-ReleasedList RAB-QueuedList N ranap.ies id-RAB-QueuedList RAB-ReleaseFailedList N ranap.ies id-RAB-ReleaseFailedList RAB-SetupOrModifiedItem N ranap.ies id-RAB-SetupOrModifiedItem -RAB-ReleasedItem N ranap.ies id-RAB-ReleasedItem -RAB-QueuedItem N ranap.ies id-RAB-QueuedItem +RAB-ReleasedItem N ranap.ies id-RAB-ReleasedItem +RAB-QueuedItem N ranap.ies id-RAB-QueuedItem GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item N ranap.ies id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item -RAB-ContextList-RANAP-RelocInf N ranap.ies id-RAB-ContextList-RANAP-RelocInf -RAB-ContextItem-RANAP-RelocInf N ranap.ies id-RAB-ContextItem-RANAP-RelocInf -RAB-ModifyList N ranap.ies id-RAB-ModifyList -RAB-ModifyItem N ranap.ies id-RAB-ModifyItem -LocationRelatedDataRequestType N ranap.ies id-LocationRelatedDataRequestType -BroadcastAssistanceDataDecipheringKeys N ranap.ies id-BroadcastAssistanceDataDecipheringKeys -InformationTransferID N ranap.ies id-InformationTransferID -ProvidedData N ranap.ies id-ProvidedData -GlobalCN-ID N ranap.ies id-GlobalCN-ID -UESBI-Iu N ranap.ies id-UESBI-Iu -InterSystemInformationTransferType N ranap.ies id-InterSystemInformationTransferType +RAB-ContextList-RANAP-RelocInf N ranap.ies id-RAB-ContextList-RANAP-RelocInf +RAB-ContextItem-RANAP-RelocInf N ranap.ies id-RAB-ContextItem-RANAP-RelocInf +RAB-ModifyList N ranap.ies id-RAB-ModifyList +RAB-ModifyItem N ranap.ies id-RAB-ModifyItem +LocationRelatedDataRequestType N ranap.ies id-LocationRelatedDataRequestType +BroadcastAssistanceDataDecipheringKeys N ranap.ies id-BroadcastAssistanceDataDecipheringKeys +InformationTransferID N ranap.ies id-InformationTransferID +ProvidedData N ranap.ies id-ProvidedData +GlobalCN-ID N ranap.ies id-GlobalCN-ID +UESBI-Iu N ranap.ies id-UESBI-Iu +InterSystemInformationTransferType N ranap.ies id-InterSystemInformationTransferType InformationExchangeID N ranap.ies id-InformationExchangeID InformationExchangeType N ranap.ies id-InformationExchangeType InformationTransferType N ranap.ies id-InformationTransferType @@ -585,95 +646,126 @@ TimeToMBMSDataTransfer N ranap.ies id-TimeToMBMSDataTransfer TransportLayerInformation N ranap.ies id-TransportLayerInformation SessionUpdateID N ranap.ies id-SessionUpdateID DeltaRAListofIdleModeUEs N ranap.ies id-DeltaRAListofIdleModeUEs -MBMSCNDe-Registration N ranap.ies id-MBMSCNDe-Registration -JoinedMBMSBearerService-IEs N ranap.ies id-JoinedMBMSBearerServicesList -LeftMBMSBearerService-IEs N ranap.ies id-LeftMBMSBearerServicesList -UnsuccessfulLinking-IEs N ranap.ies id-UnsuccessfulLinkingList -MBMSRegistrationRequestType N ranap.ies id-MBMSRegistrationRequestType -IPMulticastAddress N ranap.ies id-IPMulticastAddress -APN N ranap.ies id-APN -RAB-SetupList-EnhancedRelocCompleteReq N ranap.ies id-RAB-SetupList-EnhancedRelocCompleteReq -RAB-SetupItem-EnhancedRelocCompleteReq N ranap.ies id-RAB-SetupItem-EnhancedRelocCompleteReq -RAB-SetupList-EnhancedRelocCompleteRes N ranap.ies id-RAB-SetupList-EnhancedRelocCompleteRes -RAB-SetupItem-EnhancedRelocCompleteRes N ranap.ies id-RAB-SetupItem-EnhancedRelocCompleteRes -RAB-SetupList-EnhRelocInfoReq N ranap.ies id-RAB-SetupList-EnhRelocInfoReq -RAB-SetupItem-EnhRelocInfoReq N ranap.ies id-RAB-SetupItem-EnhRelocInfoReq -RAB-SetupList-EnhRelocInfoRes N ranap.ies id-RAB-SetupList-EnhRelocInfoRes -RAB-SetupItem-EnhRelocInfoRes N ranap.ies id-RAB-SetupItem-EnhRelocInfoRes -IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConId -RAB-FailedList-EnhRelocInfoRes N ranap.ies id-RAB-FailedList-EnhRelocInfoRes -RAB-FailedItem-EnhRelocInfoRes N ranap.ies id-RAB-FailedItem-EnhRelocInfoRes +MBMSCNDe-Registration N ranap.ies id-MBMSCNDe-Registration +JoinedMBMSBearerService-IEs N ranap.ies id-JoinedMBMSBearerServicesList +LeftMBMSBearerService-IEs N ranap.ies id-LeftMBMSBearerServicesList +UnsuccessfulLinking-IEs N ranap.ies id-UnsuccessfulLinkingList +MBMSRegistrationRequestType N ranap.ies id-MBMSRegistrationRequestType +IPMulticastAddress N ranap.ies id-IPMulticastAddress +APN N ranap.ies id-APN +RAB-SetupList-EnhancedRelocCompleteReq N ranap.ies id-RAB-SetupList-EnhancedRelocCompleteReq +RAB-SetupItem-EnhancedRelocCompleteReq N ranap.ies id-RAB-SetupItem-EnhancedRelocCompleteReq +RAB-SetupList-EnhancedRelocCompleteRes N ranap.ies id-RAB-SetupList-EnhancedRelocCompleteRes +RAB-SetupItem-EnhancedRelocCompleteRes N ranap.ies id-RAB-SetupItem-EnhancedRelocCompleteRes +RAB-SetupList-EnhRelocInfoReq N ranap.ies id-RAB-SetupList-EnhRelocInfoReq +RAB-SetupItem-EnhRelocInfoReq N ranap.ies id-RAB-SetupItem-EnhRelocInfoReq +RAB-SetupList-EnhRelocInfoRes N ranap.ies id-RAB-SetupList-EnhRelocInfoRes +RAB-SetupItem-EnhRelocInfoRes N ranap.ies id-RAB-SetupItem-EnhRelocInfoRes +IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConId +RAB-FailedList-EnhRelocInfoRes N ranap.ies id-RAB-FailedList-EnhRelocInfoRes +RAB-FailedItem-EnhRelocInfoRes N ranap.ies id-RAB-FailedItem-EnhRelocInfoRes +IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConIdCS +IuSignallingConnectionIdentifier N ranap.ies id-OldIuSigConIdPS +GlobalCN-ID N ranap.ies id-GlobalCN-IDCS +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes N ranap.ies id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes +RAB-ToBeReleasedList-EnhancedRelocCompleteRes N ranap.ies id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes +GlobalRNC-ID N ranap.ies id-Relocation-TargetRNC-ID +ExtendedRNC-ID N ranap.ies id-Relocation-TargetExtendedRNC-ID +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf N ranap.ies id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf +Alt-RAB-Parameter-SupportedMaxBitrateInf N ranap.ies id-Alt-RAB-Parameter-SupportedMaxBitrateInf +GlobalRNC-ID N ranap.ies id-Relocation-SourceRNC-ID +ExtendedRNC-ID N ranap.ies id-Relocation-SourceExtendedRNC-ID +EncryptionKey N ranap.ies id-EncryptionKey +IntegrityProtectionKey N ranap.ies id-IntegrityProtectionKey +SRVCC-Information N ranap.ies id-SRVCC-Information #RANAP-PROTOCOL-IES-PAIR -RAB-SetupOrModifyItemFirst N ranap.ies.pair.first id-RAB-SetupOrModifyItem -RAB-SetupOrModifyItemSecond N ranap.ies.pair.second id-RAB-SetupOrModifyItem +RAB-SetupOrModifyItemFirst N ranap.ies.pair.first id-RAB-SetupOrModifyItem +RAB-SetupOrModifyItemSecond N ranap.ies.pair.second id-RAB-SetupOrModifyItem #RANAP-PROTOCOL-EXTENSION -RAB-Parameters N ranap.extension id-AlternativeRABConfiguration -Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N ranap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf -Alt-RAB-Parameter-ExtendedMaxBitrateInf N ranap.extension id-Alt-RAB-Parameter-ExtendedMaxBitrateInf -Ass-RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList -Ass-RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-Ass-RAB-Parameter-ExtendedMaxBitrateList -MessageStructure N ranap.extension id-MessageStructure -TypeOfError N ranap.extension id-TypeOfError -RAC N ranap.extension id-RAC -LAListofIdleModeUEs N ranap.extension id-newLAListofIdleModeUEs -LAListofIdleModeUEs N ranap.extension id-LAListwithNoIdleModeUEsAnyMore -GANSS-PositioningDataSet N ranap.extension id-GANSS-PositioningDataSet -SignallingIndication N ranap.extension id-SignallingIndication -RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-RAB-Parameter-ExtendedGuaranteedBitrateList -RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-RAB-Parameter-ExtendedMaxBitrateList -CN-DomainIndicator N ranap.extension id-CN-DomainIndicator -LAListofIdleModeUEs N ranap.extension id-LAofIdleModeUEs -AlternativeRABConfigurationRequest N ranap.extension id-AlternativeRABConfigurationRequest -Requested-RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-Requested-RAB-Parameter-ExtendedMaxBitrateList -Requested-RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList -ExtendedRNC-ID N ranap.extension id-ExtendedRNC-ID -SRB-TrCH-Mapping N ranap.extension id-SRB-TrCH-Mapping -CellLoadInformationGroup N ranap.extension id-CellLoadInformationGroup -TraceRecordingSessionInformation N ranap.extension id-TraceRecordingSessionInformation -MBMSLinkingInformation N ranap.extension id-MBMSLinkingInformation -HS-DSCH-MAC-d-Flow-ID N ranap.extension id-hS-DSCH-MAC-d-Flow-ID -E-DCH-MAC-d-Flow-ID N ranap.extension id-E-DCH-MAC-d-Flow-ID -GERAN-Classmark N ranap.extension id-GERAN-Classmark -SourceBSS-ToTargetBSS-TransparentContainer N ranap.extension id-SourceBSS-ToTargetBSS-TransparentContainer -TransportLayerAddress N ranap.extension id-TransportLayerAddress -IuTransportAssociation N ranap.extension id-IuTransportAssociation -InterSystemInformation-TransparentContainer N ranap.extension id-InterSystemInformation-TransparentContainer -TargetBSS-ToSourceBSS-TransparentContainer N ranap.extension id-TargetBSS-ToSourceBSS-TransparentContainer -Alt-RAB-Parameters N ranap.extension id-Alt-RAB-Parameters -GERAN-BSC-Container N ranap.extension id-GERAN-BSC-Container -GlobalCN-ID N ranap.extension id-GlobalCN-ID -SNA-Access-Information N ranap.extension id-SNA-Access-Information -UESBI-Iu N ranap.extension id-UESBI-Iu -PLMNidentity N ranap.extension id-SelectedPLMN-ID -CNMBMSLinkingInformation N ranap.extension id-CNMBMSLinkingInformation -Ass-RAB-Parameters N ranap.extension id-Ass-RAB-Parameters -NewBSS-To-OldBSS-Information N ranap.extension id-NewBSS-To-OldBSS-Information -RAT-Type N ranap.extension id-RAT-Type -TracePropagationParameters N ranap.extension id-TracePropagationParameters -VerticalAccuracyCode N ranap.extension id-VerticalAccuracyCode -ResponseTime N ranap.extension id-ResponseTime -PositioningPriority N ranap.extension id-PositioningPriority -ClientType N ranap.extension id-ClientType -IncludeVelocity N ranap.extension id-IncludeVelocity -PeriodicLocationInfo N ranap.extension id-PeriodicLocationInfo -LastKnownServiceArea N ranap.extension id-LastKnownServiceArea -PositionData N ranap.extension id-PositionData -PositionDataSpecificToGERANIuMode N ranap.extension id-PositionDataSpecificToGERANIuMode -AccuracyFulfilmentIndicator N ranap.extension id-AccuracyFulfilmentIndicator -VelocityEstimate N ranap.extension id-VelocityEstimate -PermanentNAS-UE-ID N ranap.extension id-PermanentNAS-UE-ID -NAS-SequenceNumber N ranap.extension id-NAS-SequenceNumber -RedirectAttemptFlag N ranap.extension id-RedirectAttemptFlag -RedirectionIndication N ranap.extension id-RedirectionIndication -RedirectionCompleted N ranap.extension id-RedirectionCompleted -RRC-Container N ranap.extension id-SourceRNC-PDCP-context-info -GERAN-Iumode-RAB-FailedList-RABAssgntResponse N ranap.extension id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse +RAB-Parameters N ranap.extension id-AlternativeRABConfiguration +Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N ranap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf +Alt-RAB-Parameter-ExtendedMaxBitrateInf N ranap.extension id-Alt-RAB-Parameter-ExtendedMaxBitrateInf +Ass-RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList +Ass-RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-Ass-RAB-Parameter-ExtendedMaxBitrateList +MessageStructure N ranap.extension id-MessageStructure +TypeOfError N ranap.extension id-TypeOfError +RAC N ranap.extension id-RAC +LAListofIdleModeUEs N ranap.extension id-newLAListofIdleModeUEs +LAListofIdleModeUEs N ranap.extension id-LAListwithNoIdleModeUEsAnyMore +GANSS-PositioningDataSet N ranap.extension id-GANSS-PositioningDataSet +SignallingIndication N ranap.extension id-SignallingIndication +RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-RAB-Parameter-ExtendedGuaranteedBitrateList +RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-RAB-Parameter-ExtendedMaxBitrateList +CN-DomainIndicator N ranap.extension id-CN-DomainIndicator +LAListofIdleModeUEs N ranap.extension id-LAofIdleModeUEs +AlternativeRABConfigurationRequest N ranap.extension id-AlternativeRABConfigurationRequest +Requested-RAB-Parameter-ExtendedMaxBitrateList N ranap.extension id-Requested-RAB-Parameter-ExtendedMaxBitrateList +Requested-RAB-Parameter-ExtendedGuaranteedBitrateList N ranap.extension id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList +ExtendedRNC-ID N ranap.extension id-ExtendedRNC-ID +SRB-TrCH-Mapping N ranap.extension id-SRB-TrCH-Mapping +CellLoadInformationGroup N ranap.extension id-CellLoadInformationGroup +TraceRecordingSessionInformation N ranap.extension id-TraceRecordingSessionInformation +MBMSLinkingInformation N ranap.extension id-MBMSLinkingInformation +HS-DSCH-MAC-d-Flow-ID N ranap.extension id-hS-DSCH-MAC-d-Flow-ID +E-DCH-MAC-d-Flow-ID N ranap.extension id-E-DCH-MAC-d-Flow-ID +GERAN-Classmark N ranap.extension id-GERAN-Classmark +SourceBSS-ToTargetBSS-TransparentContainer N ranap.extension id-SourceBSS-ToTargetBSS-TransparentContainer +TransportLayerAddress N ranap.extension id-TransportLayerAddress +IuTransportAssociation N ranap.extension id-IuTransportAssociation +InterSystemInformation-TransparentContainer N ranap.extension id-InterSystemInformation-TransparentContainer +TargetBSS-ToSourceBSS-TransparentContainer N ranap.extension id-TargetBSS-ToSourceBSS-TransparentContainer +Alt-RAB-Parameters N ranap.extension id-Alt-RAB-Parameters +GERAN-BSC-Container N ranap.extension id-GERAN-BSC-Container +GlobalCN-ID N ranap.extension id-GlobalCN-ID +SNA-Access-Information N ranap.extension id-SNA-Access-Information +UESBI-Iu N ranap.extension id-UESBI-Iu +PLMNidentity N ranap.extension id-SelectedPLMN-ID +CNMBMSLinkingInformation N ranap.extension id-CNMBMSLinkingInformation +Ass-RAB-Parameters N ranap.extension id-Ass-RAB-Parameters +NewBSS-To-OldBSS-Information N ranap.extension id-NewBSS-To-OldBSS-Information +RAT-Type N ranap.extension id-RAT-Type +TracePropagationParameters N ranap.extension id-TracePropagationParameters +VerticalAccuracyCode N ranap.extension id-VerticalAccuracyCode +ResponseTime N ranap.extension id-ResponseTime +PositioningPriority N ranap.extension id-PositioningPriority +ClientType N ranap.extension id-ClientType +IncludeVelocity N ranap.extension id-IncludeVelocity +PeriodicLocationInfo N ranap.extension id-PeriodicLocationInfo +LastKnownServiceArea N ranap.extension id-LastKnownServiceArea +PositionData N ranap.extension id-PositionData +PositionDataSpecificToGERANIuMode N ranap.extension id-PositionDataSpecificToGERANIuMode +AccuracyFulfilmentIndicator N ranap.extension id-AccuracyFulfilmentIndicator +VelocityEstimate N ranap.extension id-VelocityEstimate +PermanentNAS-UE-ID N ranap.extension id-PermanentNAS-UE-ID +NAS-SequenceNumber N ranap.extension id-NAS-SequenceNumber +RedirectAttemptFlag N ranap.extension id-RedirectAttemptFlag +RedirectionIndication N ranap.extension id-RedirectionIndication +RedirectionCompleted N ranap.extension id-RedirectionCompleted +RRC-Container N ranap.extension id-SourceRNC-PDCP-context-info +GERAN-Iumode-RAB-FailedList-RABAssgntResponse N ranap.extension id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse LocationRelatedDataRequestTypeSpecificToGERANIuMode N ranap.extension id-LocationRelatedDataRequestTypeSpecificToGERANIuMode -RequestedGANSSAssistanceData N ranap.extension id-RequestedGANSSAssistanceData -CriticalityDiagnostics N ranap.extension id-CriticalityDiagnostics -MBMSCountingInformation N ranap.extension id-MBMSCountingInformation +RequestedGANSSAssistanceData N ranap.extension id-RequestedGANSSAssistanceData +CriticalityDiagnostics N ranap.extension id-CriticalityDiagnostics +MBMSCountingInformation N ranap.extension id-MBMSCountingInformation + +#N ranap.ies id-Global-ENB-ID +UE-History-Information N ranap.extension id-UE-History-Information +MBMSSynchronisationInformation N ranap.extension id-MBMSSynchronisationInformation +SubscriberProfileIDforRFP N ranap.extension id-SubscriberProfileIDforRFP +CSG-Id N ranap.extension id-CSG-Id +#N ranap.extension id-GlobalCN-IDPS +#N ranap.extension id-SourceExtendedRNC-ID +#N ranap.extension id-SourceRNC-ID +SupportedRAB-ParameterBitrateList N ranap.extension id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList +SupportedRAB-ParameterBitrateList N ranap.extension id-Ass-RAB-Parameter-SupportedMaxBitrateList +SupportedRAB-ParameterBitrateList N ranap.extension id-RAB-Parameter-SupportedGuaranteedBitrateList +SupportedRAB-ParameterBitrateList N ranap.extension id-RAB-Parameter-SupportedMaxBitrateList +SupportedRAB-ParameterBitrateList N ranap.extension id-Requested-RAB-Parameter-SupportedMaxBitrateList +SupportedRAB-ParameterBitrateList N ranap.extension id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList +SRVCC-HO-Indication N ranap.extension id-SRVCC-HO-Indication +#N ranap.extension id-SRVCC-Operation-Possible #NBAP-ELEMENTARY-PROCEDURE Iu-ReleaseCommand N ranap.proc.imsg id-Iu-Release @@ -754,4 +846,8 @@ EnhancedRelocationCompleteFailure N ranap.proc.uout id-enhancedRelocationCompl EnhancedRelocationCompleteConfirm N ranap.proc.imsg id-enhancedRelocationCompleteConfirm RANAP-EnhancedRelocationInformationRequest N ranap.proc.imsg id-RANAPenhancedRelocation RANAP-EnhancedRelocationInformationResponse N ranap.proc.sout id-RANAPenhancedRelocation + +SRVCC-CSKeysRequest N ranap.proc.imsg id-SRVCCPreparation +SRVCC-CSKeysResponse N ranap.proc.out id-SRVCCPreparation + #.END
\ No newline at end of file diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c index 2ee9dfdddf..cc69b01ba8 100644 --- a/epan/dissectors/packet-ranap.c +++ b/epan/dissectors/packet-ranap.c @@ -65,6 +65,9 @@ #define PSNAME "RANAP" #define PFNAME "ranap" +/* Higest Ranap_ProcedureCode_value, use in heuristics */ +#define RANAP_MAX_PC 45 /* id_RANAPenhancedRelocation = 45 */ + /*--- Included file: packet-ranap-val.h ---*/ #line 1 "packet-ranap-val.h" @@ -145,7 +148,8 @@ typedef enum _ProcedureCode_enum { id_MBMSRABRelease = 42, id_enhancedRelocationComplete = 43, id_enhancedRelocationCompleteConfirm = 44, - id_RANAPenhancedRelocation = 45 + id_RANAPenhancedRelocation = 45, + id_SRVCCPreparation = 256 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -208,9 +212,9 @@ typedef enum _ProtocolIE_ID_enum { id_SAI = 58, id_SAPI = 59, id_SourceID = 60, - id_SourceRNC_ToTargetRNC_TransparentContainer = 61, + id_Source_ToTarget_TransparentContainer = 61, id_TargetID = 62, - id_TargetRNC_ToSourceRNC_TransparentContainer = 63, + id_Target_ToSource_TransparentContainer = 63, id_TemporaryUE_ID = 64, id_TraceReference = 65, id_TraceType = 66, @@ -339,11 +343,41 @@ typedef enum _ProtocolIE_ID_enum { id_RAB_SetupItem_EnhRelocInfoRes = 195, id_OldIuSigConId = 196, id_RAB_FailedList_EnhRelocInfoRes = 197, - id_RAB_FailedItem_EnhRelocInfoRes = 198 + id_RAB_FailedItem_EnhRelocInfoRes = 198, + id_Global_ENB_ID = 199, + id_UE_History_Information = 200, + id_MBMSSynchronisationInformation = 201, + id_SubscriberProfileIDforRFP = 202, + id_CSG_Id = 203, + id_OldIuSigConIdCS = 204, + id_OldIuSigConIdPS = 205, + id_GlobalCN_IDCS = 206, + id_GlobalCN_IDPS = 207, + id_SourceExtendedRNC_ID = 208, + id_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes = 209, + id_RAB_ToBeReleasedList_EnhancedRelocCompleteRes = 210, + id_SourceRNC_ID = 211, + id_Relocation_TargetRNC_ID = 212, + id_Relocation_TargetExtendedRNC_ID = 213, + id_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf = 214, + id_Alt_RAB_Parameter_SupportedMaxBitrateInf = 215, + id_Ass_RAB_Parameter_SupportedGuaranteedBitrateList = 216, + id_Ass_RAB_Parameter_SupportedMaxBitrateList = 217, + id_RAB_Parameter_SupportedGuaranteedBitrateList = 218, + id_RAB_Parameter_SupportedMaxBitrateList = 219, + id_Requested_RAB_Parameter_SupportedMaxBitrateList = 220, + id_Requested_RAB_Parameter_SupportedGuaranteedBitrateList = 221, + id_Relocation_SourceRNC_ID = 222, + id_Relocation_SourceExtendedRNC_ID = 223, + id_EncryptionKey = 224, + id_IntegrityProtectionKey = 225, + id_SRVCC_HO_Indication = 226, + id_SRVCC_Information = 227, + id_SRVCC_Operation_Possible = 228 } ProtocolIE_ID_enum; /*--- End of included file: packet-ranap-val.h ---*/ -#line 61 "packet-ranap-template.c" +#line 64 "packet-ranap-template.c" /* Initialize the protocol and registered fields */ static int proto_ranap = -1; @@ -352,13 +386,18 @@ static int proto_ranap = -1; static dissector_handle_t rrc_handle = NULL; static int hf_ranap_imsi_digits = -1; +static int hf_ranap_transportLayerAddress_ipv4 = -1; +static int hf_ranap_transportLayerAddress_ipv6 = -1; + /*--- Included file: packet-ranap-hf.c ---*/ #line 1 "packet-ranap-hf.c" static int hf_ranap_AccuracyFulfilmentIndicator_PDU = -1; /* AccuracyFulfilmentIndicator */ static int hf_ranap_Alt_RAB_Parameters_PDU = -1; /* Alt_RAB_Parameters */ static int hf_ranap_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_PDU = -1; /* Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf */ +static int hf_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_PDU = -1; /* Alt_RAB_Parameter_SupportedGuaranteedBitrateInf */ static int hf_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateInf_PDU = -1; /* Alt_RAB_Parameter_ExtendedMaxBitrateInf */ +static int hf_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf_PDU = -1; /* Alt_RAB_Parameter_SupportedMaxBitrateInf */ static int hf_ranap_AlternativeRABConfigurationRequest_PDU = -1; /* AlternativeRABConfigurationRequest */ static int hf_ranap_APN_PDU = -1; /* APN */ static int hf_ranap_AreaIdentity_PDU = -1; /* AreaIdentity */ @@ -376,10 +415,12 @@ static int hf_ranap_ChosenIntegrityProtectionAlgorithm_PDU = -1; /* ChosenInteg static int hf_ranap_ClassmarkInformation2_PDU = -1; /* ClassmarkInformation2 */ static int hf_ranap_ClassmarkInformation3_PDU = -1; /* ClassmarkInformation3 */ static int hf_ranap_CN_DomainIndicator_PDU = -1; /* CN_DomainIndicator */ +static int hf_ranap_CSG_Id_PDU = -1; /* CSG_Id */ static int hf_ranap_DeltaRAListofIdleModeUEs_PDU = -1; /* DeltaRAListofIdleModeUEs */ static int hf_ranap_DRX_CycleLengthCoefficient_PDU = -1; /* DRX_CycleLengthCoefficient */ static int hf_ranap_E_DCH_MAC_d_Flow_ID_PDU = -1; /* E_DCH_MAC_d_Flow_ID */ static int hf_ranap_EncryptionInformation_PDU = -1; /* EncryptionInformation */ +static int hf_ranap_EncryptionKey_PDU = -1; /* EncryptionKey */ static int hf_ranap_ExtendedRNC_ID_PDU = -1; /* ExtendedRNC_ID */ static int hf_ranap_FrequenceLayerConvergenceFlag_PDU = -1; /* FrequenceLayerConvergenceFlag */ static int hf_ranap_GANSS_PositioningDataSet_PDU = -1; /* GANSS_PositioningDataSet */ @@ -396,6 +437,7 @@ static int hf_ranap_InformationRequestType_PDU = -1; /* InformationRequestType static int hf_ranap_InformationTransferID_PDU = -1; /* InformationTransferID */ static int hf_ranap_InformationTransferType_PDU = -1; /* InformationTransferType */ static int hf_ranap_IntegrityProtectionInformation_PDU = -1; /* IntegrityProtectionInformation */ +static int hf_ranap_IntegrityProtectionKey_PDU = -1; /* IntegrityProtectionKey */ static int hf_ranap_InterSystemInformationTransferType_PDU = -1; /* InterSystemInformationTransferType */ static int hf_ranap_InterSystemInformation_TransparentContainer_PDU = -1; /* InterSystemInformation_TransparentContainer */ static int hf_ranap_IPMulticastAddress_PDU = -1; /* IPMulticastAddress */ @@ -458,7 +500,11 @@ static int hf_ranap_SNA_Access_Information_PDU = -1; /* SNA_Access_Information static int hf_ranap_SourceBSS_ToTargetBSS_TransparentContainer_PDU = -1; /* SourceBSS_ToTargetBSS_TransparentContainer */ static int hf_ranap_SourceID_PDU = -1; /* SourceID */ static int hf_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU = -1; /* SourceRNC_ToTargetRNC_TransparentContainer */ +static int hf_ranap_SubscriberProfileIDforRFP_PDU = -1; /* SubscriberProfileIDforRFP */ +static int hf_ranap_SupportedRAB_ParameterBitrateList_PDU = -1; /* SupportedRAB_ParameterBitrateList */ static int hf_ranap_SRB_TrCH_Mapping_PDU = -1; /* SRB_TrCH_Mapping */ +static int hf_ranap_SRVCC_HO_Indication_PDU = -1; /* SRVCC_HO_Indication */ +static int hf_ranap_SRVCC_Information_PDU = -1; /* SRVCC_Information */ static int hf_ranap_TargetBSS_ToSourceBSS_TransparentContainer_PDU = -1; /* TargetBSS_ToSourceBSS_TransparentContainer */ static int hf_ranap_TargetID_PDU = -1; /* TargetID */ static int hf_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU = -1; /* TargetRNC_ToSourceRNC_TransparentContainer */ @@ -472,6 +518,7 @@ static int hf_ranap_TraceType_PDU = -1; /* TraceType */ static int hf_ranap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */ static int hf_ranap_TriggerID_PDU = -1; /* TriggerID */ static int hf_ranap_TypeOfError_PDU = -1; /* TypeOfError */ +static int hf_ranap_UE_History_Information_PDU = -1; /* UE_History_Information */ static int hf_ranap_UE_ID_PDU = -1; /* UE_ID */ static int hf_ranap_UESBI_Iu_PDU = -1; /* UESBI_Iu */ static int hf_ranap_VelocityEstimate_PDU = -1; /* VelocityEstimate */ @@ -539,6 +586,8 @@ static int hf_ranap_RAB_SetupItem_EnhancedRelocCompleteReq_PDU = -1; /* RAB_Set static int hf_ranap_EnhancedRelocationCompleteResponse_PDU = -1; /* EnhancedRelocationCompleteResponse */ static int hf_ranap_RAB_SetupList_EnhancedRelocCompleteRes_PDU = -1; /* RAB_SetupList_EnhancedRelocCompleteRes */ static int hf_ranap_RAB_SetupItem_EnhancedRelocCompleteRes_PDU = -1; /* RAB_SetupItem_EnhancedRelocCompleteRes */ +static int hf_ranap_RAB_ToBeReleasedList_EnhancedRelocCompleteRes_PDU = -1; /* RAB_ToBeReleasedList_EnhancedRelocCompleteRes */ +static int hf_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_PDU = -1; /* RAB_ToBeReleasedItem_EnhancedRelocCompleteRes */ static int hf_ranap_EnhancedRelocationCompleteFailure_PDU = -1; /* EnhancedRelocationCompleteFailure */ static int hf_ranap_EnhancedRelocationCompleteConfirm_PDU = -1; /* EnhancedRelocationCompleteConfirm */ static int hf_ranap_Paging_PDU = -1; /* Paging */ @@ -598,6 +647,7 @@ static int hf_ranap_UplinkInformationExchangeRequest_PDU = -1; /* UplinkInforma static int hf_ranap_UplinkInformationExchangeResponse_PDU = -1; /* UplinkInformationExchangeResponse */ static int hf_ranap_UplinkInformationExchangeFailure_PDU = -1; /* UplinkInformationExchangeFailure */ static int hf_ranap_MBMSSessionStart_PDU = -1; /* MBMSSessionStart */ +static int hf_ranap_MBMSSynchronisationInformation_PDU = -1; /* MBMSSynchronisationInformation */ static int hf_ranap_MBMSSessionStartResponse_PDU = -1; /* MBMSSessionStartResponse */ static int hf_ranap_MBMSSessionStartFailure_PDU = -1; /* MBMSSessionStartFailure */ static int hf_ranap_MBMSSessionUpdate_PDU = -1; /* MBMSSessionUpdate */ @@ -618,6 +668,8 @@ static int hf_ranap_MBMSRABEstablishmentIndication_PDU = -1; /* MBMSRABEstablis static int hf_ranap_MBMSRABReleaseRequest_PDU = -1; /* MBMSRABReleaseRequest */ static int hf_ranap_MBMSRABRelease_PDU = -1; /* MBMSRABRelease */ static int hf_ranap_MBMSRABReleaseFailure_PDU = -1; /* MBMSRABReleaseFailure */ +static int hf_ranap_SRVCC_CSKeysRequest_PDU = -1; /* SRVCC_CSKeysRequest */ +static int hf_ranap_SRVCC_CSKeysResponse_PDU = -1; /* SRVCC_CSKeysResponse */ static int hf_ranap_RANAP_PDU_PDU = -1; /* RANAP_PDU */ static int hf_ranap_local = -1; /* INTEGER_0_65535 */ static int hf_ranap_global = -1; /* OBJECT_IDENTIFIER */ @@ -653,6 +705,9 @@ static int hf_ranap_altGuaranteedBitrateType = -1; /* Alt_RAB_Parameter_Guarant static int hf_ranap_altGuaranteedBitrates = -1; /* Alt_RAB_Parameter_GuaranteedBitrates */ static int hf_ranap_Alt_RAB_Parameter_GuaranteedBitrates_item = -1; /* Alt_RAB_Parameter_GuaranteedBitrateList */ static int hf_ranap_Alt_RAB_Parameter_GuaranteedBitrateList_item = -1; /* GuaranteedBitrate */ +static int hf_ranap_altSupportedGuaranteedBitrateType = -1; /* Alt_RAB_Parameter_GuaranteedBitrateType */ +static int hf_ranap_altSupportedGuaranteedBitrates = -1; /* Alt_RAB_Parameter_SupportedGuaranteedBitrates */ +static int hf_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates_item = -1; /* SupportedRAB_ParameterBitrateList */ static int hf_ranap_altExtendedMaxBitrateType = -1; /* Alt_RAB_Parameter_MaxBitrateType */ static int hf_ranap_altExtendedMaxBitrates = -1; /* Alt_RAB_Parameter_ExtendedMaxBitrates */ static int hf_ranap_Alt_RAB_Parameter_ExtendedMaxBitrates_item = -1; /* Alt_RAB_Parameter_ExtendedMaxBitrateList */ @@ -661,6 +716,9 @@ static int hf_ranap_altMaxBitrateType = -1; /* Alt_RAB_Parameter_MaxBitrat static int hf_ranap_altMaxBitrates = -1; /* Alt_RAB_Parameter_MaxBitrates */ static int hf_ranap_Alt_RAB_Parameter_MaxBitrates_item = -1; /* Alt_RAB_Parameter_MaxBitrateList */ static int hf_ranap_Alt_RAB_Parameter_MaxBitrateList_item = -1; /* MaxBitrate */ +static int hf_ranap_altSupportedMaxBitrateType = -1; /* Alt_RAB_Parameter_MaxBitrateType */ +static int hf_ranap_altSupportedMaxBitrates = -1; /* Alt_RAB_Parameter_SupportedMaxBitrates */ +static int hf_ranap_Alt_RAB_Parameter_SupportedMaxBitrates_item = -1; /* SupportedRAB_ParameterBitrateList */ static int hf_ranap_sAI = -1; /* SAI */ static int hf_ranap_geographicalArea = -1; /* GeographicalArea */ static int hf_ranap_assMaxBitrateInf = -1; /* Ass_RAB_Parameter_MaxBitrateList */ @@ -706,6 +764,10 @@ static int hf_ranap_newRAListofIdleModeUEs = -1; /* NewRAListofIdleModeUEs */ static int hf_ranap_rAListwithNoIdleModeUEsAnyMore = -1; /* RAListwithNoIdleModeUEsAnyMore */ static int hf_ranap_NewRAListofIdleModeUEs_item = -1; /* RAC */ static int hf_ranap_RAListwithNoIdleModeUEsAnyMore_item = -1; /* RAC */ +static int hf_ranap_macroENB_ID = -1; /* BIT_STRING_SIZE_20 */ +static int hf_ranap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */ +static int hf_ranap_eNB_ID = -1; /* ENB_ID */ +static int hf_ranap_selectedTAI = -1; /* TAI */ static int hf_ranap_permittedAlgorithms = -1; /* PermittedEncryptionAlgorithms */ static int hf_ranap_key = -1; /* EncryptionKey */ static int hf_ranap_iMEIlist = -1; /* IMEIList */ @@ -762,6 +824,9 @@ static int hf_ranap_bindingID = -1; /* BindingID */ static int hf_ranap_LA_LIST_item = -1; /* LA_LIST_item */ static int hf_ranap_listOF_SNAs = -1; /* ListOF_SNAs */ static int hf_ranap_ageOfSAI = -1; /* INTEGER_0_32767 */ +static int hf_ranap_uTRAN_CellID = -1; /* UTRAN_CellID */ +static int hf_ranap_cellType = -1; /* CellType */ +static int hf_ranap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */ static int hf_ranap_ListOF_SNAs_item = -1; /* SNAC */ static int hf_ranap_ListOfInterfacesToTrace_item = -1; /* InterfacesToTraceItem */ static int hf_ranap_interface = -1; /* T_interface */ @@ -855,11 +920,14 @@ static int hf_ranap_chosenEncryptionAlgorithForPS = -1; /* ChosenEncryptionAlgo static int hf_ranap_d_RNTI = -1; /* D_RNTI */ static int hf_ranap_targetCellId = -1; /* TargetCellId */ static int hf_ranap_rAB_TrCH_Mapping = -1; /* RAB_TrCH_Mapping */ -static int hf_ranap_uTRANcellID = -1; /* TargetCellId */ +static int hf_ranap_SupportedRAB_ParameterBitrateList_item = -1; /* SupportedBitrate */ static int hf_ranap_SRB_TrCH_Mapping_item = -1; /* SRB_TrCH_MappingItem */ static int hf_ranap_sRB_ID = -1; /* SRB_ID */ static int hf_ranap_trCH_ID = -1; /* TrCH_ID */ +static int hf_ranap_nonce = -1; /* BIT_STRING_SIZE_128 */ +static int hf_ranap_tAC = -1; /* TAC */ static int hf_ranap_cGI = -1; /* CGI */ +static int hf_ranap_targeteNB_ID = -1; /* Global_ENB_ID */ static int hf_ranap_tMSI = -1; /* TMSI */ static int hf_ranap_p_TMSI = -1; /* P_TMSI */ static int hf_ranap_serviceID = -1; /* OCTET_STRING_SIZE_3 */ @@ -875,6 +943,7 @@ static int hf_ranap_imei = -1; /* IMEI */ static int hf_ranap_imeisv = -1; /* IMEISV */ static int hf_ranap_uESBI_IuA = -1; /* UESBI_IuA */ static int hf_ranap_uESBI_IuB = -1; /* UESBI_IuB */ +static int hf_ranap_cellID = -1; /* TargetCellId */ static int hf_ranap_horizontalVelocity = -1; /* HorizontalVelocity */ static int hf_ranap_horizontalWithVerticalVelocity = -1; /* HorizontalWithVerticalVelocity */ static int hf_ranap_horizontalVelocityWithUncertainty = -1; /* HorizontalVelocityWithUncertainty */ @@ -915,12 +984,9 @@ static int hf_ranap_iuSigConId = -1; /* IuSignallingConnectionIdent static int hf_ranap_transportLayerAddressReq1 = -1; /* TransportLayerAddress */ static int hf_ranap_iuTransportAssociationReq1 = -1; /* IuTransportAssociation */ static int hf_ranap_ass_RAB_Parameters = -1; /* Ass_RAB_Parameters */ -static int hf_ranap_transportLayerAddressReq2 = -1; /* TransportLayerAddress */ -static int hf_ranap_iuTransportAssociationReq2 = -1; /* IuTransportAssociation */ static int hf_ranap_transportLayerAddressRes1 = -1; /* TransportLayerAddress */ static int hf_ranap_iuTransportAssociationRes1 = -1; /* IuTransportAssociation */ -static int hf_ranap_transportLayerAddressRes2 = -1; /* TransportLayerAddress */ -static int hf_ranap_iuTransportAssociationRes2 = -1; /* IuTransportAssociation */ +static int hf_ranap_rab2beReleasedList = -1; /* RAB_ToBeReleasedList_EnhancedRelocCompleteRes */ static int hf_ranap_transportLayerInformation = -1; /* TransportLayerInformation */ static int hf_ranap_dl_dataVolumes = -1; /* DataVolumeList */ static int hf_ranap_DataVolumeList_item = -1; /* DataVolumeList_item */ @@ -931,23 +997,32 @@ static int hf_ranap_privateIEs = -1; /* PrivateIE_Container */ static int hf_ranap_nAS_PDU = -1; /* NAS_PDU */ static int hf_ranap_sAPI = -1; /* SAPI */ static int hf_ranap_cN_DomainIndicator = -1; /* CN_DomainIndicator */ +static int hf_ranap_dataForwardingInformation = -1; /* TNLInformationEnhRelInfoReq */ +static int hf_ranap_sourceSideIuULTNLInfo = -1; /* TNLInformationEnhRelInfoReq */ +static int hf_ranap_alt_RAB_Parameters = -1; /* Alt_RAB_Parameters */ +static int hf_ranap_dataForwardingInformation_01 = -1; /* TNLInformationEnhRelInfoRes */ +static int hf_ranap_dl_forwardingTransportLayerAddress = -1; /* TransportLayerAddress */ +static int hf_ranap_dl_forwardingTransportAssociation = -1; /* IuTransportAssociation */ static int hf_ranap_requested_RAB_Parameter_Values = -1; /* Requested_RAB_Parameter_Values */ +static int hf_ranap_mBMSHCIndicator = -1; /* MBMSHCIndicator */ +static int hf_ranap_gTPDLTEID = -1; /* GTP_TEI */ static int hf_ranap_LeftMBMSBearerService_IEs_item = -1; /* LeftMBMSBearerService_IEs_item */ static int hf_ranap_UnsuccessfulLinking_IEs_item = -1; /* UnsuccessfulLinking_IEs_item */ static int hf_ranap_initiatingMessage = -1; /* InitiatingMessage */ static int hf_ranap_successfulOutcome = -1; /* SuccessfulOutcome */ static int hf_ranap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */ static int hf_ranap_outcome = -1; /* Outcome */ +static int hf_ranap_initiatingMessagevalue = -1; /* InitiatingMessage_value */ +static int hf_ranap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */ +static int hf_ranap_unsuccessfulOutcome_value = -1; /* UnsuccessfulOutcome_value */ static int hf_ranap_value = -1; /* T_value */ -static int hf_ranap_value_01 = -1; /* T_value_01 */ -static int hf_ranap_value_02 = -1; /* T_value_02 */ -static int hf_ranap_value_03 = -1; /* T_value_03 */ /*--- End of included file: packet-ranap-hf.c ---*/ -#line 70 "packet-ranap-template.c" +#line 76 "packet-ranap-template.c" /* Initialize the subtree pointers */ static int ett_ranap = -1; +static int ett_ranap_TransportLayerAddress = -1; /*--- Included file: packet-ranap-ett.c ---*/ @@ -971,12 +1046,16 @@ static gint ett_ranap_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList = -1; static gint ett_ranap_Alt_RAB_Parameter_GuaranteedBitrateInf = -1; static gint ett_ranap_Alt_RAB_Parameter_GuaranteedBitrates = -1; static gint ett_ranap_Alt_RAB_Parameter_GuaranteedBitrateList = -1; +static gint ett_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf = -1; +static gint ett_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates = -1; static gint ett_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateInf = -1; static gint ett_ranap_Alt_RAB_Parameter_ExtendedMaxBitrates = -1; static gint ett_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateList = -1; static gint ett_ranap_Alt_RAB_Parameter_MaxBitrateInf = -1; static gint ett_ranap_Alt_RAB_Parameter_MaxBitrates = -1; static gint ett_ranap_Alt_RAB_Parameter_MaxBitrateList = -1; +static gint ett_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf = -1; +static gint ett_ranap_Alt_RAB_Parameter_SupportedMaxBitrates = -1; static gint ett_ranap_AreaIdentity = -1; static gint ett_ranap_Ass_RAB_Parameters = -1; static gint ett_ranap_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList = -1; @@ -999,6 +1078,8 @@ static gint ett_ranap_CGI = -1; static gint ett_ranap_DeltaRAListofIdleModeUEs = -1; static gint ett_ranap_NewRAListofIdleModeUEs = -1; static gint ett_ranap_RAListwithNoIdleModeUEsAnyMore = -1; +static gint ett_ranap_ENB_ID = -1; +static gint ett_ranap_Global_ENB_ID = -1; static gint ett_ranap_EncryptionInformation = -1; static gint ett_ranap_EquipmentsToBeTraced = -1; static gint ett_ranap_GANSS_PositioningDataSet = -1; @@ -1032,6 +1113,7 @@ static gint ett_ranap_LA_LIST = -1; static gint ett_ranap_LA_LIST_item = -1; static gint ett_ranap_LAI = -1; static gint ett_ranap_LastKnownServiceArea = -1; +static gint ett_ranap_LastVisitedUTRANCell_Item = -1; static gint ett_ranap_ListOF_SNAs = -1; static gint ett_ranap_ListOfInterfacesToTrace = -1; static gint ett_ranap_InterfacesToTraceItem = -1; @@ -1085,9 +1167,12 @@ static gint ett_ranap_SourceCellID = -1; static gint ett_ranap_SourceID = -1; static gint ett_ranap_SourceRNC_ID = -1; static gint ett_ranap_SourceRNC_ToTargetRNC_TransparentContainer = -1; +static gint ett_ranap_SupportedRAB_ParameterBitrateList = -1; static gint ett_ranap_SourceUTRANCellID = -1; static gint ett_ranap_SRB_TrCH_Mapping = -1; static gint ett_ranap_SRB_TrCH_MappingItem = -1; +static gint ett_ranap_SRVCC_Information = -1; +static gint ett_ranap_TAI = -1; static gint ett_ranap_TargetID = -1; static gint ett_ranap_TargetRNC_ID = -1; static gint ett_ranap_TargetRNC_ToSourceRNC_TransparentContainer = -1; @@ -1099,6 +1184,7 @@ static gint ett_ranap_TrCH_ID = -1; static gint ett_ranap_TrCH_ID_List = -1; static gint ett_ranap_UE_ID = -1; static gint ett_ranap_UESBI_Iu = -1; +static gint ett_ranap_UTRAN_CellID = -1; static gint ett_ranap_VelocityEstimate = -1; static gint ett_ranap_HorizontalVelocity = -1; static gint ett_ranap_HorizontalWithVerticalVelocity = -1; @@ -1154,6 +1240,7 @@ static gint ett_ranap_EnhancedRelocationCompleteRequest = -1; static gint ett_ranap_RAB_SetupItem_EnhancedRelocCompleteReq = -1; static gint ett_ranap_EnhancedRelocationCompleteResponse = -1; static gint ett_ranap_RAB_SetupItem_EnhancedRelocCompleteRes = -1; +static gint ett_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes = -1; static gint ett_ranap_EnhancedRelocationCompleteFailure = -1; static gint ett_ranap_EnhancedRelocationCompleteConfirm = -1; static gint ett_ranap_Paging = -1; @@ -1185,9 +1272,11 @@ static gint ett_ranap_DirectTransferInformationItem_RANAP_RelocInf = -1; static gint ett_ranap_RAB_ContextItem_RANAP_RelocInf = -1; static gint ett_ranap_RANAP_EnhancedRelocationInformationRequest = -1; static gint ett_ranap_RAB_SetupItem_EnhRelocInfoReq = -1; +static gint ett_ranap_TNLInformationEnhRelInfoReq = -1; static gint ett_ranap_RANAP_EnhancedRelocationInformationResponse = -1; static gint ett_ranap_RAB_SetupItem_EnhRelocInfoRes = -1; static gint ett_ranap_RAB_FailedItem_EnhRelocInfoRes = -1; +static gint ett_ranap_TNLInformationEnhRelInfoRes = -1; static gint ett_ranap_RAB_ModifyRequest = -1; static gint ett_ranap_RAB_ModifyItem = -1; static gint ett_ranap_LocationRelatedDataRequest = -1; @@ -1202,6 +1291,7 @@ static gint ett_ranap_UplinkInformationExchangeRequest = -1; static gint ett_ranap_UplinkInformationExchangeResponse = -1; static gint ett_ranap_UplinkInformationExchangeFailure = -1; static gint ett_ranap_MBMSSessionStart = -1; +static gint ett_ranap_MBMSSynchronisationInformation = -1; static gint ett_ranap_MBMSSessionStartResponse = -1; static gint ett_ranap_MBMSSessionStartFailure = -1; static gint ett_ranap_MBMSSessionUpdate = -1; @@ -1224,6 +1314,8 @@ static gint ett_ranap_MBMSRABEstablishmentIndication = -1; static gint ett_ranap_MBMSRABReleaseRequest = -1; static gint ett_ranap_MBMSRABRelease = -1; static gint ett_ranap_MBMSRABReleaseFailure = -1; +static gint ett_ranap_SRVCC_CSKeysRequest = -1; +static gint ett_ranap_SRVCC_CSKeysResponse = -1; static gint ett_ranap_RANAP_PDU = -1; static gint ett_ranap_InitiatingMessage = -1; static gint ett_ranap_SuccessfulOutcome = -1; @@ -1231,7 +1323,7 @@ static gint ett_ranap_UnsuccessfulOutcome = -1; static gint ett_ranap_Outcome = -1; /*--- End of included file: packet-ranap-ett.c ---*/ -#line 75 "packet-ranap-template.c" +#line 82 "packet-ranap-template.c" /* Global variables */ static guint32 ProcedureCode; @@ -1388,6 +1480,7 @@ static const value_string ranap_ProcedureCode_vals[] = { { id_enhancedRelocationComplete, "id-enhancedRelocationComplete" }, { id_enhancedRelocationCompleteConfirm, "id-enhancedRelocationCompleteConfirm" }, { id_RANAPenhancedRelocation, "id-RANAPenhancedRelocation" }, + { id_SRVCCPreparation, "id-SRVCCPreparation" }, { 0, NULL } }; @@ -1397,7 +1490,7 @@ dissect_ranap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &ProcedureCode, FALSE); -#line 65 "ranap.cnf" +#line 73 "ranap.cnf" if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(ProcedureCode, ranap_ProcedureCode_vals, @@ -1477,9 +1570,9 @@ static const value_string ranap_ProtocolIE_ID_vals[] = { { id_SAI, "id-SAI" }, { id_SAPI, "id-SAPI" }, { id_SourceID, "id-SourceID" }, - { id_SourceRNC_ToTargetRNC_TransparentContainer, "id-SourceRNC-ToTargetRNC-TransparentContainer" }, + { id_Source_ToTarget_TransparentContainer, "id-Source-ToTarget-TransparentContainer" }, { id_TargetID, "id-TargetID" }, - { id_TargetRNC_ToSourceRNC_TransparentContainer, "id-TargetRNC-ToSourceRNC-TransparentContainer" }, + { id_Target_ToSource_TransparentContainer, "id-Target-ToSource-TransparentContainer" }, { id_TemporaryUE_ID, "id-TemporaryUE-ID" }, { id_TraceReference, "id-TraceReference" }, { id_TraceType, "id-TraceType" }, @@ -1609,6 +1702,36 @@ static const value_string ranap_ProtocolIE_ID_vals[] = { { id_OldIuSigConId, "id-OldIuSigConId" }, { id_RAB_FailedList_EnhRelocInfoRes, "id-RAB-FailedList-EnhRelocInfoRes" }, { id_RAB_FailedItem_EnhRelocInfoRes, "id-RAB-FailedItem-EnhRelocInfoRes" }, + { id_Global_ENB_ID, "id-Global-ENB-ID" }, + { id_UE_History_Information, "id-UE-History-Information" }, + { id_MBMSSynchronisationInformation, "id-MBMSSynchronisationInformation" }, + { id_SubscriberProfileIDforRFP, "id-SubscriberProfileIDforRFP" }, + { id_CSG_Id, "id-CSG-Id" }, + { id_OldIuSigConIdCS, "id-OldIuSigConIdCS" }, + { id_OldIuSigConIdPS, "id-OldIuSigConIdPS" }, + { id_GlobalCN_IDCS, "id-GlobalCN-IDCS" }, + { id_GlobalCN_IDPS, "id-GlobalCN-IDPS" }, + { id_SourceExtendedRNC_ID, "id-SourceExtendedRNC-ID" }, + { id_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes, "id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes" }, + { id_RAB_ToBeReleasedList_EnhancedRelocCompleteRes, "id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes" }, + { id_SourceRNC_ID, "id-SourceRNC-ID" }, + { id_Relocation_TargetRNC_ID, "id-Relocation-TargetRNC-ID" }, + { id_Relocation_TargetExtendedRNC_ID, "id-Relocation-TargetExtendedRNC-ID" }, + { id_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, "id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf" }, + { id_Alt_RAB_Parameter_SupportedMaxBitrateInf, "id-Alt-RAB-Parameter-SupportedMaxBitrateInf" }, + { id_Ass_RAB_Parameter_SupportedGuaranteedBitrateList, "id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList" }, + { id_Ass_RAB_Parameter_SupportedMaxBitrateList, "id-Ass-RAB-Parameter-SupportedMaxBitrateList" }, + { id_RAB_Parameter_SupportedGuaranteedBitrateList, "id-RAB-Parameter-SupportedGuaranteedBitrateList" }, + { id_RAB_Parameter_SupportedMaxBitrateList, "id-RAB-Parameter-SupportedMaxBitrateList" }, + { id_Requested_RAB_Parameter_SupportedMaxBitrateList, "id-Requested-RAB-Parameter-SupportedMaxBitrateList" }, + { id_Requested_RAB_Parameter_SupportedGuaranteedBitrateList, "id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList" }, + { id_Relocation_SourceRNC_ID, "id-Relocation-SourceRNC-ID" }, + { id_Relocation_SourceExtendedRNC_ID, "id-Relocation-SourceExtendedRNC-ID" }, + { id_EncryptionKey, "id-EncryptionKey" }, + { id_IntegrityProtectionKey, "id-IntegrityProtectionKey" }, + { id_SRVCC_HO_Indication, "id-SRVCC-HO-Indication" }, + { id_SRVCC_Information, "id-SRVCC-Information" }, + { id_SRVCC_Operation_Possible, "id-SRVCC-Operation-Possible" }, { 0, NULL } }; @@ -1618,7 +1741,7 @@ dissect_ranap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &ProtocolIE_ID, FALSE); -#line 49 "ranap.cnf" +#line 57 "ranap.cnf" if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(ranap_ProtocolIE_ID_vals), "unknown (%d)")); } @@ -1740,7 +1863,7 @@ static const per_sequence_t ProtocolIE_ContainerList_sequence_of[1] = { static int dissect_ranap_ProtocolIE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 90 "ranap.cnf" +#line 98 "ranap.cnf" static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = { { "lowerBound", ASN1_PAR_INTEGER }, { "upperBound", ASN1_PAR_INTEGER }, @@ -1762,7 +1885,7 @@ static const per_sequence_t ProtocolIE_ContainerPairList_sequence_of[1] = { static int dissect_ranap_ProtocolIE_ContainerPairList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 106 "ranap.cnf" +#line 114 "ranap.cnf" static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = { { "lowerBound", ASN1_PAR_INTEGER }, { "upperBound", ASN1_PAR_INTEGER }, @@ -2167,6 +2290,60 @@ dissect_ranap_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf(tvbuff_t *tvb _U_, static int +dissect_ranap_SupportedBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 1000000000U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t SupportedRAB_ParameterBitrateList_sequence_of[1] = { + { &hf_ranap_SupportedRAB_ParameterBitrateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_SupportedBitrate }, +}; + +static int +dissect_ranap_SupportedRAB_ParameterBitrateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_ranap_SupportedRAB_ParameterBitrateList, SupportedRAB_ParameterBitrateList_sequence_of, + 1, maxNrOfSeparateTrafficDirections, FALSE); + + return offset; +} + + +static const per_sequence_t Alt_RAB_Parameter_SupportedGuaranteedBitrates_sequence_of[1] = { + { &hf_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_SupportedRAB_ParameterBitrateList }, +}; + +static int +dissect_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates, Alt_RAB_Parameter_SupportedGuaranteedBitrates_sequence_of, + 1, maxNrOfAltValues, FALSE); + + return offset; +} + + +static const per_sequence_t Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_sequence[] = { + { &hf_ranap_altSupportedGuaranteedBitrateType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_Alt_RAB_Parameter_GuaranteedBitrateType }, + { &hf_ranap_altSupportedGuaranteedBitrates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_sequence); + + return offset; +} + + + +static int dissect_ranap_ExtendedMaxBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 16000001U, 256000000U, NULL, FALSE); @@ -2218,6 +2395,36 @@ dissect_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateInf(tvbuff_t *tvb _U_, int off } +static const per_sequence_t Alt_RAB_Parameter_SupportedMaxBitrates_sequence_of[1] = { + { &hf_ranap_Alt_RAB_Parameter_SupportedMaxBitrates_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_SupportedRAB_ParameterBitrateList }, +}; + +static int +dissect_ranap_Alt_RAB_Parameter_SupportedMaxBitrates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_ranap_Alt_RAB_Parameter_SupportedMaxBitrates, Alt_RAB_Parameter_SupportedMaxBitrates_sequence_of, + 1, maxNrOfAltValues, FALSE); + + return offset; +} + + +static const per_sequence_t Alt_RAB_Parameter_SupportedMaxBitrateInf_sequence[] = { + { &hf_ranap_altSupportedMaxBitrateType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_Alt_RAB_Parameter_MaxBitrateType }, + { &hf_ranap_altSupportedMaxBitrates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_Alt_RAB_Parameter_SupportedMaxBitrates }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf, Alt_RAB_Parameter_SupportedMaxBitrateInf_sequence); + + return offset; +} + + static const value_string ranap_AlternativeRABConfigurationRequest_vals[] = { { 0, "alternative-RAB-configuration-Requested" }, { 0, NULL } @@ -2247,7 +2454,7 @@ dissect_ranap_APN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto static int dissect_ranap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 210 "ranap.cnf" +#line 218 "ranap.cnf" tvbuff_t *parameter_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -2957,6 +3164,8 @@ static const value_string ranap_CauseRadioNetworkExtension_vals[] = { { 264, "tMGI-inUse-overlapping-MBMS-service-area" }, { 265, "mBMS-no-cell-in-MBMS-service-area" }, { 266, "no-Iu-CS-UP-relocation" }, + { 267, "successful-MBMS-Session-Start-IP-Multicast-Bearer-established" }, + { 268, "cS-fallback-triggered" }, { 0, NULL } }; @@ -3060,19 +3269,8 @@ dissect_ranap_CellLoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_ranap_TargetCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 268435455U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t SourceUTRANCellID_sequence[] = { { &hf_ranap_pLMNidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity }, - { &hf_ranap_uTRANcellID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_TargetCellId }, { &hf_ranap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; @@ -3152,6 +3350,24 @@ dissect_ranap_CellLoadInformationGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string ranap_CellType_vals[] = { + { 0, "macro" }, + { 1, "micro" }, + { 2, "pico" }, + { 3, "femto" }, + { 0, NULL } +}; + + +static int +dissect_ranap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string ranap_ClientType_vals[] = { { 0, "emergency-Services" }, { 1, "value-Added-Services" }, @@ -3373,6 +3589,16 @@ dissect_ranap_CN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro static int +dissect_ranap_CSG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 27, 27, FALSE, NULL); + + return offset; +} + + + +static int dissect_ranap_DataVolumeReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, NULL, FALSE); @@ -3494,6 +3720,21 @@ dissect_ranap_DeltaRAListofIdleModeUEs(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string ranap_ForwardingIndication_vals[] = { + { 0, "forwarding-admitted" }, + { 0, NULL } +}; + + +static int +dissect_ranap_ForwardingIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + static int dissect_ranap_DL_GTP_PDU_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -3554,6 +3795,91 @@ dissect_ranap_E_DCH_MAC_d_Flow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } + +static int +dissect_ranap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 20, 20, FALSE, NULL); + + return offset; +} + + + +static int +dissect_ranap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 28, 28, FALSE, NULL); + + return offset; +} + + +static const value_string ranap_ENB_ID_vals[] = { + { 0, "macroENB-ID" }, + { 1, "homeENB-ID" }, + { 0, NULL } +}; + +static const per_choice_t ENB_ID_choice[] = { + { 0, &hf_ranap_macroENB_ID , ASN1_EXTENSION_ROOT , dissect_ranap_BIT_STRING_SIZE_20 }, + { 1, &hf_ranap_homeENB_ID , ASN1_EXTENSION_ROOT , dissect_ranap_BIT_STRING_SIZE_28 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_ranap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_ranap_ENB_ID, ENB_ID_choice, + NULL); + + return offset; +} + + + +static int +dissect_ranap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t TAI_sequence[] = { + { &hf_ranap_pLMNidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity }, + { &hf_ranap_tAC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_TAC }, + { &hf_ranap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_TAI, TAI_sequence); + + return offset; +} + + +static const per_sequence_t Global_ENB_ID_sequence[] = { + { &hf_ranap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity }, + { &hf_ranap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ENB_ID }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { &hf_ranap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_TAI }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_Global_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_Global_ENB_ID, Global_ENB_ID_sequence); + + return offset; +} + + static const per_sequence_t PermittedEncryptionAlgorithms_sequence_of[1] = { { &hf_ranap_PermittedEncryptionAlgorithms_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_EncryptionAlgorithm }, }; @@ -3895,7 +4221,7 @@ dissect_ranap_HS_DSCH_MAC_d_Flow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_ranap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 163 "ranap.cnf" +#line 171 "ranap.cnf" tvbuff_t* imsi_tvb; char *digit_str; @@ -4444,6 +4770,59 @@ dissect_ranap_LastKnownServiceArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } + +static int +dissect_ranap_TargetCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 268435455U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t UTRAN_CellID_sequence[] = { + { &hf_ranap_pLMNidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity }, + { &hf_ranap_cellID , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_TargetCellId }, + { &hf_ranap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_UTRAN_CellID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_UTRAN_CellID, UTRAN_CellID_sequence); + + return offset; +} + + + +static int +dissect_ranap_Time_UE_StayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4095U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t LastVisitedUTRANCell_Item_sequence[] = { + { &hf_ranap_uTRAN_CellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_UTRAN_CellID }, + { &hf_ranap_cellType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_CellType }, + { &hf_ranap_time_UE_StayedInCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_Time_UE_StayedInCell }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_LastVisitedUTRANCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_LastVisitedUTRANCell_Item, LastVisitedUTRANCell_Item_sequence); + + return offset; +} + + static const value_string ranap_T_interface_vals[] = { { 0, "iu-cs" }, { 1, "iu-ps" }, @@ -4634,6 +5013,22 @@ dissect_ranap_MBMSCountingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } +static const value_string ranap_MBMSHCIndicator_vals[] = { + { 0, "uncompressed-header" }, + { 1, "compressed-header" }, + { 0, NULL } +}; + + +static int +dissect_ranap_MBMSHCIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string ranap_MBMSLinkingInformation_vals[] = { { 0, "uE-has-joined-multicast-services" }, { 0, NULL } @@ -4708,7 +5103,7 @@ dissect_ranap_MBMSSessionRepetitionNumber(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_ranap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 186 "ranap.cnf" +#line 194 "ranap.cnf" tvbuff_t *nas_pdu_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -5771,7 +6166,7 @@ dissect_ranap_ResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_ranap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 195 "ranap.cnf" +#line 203 "ranap.cnf" tvbuff_t *rrc_message_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -5862,6 +6257,26 @@ dissect_ranap_Service_Handover(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int +dissect_ranap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + + +static int +dissect_ranap_SourceeNodeB_ToTargeteNodeB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + + +static int dissect_ranap_SourceBSS_ToTargetBSS_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, NULL); @@ -5936,6 +6351,16 @@ dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb _U_, int static int +dissect_ranap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 256U, NULL, FALSE); + + return offset; +} + + + +static int dissect_ranap_SRB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 32U, NULL, FALSE); @@ -5974,6 +6399,82 @@ dissect_ranap_SRB_TrCH_Mapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const value_string ranap_SRVCC_HO_Indication_vals[] = { + { 0, "ps-and-cs" }, + { 1, "cs-only" }, + { 0, NULL } +}; + + +static int +dissect_ranap_SRVCC_HO_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_ranap_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 128, 128, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t SRVCC_Information_sequence[] = { + { &hf_ranap_nonce , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_BIT_STRING_SIZE_128 }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_SRVCC_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_SRVCC_Information, SRVCC_Information_sequence); + + return offset; +} + + +static const value_string ranap_SRVCC_Operation_Possible_vals[] = { + { 0, "srvcc-possible" }, + { 0, NULL } +}; + + +static int +dissect_ranap_SRVCC_Operation_Possible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_ranap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + + +static int +dissect_ranap_TargeteNodeB_ToSourceeNodeB_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + static int dissect_ranap_TargetBSS_ToSourceBSS_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5987,12 +6488,14 @@ dissect_ranap_TargetBSS_ToSourceBSS_TransparentContainer(tvbuff_t *tvb _U_, int const value_string ranap_TargetID_vals[] = { { 0, "targetRNC-ID" }, { 1, "cGI" }, + { 2, "targeteNB-ID" }, { 0, NULL } }; static const per_choice_t TargetID_choice[] = { { 0, &hf_ranap_targetRNC_ID , ASN1_EXTENSION_ROOT , dissect_ranap_TargetRNC_ID }, { 1, &hf_ranap_cGI , ASN1_EXTENSION_ROOT , dissect_ranap_CGI }, + { 2, &hf_ranap_targeteNB_ID , ASN1_NOT_EXTENSION_ROOT, dissect_ranap_Global_ENB_ID }, { 0, NULL, 0, NULL } }; @@ -6147,8 +6650,29 @@ dissect_ranap_UnsuccessfullyTransmittedDataVolume(tvbuff_t *tvb _U_, int offset static int dissect_ranap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 237 "ranap.cnf" + tvbuff_t *parameter_tvb=NULL; + proto_tree *subtree; + gint tvb_len; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 1, 160, TRUE, NULL); + 1, 160, TRUE, ¶meter_tvb); + + if (!parameter_tvb) + return offset; + /* Get the length */ + tvb_len = tvb_length(parameter_tvb); + subtree = proto_item_add_subtree(actx->created_item, ett_ranap_TransportLayerAddress); + if (tvb_len==4){ + /* IPv4 */ + proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv4, tvb, 0, tvb_len, FALSE); + } + if (tvb_len==16){ + /* IPv6 */ + proto_tree_add_item(subtree, hf_ranap_transportLayerAddress_ipv6, tvb, 0, tvb_len, FALSE); + } + + return offset; } @@ -6180,6 +6704,16 @@ dissect_ranap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + +static int +dissect_ranap_UE_History_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + static const value_string ranap_UE_ID_vals[] = { { 0, "imsi" }, { 1, "imei" }, @@ -6466,7 +7000,7 @@ dissect_ranap_VerticalAccuracyCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_ranap_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 116 "ranap.cnf" +#line 124 "ranap.cnf" asn1_stack_frame_push(actx, "ProtocolIE-ContainerList"); asn1_param_push_integer(actx, 1); asn1_param_push_integer(actx, maxNrOfRABs); @@ -6482,7 +7016,7 @@ dissect_ranap_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_ranap_RAB_IE_ContainerPairList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 124 "ranap.cnf" +#line 132 "ranap.cnf" asn1_stack_frame_push(actx, "ProtocolIE-ContainerPairList"); asn1_param_push_integer(actx, 1); asn1_param_push_integer(actx, maxNrOfRABs); @@ -6498,7 +7032,7 @@ dissect_ranap_RAB_IE_ContainerPairList(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_ranap_IuSigConId_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 141 "ranap.cnf" +#line 149 "ranap.cnf" asn1_stack_frame_push(actx, "ProtocolIE-ContainerList"); asn1_param_push_integer(actx, 1); asn1_param_push_integer(actx, maxNrOfIuSigConIds); @@ -6514,7 +7048,7 @@ dissect_ranap_IuSigConId_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_ranap_DirectTransfer_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 149 "ranap.cnf" +#line 157 "ranap.cnf" asn1_stack_frame_push(actx, "ProtocolIE-ContainerList"); asn1_param_push_integer(actx, 1); asn1_param_push_integer(actx, maxNrOfDTs); @@ -7405,8 +7939,6 @@ static const per_sequence_t RAB_SetupItem_EnhancedRelocCompleteReq_sequence[] = { &hf_ranap_transportLayerAddressReq1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TransportLayerAddress }, { &hf_ranap_iuTransportAssociationReq1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_IuTransportAssociation }, { &hf_ranap_ass_RAB_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_Ass_RAB_Parameters }, - { &hf_ranap_transportLayerAddressReq2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TransportLayerAddress }, - { &hf_ranap_iuTransportAssociationReq2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_IuTransportAssociation }, { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; @@ -7444,13 +7976,23 @@ dissect_ranap_RAB_SetupList_EnhancedRelocCompleteRes(tvbuff_t *tvb _U_, int offs } + +static int +dissect_ranap_RAB_ToBeReleasedList_EnhancedRelocCompleteRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ranap_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index); + + return offset; +} + + static const per_sequence_t RAB_SetupItem_EnhancedRelocCompleteRes_sequence[] = { { &hf_ranap_rAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_RAB_ID }, + { &hf_ranap_rAB_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_RAB_Parameters }, { &hf_ranap_userPlaneInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_UserPlaneInformation }, { &hf_ranap_transportLayerAddressRes1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TransportLayerAddress }, { &hf_ranap_iuTransportAssociationRes1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_IuTransportAssociation }, - { &hf_ranap_transportLayerAddressRes2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TransportLayerAddress }, - { &hf_ranap_iuTransportAssociationRes2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_IuTransportAssociation }, + { &hf_ranap_rab2beReleasedList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_RAB_ToBeReleasedList_EnhancedRelocCompleteRes }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; @@ -7463,6 +8005,22 @@ dissect_ranap_RAB_SetupItem_EnhancedRelocCompleteRes(tvbuff_t *tvb _U_, int offs } +static const per_sequence_t RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_sequence[] = { + { &hf_ranap_rAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_RAB_ID }, + { &hf_ranap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_Cause }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes, RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_sequence); + + return offset; +} + + static const per_sequence_t EnhancedRelocationCompleteFailure_sequence[] = { { &hf_ranap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ProtocolIE_Container }, { &hf_ranap_protocolExtensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, @@ -7997,15 +8555,33 @@ dissect_ranap_RAB_SetupList_EnhRelocInfoReq(tvbuff_t *tvb _U_, int offset _U_, a } +static const per_sequence_t TNLInformationEnhRelInfoReq_sequence[] = { + { &hf_ranap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_TransportLayerAddress }, + { &hf_ranap_iuTransportAssociation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_IuTransportAssociation }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_TNLInformationEnhRelInfoReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_TNLInformationEnhRelInfoReq, TNLInformationEnhRelInfoReq_sequence); + + return offset; +} + + static const per_sequence_t RAB_SetupItem_EnhRelocInfoReq_sequence[] = { { &hf_ranap_rAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_RAB_ID }, + { &hf_ranap_cN_DomainIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_CN_DomainIndicator }, { &hf_ranap_rAB_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_RAB_Parameters }, { &hf_ranap_dataVolumeReportingIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_DataVolumeReportingIndication }, { &hf_ranap_pDP_TypeInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_PDP_TypeInformation }, { &hf_ranap_userPlaneInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_UserPlaneInformation }, - { &hf_ranap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_TransportLayerAddress }, - { &hf_ranap_iuTransportAssociation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_IuTransportAssociation }, + { &hf_ranap_dataForwardingInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TNLInformationEnhRelInfoReq }, + { &hf_ranap_sourceSideIuULTNLInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TNLInformationEnhRelInfoReq }, { &hf_ranap_service_Handover, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_Service_Handover }, + { &hf_ranap_alt_RAB_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_Alt_RAB_Parameters }, { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; @@ -8043,11 +8619,27 @@ dissect_ranap_RAB_SetupList_EnhRelocInfoRes(tvbuff_t *tvb _U_, int offset _U_, a } +static const per_sequence_t TNLInformationEnhRelInfoRes_sequence[] = { + { &hf_ranap_dl_forwardingTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_TransportLayerAddress }, + { &hf_ranap_dl_forwardingTransportAssociation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_IuTransportAssociation }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_TNLInformationEnhRelInfoRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_TNLInformationEnhRelInfoRes, TNLInformationEnhRelInfoRes_sequence); + + return offset; +} + + static const per_sequence_t RAB_SetupItem_EnhRelocInfoRes_sequence[] = { { &hf_ranap_cN_DomainIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_CN_DomainIndicator }, { &hf_ranap_rAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_RAB_ID }, - { &hf_ranap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TransportLayerAddress }, - { &hf_ranap_iuTransportAssociation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_IuTransportAssociation }, + { &hf_ranap_dataForwardingInformation_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_TNLInformationEnhRelInfoRes }, + { &hf_ranap_ass_RAB_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_Ass_RAB_Parameters }, { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; @@ -8307,6 +8899,23 @@ dissect_ranap_MBMSSessionStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const per_sequence_t MBMSSynchronisationInformation_sequence[] = { + { &hf_ranap_mBMSHCIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_MBMSHCIndicator }, + { &hf_ranap_iPMulticastAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_IPMulticastAddress }, + { &hf_ranap_gTPDLTEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_GTP_TEI }, + { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_MBMSSynchronisationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_MBMSSynchronisationInformation, MBMSSynchronisationInformation_sequence); + + return offset; +} + + static const per_sequence_t MBMSSessionStartResponse_sequence[] = { { &hf_ranap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ProtocolIE_Container }, { &hf_ranap_protocolExtensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, @@ -8636,9 +9245,39 @@ dissect_ranap_MBMSRABReleaseFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t SRVCC_CSKeysRequest_sequence[] = { + { &hf_ranap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ProtocolIE_Container }, + { &hf_ranap_protocolExtensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_ranap_SRVCC_CSKeysRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_SRVCC_CSKeysRequest, SRVCC_CSKeysRequest_sequence); + + return offset; +} + + +static const per_sequence_t SRVCC_CSKeysResponse_sequence[] = { + { &hf_ranap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ProtocolIE_Container }, + { &hf_ranap_protocolExtensions, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; static int -dissect_ranap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ranap_SRVCC_CSKeysResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_ranap_SRVCC_CSKeysResponse, SRVCC_CSKeysResponse_sequence); + + return offset; +} + + + +static int +dissect_ranap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue); return offset; @@ -8648,7 +9287,7 @@ dissect_ranap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p static const per_sequence_t InitiatingMessage_sequence[] = { { &hf_ranap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_ProcedureCode }, { &hf_ranap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_Criticality }, - { &hf_ranap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_T_value }, + { &hf_ranap_initiatingMessagevalue, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_InitiatingMessage_value }, { NULL, 0, 0, NULL } }; @@ -8663,7 +9302,7 @@ dissect_ranap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int -dissect_ranap_T_value_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ranap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue); return offset; @@ -8673,7 +9312,7 @@ dissect_ranap_T_value_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static const per_sequence_t SuccessfulOutcome_sequence[] = { { &hf_ranap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_ProcedureCode }, { &hf_ranap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_Criticality }, - { &hf_ranap_value_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_T_value_01 }, + { &hf_ranap_successfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_SuccessfulOutcome_value }, { NULL, 0, 0, NULL } }; @@ -8688,7 +9327,7 @@ dissect_ranap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int -dissect_ranap_T_value_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ranap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue); return offset; @@ -8698,7 +9337,7 @@ dissect_ranap_T_value_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static const per_sequence_t UnsuccessfulOutcome_sequence[] = { { &hf_ranap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_ProcedureCode }, { &hf_ranap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_Criticality }, - { &hf_ranap_value_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_T_value_02 }, + { &hf_ranap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_UnsuccessfulOutcome_value }, { NULL, 0, 0, NULL } }; @@ -8713,7 +9352,7 @@ dissect_ranap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int -dissect_ranap_T_value_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ranap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_OutcomeValue); return offset; @@ -8723,7 +9362,7 @@ dissect_ranap_T_value_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static const per_sequence_t Outcome_sequence[] = { { &hf_ranap_procedureCode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_ProcedureCode }, { &hf_ranap_criticality , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_Criticality }, - { &hf_ranap_value_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_T_value_03 }, + { &hf_ranap_value , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_T_value }, { NULL, 0, 0, NULL } }; @@ -8787,6 +9426,14 @@ static int dissect_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_PDU(tvbuff_t * offset += 7; offset >>= 3; return offset; } +static int dissect_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf(tvb, offset, &asn1_ctx, tree, hf_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Alt_RAB_Parameter_ExtendedMaxBitrateInf_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8795,6 +9442,14 @@ static int dissect_Alt_RAB_Parameter_ExtendedMaxBitrateInf_PDU(tvbuff_t *tvb _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_Alt_RAB_Parameter_SupportedMaxBitrateInf_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf(tvb, offset, &asn1_ctx, tree, hf_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_AlternativeRABConfigurationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8931,6 +9586,14 @@ static int dissect_CN_DomainIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_CSG_Id(tvb, offset, &asn1_ctx, tree, hf_ranap_CSG_Id_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_DeltaRAListofIdleModeUEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8963,6 +9626,14 @@ static int dissect_EncryptionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } +static int dissect_EncryptionKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_EncryptionKey(tvb, offset, &asn1_ctx, tree, hf_ranap_EncryptionKey_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_ExtendedRNC_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9091,6 +9762,14 @@ static int dissect_IntegrityProtectionInformation_PDU(tvbuff_t *tvb _U_, packet_ offset += 7; offset >>= 3; return offset; } +static int dissect_IntegrityProtectionKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_IntegrityProtectionKey(tvb, offset, &asn1_ctx, tree, hf_ranap_IntegrityProtectionKey_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_InterSystemInformationTransferType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9587,6 +10266,22 @@ static int dissect_SourceRNC_ToTargetRNC_TransparentContainer_PDU(tvbuff_t *tvb offset += 7; offset >>= 3; return offset; } +static int dissect_SubscriberProfileIDforRFP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_SubscriberProfileIDforRFP(tvb, offset, &asn1_ctx, tree, hf_ranap_SubscriberProfileIDforRFP_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SupportedRAB_ParameterBitrateList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_SupportedRAB_ParameterBitrateList(tvb, offset, &asn1_ctx, tree, hf_ranap_SupportedRAB_ParameterBitrateList_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SRB_TrCH_Mapping_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9595,6 +10290,22 @@ static int dissect_SRB_TrCH_Mapping_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U offset += 7; offset >>= 3; return offset; } +static int dissect_SRVCC_HO_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_SRVCC_HO_Indication(tvb, offset, &asn1_ctx, tree, hf_ranap_SRVCC_HO_Indication_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SRVCC_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_SRVCC_Information(tvb, offset, &asn1_ctx, tree, hf_ranap_SRVCC_Information_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_TargetBSS_ToSourceBSS_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9699,6 +10410,14 @@ static int dissect_TypeOfError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr offset += 7; offset >>= 3; return offset; } +static int dissect_UE_History_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_UE_History_Information(tvb, offset, &asn1_ctx, tree, hf_ranap_UE_History_Information_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UE_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10235,6 +10954,22 @@ static int dissect_RAB_SetupItem_EnhancedRelocCompleteRes_PDU(tvbuff_t *tvb _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_RAB_ToBeReleasedList_EnhancedRelocCompleteRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_RAB_ToBeReleasedList_EnhancedRelocCompleteRes(tvb, offset, &asn1_ctx, tree, hf_ranap_RAB_ToBeReleasedList_EnhancedRelocCompleteRes_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes(tvb, offset, &asn1_ctx, tree, hf_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_EnhancedRelocationCompleteFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10707,6 +11442,14 @@ static int dissect_MBMSSessionStart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U offset += 7; offset >>= 3; return offset; } +static int dissect_MBMSSynchronisationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_MBMSSynchronisationInformation(tvb, offset, &asn1_ctx, tree, hf_ranap_MBMSSynchronisationInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_MBMSSessionStartResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10867,6 +11610,22 @@ static int dissect_MBMSRABReleaseFailure_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } +static int dissect_SRVCC_CSKeysRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_SRVCC_CSKeysRequest(tvb, offset, &asn1_ctx, tree, hf_ranap_SRVCC_CSKeysRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SRVCC_CSKeysResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_ranap_SRVCC_CSKeysResponse(tvb, offset, &asn1_ctx, tree, hf_ranap_SRVCC_CSKeysResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_RANAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10878,19 +11637,19 @@ static int dissect_RANAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot /*--- End of included file: packet-ranap-fn.c ---*/ -#line 123 "packet-ranap-template.c" +#line 130 "packet-ranap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { int ret; - ret = (dissector_try_port(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + ret = (dissector_try_port_new(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; if (ret == 0) { int key = pdu_type || ProtocolIE_ID; - ret = (dissector_try_port(ranap_ies_dissector_table, key, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + ret = (dissector_try_port_new(ranap_ies_dissector_table, key, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } @@ -10899,41 +11658,41 @@ static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_ies_p1_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_ies_p2_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_extension_dissector_table, ProtocolExtensionID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { pdu_type = IMSG; - return (dissector_try_port(ranap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; pdu_type = 0; } static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { pdu_type = SOUT; - return (dissector_try_port(ranap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; pdu_type = 0; } static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - return (dissector_try_port(ranap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port_new(ranap_proc_out_dissector_table, ProcedureCode, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } static void @@ -10966,6 +11725,44 @@ dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } } +static gboolean +dissect_sccp_ranap_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + guint8 temp; + asn1_ctx_t asn1_ctx; + guint length; + int offset; + + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + + /* Is it a ranap packet? + * + * 4th octet should be the length of the rest of the message. + * 2nd octet is the message-type e Z[0, 28] + * (obviously there must be at least four octets) + * + * If both hold true we'll assume its RANAP + */ + + #define LENGTH_OFFSET 3 + #define MSG_TYPE_OFFSET 1 + if (tvb_length(tvb) < 4) { return FALSE; } + /*if (tvb_get_guint8(tvb, LENGTH_OFFSET) != (tvb_length(tvb) - 4)) { return FALSE; }*/ + /* Read the length NOTE offset in bits */ + offset = dissect_per_length_determinant(tvb, LENGTH_OFFSET<<3, &asn1_ctx, tree, -1, &length); + offset = offset>>3; + if (length!= (tvb_length(tvb) - offset)){ + return FALSE; + } + + temp = tvb_get_guint8(tvb, MSG_TYPE_OFFSET); + if (temp > RANAP_MAX_PC) { return FALSE; } + + dissect_ranap(tvb, pinfo, tree); + + return TRUE; +} + /*--- proto_register_ranap -------------------------------------------*/ void proto_register_ranap(void) { module_t *ranap_module; @@ -10977,6 +11774,15 @@ void proto_register_ranap(void) { { "IMSI digits", "ranap.imsi_digits", FT_STRING, BASE_NONE, NULL, 0, "IMSI digits", HFILL }}, + { &hf_ranap_transportLayerAddress_ipv4, + { "transportLayerAddress IPv4", "ranap.transportLayerAddress_ipv4", + FT_IPv4, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_ranap_transportLayerAddress_ipv6, + { "transportLayerAddress IPv6", "ranap.transportLayerAddress_ipv6", + FT_IPv6, BASE_NONE, NULL, 0, + NULL, HFILL }}, + /*--- Included file: packet-ranap-hfarr.c ---*/ @@ -10993,10 +11799,18 @@ void proto_register_ranap(void) { { "Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf", "ranap.Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf", FT_NONE, BASE_NONE, NULL, 0, "ranap.Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf", HFILL }}, + { &hf_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_PDU, + { "Alt-RAB-Parameter-SupportedGuaranteedBitrateInf", "ranap.Alt_RAB_Parameter_SupportedGuaranteedBitrateInf", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.Alt_RAB_Parameter_SupportedGuaranteedBitrateInf", HFILL }}, { &hf_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateInf_PDU, { "Alt-RAB-Parameter-ExtendedMaxBitrateInf", "ranap.Alt_RAB_Parameter_ExtendedMaxBitrateInf", FT_NONE, BASE_NONE, NULL, 0, "ranap.Alt_RAB_Parameter_ExtendedMaxBitrateInf", HFILL }}, + { &hf_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf_PDU, + { "Alt-RAB-Parameter-SupportedMaxBitrateInf", "ranap.Alt_RAB_Parameter_SupportedMaxBitrateInf", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.Alt_RAB_Parameter_SupportedMaxBitrateInf", HFILL }}, { &hf_ranap_AlternativeRABConfigurationRequest_PDU, { "AlternativeRABConfigurationRequest", "ranap.AlternativeRABConfigurationRequest", FT_UINT32, BASE_DEC, VALS(ranap_AlternativeRABConfigurationRequest_vals), 0, @@ -11065,6 +11879,10 @@ void proto_register_ranap(void) { { "CN-DomainIndicator", "ranap.CN_DomainIndicator", FT_UINT32, BASE_DEC, VALS(ranap_CN_DomainIndicator_vals), 0, "ranap.CN_DomainIndicator", HFILL }}, + { &hf_ranap_CSG_Id_PDU, + { "CSG-Id", "ranap.CSG_Id", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.CSG_Id", HFILL }}, { &hf_ranap_DeltaRAListofIdleModeUEs_PDU, { "DeltaRAListofIdleModeUEs", "ranap.DeltaRAListofIdleModeUEs", FT_NONE, BASE_NONE, NULL, 0, @@ -11081,6 +11899,10 @@ void proto_register_ranap(void) { { "EncryptionInformation", "ranap.EncryptionInformation", FT_NONE, BASE_NONE, NULL, 0, "ranap.EncryptionInformation", HFILL }}, + { &hf_ranap_EncryptionKey_PDU, + { "EncryptionKey", "ranap.EncryptionKey", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.EncryptionKey", HFILL }}, { &hf_ranap_ExtendedRNC_ID_PDU, { "ExtendedRNC-ID", "ranap.ExtendedRNC_ID", FT_UINT32, BASE_DEC, NULL, 0, @@ -11145,6 +11967,10 @@ void proto_register_ranap(void) { { "IntegrityProtectionInformation", "ranap.IntegrityProtectionInformation", FT_NONE, BASE_NONE, NULL, 0, "ranap.IntegrityProtectionInformation", HFILL }}, + { &hf_ranap_IntegrityProtectionKey_PDU, + { "IntegrityProtectionKey", "ranap.IntegrityProtectionKey", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.IntegrityProtectionKey", HFILL }}, { &hf_ranap_InterSystemInformationTransferType_PDU, { "InterSystemInformationTransferType", "ranap.InterSystemInformationTransferType", FT_UINT32, BASE_DEC, VALS(ranap_InterSystemInformationTransferType_vals), 0, @@ -11393,10 +12219,26 @@ void proto_register_ranap(void) { { "SourceRNC-ToTargetRNC-TransparentContainer", "ranap.SourceRNC_ToTargetRNC_TransparentContainer", FT_NONE, BASE_NONE, NULL, 0, "ranap.SourceRNC_ToTargetRNC_TransparentContainer", HFILL }}, + { &hf_ranap_SubscriberProfileIDforRFP_PDU, + { "SubscriberProfileIDforRFP", "ranap.SubscriberProfileIDforRFP", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.SubscriberProfileIDforRFP", HFILL }}, + { &hf_ranap_SupportedRAB_ParameterBitrateList_PDU, + { "SupportedRAB-ParameterBitrateList", "ranap.SupportedRAB_ParameterBitrateList", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.SupportedRAB_ParameterBitrateList", HFILL }}, { &hf_ranap_SRB_TrCH_Mapping_PDU, { "SRB-TrCH-Mapping", "ranap.SRB_TrCH_Mapping", FT_UINT32, BASE_DEC, NULL, 0, "ranap.SRB_TrCH_Mapping", HFILL }}, + { &hf_ranap_SRVCC_HO_Indication_PDU, + { "SRVCC-HO-Indication", "ranap.SRVCC_HO_Indication", + FT_UINT32, BASE_DEC, VALS(ranap_SRVCC_HO_Indication_vals), 0, + "ranap.SRVCC_HO_Indication", HFILL }}, + { &hf_ranap_SRVCC_Information_PDU, + { "SRVCC-Information", "ranap.SRVCC_Information", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.SRVCC_Information", HFILL }}, { &hf_ranap_TargetBSS_ToSourceBSS_TransparentContainer_PDU, { "TargetBSS-ToSourceBSS-TransparentContainer", "ranap.TargetBSS_ToSourceBSS_TransparentContainer", FT_BYTES, BASE_HEX, NULL, 0, @@ -11449,6 +12291,10 @@ void proto_register_ranap(void) { { "TypeOfError", "ranap.TypeOfError", FT_UINT32, BASE_DEC, VALS(ranap_TypeOfError_vals), 0, "ranap.TypeOfError", HFILL }}, + { &hf_ranap_UE_History_Information_PDU, + { "UE-History-Information", "ranap.UE_History_Information", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.UE_History_Information", HFILL }}, { &hf_ranap_UE_ID_PDU, { "UE-ID", "ranap.UE_ID", FT_UINT32, BASE_DEC, VALS(ranap_UE_ID_vals), 0, @@ -11717,6 +12563,14 @@ void proto_register_ranap(void) { { "RAB-SetupItem-EnhancedRelocCompleteRes", "ranap.RAB_SetupItem_EnhancedRelocCompleteRes", FT_NONE, BASE_NONE, NULL, 0, "ranap.RAB_SetupItem_EnhancedRelocCompleteRes", HFILL }}, + { &hf_ranap_RAB_ToBeReleasedList_EnhancedRelocCompleteRes_PDU, + { "RAB-ToBeReleasedList-EnhancedRelocCompleteRes", "ranap.RAB_ToBeReleasedList_EnhancedRelocCompleteRes", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.RAB_ToBeReleasedList_EnhancedRelocCompleteRes", HFILL }}, + { &hf_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_PDU, + { "RAB-ToBeReleasedItem-EnhancedRelocCompleteRes", "ranap.RAB_ToBeReleasedItem_EnhancedRelocCompleteRes", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.RAB_ToBeReleasedItem_EnhancedRelocCompleteRes", HFILL }}, { &hf_ranap_EnhancedRelocationCompleteFailure_PDU, { "EnhancedRelocationCompleteFailure", "ranap.EnhancedRelocationCompleteFailure", FT_NONE, BASE_NONE, NULL, 0, @@ -11953,6 +12807,10 @@ void proto_register_ranap(void) { { "MBMSSessionStart", "ranap.MBMSSessionStart", FT_NONE, BASE_NONE, NULL, 0, "ranap.MBMSSessionStart", HFILL }}, + { &hf_ranap_MBMSSynchronisationInformation_PDU, + { "MBMSSynchronisationInformation", "ranap.MBMSSynchronisationInformation", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.MBMSSynchronisationInformation", HFILL }}, { &hf_ranap_MBMSSessionStartResponse_PDU, { "MBMSSessionStartResponse", "ranap.MBMSSessionStartResponse", FT_NONE, BASE_NONE, NULL, 0, @@ -12033,6 +12891,14 @@ void proto_register_ranap(void) { { "MBMSRABReleaseFailure", "ranap.MBMSRABReleaseFailure", FT_NONE, BASE_NONE, NULL, 0, "ranap.MBMSRABReleaseFailure", HFILL }}, + { &hf_ranap_SRVCC_CSKeysRequest_PDU, + { "SRVCC-CSKeysRequest", "ranap.SRVCC_CSKeysRequest", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.SRVCC_CSKeysRequest", HFILL }}, + { &hf_ranap_SRVCC_CSKeysResponse_PDU, + { "SRVCC-CSKeysResponse", "ranap.SRVCC_CSKeysResponse", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.SRVCC_CSKeysResponse", HFILL }}, { &hf_ranap_RANAP_PDU_PDU, { "RANAP-PDU", "ranap.RANAP_PDU", FT_UINT32, BASE_DEC, VALS(ranap_RANAP_PDU_vals), 0, @@ -12173,6 +13039,18 @@ void proto_register_ranap(void) { { "Alt-RAB-Parameter-GuaranteedBitrateList", "ranap.Alt_RAB_Parameter_GuaranteedBitrateList_item", FT_UINT32, BASE_DEC, NULL, 0, "ranap.GuaranteedBitrate", HFILL }}, + { &hf_ranap_altSupportedGuaranteedBitrateType, + { "altSupportedGuaranteedBitrateType", "ranap.altSupportedGuaranteedBitrateType", + FT_UINT32, BASE_DEC, VALS(ranap_Alt_RAB_Parameter_GuaranteedBitrateType_vals), 0, + "ranap.Alt_RAB_Parameter_GuaranteedBitrateType", HFILL }}, + { &hf_ranap_altSupportedGuaranteedBitrates, + { "altSupportedGuaranteedBitrates", "ranap.altSupportedGuaranteedBitrates", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.Alt_RAB_Parameter_SupportedGuaranteedBitrates", HFILL }}, + { &hf_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates_item, + { "Alt-RAB-Parameter-SupportedGuaranteedBitrates", "ranap.Alt_RAB_Parameter_SupportedGuaranteedBitrates_item", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.SupportedRAB_ParameterBitrateList", HFILL }}, { &hf_ranap_altExtendedMaxBitrateType, { "altExtendedMaxBitrateType", "ranap.altExtendedMaxBitrateType", FT_UINT32, BASE_DEC, VALS(ranap_Alt_RAB_Parameter_MaxBitrateType_vals), 0, @@ -12205,6 +13083,18 @@ void proto_register_ranap(void) { { "Alt-RAB-Parameter-MaxBitrateList", "ranap.Alt_RAB_Parameter_MaxBitrateList_item", FT_UINT32, BASE_DEC, NULL, 0, "ranap.MaxBitrate", HFILL }}, + { &hf_ranap_altSupportedMaxBitrateType, + { "altSupportedMaxBitrateType", "ranap.altSupportedMaxBitrateType", + FT_UINT32, BASE_DEC, VALS(ranap_Alt_RAB_Parameter_MaxBitrateType_vals), 0, + "ranap.Alt_RAB_Parameter_MaxBitrateType", HFILL }}, + { &hf_ranap_altSupportedMaxBitrates, + { "altSupportedMaxBitrates", "ranap.altSupportedMaxBitrates", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.Alt_RAB_Parameter_SupportedMaxBitrates", HFILL }}, + { &hf_ranap_Alt_RAB_Parameter_SupportedMaxBitrates_item, + { "Alt-RAB-Parameter-SupportedMaxBitrates", "ranap.Alt_RAB_Parameter_SupportedMaxBitrates_item", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.SupportedRAB_ParameterBitrateList", HFILL }}, { &hf_ranap_sAI, { "sAI", "ranap.sAI", FT_NONE, BASE_NONE, NULL, 0, @@ -12385,6 +13275,22 @@ void proto_register_ranap(void) { { "RAListwithNoIdleModeUEsAnyMore", "ranap.RAListwithNoIdleModeUEsAnyMore_item", FT_BYTES, BASE_HEX, NULL, 0, "ranap.RAC", HFILL }}, + { &hf_ranap_macroENB_ID, + { "macroENB-ID", "ranap.macroENB_ID", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.BIT_STRING_SIZE_20", HFILL }}, + { &hf_ranap_homeENB_ID, + { "homeENB-ID", "ranap.homeENB_ID", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.BIT_STRING_SIZE_28", HFILL }}, + { &hf_ranap_eNB_ID, + { "eNB-ID", "ranap.eNB_ID", + FT_UINT32, BASE_DEC, VALS(ranap_ENB_ID_vals), 0, + "ranap.ENB_ID", HFILL }}, + { &hf_ranap_selectedTAI, + { "selectedTAI", "ranap.selectedTAI", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.TAI", HFILL }}, { &hf_ranap_permittedAlgorithms, { "permittedAlgorithms", "ranap.permittedAlgorithms", FT_UINT32, BASE_DEC, NULL, 0, @@ -12609,6 +13515,18 @@ void proto_register_ranap(void) { { "ageOfSAI", "ranap.ageOfSAI", FT_UINT32, BASE_DEC, NULL, 0, "ranap.INTEGER_0_32767", HFILL }}, + { &hf_ranap_uTRAN_CellID, + { "uTRAN-CellID", "ranap.uTRAN_CellID", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.UTRAN_CellID", HFILL }}, + { &hf_ranap_cellType, + { "cellType", "ranap.cellType", + FT_UINT32, BASE_DEC, VALS(ranap_CellType_vals), 0, + "ranap.CellType", HFILL }}, + { &hf_ranap_time_UE_StayedInCell, + { "time-UE-StayedInCell", "ranap.time_UE_StayedInCell", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.Time_UE_StayedInCell", HFILL }}, { &hf_ranap_ListOF_SNAs_item, { "ListOF-SNAs", "ranap.ListOF_SNAs_item", FT_UINT32, BASE_DEC, NULL, 0, @@ -12981,10 +13899,10 @@ void proto_register_ranap(void) { { "rAB-TrCH-Mapping", "ranap.rAB_TrCH_Mapping", FT_UINT32, BASE_DEC, NULL, 0, "ranap.RAB_TrCH_Mapping", HFILL }}, - { &hf_ranap_uTRANcellID, - { "uTRANcellID", "ranap.uTRANcellID", + { &hf_ranap_SupportedRAB_ParameterBitrateList_item, + { "SupportedRAB-ParameterBitrateList", "ranap.SupportedRAB_ParameterBitrateList_item", FT_UINT32, BASE_DEC, NULL, 0, - "ranap.TargetCellId", HFILL }}, + "ranap.SupportedBitrate", HFILL }}, { &hf_ranap_SRB_TrCH_Mapping_item, { "SRB-TrCH-Mapping", "ranap.SRB_TrCH_Mapping_item", FT_NONE, BASE_NONE, NULL, 0, @@ -12997,10 +13915,22 @@ void proto_register_ranap(void) { { "trCH-ID", "ranap.trCH_ID", FT_NONE, BASE_NONE, NULL, 0, "ranap.TrCH_ID", HFILL }}, + { &hf_ranap_nonce, + { "nonce", "ranap.nonce", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.BIT_STRING_SIZE_128", HFILL }}, + { &hf_ranap_tAC, + { "tAC", "ranap.tAC", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.TAC", HFILL }}, { &hf_ranap_cGI, { "cGI", "ranap.cGI", FT_NONE, BASE_NONE, NULL, 0, "ranap.CGI", HFILL }}, + { &hf_ranap_targeteNB_ID, + { "targeteNB-ID", "ranap.targeteNB_ID", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.Global_ENB_ID", HFILL }}, { &hf_ranap_tMSI, { "tMSI", "ranap.tMSI", FT_BYTES, BASE_HEX, NULL, 0, @@ -13061,6 +13991,10 @@ void proto_register_ranap(void) { { "uESBI-IuB", "ranap.uESBI_IuB", FT_BYTES, BASE_HEX, NULL, 0, "ranap.UESBI_IuB", HFILL }}, + { &hf_ranap_cellID, + { "cellID", "ranap.cellID", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.TargetCellId", HFILL }}, { &hf_ranap_horizontalVelocity, { "horizontalVelocity", "ranap.horizontalVelocity", FT_NONE, BASE_NONE, NULL, 0, @@ -13221,14 +14155,6 @@ void proto_register_ranap(void) { { "ass-RAB-Parameters", "ranap.ass_RAB_Parameters", FT_NONE, BASE_NONE, NULL, 0, "ranap.Ass_RAB_Parameters", HFILL }}, - { &hf_ranap_transportLayerAddressReq2, - { "transportLayerAddressReq2", "ranap.transportLayerAddressReq2", - FT_BYTES, BASE_HEX, NULL, 0, - "ranap.TransportLayerAddress", HFILL }}, - { &hf_ranap_iuTransportAssociationReq2, - { "iuTransportAssociationReq2", "ranap.iuTransportAssociationReq2", - FT_UINT32, BASE_DEC, VALS(ranap_IuTransportAssociation_vals), 0, - "ranap.IuTransportAssociation", HFILL }}, { &hf_ranap_transportLayerAddressRes1, { "transportLayerAddressRes1", "ranap.transportLayerAddressRes1", FT_BYTES, BASE_HEX, NULL, 0, @@ -13237,14 +14163,10 @@ void proto_register_ranap(void) { { "iuTransportAssociationRes1", "ranap.iuTransportAssociationRes1", FT_UINT32, BASE_DEC, VALS(ranap_IuTransportAssociation_vals), 0, "ranap.IuTransportAssociation", HFILL }}, - { &hf_ranap_transportLayerAddressRes2, - { "transportLayerAddressRes2", "ranap.transportLayerAddressRes2", - FT_BYTES, BASE_HEX, NULL, 0, - "ranap.TransportLayerAddress", HFILL }}, - { &hf_ranap_iuTransportAssociationRes2, - { "iuTransportAssociationRes2", "ranap.iuTransportAssociationRes2", - FT_UINT32, BASE_DEC, VALS(ranap_IuTransportAssociation_vals), 0, - "ranap.IuTransportAssociation", HFILL }}, + { &hf_ranap_rab2beReleasedList, + { "rab2beReleasedList", "ranap.rab2beReleasedList", + FT_UINT32, BASE_DEC, NULL, 0, + "ranap.RAB_ToBeReleasedList_EnhancedRelocCompleteRes", HFILL }}, { &hf_ranap_transportLayerInformation, { "transportLayerInformation", "ranap.transportLayerInformation", FT_NONE, BASE_NONE, NULL, 0, @@ -13285,10 +14207,42 @@ void proto_register_ranap(void) { { "cN-DomainIndicator", "ranap.cN_DomainIndicator", FT_UINT32, BASE_DEC, VALS(ranap_CN_DomainIndicator_vals), 0, "ranap.CN_DomainIndicator", HFILL }}, + { &hf_ranap_dataForwardingInformation, + { "dataForwardingInformation", "ranap.dataForwardingInformation", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.TNLInformationEnhRelInfoReq", HFILL }}, + { &hf_ranap_sourceSideIuULTNLInfo, + { "sourceSideIuULTNLInfo", "ranap.sourceSideIuULTNLInfo", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.TNLInformationEnhRelInfoReq", HFILL }}, + { &hf_ranap_alt_RAB_Parameters, + { "alt-RAB-Parameters", "ranap.alt_RAB_Parameters", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.Alt_RAB_Parameters", HFILL }}, + { &hf_ranap_dataForwardingInformation_01, + { "dataForwardingInformation", "ranap.dataForwardingInformation", + FT_NONE, BASE_NONE, NULL, 0, + "ranap.TNLInformationEnhRelInfoRes", HFILL }}, + { &hf_ranap_dl_forwardingTransportLayerAddress, + { "dl-forwardingTransportLayerAddress", "ranap.dl_forwardingTransportLayerAddress", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.TransportLayerAddress", HFILL }}, + { &hf_ranap_dl_forwardingTransportAssociation, + { "dl-forwardingTransportAssociation", "ranap.dl_forwardingTransportAssociation", + FT_UINT32, BASE_DEC, VALS(ranap_IuTransportAssociation_vals), 0, + "ranap.IuTransportAssociation", HFILL }}, { &hf_ranap_requested_RAB_Parameter_Values, { "requested-RAB-Parameter-Values", "ranap.requested_RAB_Parameter_Values", FT_NONE, BASE_NONE, NULL, 0, "ranap.Requested_RAB_Parameter_Values", HFILL }}, + { &hf_ranap_mBMSHCIndicator, + { "mBMSHCIndicator", "ranap.mBMSHCIndicator", + FT_UINT32, BASE_DEC, VALS(ranap_MBMSHCIndicator_vals), 0, + "ranap.MBMSHCIndicator", HFILL }}, + { &hf_ranap_gTPDLTEID, + { "gTPDLTEID", "ranap.gTPDLTEID", + FT_BYTES, BASE_HEX, NULL, 0, + "ranap.GTP_TEI", HFILL }}, { &hf_ranap_LeftMBMSBearerService_IEs_item, { "LeftMBMSBearerService-IEs", "ranap.LeftMBMSBearerService_IEs_item", FT_NONE, BASE_NONE, NULL, 0, @@ -13313,30 +14267,31 @@ void proto_register_ranap(void) { { "outcome", "ranap.outcome", FT_NONE, BASE_NONE, NULL, 0, "ranap.Outcome", HFILL }}, - { &hf_ranap_value, + { &hf_ranap_initiatingMessagevalue, { "value", "ranap.value", FT_NONE, BASE_NONE, NULL, 0, - "ranap.T_value", HFILL }}, - { &hf_ranap_value_01, + "ranap.InitiatingMessage_value", HFILL }}, + { &hf_ranap_successfulOutcome_value, { "value", "ranap.value", FT_NONE, BASE_NONE, NULL, 0, - "ranap.T_value_01", HFILL }}, - { &hf_ranap_value_02, + "ranap.SuccessfulOutcome_value", HFILL }}, + { &hf_ranap_unsuccessfulOutcome_value, { "value", "ranap.value", FT_NONE, BASE_NONE, NULL, 0, - "ranap.T_value_02", HFILL }}, - { &hf_ranap_value_03, + "ranap.UnsuccessfulOutcome_value", HFILL }}, + { &hf_ranap_value, { "value", "ranap.value", FT_NONE, BASE_NONE, NULL, 0, - "ranap.T_value_03", HFILL }}, + "ranap.T_value", HFILL }}, /*--- End of included file: packet-ranap-hfarr.c ---*/ -#line 223 "packet-ranap-template.c" +#line 277 "packet-ranap-template.c" }; /* List of subtrees */ static gint *ett[] = { &ett_ranap, + &ett_ranap_TransportLayerAddress, /*--- Included file: packet-ranap-ettarr.c ---*/ #line 1 "packet-ranap-ettarr.c" @@ -13359,12 +14314,16 @@ void proto_register_ranap(void) { &ett_ranap_Alt_RAB_Parameter_GuaranteedBitrateInf, &ett_ranap_Alt_RAB_Parameter_GuaranteedBitrates, &ett_ranap_Alt_RAB_Parameter_GuaranteedBitrateList, + &ett_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, + &ett_ranap_Alt_RAB_Parameter_SupportedGuaranteedBitrates, &ett_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateInf, &ett_ranap_Alt_RAB_Parameter_ExtendedMaxBitrates, &ett_ranap_Alt_RAB_Parameter_ExtendedMaxBitrateList, &ett_ranap_Alt_RAB_Parameter_MaxBitrateInf, &ett_ranap_Alt_RAB_Parameter_MaxBitrates, &ett_ranap_Alt_RAB_Parameter_MaxBitrateList, + &ett_ranap_Alt_RAB_Parameter_SupportedMaxBitrateInf, + &ett_ranap_Alt_RAB_Parameter_SupportedMaxBitrates, &ett_ranap_AreaIdentity, &ett_ranap_Ass_RAB_Parameters, &ett_ranap_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList, @@ -13387,6 +14346,8 @@ void proto_register_ranap(void) { &ett_ranap_DeltaRAListofIdleModeUEs, &ett_ranap_NewRAListofIdleModeUEs, &ett_ranap_RAListwithNoIdleModeUEsAnyMore, + &ett_ranap_ENB_ID, + &ett_ranap_Global_ENB_ID, &ett_ranap_EncryptionInformation, &ett_ranap_EquipmentsToBeTraced, &ett_ranap_GANSS_PositioningDataSet, @@ -13420,6 +14381,7 @@ void proto_register_ranap(void) { &ett_ranap_LA_LIST_item, &ett_ranap_LAI, &ett_ranap_LastKnownServiceArea, + &ett_ranap_LastVisitedUTRANCell_Item, &ett_ranap_ListOF_SNAs, &ett_ranap_ListOfInterfacesToTrace, &ett_ranap_InterfacesToTraceItem, @@ -13473,9 +14435,12 @@ void proto_register_ranap(void) { &ett_ranap_SourceID, &ett_ranap_SourceRNC_ID, &ett_ranap_SourceRNC_ToTargetRNC_TransparentContainer, + &ett_ranap_SupportedRAB_ParameterBitrateList, &ett_ranap_SourceUTRANCellID, &ett_ranap_SRB_TrCH_Mapping, &ett_ranap_SRB_TrCH_MappingItem, + &ett_ranap_SRVCC_Information, + &ett_ranap_TAI, &ett_ranap_TargetID, &ett_ranap_TargetRNC_ID, &ett_ranap_TargetRNC_ToSourceRNC_TransparentContainer, @@ -13487,6 +14452,7 @@ void proto_register_ranap(void) { &ett_ranap_TrCH_ID_List, &ett_ranap_UE_ID, &ett_ranap_UESBI_Iu, + &ett_ranap_UTRAN_CellID, &ett_ranap_VelocityEstimate, &ett_ranap_HorizontalVelocity, &ett_ranap_HorizontalWithVerticalVelocity, @@ -13542,6 +14508,7 @@ void proto_register_ranap(void) { &ett_ranap_RAB_SetupItem_EnhancedRelocCompleteReq, &ett_ranap_EnhancedRelocationCompleteResponse, &ett_ranap_RAB_SetupItem_EnhancedRelocCompleteRes, + &ett_ranap_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes, &ett_ranap_EnhancedRelocationCompleteFailure, &ett_ranap_EnhancedRelocationCompleteConfirm, &ett_ranap_Paging, @@ -13573,9 +14540,11 @@ void proto_register_ranap(void) { &ett_ranap_RAB_ContextItem_RANAP_RelocInf, &ett_ranap_RANAP_EnhancedRelocationInformationRequest, &ett_ranap_RAB_SetupItem_EnhRelocInfoReq, + &ett_ranap_TNLInformationEnhRelInfoReq, &ett_ranap_RANAP_EnhancedRelocationInformationResponse, &ett_ranap_RAB_SetupItem_EnhRelocInfoRes, &ett_ranap_RAB_FailedItem_EnhRelocInfoRes, + &ett_ranap_TNLInformationEnhRelInfoRes, &ett_ranap_RAB_ModifyRequest, &ett_ranap_RAB_ModifyItem, &ett_ranap_LocationRelatedDataRequest, @@ -13590,6 +14559,7 @@ void proto_register_ranap(void) { &ett_ranap_UplinkInformationExchangeResponse, &ett_ranap_UplinkInformationExchangeFailure, &ett_ranap_MBMSSessionStart, + &ett_ranap_MBMSSynchronisationInformation, &ett_ranap_MBMSSessionStartResponse, &ett_ranap_MBMSSessionStartFailure, &ett_ranap_MBMSSessionUpdate, @@ -13612,6 +14582,8 @@ void proto_register_ranap(void) { &ett_ranap_MBMSRABReleaseRequest, &ett_ranap_MBMSRABRelease, &ett_ranap_MBMSRABReleaseFailure, + &ett_ranap_SRVCC_CSKeysRequest, + &ett_ranap_SRVCC_CSKeysResponse, &ett_ranap_RANAP_PDU, &ett_ranap_InitiatingMessage, &ett_ranap_SuccessfulOutcome, @@ -13619,7 +14591,7 @@ void proto_register_ranap(void) { &ett_ranap_Outcome, /*--- End of included file: packet-ranap-ettarr.c ---*/ -#line 229 "packet-ranap-template.c" +#line 284 "packet-ranap-template.c" }; @@ -13674,9 +14646,9 @@ proto_reg_handoff_ranap(void) dissector_add("ranap.ies", id_RAB_ReleasedItem_IuRelComp, new_create_dissector_handle(dissect_RAB_ReleasedItem_IuRelComp_PDU, proto_ranap)); dissector_add("ranap.ies", id_RelocationType, new_create_dissector_handle(dissect_RelocationType_PDU, proto_ranap)); dissector_add("ranap.ies", id_SourceID, new_create_dissector_handle(dissect_SourceID_PDU, proto_ranap)); - dissector_add("ranap.ies", id_SourceRNC_ToTargetRNC_TransparentContainer, new_create_dissector_handle(dissect_SourceRNC_ToTargetRNC_TransparentContainer_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Source_ToTarget_TransparentContainer, new_create_dissector_handle(dissect_SourceRNC_ToTargetRNC_TransparentContainer_PDU, proto_ranap)); dissector_add("ranap.ies", id_TargetID, new_create_dissector_handle(dissect_TargetID_PDU, proto_ranap)); - dissector_add("ranap.ies", id_TargetRNC_ToSourceRNC_TransparentContainer, new_create_dissector_handle(dissect_TargetRNC_ToSourceRNC_TransparentContainer_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Target_ToSource_TransparentContainer, new_create_dissector_handle(dissect_TargetRNC_ToSourceRNC_TransparentContainer_PDU, proto_ranap)); dissector_add("ranap.ies", id_ClassmarkInformation2, new_create_dissector_handle(dissect_ClassmarkInformation2_PDU, proto_ranap)); dissector_add("ranap.ies", id_ClassmarkInformation3, new_create_dissector_handle(dissect_ClassmarkInformation3_PDU, proto_ranap)); dissector_add("ranap.ies", id_OldBSS_ToNewBSS_Information, new_create_dissector_handle(dissect_OldBSS_ToNewBSS_Information_PDU, proto_ranap)); @@ -13795,6 +14767,20 @@ proto_reg_handoff_ranap(void) dissector_add("ranap.ies", id_OldIuSigConId, new_create_dissector_handle(dissect_IuSignallingConnectionIdentifier_PDU, proto_ranap)); dissector_add("ranap.ies", id_RAB_FailedList_EnhRelocInfoRes, new_create_dissector_handle(dissect_RAB_FailedList_EnhRelocInfoRes_PDU, proto_ranap)); dissector_add("ranap.ies", id_RAB_FailedItem_EnhRelocInfoRes, new_create_dissector_handle(dissect_RAB_FailedItem_EnhRelocInfoRes_PDU, proto_ranap)); + dissector_add("ranap.ies", id_OldIuSigConIdCS, new_create_dissector_handle(dissect_IuSignallingConnectionIdentifier_PDU, proto_ranap)); + dissector_add("ranap.ies", id_OldIuSigConIdPS, new_create_dissector_handle(dissect_IuSignallingConnectionIdentifier_PDU, proto_ranap)); + dissector_add("ranap.ies", id_GlobalCN_IDCS, new_create_dissector_handle(dissect_GlobalCN_ID_PDU, proto_ranap)); + dissector_add("ranap.ies", id_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes, new_create_dissector_handle(dissect_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes_PDU, proto_ranap)); + dissector_add("ranap.ies", id_RAB_ToBeReleasedList_EnhancedRelocCompleteRes, new_create_dissector_handle(dissect_RAB_ToBeReleasedList_EnhancedRelocCompleteRes_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Relocation_TargetRNC_ID, new_create_dissector_handle(dissect_GlobalRNC_ID_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Relocation_TargetExtendedRNC_ID, new_create_dissector_handle(dissect_ExtendedRNC_ID_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, new_create_dissector_handle(dissect_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Alt_RAB_Parameter_SupportedMaxBitrateInf, new_create_dissector_handle(dissect_Alt_RAB_Parameter_SupportedMaxBitrateInf_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Relocation_SourceRNC_ID, new_create_dissector_handle(dissect_GlobalRNC_ID_PDU, proto_ranap)); + dissector_add("ranap.ies", id_Relocation_SourceExtendedRNC_ID, new_create_dissector_handle(dissect_ExtendedRNC_ID_PDU, proto_ranap)); + dissector_add("ranap.ies", id_EncryptionKey, new_create_dissector_handle(dissect_EncryptionKey_PDU, proto_ranap)); + dissector_add("ranap.ies", id_IntegrityProtectionKey, new_create_dissector_handle(dissect_IntegrityProtectionKey_PDU, proto_ranap)); + dissector_add("ranap.ies", id_SRVCC_Information, new_create_dissector_handle(dissect_SRVCC_Information_PDU, proto_ranap)); dissector_add("ranap.ies.pair.first", id_RAB_SetupOrModifyItem, new_create_dissector_handle(dissect_RAB_SetupOrModifyItemFirst_PDU, proto_ranap)); dissector_add("ranap.ies.pair.second", id_RAB_SetupOrModifyItem, new_create_dissector_handle(dissect_RAB_SetupOrModifyItemSecond_PDU, proto_ranap)); dissector_add("ranap.extension", id_AlternativeRABConfiguration, new_create_dissector_handle(dissect_RAB_Parameters_PDU, proto_ranap)); @@ -13862,6 +14848,17 @@ proto_reg_handoff_ranap(void) dissector_add("ranap.extension", id_RequestedGANSSAssistanceData, new_create_dissector_handle(dissect_RequestedGANSSAssistanceData_PDU, proto_ranap)); dissector_add("ranap.extension", id_CriticalityDiagnostics, new_create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_ranap)); dissector_add("ranap.extension", id_MBMSCountingInformation, new_create_dissector_handle(dissect_MBMSCountingInformation_PDU, proto_ranap)); + dissector_add("ranap.extension", id_UE_History_Information, new_create_dissector_handle(dissect_UE_History_Information_PDU, proto_ranap)); + dissector_add("ranap.extension", id_MBMSSynchronisationInformation, new_create_dissector_handle(dissect_MBMSSynchronisationInformation_PDU, proto_ranap)); + dissector_add("ranap.extension", id_SubscriberProfileIDforRFP, new_create_dissector_handle(dissect_SubscriberProfileIDforRFP_PDU, proto_ranap)); + dissector_add("ranap.extension", id_CSG_Id, new_create_dissector_handle(dissect_CSG_Id_PDU, proto_ranap)); + dissector_add("ranap.extension", id_Ass_RAB_Parameter_SupportedGuaranteedBitrateList, new_create_dissector_handle(dissect_SupportedRAB_ParameterBitrateList_PDU, proto_ranap)); + dissector_add("ranap.extension", id_Ass_RAB_Parameter_SupportedMaxBitrateList, new_create_dissector_handle(dissect_SupportedRAB_ParameterBitrateList_PDU, proto_ranap)); + dissector_add("ranap.extension", id_RAB_Parameter_SupportedGuaranteedBitrateList, new_create_dissector_handle(dissect_SupportedRAB_ParameterBitrateList_PDU, proto_ranap)); + dissector_add("ranap.extension", id_RAB_Parameter_SupportedMaxBitrateList, new_create_dissector_handle(dissect_SupportedRAB_ParameterBitrateList_PDU, proto_ranap)); + dissector_add("ranap.extension", id_Requested_RAB_Parameter_SupportedMaxBitrateList, new_create_dissector_handle(dissect_SupportedRAB_ParameterBitrateList_PDU, proto_ranap)); + dissector_add("ranap.extension", id_Requested_RAB_Parameter_SupportedGuaranteedBitrateList, new_create_dissector_handle(dissect_SupportedRAB_ParameterBitrateList_PDU, proto_ranap)); + dissector_add("ranap.extension", id_SRVCC_HO_Indication, new_create_dissector_handle(dissect_SRVCC_HO_Indication_PDU, proto_ranap)); dissector_add("ranap.proc.imsg", id_Iu_Release, new_create_dissector_handle(dissect_Iu_ReleaseCommand_PDU, proto_ranap)); dissector_add("ranap.proc.sout", id_Iu_Release, new_create_dissector_handle(dissect_Iu_ReleaseComplete_PDU, proto_ranap)); dissector_add("ranap.proc.imsg", id_RelocationPreparation, new_create_dissector_handle(dissect_RelocationRequired_PDU, proto_ranap)); @@ -13940,17 +14937,24 @@ proto_reg_handoff_ranap(void) dissector_add("ranap.proc.imsg", id_enhancedRelocationCompleteConfirm, new_create_dissector_handle(dissect_EnhancedRelocationCompleteConfirm_PDU, proto_ranap)); dissector_add("ranap.proc.imsg", id_RANAPenhancedRelocation, new_create_dissector_handle(dissect_RANAP_EnhancedRelocationInformationRequest_PDU, proto_ranap)); dissector_add("ranap.proc.sout", id_RANAPenhancedRelocation, new_create_dissector_handle(dissect_RANAP_EnhancedRelocationInformationResponse_PDU, proto_ranap)); + dissector_add("ranap.proc.imsg", id_SRVCCPreparation, new_create_dissector_handle(dissect_SRVCC_CSKeysRequest_PDU, proto_ranap)); + dissector_add("ranap.proc.out", id_SRVCCPreparation, new_create_dissector_handle(dissect_SRVCC_CSKeysResponse_PDU, proto_ranap)); /*--- End of included file: packet-ranap-dis-tab.c ---*/ -#line 273 "packet-ranap-template.c" +#line 328 "packet-ranap-template.c" } else { dissector_delete("sccp.ssn", local_ranap_sccp_ssn, ranap_handle); } dissector_add("sccp.ssn", global_ranap_sccp_ssn, ranap_handle); local_ranap_sccp_ssn = global_ranap_sccp_ssn; - + /* Add heuristic dissector + * Perhaps we want a preference whether the heuristic dissector + * is or isn't enabled + */ + heur_dissector_add("sccp", dissect_sccp_ranap_heur, proto_ranap); + heur_dissector_add("sua", dissect_sccp_ranap_heur, proto_ranap); } |