aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/x2ap/X2AP-CommonDataTypes.asn2
-rw-r--r--asn1/x2ap/X2AP-Constants.asn12
-rw-r--r--asn1/x2ap/X2AP-Containers.asn2
-rw-r--r--asn1/x2ap/X2AP-IEs.asn61
-rw-r--r--asn1/x2ap/X2AP-PDU-Contents.asn102
-rw-r--r--asn1/x2ap/X2AP-PDU-Descriptions.asn17
-rw-r--r--asn1/x2ap/packet-x2ap-template.c4
-rw-r--r--asn1/x2ap/x2ap.cnf18
-rw-r--r--epan/dissectors/packet-x2ap.c446
9 files changed, 624 insertions, 40 deletions
diff --git a/asn1/x2ap/X2AP-CommonDataTypes.asn b/asn1/x2ap/X2AP-CommonDataTypes.asn
index 451391fc1d..6feadf6829 100644
--- a/asn1/x2ap/X2AP-CommonDataTypes.asn
+++ b/asn1/x2ap/X2AP-CommonDataTypes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.1.0 (2009-12)
+-- 3GPP TS 36.423 V9.2.0 (2010-03)
-- 9.3.6 Common definitions
-- **************************************************************
diff --git a/asn1/x2ap/X2AP-Constants.asn b/asn1/x2ap/X2AP-Constants.asn
index 1117c809aa..69fdd47a86 100644
--- a/asn1/x2ap/X2AP-Constants.asn
+++ b/asn1/x2ap/X2AP-Constants.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.1.0 (2009-12)
+-- 3GPP TS 36.423 V9.2.0 (2010-03)
-- 9.3.7 Constant Definitions
-- **************************************************************
--
@@ -41,7 +41,7 @@ id-privateMessage ProcedureCode ::= 11
id-mobilitySettingsChange ProcedureCode ::= 12
id-rLFIndication ProcedureCode ::= 13
id-handoverReport ProcedureCode ::= 14
-
+id-cellActivation ProcedureCode ::= 15
@@ -65,7 +65,8 @@ maxnoofBPLMNs INTEGER ::= 6
maxnoofNeighbours INTEGER ::= 512
maxnoofPRBs INTEGER ::= 110
maxPools INTEGER ::= 16
-maxnoofCells INTEGER ::= 16
+maxnoofCells INTEGER ::= 16
+maxnoofMBSFN INTEGER ::= 8
@@ -131,5 +132,10 @@ id-SourceCellECGI ProtocolIE-ID ::= 52
id-FailureCellECGI ProtocolIE-ID ::= 53
id-HandoverReportType ProtocolIE-ID ::= 54
id-PRACH-Configuration ProtocolIE-ID ::= 55
+id-MBSFN-Subframe-Info ProtocolIE-ID ::= 56
+id-ServedCellsToActivate ProtocolIE-ID ::= 57
+id-ActivatedCellList ProtocolIE-ID ::= 58
+id-DeactivationIndication ProtocolIE-ID ::= 59
+id-UE-RLF-Report-Container ProtocolIE-ID ::= 60
END
diff --git a/asn1/x2ap/X2AP-Containers.asn b/asn1/x2ap/X2AP-Containers.asn
index debbcf53cc..7e22bbb52d 100644
--- a/asn1/x2ap/X2AP-Containers.asn
+++ b/asn1/x2ap/X2AP-Containers.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.1.0 (2009-12)
+-- 3GPP TS 36.423 V9.2.0 (2010-03)
-- 9.3.8 Container Definitions
-- **************************************************************
--
diff --git a/asn1/x2ap/X2AP-IEs.asn b/asn1/x2ap/X2AP-IEs.asn
index d56845a224..a440475008 100644
--- a/asn1/x2ap/X2AP-IEs.asn
+++ b/asn1/x2ap/X2AP-IEs.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.1.0 (2009-12)
+-- 3GPP TS 36.423 V9.2.0 (2010-03)
-- 9.3.5 Information Element Definitions
-- **************************************************************
--
@@ -18,7 +18,8 @@ BEGIN
IMPORTS
id-E-RAB-Item,
- id-Number-of-Antennaports,
+ id-Number-of-Antennaports,
+ id-MBSFN-Subframe-Info,
id-PRACH-Configuration,
maxnoofBearers,
@@ -35,7 +36,8 @@ IMPORTS
maxnoofNeighbours,
maxnoofPRBs,
maxNrOfErrors,
- maxPools
+ maxPools,
+ maxnoofMBSFN
FROM X2AP-Constants
@@ -146,7 +148,9 @@ CauseRadioNetwork ::= ENUMERATED {
...,
load-balancing,
handover-optimisation,
- value-out-of-allowed-range
+ value-out-of-allowed-range,
+ multiple-E-RAB-ID-instances,
+ switch-off-ongoing
}
@@ -248,6 +252,10 @@ CyclicPrefixUL ::= ENUMERATED {
-- D
+DeactivationIndication::= ENUMERATED {
+ deactivated,
+ ...
+}
DL-Forwarding ::= ENUMERATED {
dL-forwardingProposed,
@@ -393,7 +401,7 @@ ForbiddenLAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
-
+Fourframes ::= BIT STRING (SIZE (24))
-- G
@@ -451,7 +459,7 @@ GU-Group-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
GUMMEI ::= SEQUENCE {
gU-Group-ID GU-Group-ID,
- mMME-Code MME-Code,
+ mME-Code MME-Code,
iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
...
}
@@ -571,6 +579,20 @@ MME-Code ::= OCTET STRING (SIZE (1))
Measurement-ID ::= INTEGER (1..4095, ...)
+MBSFN-Subframe-Infolist::= SEQUENCE (SIZE(1.. maxnoofMBSFN)) OF MBSFN-Subframe-Info
+
+MBSFN-Subframe-Info ::= SEQUENCE {
+ radioframeAllocationPeriod RadioframeAllocationPeriod,
+ radioframeAllocationOffset RadioframeAllocationOffset,
+ subframeAllocation SubframeAllocation,
+ iE-Extensions ProtocolExtensionContainer { { MBSFN-Subframe-Info-ExtIEs } } OPTIONAL,
+ ...
+}
+
+MBSFN-Subframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
MobilityParametersModificationRange ::= SEQUENCE {
handoverTriggerChangeLowerLimit INTEGER (-20..20),
handoverTriggerChangeUpperLimit INTEGER (-20..20),
@@ -607,6 +629,9 @@ Number-of-Antennaports ::= ENUMERATED {
}
-- O
+
+Oneframe ::= BIT STRING (SIZE (6))
+
-- P
PDCP-SN ::= INTEGER (0..4095)
@@ -729,6 +754,17 @@ DL-Total-PRB-usage::= INTEGER (0..100)
UL-Total-PRB-usage::= INTEGER (0..100)
+RadioframeAllocationPeriod ::= ENUMERATED{
+ n1,
+ n2,
+ n4,
+ n8,
+ n16,
+ n32,
+ ...
+}
+
+RadioframeAllocationOffset ::= INTEGER (0..7, ...)
-- S
@@ -768,8 +804,9 @@ ServedCell-Information ::= SEQUENCE {
}
ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
- { ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional }|
- { ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional },
+ { ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional }|
+ { ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional },
+ { ID id-MBSFN-Subframe-Info CRITICALITY ignore EXTENSION MBSFN-Subframe-Infolist PRESENCE optional},
...
}
@@ -819,6 +856,11 @@ SpecialSubframePatterns ::= ENUMERATED {
SubscriberProfileIDforRFP ::= INTEGER (1..256)
+SubframeAllocation ::= CHOICE {
+ oneframe Oneframe,
+ fourframes Fourframes,
+ ...
+}
-- T
@@ -940,9 +982,10 @@ UL-HighInterferenceIndicationInfo-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
-
UL-HighInterferenceIndication ::= BIT STRING (SIZE(1..110, ...))
+UE-RLF-Report-Container::= OCTET STRING
+-- This IE is a transparent container and shall be encoded as the rlfReport field contained in the UEInformationResponse message as defined in [9]
-- V
-- W
diff --git a/asn1/x2ap/X2AP-PDU-Contents.asn b/asn1/x2ap/X2AP-PDU-Contents.asn
index a39869083c..b3d285d26a 100644
--- a/asn1/x2ap/X2AP-PDU-Contents.asn
+++ b/asn1/x2ap/X2AP-PDU-Contents.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.1.0 (2009-12)
+-- 3GPP TS 36.423 V9.2.0 (2010-03)
-- 9.3.4 PDU Definitions
-- **************************************************************
--
@@ -24,12 +24,12 @@ BEGIN
IMPORTS
AS-SecurityInformation,
-
Cause,
CompositeAvailableCapacityGroup,
COUNTvalue,
CriticalityDiagnostics,
CRNTI,
+ DeactivationIndication,
DL-Forwarding,
ECGI,
E-RAB-ID,
@@ -50,7 +50,8 @@ IMPORTS
ReceiveStatusofULPDCPSDUs,
Registration-Request,
RelativeNarrowbandTxPower,
- RadioResourceStatus,
+ RadioResourceStatus,
+ UE-RLF-Report-Container,
RRC-Context,
ServedCell-Information,
ServedCells,
@@ -96,6 +97,7 @@ FROM X2AP-IEs
FROM X2AP-Containers
+ id-ActivatedCellList,
id-Cause,
id-CellInformation,
id-CellInformation-Item,
@@ -104,7 +106,8 @@ FROM X2AP-Containers
id-CellToReport,
id-CellToReport-Item,
id-CompositeAvailableCapacityGroup,
- id-CriticalityDiagnostics,
+ id-CriticalityDiagnostics,
+ id-DeactivationIndication,
id-E-RABs-Admitted-Item,
id-E-RABs-Admitted-List,
id-E-RABs-NotAdmitted-List,
@@ -120,7 +123,8 @@ FROM X2AP-Containers
id-Old-eNB-UE-X2AP-ID,
id-Registration-Request,
id-ReportingPeriodicity,
- id-ServedCells,
+ id-ServedCells,
+ id-ServedCellsToActivate,
id-ServedCellsToAdd,
id-ServedCellsToModify,
id-ServedCellsToDelete,
@@ -148,7 +152,8 @@ FROM X2AP-Containers
id-SourceCellECGI,
id-FailureCellECGI,
id-Re-establishmentCellECGI,
- id-HandoverReportType,
+ id-HandoverReportType,
+ id-UE-RLF-Report-Container,
maxCellineNB,
@@ -557,6 +562,7 @@ ServedCellsToModify-Item::= SEQUENCE {
}
ServedCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-DeactivationIndication CRITICALITY ignore EXTENSION DeactivationIndication PRESENCE optional },
...
}
@@ -714,7 +720,7 @@ CellMeasurementResult-Item ::= SEQUENCE {
cell-ID ECGI,
hWOverLoadIndicator HWLoadIndicator OPTIONAL,
s1TNLOverLoadIndicator S1TNLLoadIndicator OPTIONAL,
- radioresourceStatus RadioResourceStatus OPTIONAL,
+ radioResourceStatus RadioResourceStatus OPTIONAL,
iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-Item-ExtIEs} } OPTIONAL,
...
}
@@ -772,6 +778,8 @@ MobilityChangeAcknowledge ::= SEQUENCE {
}
MobilityChangeAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
+ { ID id-ENB2-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
@@ -789,6 +797,8 @@ MobilityChangeFailure ::= SEQUENCE {
}
MobilityChangeFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Cell-ID CRITICALITY ignore TYPE ECGI PRESENCE mandatory }|
+ { ID id-ENB2-Cell-ID CRITICALITY ignore TYPE ECGI PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-ENB2-Mobility-Parameters-Modification-Range CRITICALITY ignore TYPE MobilityParametersModificationRange PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@@ -810,7 +820,83 @@ RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
{ ID id-FailureCellPCI CRITICALITY ignore TYPE PCI PRESENCE mandatory}|
{ ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
{ ID id-FailureCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE mandatory}|
- { ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional},
+ { ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional}|
+ { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional},
+ ...
+}
+
+
+-- **************************************************************
+--
+-- Cell Activation Request
+--
+-- **************************************************************
+
+CellActivationRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationRequest-IEs}},
+ ...
+}
+
+CellActivationRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ServedCellsToActivate CRITICALITY reject TYPE ServedCellsToActivate PRESENCE mandatory },
+ ...
+}
+
+ServedCellsToActivate::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToActivate-Item
+
+ServedCellsToActivate-Item::= SEQUENCE {
+ ecgi ECGI,
+ iE-Extensions ProtocolExtensionContainer { { ServedCellsToActivate-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ServedCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+-- **************************************************************
+--
+-- Cell Activation Response
+--
+-- **************************************************************
+
+CellActivationResponse ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationResponse-IEs}},
+ ...
+}
+
+CellActivationResponse-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ActivatedCellList CRITICALITY ignore TYPE ActivatedCellList PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+ActivatedCellList ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ActivatedCellList-Item
+
+ActivatedCellList-Item::= SEQUENCE {
+ ecgi ECGI,
+ iE-Extensions ProtocolExtensionContainer { { ActivatedCellList-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+ActivatedCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+--**************************************************************
+--
+-- CELL ACTIVATION FAILURE
+--
+-- **************************************************************
+
+CellActivationFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{CellActivationFailure-IEs}},
+ ...
+}
+
+CellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
diff --git a/asn1/x2ap/X2AP-PDU-Descriptions.asn b/asn1/x2ap/X2AP-PDU-Descriptions.asn
index e9d2c2b8c2..4f535f6c5b 100644
--- a/asn1/x2ap/X2AP-PDU-Descriptions.asn
+++ b/asn1/x2ap/X2AP-PDU-Descriptions.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.1.0 (2009-12)
+-- 3GPP TS 36.423 V9.2.0 (2010-03)
-- 9.3.3 Elementary Procedure Definitions
-- **************************************************************
--
@@ -27,6 +27,9 @@ IMPORTS
FROM X2AP-CommonDataTypes
+ CellActivationRequest,
+ CellActivationResponse,
+ CellActivationFailure,
ENBConfigurationUpdate,
ENBConfigurationUpdateAcknowledge,
ENBConfigurationUpdateFailure,
@@ -57,6 +60,7 @@ FROM X2AP-CommonDataTypes
FROM X2AP-PDU-Contents
+ id-cellActivation,
id-eNBConfigurationUpdate,
id-errorIndication,
id-handoverCancel,
@@ -151,7 +155,8 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
x2Setup |
resourceStatusReportingInitiation |
eNBConfigurationUpdate |
- mobilitySettingsChange ,
+ mobilitySettingsChange |
+ cellActivation ,
...
}
@@ -278,5 +283,13 @@ mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
CRITICALITY reject
}
+cellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE CellActivationRequest
+ SUCCESSFUL OUTCOME CellActivationResponse
+ UNSUCCESSFUL OUTCOME CellActivationFailure
+ PROCEDURE CODE id-cellActivation
+ CRITICALITY reject
+}
+
END
diff --git a/asn1/x2ap/packet-x2ap-template.c b/asn1/x2ap/packet-x2ap-template.c
index d86dd8c2b0..7fc87483df 100644
--- a/asn1/x2ap/packet-x2ap-template.c
+++ b/asn1/x2ap/packet-x2ap-template.c
@@ -2,7 +2,7 @@
* Routines for dissecting Evolved Universal Terrestrial Radio Access Network (EUTRAN);
* X2 Application Protocol (X2AP);
* 3GPP TS 36.423 packet dissection
- * Copyright 2007-2008, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2007-2010, Anders Broman <anders.broman@ericsson.com>
*
* $Id$
*
@@ -25,7 +25,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Ref:
- * 3GPP TS 36.423 V8.0.0 (2007-12)
+ * 3GPP TS 36.423 V9.2.0 (2010-03)
*/
#ifdef HAVE_CONFIG_H
diff --git a/asn1/x2ap/x2ap.cnf b/asn1/x2ap/x2ap.cnf
index e904b23398..797dca886c 100644
--- a/asn1/x2ap/x2ap.cnf
+++ b/asn1/x2ap/x2ap.cnf
@@ -161,6 +161,7 @@ id-privateMessage ProcedureCode
id-mobilitySettingsChange ProcedureCode
id-rLFIndication ProcedureCode
id-handoverReport ProcedureCode
+id-cellActivation ProcedureCode
# ProtocolIE-ID
@@ -219,7 +220,12 @@ id-SourceCellECGI ProtocolIE-ID
id-FailureCellECGI ProtocolIE-ID
id-HandoverReportType ProtocolIE-ID
id-PRACH-Configuration ProtocolIE-ID
-
+id-MBSFN-Subframe-Info ProtocolIE-ID
+id-ServedCellsToActivate ProtocolIE-ID
+id-ActivatedCellList ProtocolIE-ID
+id-DeactivationIndication ProtocolIE-ID
+id-UE-RLF-Report-Container ProtocolIE-ID
+
#.REGISTER_NEW
#X2AP-PROTOCOL-IES
@@ -275,11 +281,16 @@ ShortMAC-I N x2ap.ies id-ShortMAC-I
ECGI N x2ap.ies id-SourceCellECGI
ECGI N x2ap.ies id-FailureCellECGI
HandoverReportType N x2ap.ies id-HandoverReportType
+UE-RLF-Report-Container N x2ap.ies id-UE-RLF-Report-Container
+ServedCellsToActivate N x2ap.ies id-ServedCellsToActivate
+ActivatedCellList N x2ap.ies id-ActivatedCellList
#X2AP-PROTOCOL-EXTENSION
Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports
CompositeAvailableCapacityGroup N x2ap.extension id-CompositeAvailableCapacityGroup
PRACH-Configuration N x2ap.extension id-PRACH-Configuration
+MBSFN-Subframe-Infolist N x2ap.extension id-MBSFN-Subframe-Info
+DeactivationIndication N x2ap.extension id-DeactivationIndication
# X2AP-PDU-Descriptions.asn Interface Elementary Procedures
#X2AP-ELEMENTARY-PROCEDURE
@@ -324,6 +335,11 @@ MobilityChangeRequest N x2ap.proc.imsg id-mobilitySettingsChange
MobilityChangeAcknowledge N x2ap.proc.sout id-mobilitySettingsChange
MobilityChangeFailure N x2ap.proc.uout id-mobilitySettingsChange
+CellActivationRequest N x2ap.proc.imsg id-cellActivation
+CellActivationResponse N x2ap.proc.sout id-cellActivation
+CellActivationFailure N x2ap.proc.uout id-cellActivation
+
+
#.TYPE_ATTR
BitRate TYPE = FT_UINT64 DISPLAY = BASE_DEC STRINGS = NULL
#.END
diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c
index e4bfc7bc02..c47528df78 100644
--- a/epan/dissectors/packet-x2ap.c
+++ b/epan/dissectors/packet-x2ap.c
@@ -10,7 +10,7 @@
* Routines for dissecting Evolved Universal Terrestrial Radio Access Network (EUTRAN);
* X2 Application Protocol (X2AP);
* 3GPP TS 36.423 packet dissection
- * Copyright 2007-2008, Anders Broman <anders.broman@ericsson.com>
+ * Copyright 2007-2010, Anders Broman <anders.broman@ericsson.com>
*
* $Id$
*
@@ -33,7 +33,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Ref:
- * 3GPP TS 36.423 V8.0.0 (2007-12)
+ * 3GPP TS 36.423 V9.2.0 (2010-03)
*/
#ifdef HAVE_CONFIG_H
@@ -85,6 +85,7 @@
#define maxnoofPRBs 110
#define maxPools 16
#define maxnoofCells 16
+#define maxnoofMBSFN 8
typedef enum _ProcedureCode_enum {
id_handoverPreparation = 0,
@@ -101,7 +102,8 @@ typedef enum _ProcedureCode_enum {
id_privateMessage = 11,
id_mobilitySettingsChange = 12,
id_rLFIndication = 13,
- id_handoverReport = 14
+ id_handoverReport = 14,
+ id_cellActivation = 15
} ProcedureCode_enum;
typedef enum _ProtocolIE_ID_enum {
@@ -159,7 +161,12 @@ typedef enum _ProtocolIE_ID_enum {
id_SourceCellECGI = 52,
id_FailureCellECGI = 53,
id_HandoverReportType = 54,
- id_PRACH_Configuration = 55
+ id_PRACH_Configuration = 55,
+ id_MBSFN_Subframe_Info = 56,
+ id_ServedCellsToActivate = 57,
+ id_ActivatedCellList = 58,
+ id_DeactivationIndication = 59,
+ id_UE_RLF_Report_Container = 60
} ProtocolIE_ID_enum;
/*--- End of included file: packet-x2ap-val.h ---*/
@@ -176,6 +183,7 @@ static int hf_x2ap_Cause_PDU = -1; /* Cause */
static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */
static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */
+static int hf_x2ap_DeactivationIndication_PDU = -1; /* DeactivationIndication */
static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */
static int hf_x2ap_E_RAB_Item_PDU = -1; /* E_RAB_Item */
@@ -184,6 +192,7 @@ static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */
static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */
+static int hf_x2ap_MBSFN_Subframe_Infolist_PDU = -1; /* MBSFN_Subframe_Infolist */
static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */
static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */
static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */
@@ -199,6 +208,7 @@ static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */
static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */
static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */
+static int hf_x2ap_UE_RLF_Report_Container_PDU = -1; /* UE_RLF_Report_Container */
static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */
static int hf_x2ap_UE_ContextInformation_PDU = -1; /* UE_ContextInformation */
static int hf_x2ap_E_RABs_ToBeSetup_Item_PDU = -1; /* E_RABs_ToBeSetup_Item */
@@ -240,6 +250,11 @@ static int hf_x2ap_MobilityChangeRequest_PDU = -1; /* MobilityChangeRequest */
static int hf_x2ap_MobilityChangeAcknowledge_PDU = -1; /* MobilityChangeAcknowledge */
static int hf_x2ap_MobilityChangeFailure_PDU = -1; /* MobilityChangeFailure */
static int hf_x2ap_RLFIndication_PDU = -1; /* RLFIndication */
+static int hf_x2ap_CellActivationRequest_PDU = -1; /* CellActivationRequest */
+static int hf_x2ap_ServedCellsToActivate_PDU = -1; /* ServedCellsToActivate */
+static int hf_x2ap_CellActivationResponse_PDU = -1; /* CellActivationResponse */
+static int hf_x2ap_ActivatedCellList_PDU = -1; /* ActivatedCellList */
+static int hf_x2ap_CellActivationFailure_PDU = -1; /* CellActivationFailure */
static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
static int hf_x2ap_local = -1; /* INTEGER_0_maxPrivateIEs */
static int hf_x2ap_global = -1; /* OBJECT_IDENTIFIER */
@@ -316,7 +331,7 @@ static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */
static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */
static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */
static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */
-static int hf_x2ap_mMME_Code = -1; /* MME_Code */
+static int hf_x2ap_mME_Code = -1; /* MME_Code */
static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */
static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */
static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */
@@ -333,6 +348,10 @@ static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
static int hf_x2ap_undefined = -1; /* NULL */
static int hf_x2ap_eventType = -1; /* EventType */
static int hf_x2ap_reportArea = -1; /* ReportArea */
+static int hf_x2ap_MBSFN_Subframe_Infolist_item = -1; /* MBSFN_Subframe_Info */
+static int hf_x2ap_radioframeAllocationPeriod = -1; /* RadioframeAllocationPeriod */
+static int hf_x2ap_radioframeAllocationOffset = -1; /* RadioframeAllocationOffset */
+static int hf_x2ap_subframeAllocation = -1; /* SubframeAllocation */
static int hf_x2ap_handoverTriggerChangeLowerLimit = -1; /* INTEGER_M20_20 */
static int hf_x2ap_handoverTriggerChangeUpperLimit = -1; /* INTEGER_M20_20 */
static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */
@@ -367,6 +386,8 @@ static int hf_x2ap_eUTRA_Mode_Info = -1; /* EUTRA_Mode_Info */
static int hf_x2ap_specialSubframePatterns = -1; /* SpecialSubframePatterns */
static int hf_x2ap_cyclicPrefixDL = -1; /* CyclicPrefixDL */
static int hf_x2ap_cyclicPrefixUL = -1; /* CyclicPrefixUL */
+static int hf_x2ap_oneframe = -1; /* Oneframe */
+static int hf_x2ap_fourframes = -1; /* Fourframes */
static int hf_x2ap_eUTRANTraceID = -1; /* EUTRANTraceID */
static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */
static int hf_x2ap_traceDepth = -1; /* TraceDepth */
@@ -413,8 +434,11 @@ static int hf_x2ap_CellToReport_List_item = -1; /* ProtocolIE_Single_Container
static int hf_x2ap_CellMeasurementResult_List_item = -1; /* ProtocolIE_Single_Container */
static int hf_x2ap_hWOverLoadIndicator = -1; /* HWLoadIndicator */
static int hf_x2ap_s1TNLOverLoadIndicator = -1; /* S1TNLLoadIndicator */
-static int hf_x2ap_radioresourceStatus = -1; /* RadioResourceStatus */
+static int hf_x2ap_radioResourceStatus = -1; /* RadioResourceStatus */
static int hf_x2ap_privateIEs = -1; /* PrivateIE_Container */
+static int hf_x2ap_ServedCellsToActivate_item = -1; /* ServedCellsToActivate_Item */
+static int hf_x2ap_ecgi = -1; /* ECGI */
+static int hf_x2ap_ActivatedCellList_item = -1; /* ActivatedCellList_Item */
static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */
static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */
static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */
@@ -476,6 +500,8 @@ static gint ett_x2ap_LastVisitedCell_Item = -1;
static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1;
static gint ett_x2ap_LastVisitedGERANCellInformation = -1;
static gint ett_x2ap_LocationReportingInformation = -1;
+static gint ett_x2ap_MBSFN_Subframe_Infolist = -1;
+static gint ett_x2ap_MBSFN_Subframe_Info = -1;
static gint ett_x2ap_MobilityParametersModificationRange = -1;
static gint ett_x2ap_MobilityParametersInformation = -1;
static gint ett_x2ap_Neighbour_Information = -1;
@@ -488,6 +514,7 @@ static gint ett_x2ap_ServedCells = -1;
static gint ett_x2ap_ServedCells_item = -1;
static gint ett_x2ap_ServedCell_Information = -1;
static gint ett_x2ap_SpecialSubframe_Info = -1;
+static gint ett_x2ap_SubframeAllocation = -1;
static gint ett_x2ap_TraceActivation = -1;
static gint ett_x2ap_UE_HistoryInformation = -1;
static gint ett_x2ap_UEAggregateMaximumBitRate = -1;
@@ -537,6 +564,13 @@ static gint ett_x2ap_MobilityChangeRequest = -1;
static gint ett_x2ap_MobilityChangeAcknowledge = -1;
static gint ett_x2ap_MobilityChangeFailure = -1;
static gint ett_x2ap_RLFIndication = -1;
+static gint ett_x2ap_CellActivationRequest = -1;
+static gint ett_x2ap_ServedCellsToActivate = -1;
+static gint ett_x2ap_ServedCellsToActivate_Item = -1;
+static gint ett_x2ap_CellActivationResponse = -1;
+static gint ett_x2ap_ActivatedCellList = -1;
+static gint ett_x2ap_ActivatedCellList_Item = -1;
+static gint ett_x2ap_CellActivationFailure = -1;
static gint ett_x2ap_X2AP_PDU = -1;
static gint ett_x2ap_InitiatingMessage = -1;
static gint ett_x2ap_SuccessfulOutcome = -1;
@@ -642,6 +676,7 @@ static const value_string x2ap_ProcedureCode_vals[] = {
{ id_mobilitySettingsChange, "id-mobilitySettingsChange" },
{ id_rLFIndication, "id-rLFIndication" },
{ id_handoverReport, "id-handoverReport" },
+ { id_cellActivation, "id-cellActivation" },
{ 0, NULL }
};
@@ -719,6 +754,11 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = {
{ id_FailureCellECGI, "id-FailureCellECGI" },
{ id_HandoverReportType, "id-HandoverReportType" },
{ id_PRACH_Configuration, "id-PRACH-Configuration" },
+ { id_MBSFN_Subframe_Info, "id-MBSFN-Subframe-Info" },
+ { id_ServedCellsToActivate, "id-ServedCellsToActivate" },
+ { id_ActivatedCellList, "id-ActivatedCellList" },
+ { id_DeactivationIndication, "id-DeactivationIndication" },
+ { id_UE_RLF_Report_Container, "id-UE-RLF-Report-Container" },
{ 0, NULL }
};
@@ -1075,6 +1115,8 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = {
{ 22, "load-balancing" },
{ 23, "handover-optimisation" },
{ 24, "value-out-of-allowed-range" },
+ { 25, "multiple-E-RAB-ID-instances" },
+ { 26, "switch-off-ongoing" },
{ 0, NULL }
};
@@ -1082,7 +1124,7 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = {
static int
dissect_x2ap_CauseRadioNetwork(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,
- 22, NULL, TRUE, 3, NULL);
+ 22, NULL, TRUE, 5, NULL);
return offset;
}
@@ -1378,6 +1420,21 @@ dissect_x2ap_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string x2ap_DeactivationIndication_vals[] = {
+ { 0, "deactivated" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_DeactivationIndication(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 const value_string x2ap_DL_Forwarding_vals[] = {
{ 0, "dL-forwardingProposed" },
{ 0, NULL }
@@ -1870,6 +1927,16 @@ dissect_x2ap_ForbiddenLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
+
+static int
+dissect_x2ap_Fourframes(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,
+ 24, 24, FALSE, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t GlobalENB_ID_sequence[] = {
{ &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
{ &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID },
@@ -1995,7 +2062,7 @@ dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static const per_sequence_t GUMMEI_sequence[] = {
{ &hf_x2ap_gU_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GU_Group_ID },
- { &hf_x2ap_mMME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
+ { &hf_x2ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MME_Code },
{ &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
@@ -2229,6 +2296,99 @@ dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string x2ap_RadioframeAllocationPeriod_vals[] = {
+ { 0, "n1" },
+ { 1, "n2" },
+ { 2, "n4" },
+ { 3, "n8" },
+ { 4, "n16" },
+ { 5, "n32" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_RadioframeAllocationPeriod(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,
+ 6, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_RadioframeAllocationOffset(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, 7U, NULL, TRUE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_Oneframe(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,
+ 6, 6, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const value_string x2ap_SubframeAllocation_vals[] = {
+ { 0, "oneframe" },
+ { 1, "fourframes" },
+ { 0, NULL }
+};
+
+static const per_choice_t SubframeAllocation_choice[] = {
+ { 0, &hf_x2ap_oneframe , ASN1_EXTENSION_ROOT , dissect_x2ap_Oneframe },
+ { 1, &hf_x2ap_fourframes , ASN1_EXTENSION_ROOT , dissect_x2ap_Fourframes },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_x2ap_SubframeAllocation(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_x2ap_SubframeAllocation, SubframeAllocation_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBSFN_Subframe_Info_sequence[] = {
+ { &hf_x2ap_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationPeriod },
+ { &hf_x2ap_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RadioframeAllocationOffset },
+ { &hf_x2ap_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SubframeAllocation },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MBSFN_Subframe_Info(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_x2ap_MBSFN_Subframe_Info, MBSFN_Subframe_Info_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MBSFN_Subframe_Infolist_sequence_of[1] = {
+ { &hf_x2ap_MBSFN_Subframe_Infolist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_MBSFN_Subframe_Info },
+};
+
+static int
+dissect_x2ap_MBSFN_Subframe_Infolist(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_x2ap_MBSFN_Subframe_Infolist, MBSFN_Subframe_Infolist_sequence_of,
+ 1, maxnoofMBSFN, FALSE);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_INTEGER_M20_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -2953,6 +3113,16 @@ dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_
}
+
+static int
+dissect_x2ap_UE_RLF_Report_Container(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 per_sequence_t HandoverRequest_sequence[] = {
{ &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -3507,7 +3677,7 @@ static const per_sequence_t CellMeasurementResult_Item_sequence[] = {
{ &hf_x2ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
{ &hf_x2ap_hWOverLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_HWLoadIndicator },
{ &hf_x2ap_s1TNLOverLoadIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_S1TNLLoadIndicator },
- { &hf_x2ap_radioresourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus },
+ { &hf_x2ap_radioResourceStatus, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RadioResourceStatus },
{ &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
@@ -3591,6 +3761,106 @@ dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+static const per_sequence_t CellActivationRequest_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CellActivationRequest(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_x2ap_CellActivationRequest, CellActivationRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellsToActivate_Item_sequence[] = {
+ { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ServedCellsToActivate_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_x2ap_ServedCellsToActivate_Item, ServedCellsToActivate_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedCellsToActivate_sequence_of[1] = {
+ { &hf_x2ap_ServedCellsToActivate_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCellsToActivate_Item },
+};
+
+static int
+dissect_x2ap_ServedCellsToActivate(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_x2ap_ServedCellsToActivate, ServedCellsToActivate_sequence_of,
+ 1, maxCellineNB, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellActivationResponse_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CellActivationResponse(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_x2ap_CellActivationResponse, CellActivationResponse_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ActivatedCellList_Item_sequence[] = {
+ { &hf_x2ap_ecgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_ActivatedCellList_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_x2ap_ActivatedCellList_Item, ActivatedCellList_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ActivatedCellList_sequence_of[1] = {
+ { &hf_x2ap_ActivatedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ActivatedCellList_Item },
+};
+
+static int
+dissect_x2ap_ActivatedCellList(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_x2ap_ActivatedCellList, ActivatedCellList_sequence_of,
+ 1, maxCellineNB, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t CellActivationFailure_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CellActivationFailure(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_x2ap_CellActivationFailure, CellActivationFailure_sequence);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3723,6 +3993,14 @@ static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tr
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_DeactivationIndication_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_x2ap_DeactivationIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_DeactivationIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3787,6 +4065,14 @@ static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_MBSFN_Subframe_Infolist_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_x2ap_MBSFN_Subframe_Infolist(tvb, offset, &asn1_ctx, tree, hf_x2ap_MBSFN_Subframe_Infolist_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3907,6 +4193,14 @@ static int dissect_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UE_RLF_Report_Container_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_x2ap_UE_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_RLF_Report_Container_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_HandoverRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -4235,6 +4529,46 @@ static int dissect_RLFIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CellActivationRequest_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_x2ap_CellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedCellsToActivate_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_x2ap_ServedCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedCellsToActivate_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CellActivationResponse_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_x2ap_CellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationResponse_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ActivatedCellList_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_x2ap_ActivatedCellList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivatedCellList_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_CellActivationFailure_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_x2ap_CellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellActivationFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
@@ -4320,6 +4654,10 @@ void proto_register_x2ap(void) {
{ "CRNTI", "x2ap.CRNTI",
FT_BYTES, BASE_NONE, NULL, 0,
"x2ap.CRNTI", HFILL }},
+ { &hf_x2ap_DeactivationIndication_PDU,
+ { "DeactivationIndication", "x2ap.DeactivationIndication",
+ FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0,
+ "x2ap.DeactivationIndication", HFILL }},
{ &hf_x2ap_ECGI_PDU,
{ "ECGI", "x2ap.ECGI",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4352,6 +4690,10 @@ void proto_register_x2ap(void) {
{ "Measurement-ID", "x2ap.Measurement_ID",
FT_UINT32, BASE_DEC, NULL, 0,
"x2ap.Measurement_ID", HFILL }},
+ { &hf_x2ap_MBSFN_Subframe_Infolist_PDU,
+ { "MBSFN-Subframe-Infolist", "x2ap.MBSFN_Subframe_Infolist",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.MBSFN_Subframe_Infolist", HFILL }},
{ &hf_x2ap_MobilityParametersModificationRange_PDU,
{ "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4412,6 +4754,10 @@ void proto_register_x2ap(void) {
{ "UE-X2AP-ID", "x2ap.UE_X2AP_ID",
FT_UINT32, BASE_DEC, NULL, 0,
"x2ap.UE_X2AP_ID", HFILL }},
+ { &hf_x2ap_UE_RLF_Report_Container_PDU,
+ { "UE-RLF-Report-Container", "x2ap.UE_RLF_Report_Container",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "x2ap.UE_RLF_Report_Container", HFILL }},
{ &hf_x2ap_HandoverRequest_PDU,
{ "HandoverRequest", "x2ap.HandoverRequest",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4576,6 +4922,26 @@ void proto_register_x2ap(void) {
{ "RLFIndication", "x2ap.RLFIndication",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.RLFIndication", HFILL }},
+ { &hf_x2ap_CellActivationRequest_PDU,
+ { "CellActivationRequest", "x2ap.CellActivationRequest",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.CellActivationRequest", HFILL }},
+ { &hf_x2ap_ServedCellsToActivate_PDU,
+ { "ServedCellsToActivate", "x2ap.ServedCellsToActivate",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.ServedCellsToActivate", HFILL }},
+ { &hf_x2ap_CellActivationResponse_PDU,
+ { "CellActivationResponse", "x2ap.CellActivationResponse",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.CellActivationResponse", HFILL }},
+ { &hf_x2ap_ActivatedCellList_PDU,
+ { "ActivatedCellList", "x2ap.ActivatedCellList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.ActivatedCellList", HFILL }},
+ { &hf_x2ap_CellActivationFailure_PDU,
+ { "CellActivationFailure", "x2ap.CellActivationFailure",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.CellActivationFailure", HFILL }},
{ &hf_x2ap_X2AP_PDU_PDU,
{ "X2AP-PDU", "x2ap.X2AP_PDU",
FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
@@ -4880,8 +5246,8 @@ void proto_register_x2ap(void) {
{ "gU-Group-ID", "x2ap.gU_Group_ID",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.GU_Group_ID", HFILL }},
- { &hf_x2ap_mMME_Code,
- { "mMME-Code", "x2ap.mMME_Code",
+ { &hf_x2ap_mME_Code,
+ { "mME-Code", "x2ap.mME_Code",
FT_BYTES, BASE_NONE, NULL, 0,
"x2ap.MME_Code", HFILL }},
{ &hf_x2ap_servingPLMN,
@@ -4948,6 +5314,22 @@ void proto_register_x2ap(void) {
{ "reportArea", "x2ap.reportArea",
FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
"x2ap.ReportArea", HFILL }},
+ { &hf_x2ap_MBSFN_Subframe_Infolist_item,
+ { "MBSFN-Subframe-Info", "x2ap.MBSFN_Subframe_Info",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.MBSFN_Subframe_Info", HFILL }},
+ { &hf_x2ap_radioframeAllocationPeriod,
+ { "radioframeAllocationPeriod", "x2ap.radioframeAllocationPeriod",
+ FT_UINT32, BASE_DEC, VALS(x2ap_RadioframeAllocationPeriod_vals), 0,
+ "x2ap.RadioframeAllocationPeriod", HFILL }},
+ { &hf_x2ap_radioframeAllocationOffset,
+ { "radioframeAllocationOffset", "x2ap.radioframeAllocationOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.RadioframeAllocationOffset", HFILL }},
+ { &hf_x2ap_subframeAllocation,
+ { "subframeAllocation", "x2ap.subframeAllocation",
+ FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAllocation_vals), 0,
+ "x2ap.SubframeAllocation", HFILL }},
{ &hf_x2ap_handoverTriggerChangeLowerLimit,
{ "handoverTriggerChangeLowerLimit", "x2ap.handoverTriggerChangeLowerLimit",
FT_INT32, BASE_DEC, NULL, 0,
@@ -5084,6 +5466,14 @@ void proto_register_x2ap(void) {
{ "cyclicPrefixUL", "x2ap.cyclicPrefixUL",
FT_UINT32, BASE_DEC, VALS(x2ap_CyclicPrefixUL_vals), 0,
"x2ap.CyclicPrefixUL", HFILL }},
+ { &hf_x2ap_oneframe,
+ { "oneframe", "x2ap.oneframe",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "x2ap.Oneframe", HFILL }},
+ { &hf_x2ap_fourframes,
+ { "fourframes", "x2ap.fourframes",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "x2ap.Fourframes", HFILL }},
{ &hf_x2ap_eUTRANTraceID,
{ "eUTRANTraceID", "x2ap.eUTRANTraceID",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -5268,14 +5658,26 @@ void proto_register_x2ap(void) {
{ "s1TNLOverLoadIndicator", "x2ap.s1TNLOverLoadIndicator",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.S1TNLLoadIndicator", HFILL }},
- { &hf_x2ap_radioresourceStatus,
- { "radioresourceStatus", "x2ap.radioresourceStatus",
+ { &hf_x2ap_radioResourceStatus,
+ { "radioResourceStatus", "x2ap.radioResourceStatus",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.RadioResourceStatus", HFILL }},
{ &hf_x2ap_privateIEs,
{ "privateIEs", "x2ap.privateIEs",
FT_UINT32, BASE_DEC, NULL, 0,
"x2ap.PrivateIE_Container", HFILL }},
+ { &hf_x2ap_ServedCellsToActivate_item,
+ { "ServedCellsToActivate-Item", "x2ap.ServedCellsToActivate_Item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.ServedCellsToActivate_Item", HFILL }},
+ { &hf_x2ap_ecgi,
+ { "ecgi", "x2ap.ecgi",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.ECGI", HFILL }},
+ { &hf_x2ap_ActivatedCellList_item,
+ { "ActivatedCellList-Item", "x2ap.ActivatedCellList_Item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.ActivatedCellList_Item", HFILL }},
{ &hf_x2ap_initiatingMessage,
{ "initiatingMessage", "x2ap.initiatingMessage",
FT_NONE, BASE_NONE, NULL, 0,
@@ -5357,6 +5759,8 @@ void proto_register_x2ap(void) {
&ett_x2ap_LastVisitedEUTRANCellInformation,
&ett_x2ap_LastVisitedGERANCellInformation,
&ett_x2ap_LocationReportingInformation,
+ &ett_x2ap_MBSFN_Subframe_Infolist,
+ &ett_x2ap_MBSFN_Subframe_Info,
&ett_x2ap_MobilityParametersModificationRange,
&ett_x2ap_MobilityParametersInformation,
&ett_x2ap_Neighbour_Information,
@@ -5369,6 +5773,7 @@ void proto_register_x2ap(void) {
&ett_x2ap_ServedCells_item,
&ett_x2ap_ServedCell_Information,
&ett_x2ap_SpecialSubframe_Info,
+ &ett_x2ap_SubframeAllocation,
&ett_x2ap_TraceActivation,
&ett_x2ap_UE_HistoryInformation,
&ett_x2ap_UEAggregateMaximumBitRate,
@@ -5418,6 +5823,13 @@ void proto_register_x2ap(void) {
&ett_x2ap_MobilityChangeAcknowledge,
&ett_x2ap_MobilityChangeFailure,
&ett_x2ap_RLFIndication,
+ &ett_x2ap_CellActivationRequest,
+ &ett_x2ap_ServedCellsToActivate,
+ &ett_x2ap_ServedCellsToActivate_Item,
+ &ett_x2ap_CellActivationResponse,
+ &ett_x2ap_ActivatedCellList,
+ &ett_x2ap_ActivatedCellList_Item,
+ &ett_x2ap_CellActivationFailure,
&ett_x2ap_X2AP_PDU,
&ett_x2ap_InitiatingMessage,
&ett_x2ap_SuccessfulOutcome,
@@ -5524,9 +5936,14 @@ proto_reg_handoff_x2ap(void)
dissector_add("x2ap.ies", id_SourceCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
dissector_add("x2ap.ies", id_FailureCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
dissector_add("x2ap.ies", id_HandoverReportType, new_create_dissector_handle(dissect_HandoverReportType_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_UE_RLF_Report_Container, new_create_dissector_handle(dissect_UE_RLF_Report_Container_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ServedCellsToActivate, new_create_dissector_handle(dissect_ServedCellsToActivate_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ActivatedCellList, new_create_dissector_handle(dissect_ActivatedCellList_PDU, proto_x2ap));
dissector_add("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
dissector_add("x2ap.extension", id_CompositeAvailableCapacityGroup, new_create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
dissector_add("x2ap.extension", id_PRACH_Configuration, new_create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
+ dissector_add("x2ap.extension", id_MBSFN_Subframe_Info, new_create_dissector_handle(dissect_MBSFN_Subframe_Infolist_PDU, proto_x2ap));
+ dissector_add("x2ap.extension", id_DeactivationIndication, new_create_dissector_handle(dissect_DeactivationIndication_PDU, proto_x2ap));
dissector_add("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
dissector_add("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
dissector_add("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
@@ -5553,6 +5970,9 @@ proto_reg_handoff_x2ap(void)
dissector_add("x2ap.proc.imsg", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeRequest_PDU, proto_x2ap));
dissector_add("x2ap.proc.sout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeAcknowledge_PDU, proto_x2ap));
dissector_add("x2ap.proc.uout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeFailure_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.imsg", id_cellActivation, new_create_dissector_handle(dissect_CellActivationRequest_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.sout", id_cellActivation, new_create_dissector_handle(dissect_CellActivationResponse_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.uout", id_cellActivation, new_create_dissector_handle(dissect_CellActivationFailure_PDU, proto_x2ap));
/*--- End of included file: packet-x2ap-dis-tab.c ---*/