S1AP: prettify dissection

Change-Id: I2b4339e489d11ade2751cad8874ba220d12fe3db
Reviewed-on: https://code.wireshark.org/review/17615
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Pascal Quantin 2016-09-09 23:37:46 +02:00
parent 4a6dde12d6
commit d6f91a7ca4
12 changed files with 1582 additions and 288 deletions

View File

@ -2198,7 +2198,7 @@ static const value_string lte_rrc_messageIdentifier_vals[] = {
{ 0x112b, "CMAS Identifier for operator defined use for additional languages"},
{ 0, NULL},
};
static value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals);
value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals);
static const value_string lte_rrc_serialNumber_gs_vals[] = {
{ 0, "Display mode immediate, cell wide"},
@ -3624,7 +3624,7 @@ void proto_register_lte_rrc(void) {
NULL, HFILL }},
{ &hf_lte_rrc_warningMessageSegment_decoded_page,
{ "Decoded Page", "lte-rrc.warningMessageSegment.decoded_page",
FT_STRING, BASE_NONE, NULL, 0,
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1,
{ "Bit 1", "lte-rrc.interBandTDD_CA_WithDifferentConfig.bit1",

View File

@ -23,6 +23,8 @@
#ifndef PACKET_LTE_RRC_H
#define PACKET_LTE_RRC_H
extern value_string_ext lte_rrc_messageIdentifier_vals_ext;
#include "packet-lte-rrc-exp.h"
#endif /* PACKET_LTE_RRC_H */

View File

@ -9,16 +9,18 @@ ALIGNED
#.EXPORTS
EncryptionInformation
IntegrityProtectionInformation
InterSystemInformation-TransparentContainer_PDU
LastVisitedUTRANCell-Item_PDU
Service-Handover
Source-ToTarget-TransparentContainer_PDU
SourceCellID_PDU
SourceRNC-ToTargetRNC-TransparentContainer_PDU
TargetRNC-ToSourceRNC-TransparentContainer_PDU
TargetRNC-ID
TargetRNC-ID_PDU
InterSystemInformation-TransparentContainer_PDU
Source-ToTarget-TransparentContainer_PDU
#.PDU
LastVisitedUTRANCell-Item
RANAP-PDU
SourceCellID
SourceRNC-ToTargetRNC-TransparentContainer
@ -44,10 +46,6 @@ ProtocolError-IE-ContainerList
Presence
# NOTE when updating the asn1 spec check if these are used !!!!
ForwardingIndication
LastVisitedUTRANCell-Item
UTRAN-CellID
CellType
Time-UE-StayedInCell
SourceeNodeB-ToTargeteNodeB-TransparentContainer
TargeteNodeB-ToSourceeNodeB-TransparentContainer
#.TYPE_RENAME

View File

@ -6,11 +6,11 @@
--
-- **************************************************************
S1AP-PDU-Contents {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
S1AP-PDU-Contents {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
DEFINITIONS AUTOMATIC TAGS ::=
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@ -21,7 +21,7 @@ BEGIN
-- **************************************************************
IMPORTS
UEAggregateMaximumBitrate,
BearerType,
Cause,
@ -39,7 +39,7 @@ IMPORTS
CriticalityDiagnostics,
CSFallbackIndicator,
CSG-Id,
CSG-IdList,
CSG-IdList,
CSGMembershipStatus,
Data-Forwarding-Not-Possible,
Direct-Forwarding-Path-Availability,
@ -94,7 +94,7 @@ IMPORTS
SupportedTAs,
TAI,
Target-ToSource-TransparentContainer,
TargetBSS-ToSourceBSS-TransparentContainer,
TargetBSS-ToSourceBSS-TransparentContainer,
TargeteNB-ToSourceeNB-TransparentContainer,
TargetID,
TargetRNC-ToSourceRNC-TransparentContainer,
@ -199,7 +199,7 @@ FROM S1AP-Containers
id-EUTRAN-CGI,
id-eNBname,
id-eNB-StatusTransfer-TransparentContainer,
id-eNB-UE-S1AP-ID,
id-eNB-UE-S1AP-ID,
id-GERANtoLTEHOInformationRes,
id-GUMMEI-ID,
id-GUMMEIType,
@ -263,7 +263,7 @@ FROM S1AP-Containers
id-E-RABNotToBeModifiedItemBearerModInd,
id-E-RABModifyListBearerModConf,
id-E-RABModifyItemBearerModConf,
id-E-RABFailedToModifyListBearerModConf,
id-E-RABFailedToModifyListBearerModConf,
id-E-RABToBeReleasedListBearerModConf,
id-E-RABToBeReleasedList,
id-E-RABReleasedList,
@ -403,7 +403,7 @@ HandoverRequired ::= SEQUENCE {
...
}
HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
@ -433,7 +433,7 @@ HandoverCommand ::= SEQUENCE {
...
}
HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
@ -481,7 +481,7 @@ HandoverPreparationFailure ::= SEQUENCE {
...
}
HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
@ -567,7 +567,7 @@ HandoverRequestAcknowledge ::= SEQUENCE {
...
}
HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory }|
@ -632,7 +632,7 @@ HandoverFailure ::= SEQUENCE {
...
}
HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@ -656,12 +656,12 @@ HandoverNotify ::= SEQUENCE {
...
}
HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
{ ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
-- Extension for Release 11 to support BBAI --
-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional},
...
@ -684,7 +684,7 @@ PathSwitchRequest ::= SEQUENCE {
...
}
PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory}|
{ ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
@ -695,7 +695,7 @@ PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode PRESENCE optional}|
{ ID id-SourceMME-GUMMEI CRITICALITY ignore TYPE GUMMEI PRESENCE optional}|
{ ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
-- Extension for Release 11 to support BBAI --
-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional},
...
@ -731,7 +731,7 @@ PathSwitchRequestAcknowledge ::= SEQUENCE {
...
}
PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}|
@ -777,7 +777,7 @@ PathSwitchRequestFailure ::= SEQUENCE {
...
}
PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
@ -802,7 +802,7 @@ HandoverCancel ::= SEQUENCE {
...
}
HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
@ -820,7 +820,7 @@ HandoverCancelAcknowledge ::= SEQUENCE {
...
}
HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@ -1055,7 +1055,7 @@ E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
{ ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
-- Extension for Release 12 to support User Location Information --
-- Extension for Release 12 to support User Location Information --
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
...
}
@ -1102,7 +1102,7 @@ E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
-- Extension for Release 12 to support User Location Information --
-- Extension for Release 12 to support User Location Information --
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional },
...
}
@ -1350,7 +1350,7 @@ UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
-- Extension for Release 12 to support User Location Information --
-- Extension for Release 12 to support User Location Information --
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional}|
-- Extension for Release 13 to support Paging Optimisation
{ ID id-InformationOnRecommendedCellsAndENBsForPaging CRITICALITY ignore TYPE InformationOnRecommendedCellsAndENBsForPaging PRESENCE optional}|
@ -1377,7 +1377,7 @@ UEContextModificationRequest ::= SEQUENCE {
...
}
UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional}|
@ -1402,7 +1402,7 @@ UEContextModificationResponse ::= SEQUENCE {
...
}
UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@ -1419,7 +1419,7 @@ UEContextModificationFailure ::= SEQUENCE {
...
}
UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
@ -1444,7 +1444,7 @@ UERadioCapabilityMatchRequest ::= SEQUENCE {
...
}
UERadioCapabilityMatchRequestIEs S1AP-PROTOCOL-IES ::= {
UERadioCapabilityMatchRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional },
@ -1462,7 +1462,7 @@ UERadioCapabilityMatchResponse ::= SEQUENCE {
...
}
UERadioCapabilityMatchResponseIEs S1AP-PROTOCOL-IES ::= {
UERadioCapabilityMatchResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-VoiceSupportMatchIndicator CRITICALITY reject TYPE VoiceSupportMatchIndicator PRESENCE mandatory }|
@ -1523,7 +1523,7 @@ InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
{ ID id-RelayNode-Indicator CRITICALITY reject TYPE RelayNode-Indicator PRESENCE optional}|
{ ID id-GUMMEIType CRITICALITY ignore TYPE GUMMEIType PRESENCE optional}|
-- Extension for Release 11 to support BBAI --
-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-SIPTO-L-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
{ ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
@ -1585,10 +1585,15 @@ RerouteNASRequest ::= SEQUENCE {
...
}
-- WS modification, add a definition for S1 Message
S1-Message ::= OCTET STRING
RerouteNASRequest-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}|
{ ID id-S1-Message CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory}|
-- WS modification, add a definition for S1 Message
-- { ID id-S1-Message CRITICALITY reject TYPE OCTET STRING PRESENCE mandatory}|
{ ID id-S1-Message CRITICALITY reject TYPE S1-Message PRESENCE mandatory}|
{ ID id-MME-Group-ID CRITICALITY reject TYPE MME-Group-ID PRESENCE mandatory}|
{ ID id-Additional-GUTI CRITICALITY ignore TYPE Additional-GUTI PRESENCE optional}|
{ ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional},
@ -1764,7 +1769,7 @@ S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
-- **************************************************************
--
-- eNB Configuration Update
-- eNB Configuration Update
--
-- **************************************************************
@ -1826,7 +1831,7 @@ ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
-- **************************************************************
--
-- MME Configuration Update
-- MME Configuration Update
--
-- **************************************************************
@ -2148,7 +2153,7 @@ LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
-- **************************************************************
--
-- Location Report
-- Location Report
--
-- **************************************************************
@ -2183,7 +2188,7 @@ OverloadStart ::= SEQUENCE {
...
}
OverloadStartIEs S1AP-PROTOCOL-IES ::= {
OverloadStartIEs S1AP-PROTOCOL-IES ::= {
{ ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory }|
{ ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional }|
{ ID id-TrafficLoadReductionIndication CRITICALITY ignore TYPE TrafficLoadReductionIndication PRESENCE optional },
@ -2200,13 +2205,13 @@ OverloadStop ::= SEQUENCE {
...
}
OverloadStopIEs S1AP-PROTOCOL-IES ::= {
OverloadStopIEs S1AP-PROTOCOL-IES ::= {
{ ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional },
...
}
-- **************************************************************
--
-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
--
-- **************************************************************
@ -2222,7 +2227,7 @@ WriteReplaceWarningRequest ::= SEQUENCE {
...
}
WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
{ ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
{ ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
@ -2386,7 +2391,7 @@ KillRequest ::= SEQUENCE {
...
}
KillRequestIEs S1AP-PROTOCOL-IES ::= {
KillRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory}|
{ ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory}|
{ ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional}|
@ -2557,7 +2562,7 @@ E-RABModificationIndicationIEs S1AP-PROTOCOL-IES ::= {
{ ID id-E-RABToBeModifiedListBearerModInd CRITICALITY reject TYPE E-RABToBeModifiedListBearerModInd PRESENCE mandatory}|
{ ID id-E-RABNotToBeModifiedListBearerModInd CRITICALITY reject TYPE E-RABNotToBeModifiedListBearerModInd PRESENCE optional}|
{ ID id-CSGMembershipInfo CRITICALITY reject TYPE CSGMembershipInfo PRESENCE optional}|
-- Extension for Release 11 to support BBAI --
-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional},
...
}

View File

@ -5,14 +5,14 @@
-- IE definitions for the SON Transfer application
-- The IEs in this ASN.1 module shall be defined and encoded
-- using the same rules as applicable for the S1AP-IEs module.
--
--
-- **************************************************************
SonTransfer-IEs
DEFINITIONS AUTOMATIC TAGS ::=
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@ -155,7 +155,7 @@ ReportingCellList ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF Reportin
MultiCellLoadReportingResponse ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF MultiCellLoadReportingResponse-Item
MultiCellLoadReportingResponse-Item ::= CHOICE{
MultiCellLoadReportingResponse-Item ::= CHOICE{
eUTRANResponse EUTRANResponse,
uTRANResponse OCTET STRING,
gERANResponse OCTET STRING,
@ -294,7 +294,7 @@ TooEarlyInterRATHOReportReportFromEUTRAN ::= SEQUENCE {
...
}
-- Ws modification, allready defined in S1AP-IEs.asn
-- WS modification, already defined in S1AP-IEs.asn
--MobilityInformation ::= BIT STRING (SIZE(32))

View File

@ -33,6 +33,7 @@
#include <epan/asn1.h>
#include <epan/prefs.h>
#include <epan/sctpppids.h>
#include <epan/expert.h>
#include "packet-ber.h"
#include "packet-per.h"
@ -43,11 +44,9 @@
#include "packet-bssgp.h"
#include "packet-s1ap.h"
#include "packet-a21.h"
#ifdef _MSC_VER
/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
#pragma warning(disable:4146)
#endif
#include "packet-gsm_map.h"
#include "packet-cell_broadcast.h"
#include "packet-gsm_a_common.h"
#define PNAME "S1 Application Protocol"
#define PSNAME "S1AP"
@ -70,6 +69,39 @@ static int proto_s1ap = -1;
static int hf_s1ap_transportLayerAddressIPv4 = -1;
static int hf_s1ap_transportLayerAddressIPv6 = -1;
static int hf_s1ap_E_UTRAN_Trace_ID_TraceID = -1;
static int hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference = -1;
static int hf_s1ap_interfacesToTrace_S1_MME = -1;
static int hf_s1ap_interfacesToTrace_X2 = -1;
static int hf_s1ap_interfacesToTrace_Uu = -1;
static int hf_s1ap_interfacesToTrace_Reserved = -1;
static int hf_s1ap_encryptionAlgorithms_EEA1 = -1;
static int hf_s1ap_encryptionAlgorithms_EEA2 = -1;
static int hf_s1ap_encryptionAlgorithms_EEA3 = -1;
static int hf_s1ap_encryptionAlgorithms_Reserved = -1;
static int hf_s1ap_integrityProtectionAlgorithms_EIA1 = -1;
static int hf_s1ap_integrityProtectionAlgorithms_EIA2 = -1;
static int hf_s1ap_integrityProtectionAlgorithms_EIA3 = -1;
static int hf_s1ap_integrityProtectionAlgorithms_Reserved = -1;
static int hf_s1ap_SerialNumber_gs = -1;
static int hf_s1ap_SerialNumber_msg_code = -1;
static int hf_s1ap_SerialNumber_upd_nb = -1;
static int hf_s1ap_WarningType_value = -1;
static int hf_s1ap_WarningType_emergency_user_alert = -1;
static int hf_s1ap_WarningType_popup = -1;
static int hf_s1ap_WarningMessageContents_nb_pages = -1;
static int hf_s1ap_WarningMessageContents_decoded_page = -1;
static int hf_s1ap_measurementsToActivate_M1 = -1;
static int hf_s1ap_measurementsToActivate_M2 = -1;
static int hf_s1ap_measurementsToActivate_M3 = -1;
static int hf_s1ap_measurementsToActivate_M4 = -1;
static int hf_s1ap_measurementsToActivate_M5 = -1;
static int hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered = -1;
static int hf_s1ap_measurementsToActivate_M6 = -1;
static int hf_s1ap_measurementsToActivate_M7 = -1;
static int hf_s1ap_MDT_Location_Info_GNSS = -1;
static int hf_s1ap_MDT_Location_Info_E_CID = -1;
static int hf_s1ap_MDT_Location_Info_Reserved = -1;
#include "packet-s1ap-hf.c"
/* Initialize the subtree pointers */
@ -87,16 +119,31 @@ static int ett_s1ap_UE_HistoryInformationFromTheUE = -1;
static int ett_s1ap_CELevel = -1;
static int ett_s1ap_UE_RLF_Report_Container = -1;
static int ett_s1ap_UE_RLF_Report_Container_for_extended_bands = -1;
static int ett_s1ap_S1_Message = -1;
static int ett_s1ap_E_UTRAN_Trace_ID = -1;
static int ett_s1ap_InterfacesToTrace = -1;
static int ett_s1ap_EncryptionAlgorithms = -1;
static int ett_s1ap_IntegrityProtectionAlgorithms = -1;
static int ett_s1ap_LastVisitedUTRANCellInformation = -1;
static int ett_s1ap_SerialNumber = -1;
static int ett_s1ap_WarningType = -1;
static int ett_s1ap_DataCodingScheme = -1;
static int ett_s1ap_WarningMessageContents = -1;
static int ett_s1ap_MSClassmark = -1;
static int ett_s1ap_MeasurementsToActivate = -1;
static int ett_s1ap_MDT_Location_Info = -1;
static int ett_s1ap_IMSI = -1;
static int ett_s1ap_NASSecurityParameters = -1;
#include "packet-s1ap-ett.c"
static expert_field ei_s1ap_number_pages_le15 = EI_INIT;
enum{
INITIATING_MESSAGE,
SUCCESSFUL_OUTCOME,
UNSUCCESSFUL_OUTCOME
};
/* Global variables */
static guint32 ProcedureCode;
static guint32 ProtocolIE_ID;
@ -106,6 +153,7 @@ static guint32 handover_type_value;
static guint32 message_type;
static gboolean g_s1ap_dissect_container = TRUE;
static const char *obj_id = NULL;
static guint8 dataCodingScheme = SMS_ENCODING_NOT_SET;
static dissector_handle_t gcsna_handle = NULL;
static dissector_handle_t s1ap_handle;
@ -132,6 +180,7 @@ static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, p
static int dissect_SourceeNB_ToTargeteNB_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
static int dissect_TargeteNB_ToSourceeNB_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
static int dissect_InitialUEMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data);
#if 0
static int dissect_SourceRNC_ToTargetRNC_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_TargetRNC_ToSourceRNC_TransparentContainer_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
@ -151,6 +200,74 @@ s1ap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v);
}
static const true_false_string s1ap_tfs_interfacesToTrace = {
"Should be traced",
"Should not be traced"
};
static void
s1ap_Time_UE_StayedInCell_EnhancedGranularity_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fs", ((float)v)/10);
}
static const value_string s1ap_serialNumber_gs_vals[] = {
{ 0, "Display mode immediate, cell wide"},
{ 1, "Display mode normal, PLMN wide"},
{ 2, "Display mode normal, tracking area wide"},
{ 3, "Display mode normal, cell wide"},
{ 0, NULL},
};
static const value_string s1ap_warningType_vals[] = {
{ 0, "Earthquake"},
{ 1, "Tsunami"},
{ 2, "Earthquake and Tsunami"},
{ 3, "Test"},
{ 4, "Other"},
{ 0, NULL},
};
static void
dissect_s1ap_warningMessageContents(tvbuff_t *warning_msg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dcs)
{
guint32 offset;
guint8 nb_of_pages, length, *str;
proto_item *ti;
tvbuff_t *cb_data_page_tvb, *cb_data_tvb;
int i;
nb_of_pages = tvb_get_guint8(warning_msg_tvb, 0);
ti = proto_tree_add_uint(tree, hf_s1ap_WarningMessageContents_nb_pages, warning_msg_tvb, 0, 1, nb_of_pages);
if (nb_of_pages > 15) {
expert_add_info_format(pinfo, ti, &ei_s1ap_number_pages_le15,
"Number of pages should be <=15 (found %u)", nb_of_pages);
nb_of_pages = 15;
}
for (i = 0, offset = 1; i < nb_of_pages; i++) {
length = tvb_get_guint8(warning_msg_tvb, offset+82);
cb_data_page_tvb = tvb_new_subset_length(warning_msg_tvb, offset, length);
cb_data_tvb = dissect_cbs_data(dcs, cb_data_page_tvb, tree, pinfo, 0);
if (cb_data_tvb) {
str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA);
proto_tree_add_string_format(tree, hf_s1ap_WarningMessageContents_decoded_page, warning_msg_tvb, offset, 83,
str, "Decoded Page %u: %s", i+1, str);
}
offset += 83;
}
}
static void
s1ap_EUTRANRoundTripDelayEstimationInfo_fmt(gchar *s, guint32 v)
{
g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 16*v, v);
}
static const true_false_string s1ap_tfs_activate_do_not_activate = {
"Activate",
"Do not activate"
};
#include "packet-s1ap-fn.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
@ -264,7 +381,138 @@ void proto_register_s1ap(void) {
{ "transportLayerAddress(IPv6)", "s1ap.transportLayerAddressIPv6",
FT_IPv6, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_s1ap_E_UTRAN_Trace_ID_TraceID,
{ "TraceID", "s1ap.E_UTRAN_Trace_ID.TraceID",
FT_UINT24, BASE_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference,
{ "TraceRecordingSessionReference", "s1ap.E_UTRAN_Trace_ID.TraceRecordingSessionReference",
FT_UINT16, BASE_HEX, NULL, 0,
NULL, HFILL }},
{ &hf_s1ap_interfacesToTrace_S1_MME,
{ "S1-MME", "s1ap.interfacesToTrace.S1_MME",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x80,
NULL, HFILL }},
{ &hf_s1ap_interfacesToTrace_X2,
{ "X2", "s1ap.interfacesToTrace.X2",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x40,
NULL, HFILL }},
{ &hf_s1ap_interfacesToTrace_Uu,
{ "Uu", "s1ap.interfacesToTrace.Uu",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_interfacesToTrace), 0x20,
NULL, HFILL }},
{ &hf_s1ap_interfacesToTrace_Reserved,
{ "Reserved", "s1ap.interfacesToTrace.Reserved",
FT_UINT8, BASE_HEX, NULL, 0x1f,
NULL, HFILL }},
{ &hf_s1ap_encryptionAlgorithms_EEA1,
{ "128-EEA1", "s1ap.encryptionAlgorithms.EEA1",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
NULL, HFILL }},
{ &hf_s1ap_encryptionAlgorithms_EEA2,
{ "128-EEA2", "s1ap.encryptionAlgorithms.EEA2",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
NULL, HFILL }},
{ &hf_s1ap_encryptionAlgorithms_EEA3,
{ "128-EEA3", "s1ap.encryptionAlgorithms.EEA3",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
NULL, HFILL }},
{ &hf_s1ap_encryptionAlgorithms_Reserved,
{ "Reserved", "s1ap.encryptionAlgorithms.Reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
{ &hf_s1ap_integrityProtectionAlgorithms_EIA1,
{ "128-EIA1", "s1ap.integrityProtectionAlgorithms.EIA1",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000,
NULL, HFILL }},
{ &hf_s1ap_integrityProtectionAlgorithms_EIA2,
{ "128-EIA2", "s1ap.integrityProtectionAlgorithms.EIA2",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000,
NULL, HFILL }},
{ &hf_s1ap_integrityProtectionAlgorithms_EIA3,
{ "128-EIA3", "s1ap.integrityProtectionAlgorithms.EIA3",
FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000,
NULL, HFILL }},
{ &hf_s1ap_integrityProtectionAlgorithms_Reserved,
{ "Reserved", "s1ap.integrityProtectionAlgorithms.Reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
{ &hf_s1ap_SerialNumber_gs,
{ "Geographical Scope", "s1ap.SerialNumber.gs",
FT_UINT16, BASE_DEC, VALS(s1ap_serialNumber_gs_vals), 0xc000,
NULL, HFILL }},
{ &hf_s1ap_SerialNumber_msg_code,
{ "Message Code", "s1ap.SerialNumber.msg_code",
FT_UINT16, BASE_DEC, NULL, 0x3ff0,
NULL, HFILL }},
{ &hf_s1ap_SerialNumber_upd_nb,
{ "Update Number", "s1ap.SerialNumber.upd_nb",
FT_UINT16, BASE_DEC, NULL, 0x000f,
NULL, HFILL }},
{ &hf_s1ap_WarningType_value,
{ "Warning Type Value", "s1ap.WarningType.value",
FT_UINT16, BASE_DEC, VALS(s1ap_warningType_vals), 0xfe00,
NULL, HFILL }},
{ &hf_s1ap_WarningType_emergency_user_alert,
{ "Emergency User Alert", "s1ap.WarningType.emergency_user_alert",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
NULL, HFILL }},
{ &hf_s1ap_WarningType_popup,
{ "Popup", "s1ap.WarningType.popup",
FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
NULL, HFILL }},
{ &hf_s1ap_WarningMessageContents_nb_pages,
{ "Number of Pages", "s1ap.WarningMessageContents.nb_pages",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_s1ap_WarningMessageContents_decoded_page,
{ "Decoded Page", "lte-rrc.WarningMessageContents.decoded_page",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M1,
{ "M1", "s1ap.measurementsToActivate.M1",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x80,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M2,
{ "M2", "s1ap.measurementsToActivate.M2",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x40,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M3,
{ "M3", "s1ap.measurementsToActivate.M3",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x20,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M4,
{ "M4", "s1ap.measurementsToActivate.M4",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x10,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M5,
{ "M5", "s1ap.measurementsToActivate.M5",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x08,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered,
{ "LoggingOfM1FromEventTriggeredMeasurementReports", "s1ap.measurementsToActivate.LoggingM1FromEventTriggered",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x04,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M6,
{ "M6", "s1ap.measurementsToActivate.M6",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x02,
NULL, HFILL }},
{ &hf_s1ap_measurementsToActivate_M7,
{ "M7", "s1ap.measurementsToActivate.M7",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x01,
NULL, HFILL }},
{ &hf_s1ap_MDT_Location_Info_GNSS,
{ "GNSS", "s1ap.MDT_Location_Info.GNSS",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x80,
NULL, HFILL }},
{ &hf_s1ap_MDT_Location_Info_E_CID,
{ "E-CID", "s1ap.MDT_Location_Info.E_CID",
FT_BOOLEAN, 8, TFS(&s1ap_tfs_activate_do_not_activate), 0x40,
NULL, HFILL }},
{ &hf_s1ap_MDT_Location_Info_Reserved,
{ "Reserved", "s1ap.MDT_Location_Info.Reserved",
FT_UINT8, BASE_HEX, NULL, 0x3f,
NULL, HFILL }},
#include "packet-s1ap-hfarr.c"
};
@ -284,16 +532,38 @@ void proto_register_s1ap(void) {
&ett_s1ap_CELevel,
&ett_s1ap_UE_RLF_Report_Container,
&ett_s1ap_UE_RLF_Report_Container_for_extended_bands,
&ett_s1ap_S1_Message,
&ett_s1ap_E_UTRAN_Trace_ID,
&ett_s1ap_InterfacesToTrace,
&ett_s1ap_EncryptionAlgorithms,
&ett_s1ap_IntegrityProtectionAlgorithms,
&ett_s1ap_LastVisitedUTRANCellInformation,
&ett_s1ap_SerialNumber,
&ett_s1ap_WarningType,
&ett_s1ap_DataCodingScheme,
&ett_s1ap_WarningMessageContents,
&ett_s1ap_MSClassmark,
&ett_s1ap_MeasurementsToActivate,
&ett_s1ap_MDT_Location_Info,
&ett_s1ap_IMSI,
&ett_s1ap_NASSecurityParameters,
#include "packet-s1ap-ettarr.c"
};
static ei_register_info ei[] = {
{ &ei_s1ap_number_pages_le15, { "s1ap.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}
};
module_t *s1ap_module;
expert_module_t* expert_s1ap;
/* Register protocol */
proto_s1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
/* Register fields and subtrees */
proto_register_field_array(proto_s1ap, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_s1ap = expert_register_protocol(proto_s1ap);
expert_register_field_array(expert_s1ap, ei, array_length(ei));
/* Register dissector */
s1ap_handle = register_dissector("s1ap", dissect_s1ap, proto_s1ap);

View File

@ -236,18 +236,30 @@ obj_id = NULL;
}
}
if (is_ascii)
proto_item_append_text(actx->created_item,"(%%s)",tvb_format_text(parameter_tvb, 0, length));
proto_item_append_text(actx->created_item," (%%s)",tvb_format_text(parameter_tvb, 0, length));
#.FN_BODY TAC VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
#.FN_BODY MMEname VAL_PTR = parameter_tvb
tvbuff_t *parameter_tvb=NULL;
int length;
int p_offset;
gboolean is_ascii;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
proto_item_append_text(actx->created_item," (%%u)",tvb_get_ntohs(parameter_tvb, 0));
length = tvb_reported_length(parameter_tvb);
is_ascii = TRUE;
for (p_offset=0; p_offset < length; p_offset++){
if(!g_ascii_isprint(tvb_get_guint8(parameter_tvb, p_offset ))){
is_ascii = FALSE;
break;
}
}
if (is_ascii)
proto_item_append_text(actx->created_item," (%%s)",tvb_format_text(parameter_tvb, 0, length));
#.END
@ -299,6 +311,15 @@ tvbuff_t *parameter_tvb=NULL;
proto_tree_add_item(subtree, hf_s1ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA);
}
#.TYPE_ATTR
Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
#.FN_BODY Port-Number VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_HDR InitialUEMessage
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@ -334,7 +355,7 @@ tvbuff_t *parameter_tvb=NULL;
# it is described how the container shall be encoded with respect to the scenario
# in which it is used.
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
@ -392,7 +413,7 @@ tvbuff_t *parameter_tvb=NULL;
# See Target-ToSource-TransparentContainer in RANAP
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
@ -481,7 +502,7 @@ tvbuff_t *parameter_tvb=NULL;
# HandoverCommand and HandoverRequestAcknowledge.
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
@ -506,7 +527,7 @@ tvbuff_t *parameter_tvb=NULL;
#.FN_BODY UE-HistoryInformationFromTheUE VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
@ -519,7 +540,7 @@ tvbuff_t *parameter_tvb=NULL;
#.FN_BODY UERadioCapability VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
@ -531,10 +552,10 @@ tvbuff_t *parameter_tvb=NULL;
}
#.TYPE_ATTR
Threshold-RSRP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(s1ap_Threshold_RSRP_fmt)
Threshold-RSRP DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Threshold_RSRP_fmt)
#.TYPE_ATTR
Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(s1ap_Threshold_RSRQ_fmt)
Threshold-RSRQ DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Threshold_RSRQ_fmt)
# 9.2.3.24 RIM Information
# Contains the BSSGP RIM PDU
@ -545,7 +566,7 @@ Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(s1ap_Threshold_RSRQ_fmt)
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RIMInformation);
if ((tvb_reported_length(parameter_tvb)>0)&&(bssgp_handle)){
@ -557,7 +578,7 @@ Threshold-RSRQ DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(s1ap_Threshold_RSRQ_fmt)
#.FN_BODY Cdma2000PDU VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
@ -577,8 +598,8 @@ if (gcsna_handle) {
* to handover to. The CDMA2000 Reference Cell
* ID is statically configured in the eNB.
*/
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
@ -591,8 +612,8 @@ if (gcsna_handle) {
# 9.2.1.98 UE Radio Capability for Paging
# Includes the UERadioPagingInformation message as defined in 10.2.2 of TS 36.331 [16].
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
@ -606,8 +627,8 @@ if (gcsna_handle) {
#.FN_BODY CELevel VAL_PTR = &parameter_tvb
# 9.2.1.109 Cell Identifier and Coverage Enhancement Level
# Includes the UEPagingCoverageInformation message as defined in 10.2.2 of TS 36.331
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
@ -620,8 +641,8 @@ if (gcsna_handle) {
#.FN_BODY UE-RLF-Report-Container VAL_PTR = &parameter_tvb
# 9.2.3.40 RLF Report Information
# Includes the rlf-Report-r9 contained in UEInformationResponse message as defined in TS 36.331
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
@ -634,8 +655,8 @@ if (gcsna_handle) {
#.FN_BODY UE-RLF-Report-Container-for-extended-bands VAL_PTR = &parameter_tvb
# 9.2.3.40 RLF Report Information
# Includes the rlf-Report-v9e0 contained in UEInformationResponse message as defined in TS 36.331
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
@ -648,8 +669,8 @@ if (gcsna_handle) {
#.FN_BODY TooEarlyInterRATHOReportReportFromEUTRAN/uERLFReportContainer VAL_PTR = &parameter_tvb
# B.1.17 Failure Event Report
# Includes the RLF Report contained in the UEInformationResponse message (TS 36.331 [16])
tvbuff_t *parameter_tvb;
proto_tree *subtree = NULL;
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
@ -662,6 +683,294 @@ if (gcsna_handle) {
#.TYPE_ATTR
ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &s1ap_ProtocolIE_ID_vals_ext
#.FN_BODY S1-Message VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_S1_Message);
dissect_InitialUEMessage_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
#.FN_BODY E-UTRAN-Trace-ID VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_E_UTRAN_Trace_ID);
dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
proto_tree_add_item(subtree, hf_s1ap_E_UTRAN_Trace_ID_TraceID, parameter_tvb, 3, 3, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_s1ap_E_UTRAN_Trace_ID_TraceRecordingSessionReference, parameter_tvb, 6, 2, ENC_BIG_ENDIAN);
#.FN_BODY InterfacesToTrace VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if(parameter_tvb){
const gint *fields[] = {
&hf_s1ap_interfacesToTrace_S1_MME,
&hf_s1ap_interfacesToTrace_X2,
&hf_s1ap_interfacesToTrace_Uu,
&hf_s1ap_interfacesToTrace_Reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_InterfacesToTrace);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
#.FN_FTR BitRate
proto_item_append_text(actx->created_item, "bit/s");
#.TYPE_ATTR
MME-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
#.FN_BODY MME-Code VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
MME-Group-ID TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
#.FN_BODY MME-Group-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY EncryptionAlgorithms VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if(parameter_tvb){
const gint *fields[] = {
&hf_s1ap_encryptionAlgorithms_EEA1,
&hf_s1ap_encryptionAlgorithms_EEA2,
&hf_s1ap_encryptionAlgorithms_EEA3,
&hf_s1ap_encryptionAlgorithms_Reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_EncryptionAlgorithms);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
}
#.FN_BODY IntegrityProtectionAlgorithms VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if(parameter_tvb){
const gint *fields[] = {
&hf_s1ap_integrityProtectionAlgorithms_EIA1,
&hf_s1ap_integrityProtectionAlgorithms_EIA2,
&hf_s1ap_integrityProtectionAlgorithms_EIA3,
&hf_s1ap_integrityProtectionAlgorithms_Reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IntegrityProtectionAlgorithms);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN);
}
#.FN_FTR Time-UE-StayedInCell
proto_item_append_text(actx->created_item, "s");
#.TYPE_ATTR
Time-UE-StayedInCell-EnhancedGranularity DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Time_UE_StayedInCell_EnhancedGranularity_fmt)
#.FN_BODY LastVisitedUTRANCellInformation VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
if (g_s1ap_dissect_container) {
subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_LastVisitedUTRANCellInformation);
dissect_ranap_LastVisitedUTRANCell_Item_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
}
#.TYPE_ATTR
MessageIdentifier TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &lte_rrc_messageIdentifier_vals_ext
#.FN_BODY MessageIdentifier VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY SerialNumber VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_SerialNumber);
proto_tree_add_item(subtree, hf_s1ap_SerialNumber_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_s1ap_SerialNumber_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_s1ap_SerialNumber_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_FTR RepetitionPeriod
proto_item_append_text(actx->created_item, "s");
#.FN_BODY WarningType VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_WarningType);
proto_tree_add_item(subtree, hf_s1ap_WarningType_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_s1ap_WarningType_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_s1ap_WarningType_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY DataCodingScheme VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_DataCodingScheme);
dataCodingScheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
}
#.FN_BODY WarningMessageContents VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_WarningMessageContents);
dissect_s1ap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, dataCodingScheme);
}
#.FN_BODY MSClassmark2 VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MSClassmark);
de_ms_cm_2(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(tvb), NULL, 0);
}
#.FN_BODY MSClassmark3 VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MSClassmark);
de_ms_cm_3(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(tvb), NULL, 0);
}
#.TYPE_ATTR
EUTRANRoundTripDelayEstimationInfo DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_EUTRANRoundTripDelayEstimationInfo_fmt)
#.FN_FTR ExtendedRepetitionPeriod
proto_item_append_text(actx->created_item, "s");
#.FN_BODY MeasurementsToActivate VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if(parameter_tvb){
const gint *fields[] = {
&hf_s1ap_measurementsToActivate_M1,
&hf_s1ap_measurementsToActivate_M2,
&hf_s1ap_measurementsToActivate_M3,
&hf_s1ap_measurementsToActivate_M4,
&hf_s1ap_measurementsToActivate_M5,
&hf_s1ap_measurementsToActivate_LoggingM1FromEventTriggered,
&hf_s1ap_measurementsToActivate_M6,
&hf_s1ap_measurementsToActivate_M7,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MeasurementsToActivate);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
#.FN_BODY MDT-Location-Info VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if(parameter_tvb){
const gint *fields[] = {
&hf_s1ap_MDT_Location_Info_GNSS,
&hf_s1ap_MDT_Location_Info_E_CID,
&hf_s1ap_MDT_Location_Info_Reserved,
NULL
};
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_MDT_Location_Info);
proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
LHN-ID TYPE=FT_STRING DISPLAY = STR_UNICODE
#.FN_BODY LHN-ID VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA);
#.END
#.FN_FTR ExpectedActivityPeriod
proto_item_append_text(actx->created_item, "s");
#.FN_FTR ExpectedIdlePeriod
proto_item_append_text(actx->created_item, "s");
#.FN_FTR Time-UE-StayedInCell
proto_item_append_text(actx->created_item, "s");
#.TYPE_ATTR
TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
#.FN_BODY TAC VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
LAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX
#.FN_BODY LAC VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
RAC TYPE = FT_UINT8 DISPLAY = BASE_DEC_HEX
#.FN_BODY RAC VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
M-TMSI TYPE = FT_UINT32 DISPLAY = BASE_DEC_HEX
#.FN_BODY M-TMSI VAL_PTR = &parameter_tvb HF_INDEX = -1
tvbuff_t *parameter_tvb = NULL;
%(DEFAULT_BODY)s
if (parameter_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
}
#.FN_BODY IMSI VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_IMSI);
dissect_e212_imsi(parameter_tvb, actx->pinfo, subtree, 0, tvb_reported_length(parameter_tvb), FALSE);
}
#.FN_BODY NASSecurityParametersfromE-UTRAN VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NASSecurityParameters);
de_emm_sec_par_from_eutra(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
}
#.FN_BODY NASSecurityParameterstoE-UTRAN VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
if (parameter_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_NASSecurityParameters);
de_emm_sec_par_to_eutra(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
}
#.ASSIGN_VALUE_TO_TYPE # S1AP does not have constants assigned to types, they are pure INTEGER
# ProcedureCode
@ -1125,7 +1434,7 @@ RecommendedENBItem N s1ap.ies id-RecommendedENBItem
PWSfailedECGIList N s1ap.ies id-PWSfailedECGIList
MME-Group-ID N s1ap.ies id-MME-Group-ID
Additional-GUTI N s1ap.ies id-Additional-GUTI
#OCTET STRING N s1ap.ies id-S1-Message
S1-Message N s1ap.ies id-S1-Message
CSGMembershipInfo N s1ap.ies id-CSGMembershipInfo
Paging-eDRXInformation N s1ap.ies id-Paging-eDRXInformation
UE-RetentionInformation N s1ap.ies id-UE-RetentionInformation
@ -1414,6 +1723,7 @@ UEContextResumeFailure N s1ap.proc.uout id-UEContextResume
#.FN_HDR WriteReplaceWarningRequest
col_append_str(actx->pinfo->cinfo, COL_INFO, ", WriteReplaceWarningRequest ");
dataCodingScheme = SMS_ENCODING_NOT_SET;
#.FN_HDR WriteReplaceWarningResponse
col_append_str(actx->pinfo->cinfo, COL_INFO, ", WriteReplaceWarningResponse ");
#.FN_HDR KillRequest

View File

@ -8961,7 +8961,7 @@ static const value_string lte_rrc_messageIdentifier_vals[] = {
{ 0x112b, "CMAS Identifier for operator defined use for additional languages"},
{ 0, NULL},
};
static value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals);
value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals);
static const value_string lte_rrc_serialNumber_gs_vals[] = {
{ 0, "Display mode immediate, cell wide"},
@ -87808,7 +87808,7 @@ void proto_register_lte_rrc(void) {
NULL, HFILL }},
{ &hf_lte_rrc_warningMessageSegment_decoded_page,
{ "Decoded Page", "lte-rrc.warningMessageSegment.decoded_page",
FT_STRING, BASE_NONE, NULL, 0,
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }},
{ &hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1,
{ "Bit 1", "lte-rrc.interBandTDD_CA_WithDifferentConfig.bit1",

View File

@ -31,6 +31,8 @@
#ifndef PACKET_LTE_RRC_H
#define PACKET_LTE_RRC_H
extern value_string_ext lte_rrc_messageIdentifier_vals_ext;
/*--- Included file: packet-lte-rrc-exp.h ---*/
#line 1 "./asn1/lte-rrc/packet-lte-rrc-exp.h"
@ -48,6 +50,6 @@ int dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(tvbuff_t *tvb _U_, pac
int dissect_lte_rrc_UERadioAccessCapabilityInformation_NB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
/*--- End of included file: packet-lte-rrc-exp.h ---*/
#line 27 "./asn1/lte-rrc/packet-lte-rrc-template.h"
#line 29 "./asn1/lte-rrc/packet-lte-rrc-template.h"
#endif /* PACKET_LTE_RRC_H */

View File

@ -491,6 +491,7 @@ static int hf_ranap_IuTransportAssociation_PDU = -1; /* IuTransportAssociation
static int hf_ranap_KeyStatus_PDU = -1; /* KeyStatus */
static int hf_ranap_LAI_PDU = -1; /* LAI */
static int hf_ranap_LastKnownServiceArea_PDU = -1; /* LastKnownServiceArea */
static int hf_ranap_ranap_LastVisitedUTRANCell_Item_PDU = -1; /* LastVisitedUTRANCell_Item */
static int hf_ranap_LocationRelatedDataRequestType_PDU = -1; /* LocationRelatedDataRequestType */
static int hf_ranap_LocationRelatedDataRequestTypeSpecificToGERANIuMode_PDU = -1; /* LocationRelatedDataRequestTypeSpecificToGERANIuMode */
static int hf_ranap_L3_Information_PDU = -1; /* L3_Information */
@ -892,6 +893,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 */
@ -1075,6 +1079,7 @@ static int hf_ranap_pdu14FrameSeqNoUL = -1; /* PDUType14FrameSequenceNumbe
static int hf_ranap_pdu14FrameSeqNoDL = -1; /* PDUType14FrameSequenceNumber */
static int hf_ranap_dataPDUType = -1; /* DataPDUType */
static int hf_ranap_upinitialisationFrame = -1; /* UPInitialisationFrame */
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 */
@ -1248,6 +1253,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;
@ -1345,6 +1351,7 @@ static gint ett_ranap_UE_AggregateMaximumBitRate = -1;
static gint ett_ranap_UE_ID = -1;
static gint ett_ranap_UESBI_Iu = -1;
static gint ett_ranap_UPInformation = -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;
@ -1666,7 +1673,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 93 "./asn1/ranap/ranap.cnf"
#line 91 "./asn1/ranap/ranap.cnf"
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
val_to_str_ext_const(ProcedureCode, &ranap_ProcedureCode_vals_ext,
"unknown message"));
@ -1950,7 +1957,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 77 "./asn1/ranap/ranap.cnf"
#line 75 "./asn1/ranap/ranap.cnf"
if (tree) {
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &ranap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
}
@ -2072,7 +2079,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 117 "./asn1/ranap/ranap.cnf"
#line 115 "./asn1/ranap/ranap.cnf"
static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
{ "lowerBound", ASN1_PAR_INTEGER },
{ "upperBound", ASN1_PAR_INTEGER },
@ -2094,7 +2101,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 133 "./asn1/ranap/ranap.cnf"
#line 131 "./asn1/ranap/ranap.cnf"
static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
{ "lowerBound", ASN1_PAR_INTEGER },
{ "upperBound", ASN1_PAR_INTEGER },
@ -2663,7 +2670,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 289 "./asn1/ranap/ranap.cnf"
#line 287 "./asn1/ranap/ranap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -3160,7 +3167,7 @@ dissect_ranap_AuthorisedPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_ranap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 391 "./asn1/ranap/ranap.cnf"
#line 389 "./asn1/ranap/ranap.cnf"
tvbuff_t *value_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &value_tvb);
@ -3639,6 +3646,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" },
@ -4592,7 +4617,7 @@ dissect_ranap_GlobalRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_ranap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 341 "./asn1/ranap/ranap.cnf"
#line 339 "./asn1/ranap/ranap.cnf"
tvbuff_t *parameter_tvb=NULL;
int saved_hf;
@ -4775,7 +4800,7 @@ dissect_ranap_ImmediateMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
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 190 "./asn1/ranap/ranap.cnf"
#line 188 "./asn1/ranap/ranap.cnf"
tvbuff_t* imsi_tvb;
const char *digit_str;
sccp_msg_info_t *sccp_info;
@ -5369,6 +5394,49 @@ dissect_ranap_LastKnownServiceArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
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" },
@ -5624,7 +5692,7 @@ dissect_ranap_LocationReportingTransferInformation(tvbuff_t *tvb _U_, int offset
static int
dissect_ranap_L3_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 277 "./asn1/ranap/ranap.cnf"
#line 275 "./asn1/ranap/ranap.cnf"
tvbuff_t *l3_info_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -6044,7 +6112,7 @@ dissect_ranap_MSISDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
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 213 "./asn1/ranap/ranap.cnf"
#line 211 "./asn1/ranap/ranap.cnf"
tvbuff_t *nas_pdu_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -6082,7 +6150,7 @@ dissect_ranap_NAS_SynchronisationIndicator(tvbuff_t *tvb _U_, int offset _U_, as
static int
dissect_ranap_NewBSS_To_OldBSS_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 269 "./asn1/ranap/ranap.cnf"
#line 267 "./asn1/ranap/ranap.cnf"
tvbuff_t *bss_info_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -6171,7 +6239,7 @@ dissect_ranap_Offload_RAB_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_ranap_OldBSS_ToNewBSS_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 261 "./asn1/ranap/ranap.cnf"
#line 259 "./asn1/ranap/ranap.cnf"
tvbuff_t *bss_info_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -7337,7 +7405,7 @@ dissect_ranap_RNSAPRelocationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_
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 222 "./asn1/ranap/ranap.cnf"
#line 220 "./asn1/ranap/ranap.cnf"
tvbuff_t *rrc_message_tvb=NULL;
guint8 container_choice=0;
@ -7458,7 +7526,7 @@ 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_) {
#line 376 "./asn1/ranap/ranap.cnf"
#line 374 "./asn1/ranap/ranap.cnf"
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU );
@ -7535,7 +7603,7 @@ static const per_sequence_t SourceRNC_ToTargetRNC_TransparentContainer_sequence[
static int
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 353 "./asn1/ranap/ranap.cnf"
#line 351 "./asn1/ranap/ranap.cnf"
/* If SourceRNC-ToTargetRNC-TransparentContainer is called through
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU
ProtocolIE_ID may be unset
@ -7774,7 +7842,7 @@ dissect_ranap_SRVCC_Operation_Possible(tvbuff_t *tvb _U_, int offset _U_, asn1_c
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_) {
#line 386 "./asn1/ranap/ranap.cnf"
#line 384 "./asn1/ranap/ranap.cnf"
dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU );
@ -7828,7 +7896,7 @@ static const per_sequence_t TargetRNC_ToSourceRNC_TransparentContainer_sequence[
static int
dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 362 "./asn1/ranap/ranap.cnf"
#line 360 "./asn1/ranap/ranap.cnf"
/* If TargetRNC-ToSourceRNC-TransparentContainer is called through
dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU
ProtocolIE_ID may be unset
@ -7916,7 +7984,7 @@ dissect_ranap_TraceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
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 312 "./asn1/ranap/ranap.cnf"
#line 310 "./asn1/ranap/ranap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_item *item;
proto_tree *subtree, *nsap_tree;
@ -8015,7 +8083,7 @@ dissect_ranap_UE_AggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1
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_) {
#line 401 "./asn1/ranap/ranap.cnf"
#line 399 "./asn1/ranap/ranap.cnf"
tvbuff_t *value_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -8282,7 +8350,7 @@ dissect_ranap_VelocityEstimate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
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 143 "./asn1/ranap/ranap.cnf"
#line 141 "./asn1/ranap/ranap.cnf"
asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
asn1_param_push_integer(actx, 1);
asn1_param_push_integer(actx, maxNrOfRABs);
@ -8298,7 +8366,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 151 "./asn1/ranap/ranap.cnf"
#line 149 "./asn1/ranap/ranap.cnf"
asn1_stack_frame_push(actx, "ProtocolIE-ContainerPairList");
asn1_param_push_integer(actx, 1);
asn1_param_push_integer(actx, maxNrOfRABs);
@ -8314,7 +8382,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 168 "./asn1/ranap/ranap.cnf"
#line 166 "./asn1/ranap/ranap.cnf"
asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
asn1_param_push_integer(actx, 1);
asn1_param_push_integer(actx, maxNrOfIuSigConIds);
@ -8330,7 +8398,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 176 "./asn1/ranap/ranap.cnf"
#line 174 "./asn1/ranap/ranap.cnf"
asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
asn1_param_push_integer(actx, 1);
asn1_param_push_integer(actx, maxNrOfDTs);
@ -11180,6 +11248,14 @@ static int dissect_LastKnownServiceArea_PDU(tvbuff_t *tvb _U_, packet_info *pinf
offset += 7; offset >>= 3;
return offset;
}
int dissect_ranap_LastVisitedUTRANCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
offset = dissect_ranap_LastVisitedUTRANCell_Item(tvb, offset, &asn1_ctx, tree, hf_ranap_ranap_LastVisitedUTRANCell_Item_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_LocationRelatedDataRequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@ -13547,6 +13623,10 @@ void proto_register_ranap(void) {
{ "LastKnownServiceArea", "ranap.LastKnownServiceArea_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ranap_ranap_LastVisitedUTRANCell_Item_PDU,
{ "LastVisitedUTRANCell-Item", "ranap.LastVisitedUTRANCell_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ranap_LocationRelatedDataRequestType_PDU,
{ "LocationRelatedDataRequestType", "ranap.LocationRelatedDataRequestType_element",
FT_NONE, BASE_NONE, NULL, 0,
@ -15151,6 +15231,18 @@ void proto_register_ranap(void) {
{ "ageOfSAI", "ranap.ageOfSAI",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_32767", HFILL }},
{ &hf_ranap_uTRAN_CellID,
{ "uTRAN-CellID", "ranap.uTRAN_CellID_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ranap_cellType,
{ "cellType", "ranap.cellType",
FT_UINT32, BASE_DEC, VALS(ranap_CellType_vals), 0,
NULL, HFILL }},
{ &hf_ranap_time_UE_StayedInCell,
{ "time-UE-StayedInCell", "ranap.time_UE_StayedInCell",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_ranap_ListOF_SNAs_item,
{ "SNAC", "ranap.SNAC",
FT_UINT32, BASE_DEC, NULL, 0,
@ -15883,6 +15975,10 @@ void proto_register_ranap(void) {
{ "upinitialisationFrame", "ranap.upinitialisationFrame",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_ranap_cellID,
{ "cellID", "ranap.cellID",
FT_UINT32, BASE_DEC, NULL, 0,
"TargetCellId", HFILL }},
{ &hf_ranap_horizontalVelocity,
{ "horizontalVelocity", "ranap.horizontalVelocity_element",
FT_NONE, BASE_NONE, NULL, 0,
@ -16267,6 +16363,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,
@ -16364,6 +16461,7 @@ void proto_register_ranap(void) {
&ett_ranap_UE_ID,
&ett_ranap_UESBI_Iu,
&ett_ranap_UPInformation,
&ett_ranap_UTRAN_CellID,
&ett_ranap_VelocityEstimate,
&ett_ranap_HorizontalVelocity,
&ett_ranap_HorizontalWithVerticalVelocity,

View File

@ -40,6 +40,7 @@ int dissect_ranap_IntegrityProtectionInformation(tvbuff_t *tvb _U_, int offset _
int dissect_ranap_Service_Handover(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_ranap_TargetRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_ranap_InterSystemInformation_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_ranap_LastVisitedUTRANCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_ranap_Source_ToTarget_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_ranap_SourceCellID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);

File diff suppressed because it is too large Load Diff