aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2010-05-15 08:49:39 +0000
committerAnders Broman <anders.broman@ericsson.com>2010-05-15 08:49:39 +0000
commit874a518ed6d707450f0096ab88d10043f5cc72da (patch)
treebb4c7989159bc09fbe5beeb2eeaa64aec02eb5c3
parent7a0a9690362e9fadae1666b9844111178b886673 (diff)
Update to V9.2.0 (2010-03).
svn path=/trunk/; revision=32817
-rw-r--r--asn1/ranap/RANAP-CommonDataTypes.asn3
-rw-r--r--asn1/ranap/RANAP-Constants.asn5
-rw-r--r--asn1/ranap/RANAP-Containers.asn2
-rw-r--r--asn1/ranap/RANAP-IEs.asn50
-rw-r--r--asn1/ranap/RANAP-PDU-Contents.asn18
-rw-r--r--asn1/ranap/RANAP-PDU-Descriptions.asn2
-rw-r--r--asn1/ranap/ranap.cnf4
-rw-r--r--epan/dissectors/packet-ranap.c160
8 files changed, 144 insertions, 100 deletions
diff --git a/asn1/ranap/RANAP-CommonDataTypes.asn b/asn1/ranap/RANAP-CommonDataTypes.asn
index a315747ba7..ffce4f9875 100644
--- a/asn1/ranap/RANAP-CommonDataTypes.asn
+++ b/asn1/ranap/RANAP-CommonDataTypes.asn
@@ -1,6 +1,6 @@
-- RANAP-CommonDataTypes.asn
--
--- 3GPP TS 25.413 V9.1.0 (2009-12)
+-- 3GPP TS 25.413 V9.2.0 (2010-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.5 Common Definitions
@@ -41,3 +41,4 @@ TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuc
END
+
diff --git a/asn1/ranap/RANAP-Constants.asn b/asn1/ranap/RANAP-Constants.asn
index 77d2f23786..fa38197319 100644
--- a/asn1/ranap/RANAP-Constants.asn
+++ b/asn1/ranap/RANAP-Constants.asn
@@ -1,6 +1,6 @@
-- RANAP-Constants.asn
--
--- 3GPP TS 25.413 V9.1.0 (2009-12)
+-- 3GPP TS 25.413 V9.2.0 (2010-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.6 Constant Definitions
@@ -355,6 +355,7 @@ id-E-UTRAN-Service-Handover INTEGER ::= 231
id-UE-AggregateMaximumBitRate INTEGER ::= 233
id-CSG-Membership-Status INTEGER ::= 234
id-Cell-Access-Mode INTEGER ::= 235
-
+id-IP-Source-Address INTEGER ::= 236
+id-CSFB-Information INTEGER ::= 237
END
diff --git a/asn1/ranap/RANAP-Containers.asn b/asn1/ranap/RANAP-Containers.asn
index 6ed2ddee24..2fb2b0b50c 100644
--- a/asn1/ranap/RANAP-Containers.asn
+++ b/asn1/ranap/RANAP-Containers.asn
@@ -1,6 +1,6 @@
-- RANAP-Containers.asn
--
--- 3GPP TS 25.413 V9.1.0 (2009-12)
+-- 3GPP TS 25.413 V9.2.0 (2010-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.7 Container Definitions
diff --git a/asn1/ranap/RANAP-IEs.asn b/asn1/ranap/RANAP-IEs.asn
index aa5bbf22c8..0087f78e9e 100644
--- a/asn1/ranap/RANAP-IEs.asn
+++ b/asn1/ranap/RANAP-IEs.asn
@@ -1,6 +1,6 @@
-- RANAP-IEs.asn
--
--- 3GPP TS 25.413 V9.1.0 (2009-12)
+-- 3GPP TS 25.413 V9.2.0 (2010-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.4 Information Element Definitions
@@ -87,7 +87,9 @@ IMPORTS
id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList,
id-PSRABtobeReplaced,
id-SRVCC-Information,
- id-CSG-Id
+ id-CSG-Id,
+ id-CSFB-Information
+
FROM RANAP-Constants
@@ -334,7 +336,8 @@ CauseMisc ::= INTEGER {
CauseNAS ::= INTEGER {
user-restriction-start-indication (81),
user-restriction-end-indication (82),
- normal-release (83)
+ normal-release (83),
+ csg-subscription-expiry(84)
} (81..96)
CauseProtocol ::= INTEGER {
@@ -561,6 +564,12 @@ CN-DomainIndicator ::= ENUMERATED {
CN-ID ::= INTEGER (0..4095)
+CSFB-Information ::= ENUMERATED {
+ csfb,
+ csfb-high-priority,
+ ...
+}
+
CSG-Id ::= BIT STRING (SIZE (27))
CSG-Id-List ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF
@@ -640,18 +649,6 @@ ENB-ID ::= CHOICE {
...
}
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
- selectedTAI TAI,
- ...
-}
-
-GlobalENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15)
EncryptionInformation ::= SEQUENCE {
@@ -1551,7 +1548,8 @@ RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
RIMRoutingAddress ::= CHOICE {
targetRNC-ID TargetRNC-ID,
gERAN-Cell-ID GERAN-Cell-ID,
- ...
+ ... ,
+ targeteNB-ID TargetENB-ID
}
@@ -1740,8 +1738,8 @@ SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 8 to transfer to the Target RNC parameters required for SRVCC operation --
{ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional}|
{ID id-PSRABtobeReplaced CRITICALITY reject EXTENSION RAB-ID PRESENCE optional}|
--- Extension for Release 9 to transfer to the Target RNC parameters required for CSG ID validation --
- {ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional},
+-- Extension for Release 9 to transfer to the Target RNC parameters required for CSFB operation --
+ {ID id-CSFB-Information CRITICALITY ignore EXTENSION CSFB-Information PRESENCE optional},
...
}
@@ -1841,10 +1839,20 @@ TargetID ::= CHOICE {
cGI CGI,
...,
- targeteNB-ID Global-ENB-ID
+ targeteNB-ID TargetENB-ID
}
+TargetENB-ID ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ eNB-ID ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { {TargetENB-ID-ExtIEs} } OPTIONAL,
+ selectedTAI TAI,
+ ...
+}
+TargetENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ ...
+}
TargetRNC-ID ::= SEQUENCE {
@@ -1856,9 +1864,7 @@ TargetRNC-ID ::= SEQUENCE {
TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 7 to indicate extended RNC-ID --
- { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }|
--- Extension for Release 9 to transfer to the Target RNC parameters required for access control during inbound CSG mobility --
- {ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional},
+ { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional },
...
}
diff --git a/asn1/ranap/RANAP-PDU-Contents.asn b/asn1/ranap/RANAP-PDU-Contents.asn
index ed66739f12..3a9bcd191d 100644
--- a/asn1/ranap/RANAP-PDU-Contents.asn
+++ b/asn1/ranap/RANAP-PDU-Contents.asn
@@ -1,6 +1,6 @@
-- RANAP-PDU-Contents.asn
--
--- 3GPP TS 25.413 V9.1.0 (2009-12)
+-- 3GPP TS 25.413 V9.2.0 (2010-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.3 PDU Definitions
@@ -61,7 +61,6 @@ IMPORTS
FrequenceLayerConvergenceFlag,
GERAN-BSC-Container,
GERAN-Classmark,
- Global-ENB-ID,
GlobalCN-ID,
GlobalRNC-ID,
GTP-TEI,
@@ -217,7 +216,6 @@ FROM RANAP-Containers
id-GERAN-Classmark,
id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item,
id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse,
- id-Global-ENB-ID,
id-GlobalCN-ID,
id-GlobalCN-IDCS,
id-GlobalCN-IDPS,
@@ -276,13 +274,6 @@ FROM RANAP-Containers
id-RAB-ContextList,
id-RAB-ContextFailedtoTransferItem,
id-RAB-ContextFailedtoTransferList,
- id-PositionDataSpecificToGERANIuMode,
- id-PositioningPriority,
- id-ProvidedData,
- id-RAB-ContextItem,
- id-RAB-ContextList,
- id-RAB-ContextFailedtoTransferItem,
- id-RAB-ContextFailedtoTransferList,
id-RAB-ContextItem-RANAP-RelocInf,
id-RAB-ContextList-RANAP-RelocInf,
id-RAB-DataForwardingItem,
@@ -383,7 +374,8 @@ FROM RANAP-Containers
id-PeriodicLocationInfo,
id-BroadcastGANSSAssistanceDataDecipheringKeys,
id-SubscriberProfileIDforRFP,
- id-E-UTRAN-Service-Handover
+ id-E-UTRAN-Service-Handover,
+ id-IP-Source-Address
FROM RANAP-Constants;
@@ -814,7 +806,8 @@ RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
- {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional },
+ {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional }|
+ {ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional },
...
}
@@ -2896,6 +2889,7 @@ MBMSSynchronisationInformation ::= SEQUENCE {
}
MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+ { ID id-IP-Source-Address CRITICALITY reject EXTENSION IPMulticastAddress PRESENCE optional },
...
}
diff --git a/asn1/ranap/RANAP-PDU-Descriptions.asn b/asn1/ranap/RANAP-PDU-Descriptions.asn
index d2f510099d..242c794b6a 100644
--- a/asn1/ranap/RANAP-PDU-Descriptions.asn
+++ b/asn1/ranap/RANAP-PDU-Descriptions.asn
@@ -1,6 +1,6 @@
-- RANAP-PDU-Descriptions.asn
--
--- 3GPP TS 25.413 V9.1.0 (2009-12)
+-- 3GPP TS 25.413 V9.2.0 (2010-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.2 Elementary Procedure Definitions
diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf
index 2a1d71f36f..bcf64a3ecc 100644
--- a/asn1/ranap/ranap.cnf
+++ b/asn1/ranap/ranap.cnf
@@ -625,6 +625,8 @@ id-E-UTRAN-Service-Handover ProtocolIE-ID
id-UE-AggregateMaximumBitRate ProtocolIE-ID
id-CSG-Membership-Status ProtocolIE-ID
id-Cell-Access-Mode ProtocolIE-ID
+id-IP-Source-Address ProtocolIE-ID
+id-CSFB-Information ProtocolIE-ID
#.END
#.REGISTER_NEW
@@ -869,6 +871,8 @@ E-UTRAN-Service-Handover N ranap.extension id-E-UTRAN-Service-Handover
UE-AggregateMaximumBitRate N ranap.extension id-UE-AggregateMaximumBitRate
CSG-Membership-Status N ranap.extension id-CSG-Membership-Status
Cell-Access-Mode N ranap.extension id-Cell-Access-Mode
+IPMulticastAddress N ranap.extension id-IP-Source-Address
+CSFB-Information N ranap.extension id-CSFB-Information
#RANAP-ELEMENTARY-PROCEDURE
Iu-ReleaseCommand N ranap.proc.imsg id-Iu-Release
diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c
index e68ad3ad58..33b2283fee 100644
--- a/epan/dissectors/packet-ranap.c
+++ b/epan/dissectors/packet-ranap.c
@@ -379,7 +379,9 @@ typedef enum _ProtocolIE_ID_enum {
id_E_UTRAN_Service_Handover = 231,
id_UE_AggregateMaximumBitRate = 233,
id_CSG_Membership_Status = 234,
- id_Cell_Access_Mode = 235
+ id_Cell_Access_Mode = 235,
+ id_IP_Source_Address = 236,
+ id_CSFB_Information = 237
} ProtocolIE_ID_enum;
/*--- End of included file: packet-ranap-val.h ---*/
@@ -423,6 +425,7 @@ static int hf_ranap_ChosenIntegrityProtectionAlgorithm_PDU = -1; /* ChosenInteg
static int hf_ranap_ClassmarkInformation2_PDU = -1; /* ClassmarkInformation2 */
static int hf_ranap_ClassmarkInformation3_PDU = -1; /* ClassmarkInformation3 */
static int hf_ranap_CN_DomainIndicator_PDU = -1; /* CN_DomainIndicator */
+static int hf_ranap_CSFB_Information_PDU = -1; /* CSFB_Information */
static int hf_ranap_CSG_Id_PDU = -1; /* CSG_Id */
static int hf_ranap_CSG_Id_List_PDU = -1; /* CSG_Id_List */
static int hf_ranap_CSG_Membership_Status_PDU = -1; /* CSG_Membership_Status */
@@ -783,8 +786,6 @@ static int hf_ranap_NewRAListofIdleModeUEs_item = -1; /* RAC */
static int hf_ranap_RAListwithNoIdleModeUEsAnyMore_item = -1; /* RAC */
static int hf_ranap_macroENB_ID = -1; /* BIT_STRING_SIZE_20 */
static int hf_ranap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */
-static int hf_ranap_eNB_ID = -1; /* ENB_ID */
-static int hf_ranap_selectedTAI = -1; /* TAI */
static int hf_ranap_permittedAlgorithms = -1; /* PermittedEncryptionAlgorithms */
static int hf_ranap_key = -1; /* EncryptionKey */
static int hf_ranap_iMEIlist = -1; /* IMEIList */
@@ -904,6 +905,7 @@ static int hf_ranap_rIMInformation = -1; /* RIMInformation */
static int hf_ranap_rIMRoutingAddress = -1; /* RIMRoutingAddress */
static int hf_ranap_targetRNC_ID = -1; /* TargetRNC_ID */
static int hf_ranap_gERAN_Cell_ID = -1; /* GERAN_Cell_ID */
+static int hf_ranap_targeteNB_ID = -1; /* TargetENB_ID */
static int hf_ranap_traceReference = -1; /* TraceReference */
static int hf_ranap_traceActivationIndicator = -1; /* T_traceActivationIndicator */
static int hf_ranap_equipmentsToBeTraced = -1; /* EquipmentsToBeTraced */
@@ -942,7 +944,8 @@ static int hf_ranap_trCH_ID = -1; /* TrCH_ID */
static int hf_ranap_nonce = -1; /* BIT_STRING_SIZE_128 */
static int hf_ranap_tAC = -1; /* TAC */
static int hf_ranap_cGI = -1; /* CGI */
-static int hf_ranap_targeteNB_ID = -1; /* Global_ENB_ID */
+static int hf_ranap_eNB_ID = -1; /* ENB_ID */
+static int hf_ranap_selectedTAI = -1; /* TAI */
static int hf_ranap_tMSI = -1; /* TMSI */
static int hf_ranap_p_TMSI = -1; /* P_TMSI */
static int hf_ranap_serviceID = -1; /* OCTET_STRING_SIZE_3 */
@@ -1096,7 +1099,6 @@ static gint ett_ranap_DeltaRAListofIdleModeUEs = -1;
static gint ett_ranap_NewRAListofIdleModeUEs = -1;
static gint ett_ranap_RAListwithNoIdleModeUEsAnyMore = -1;
static gint ett_ranap_ENB_ID = -1;
-static gint ett_ranap_Global_ENB_ID = -1;
static gint ett_ranap_EncryptionInformation = -1;
static gint ett_ranap_EquipmentsToBeTraced = -1;
static gint ett_ranap_GANSS_PositioningDataSet = -1;
@@ -1190,6 +1192,7 @@ static gint ett_ranap_SRB_TrCH_MappingItem = -1;
static gint ett_ranap_SRVCC_Information = -1;
static gint ett_ranap_TAI = -1;
static gint ett_ranap_TargetID = -1;
+static gint ett_ranap_TargetENB_ID = -1;
static gint ett_ranap_TargetRNC_ID = -1;
static gint ett_ranap_TargetRNC_ToSourceRNC_TransparentContainer = -1;
static gint ett_ranap_TemporaryUE_ID = -1;
@@ -1764,6 +1767,8 @@ static const value_string ranap_ProtocolIE_ID_vals[] = {
{ id_UE_AggregateMaximumBitRate, "id-UE-AggregateMaximumBitRate" },
{ id_CSG_Membership_Status, "id-CSG-Membership-Status" },
{ id_Cell_Access_Mode, "id-Cell-Access-Mode" },
+ { id_IP_Source_Address, "id-IP-Source-Address" },
+ { id_CSFB_Information, "id-CSFB-Information" },
{ 0, NULL }
};
@@ -3124,6 +3129,7 @@ static const value_string ranap_CauseNAS_vals[] = {
{ 81, "user-restriction-start-indication" },
{ 82, "user-restriction-end-indication" },
{ 83, "normal-release" },
+ { 84, "csg-subscription-expiry" },
{ 0, NULL }
};
@@ -3628,6 +3634,22 @@ dissect_ranap_CN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
}
+static const value_string ranap_CSFB_Information_vals[] = {
+ { 0, "csfb" },
+ { 1, "csfb-high-priority" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_ranap_CSFB_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static int
dissect_ranap_CSG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3893,49 +3915,6 @@ dissect_ranap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
}
-
-static int
-dissect_ranap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- 2, 2, FALSE, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t TAI_sequence[] = {
- { &hf_ranap_pLMNidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity },
- { &hf_ranap_tAC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_TAC },
- { &hf_ranap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_ranap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_ranap_TAI, TAI_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t Global_ENB_ID_sequence[] = {
- { &hf_ranap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity },
- { &hf_ranap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ENB_ID },
- { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer },
- { &hf_ranap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_TAI },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_ranap_Global_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_ranap_Global_ENB_ID, Global_ENB_ID_sequence);
-
- return offset;
-}
-
-
static const per_sequence_t PermittedEncryptionAlgorithms_sequence_of[1] = {
{ &hf_ranap_PermittedEncryptionAlgorithms_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_EncryptionAlgorithm },
};
@@ -4672,15 +4651,60 @@ dissect_ranap_TargetRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+
+static int
+dissect_ranap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 2, 2, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TAI_sequence[] = {
+ { &hf_ranap_pLMNidentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity },
+ { &hf_ranap_tAC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ranap_TAC },
+ { &hf_ranap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ranap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ranap_TAI, TAI_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t TargetENB_ID_sequence[] = {
+ { &hf_ranap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_PLMNidentity },
+ { &hf_ranap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_ENB_ID },
+ { &hf_ranap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ranap_ProtocolExtensionContainer },
+ { &hf_ranap_selectedTAI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ranap_TAI },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ranap_TargetENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ranap_TargetENB_ID, TargetENB_ID_sequence);
+
+ return offset;
+}
+
+
static const value_string ranap_RIMRoutingAddress_vals[] = {
{ 0, "targetRNC-ID" },
{ 1, "gERAN-Cell-ID" },
+ { 2, "targeteNB-ID" },
{ 0, NULL }
};
static const per_choice_t RIMRoutingAddress_choice[] = {
{ 0, &hf_ranap_targetRNC_ID , ASN1_EXTENSION_ROOT , dissect_ranap_TargetRNC_ID },
{ 1, &hf_ranap_gERAN_Cell_ID , ASN1_EXTENSION_ROOT , dissect_ranap_GERAN_Cell_ID },
+ { 2, &hf_ranap_targeteNB_ID , ASN1_NOT_EXTENSION_ROOT, dissect_ranap_TargetENB_ID },
{ 0, NULL, 0, NULL }
};
@@ -6556,7 +6580,7 @@ static const value_string ranap_TargetID_vals[] = {
static const per_choice_t TargetID_choice[] = {
{ 0, &hf_ranap_targetRNC_ID , ASN1_EXTENSION_ROOT , dissect_ranap_TargetRNC_ID },
{ 1, &hf_ranap_cGI , ASN1_EXTENSION_ROOT , dissect_ranap_CGI },
- { 2, &hf_ranap_targeteNB_ID , ASN1_NOT_EXTENSION_ROOT, dissect_ranap_Global_ENB_ID },
+ { 2, &hf_ranap_targeteNB_ID , ASN1_NOT_EXTENSION_ROOT, dissect_ranap_TargetENB_ID },
{ 0, NULL, 0, NULL }
};
@@ -9690,6 +9714,14 @@ static int dissect_CN_DomainIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CSFB_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_ranap_CSFB_Information(tvb, offset, &asn1_ctx, tree, hf_ranap_CSFB_Information_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12061,6 +12093,10 @@ void proto_register_ranap(void) {
{ "CN-DomainIndicator", "ranap.CN_DomainIndicator",
FT_UINT32, BASE_DEC, VALS(ranap_CN_DomainIndicator_vals), 0,
NULL, HFILL }},
+ { &hf_ranap_CSFB_Information_PDU,
+ { "CSFB-Information", "ranap.CSFB_Information",
+ FT_UINT32, BASE_DEC, VALS(ranap_CSFB_Information_vals), 0,
+ NULL, HFILL }},
{ &hf_ranap_CSG_Id_PDU,
{ "CSG-Id", "ranap.CSG_Id",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -13501,14 +13537,6 @@ void proto_register_ranap(void) {
{ "homeENB-ID", "ranap.homeENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_28", HFILL }},
- { &hf_ranap_eNB_ID,
- { "eNB-ID", "ranap.eNB_ID",
- FT_UINT32, BASE_DEC, VALS(ranap_ENB_ID_vals), 0,
- NULL, HFILL }},
- { &hf_ranap_selectedTAI,
- { "selectedTAI", "ranap.selectedTAI",
- FT_NONE, BASE_NONE, NULL, 0,
- "TAI", HFILL }},
{ &hf_ranap_permittedAlgorithms,
{ "permittedAlgorithms", "ranap.permittedAlgorithms",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -13985,6 +14013,10 @@ void proto_register_ranap(void) {
{ "gERAN-Cell-ID", "ranap.gERAN_Cell_ID",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ranap_targeteNB_ID,
+ { "targeteNB-ID", "ranap.targeteNB_ID",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_ranap_traceReference,
{ "traceReference", "ranap.traceReference",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -14137,10 +14169,14 @@ void proto_register_ranap(void) {
{ "cGI", "ranap.cGI",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_ranap_targeteNB_ID,
- { "targeteNB-ID", "ranap.targeteNB_ID",
+ { &hf_ranap_eNB_ID,
+ { "eNB-ID", "ranap.eNB_ID",
+ FT_UINT32, BASE_DEC, VALS(ranap_ENB_ID_vals), 0,
+ NULL, HFILL }},
+ { &hf_ranap_selectedTAI,
+ { "selectedTAI", "ranap.selectedTAI",
FT_NONE, BASE_NONE, NULL, 0,
- "Global_ENB_ID", HFILL }},
+ "TAI", HFILL }},
{ &hf_ranap_tMSI,
{ "tMSI", "ranap.tMSI",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -14562,7 +14598,6 @@ void proto_register_ranap(void) {
&ett_ranap_NewRAListofIdleModeUEs,
&ett_ranap_RAListwithNoIdleModeUEsAnyMore,
&ett_ranap_ENB_ID,
- &ett_ranap_Global_ENB_ID,
&ett_ranap_EncryptionInformation,
&ett_ranap_EquipmentsToBeTraced,
&ett_ranap_GANSS_PositioningDataSet,
@@ -14656,6 +14691,7 @@ void proto_register_ranap(void) {
&ett_ranap_SRVCC_Information,
&ett_ranap_TAI,
&ett_ranap_TargetID,
+ &ett_ranap_TargetENB_ID,
&ett_ranap_TargetRNC_ID,
&ett_ranap_TargetRNC_ToSourceRNC_TransparentContainer,
&ett_ranap_TemporaryUE_ID,
@@ -15083,6 +15119,8 @@ proto_reg_handoff_ranap(void)
dissector_add("ranap.extension", id_UE_AggregateMaximumBitRate, new_create_dissector_handle(dissect_UE_AggregateMaximumBitRate_PDU, proto_ranap));
dissector_add("ranap.extension", id_CSG_Membership_Status, new_create_dissector_handle(dissect_CSG_Membership_Status_PDU, proto_ranap));
dissector_add("ranap.extension", id_Cell_Access_Mode, new_create_dissector_handle(dissect_Cell_Access_Mode_PDU, proto_ranap));
+ dissector_add("ranap.extension", id_IP_Source_Address, new_create_dissector_handle(dissect_IPMulticastAddress_PDU, proto_ranap));
+ dissector_add("ranap.extension", id_CSFB_Information, new_create_dissector_handle(dissect_CSFB_Information_PDU, proto_ranap));
dissector_add("ranap.proc.imsg", id_Iu_Release, new_create_dissector_handle(dissect_Iu_ReleaseCommand_PDU, proto_ranap));
dissector_add("ranap.proc.sout", id_Iu_Release, new_create_dissector_handle(dissect_Iu_ReleaseComplete_PDU, proto_ranap));
dissector_add("ranap.proc.imsg", id_RelocationPreparation, new_create_dissector_handle(dissect_RelocationRequired_PDU, proto_ranap));