aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/nbap/nbap.cnf201
-rw-r--r--asn1/nbap/packet-nbap-template.c1
-rw-r--r--epan/dissectors/packet-nbap.c68
-rw-r--r--epan/dissectors/packet-umts_fp.c50
-rw-r--r--epan/dissectors/packet-umts_fp.h8
5 files changed, 265 insertions, 63 deletions
diff --git a/asn1/nbap/nbap.cnf b/asn1/nbap/nbap.cnf
index bd54e6974e..53c124d9de 100644
--- a/asn1/nbap/nbap.cnf
+++ b/asn1/nbap/nbap.cnf
@@ -113,83 +113,215 @@ ProtocolIE-ContainerPairList
#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
#------ Pretify info column -----
-#.FN_HDR CommonMeasurementReport
-col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementReport ");
-/* Node B -> CRNC */
-actx->pinfo->link_dir=P2P_DIR_UL;
-
+# CellSetupRequestFDD
+# CellSetupResponse
+# CellSetupFailure
+# CellSetupRequestTDD
+# CellSetupResponse
+# CellSetupFailure
+# CellReconfigurationRequestFDD
+# CellReconfigurationResponse
+# CellReconfigurationFailure
+# CellReconfigurationRequestTDD
+# CellReconfigurationResponse
+# CellReconfigurationFailure
+# CellDeletionRequest
+# CellDeletionResponse
+# CommonTransportChannelSetupRequestFDD
+# CommonTransportChannelSetupResponse
+# CommonTransportChannelSetupFailure
+# CommonTransportChannelSetupRequestTDD
+# CommonTransportChannelSetupResponse
+# CommonTransportChannelSetupFailure
+# CommonTransportChannelReconfigurationRequestFDD
+# CommonTransportChannelReconfigurationResponse
+# CommonTransportChannelReconfigurationFailure
+# CommonTransportChannelReconfigurationRequestTDD
+# CommonTransportChannelReconfigurationResponse
+# CommonTransportChannelReconfigurationFailure
+# CommonTransportChannelDeletionRequest
+# CommonTransportChannelDeletionResponse
+# AuditRequest
+# AuditResponse
+# AuditFailure
+# BlockResourceRequest
+# BlockResourceResponse
+# BlockResourceFailure
-#.FN_HDR DedicatedMeasurementInitiationRequest
-col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationRequest ");
+# RadioLinkSetupRequestFDD
+#.FN_HDR RadioLinkSetupRequestFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupRequest(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
-#.FN_HDR DedicatedMeasurementInitiationResponse
-col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationResponse ");
+# RadioLinkSetupResponseFDD
+#.FN_HDR RadioLinkSetupResponseFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupResponse(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
-#.FN_HDR DedicatedMeasurementInitiationFailure
-col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationFailure ");
+# RadioLinkSetupFailureFDD
+#.FN_HDR RadioLinkSetupFailureFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupFailure(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
-#.FN_HDR DedicatedMeasurementReport
-col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementReport ");
-/* Node B -> CRNC */
-actx->pinfo->link_dir=P2P_DIR_UL;
+# RadioLinkSetupRequestTDD
+# RadioLinkSetupResponseTDD
+# RadioLinkSetupFailureTDD
+# SystemInformationUpdateRequest
+# SystemInformationUpdateResponse
+# SystemInformationUpdateFailure
+# ResetRequest
+# ResetResponse
+# CommonMeasurementInitiationRequest
+# CommonMeasurementInitiationResponse
+# CommonMeasurementInitiationFailure
+# RadioLinkAdditionRequestFDD
+# RadioLinkAdditionResponseFDD
+# RadioLinkAdditionFailureFDD
+# RadioLinkAdditionRequestTDD
+# RadioLinkAdditionResponseTDD
+# RadioLinkAdditionFailureTDD
+# RadioLinkDeletionRequest
#.FN_HDR RadioLinkDeletionRequest
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
-#.FN_HDR RadioLinkDeletionResponse
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionResponse ");
-/* Node B -> CRNC */
-actx->pinfo->link_dir=P2P_DIR_UL;
-
-#.FN_HDR RadioLinkParameterUpdateIndicationFDD
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkParameterUpdateIndication(FDD) ");
-/* Node B -> CRNC */
-actx->pinfo->link_dir=P2P_DIR_UL;
-
+# RadioLinkDeletionResponse
+#.FN_HDR RadioLinkDeletionRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+# RadioLinkReconfigurationPrepareFDD
#.FN_HDR RadioLinkReconfigurationPrepareFDD
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationPrepare(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
+# RadioLinkReconfigurationReady
+# RadioLinkReconfigurationFailure
+# RadioLinkReconfigurationPrepareTDD
+
+# RadioLinkReconfigurationReady
#.FN_HDR RadioLinkReconfigurationReady
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationReady ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+# RadioLinkReconfigurationFailure
+# RadioLinkReconfigurationRequestFDD
+# RadioLinkReconfigurationResponse
+# RadioLinkReconfigurationFailure
+# RadioLinkReconfigurationRequestTDD
+# RadioLinkReconfigurationResponse
+# RadioLinkReconfigurationFailure
+
#.FN_HDR RadioLinkReconfigurationFailure
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
-#.FN_HDR RadioLinkRestoreIndication
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkRestoreIndication ");
+# DedicatedMeasurementInitiationRequest
+#.FN_HDR DedicatedMeasurementInitiationRequest
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
-#.FN_HDR RadioLinkSetupRequestFDD
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupRequest(FDD) ");
+# DedicatedMeasurementInitiationResponse
+#.FN_HDR DedicatedMeasurementInitiationResponse
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationResponse ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# DedicatedMeasurementInitiationFailure
+#.FN_HDR DedicatedMeasurementInitiationFailure
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationFailure ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# PhysicalSharedChannelReconfigurationRequestFDD
+# PhysicalSharedChannelReconfigurationResponse
+# PhysicalSharedChannelReconfigurationFailure
+# PhysicalSharedChannelReconfigurationRequestTDD
+# PhysicalSharedChannelReconfigurationResponse
+# PhysicalSharedChannelReconfigurationFailure
+# InformationExchangeInitiationRequest
+# InformationExchangeInitiationResponse
+# InformationExchangeInitiationFailure
+# CellSynchronisationInitiationRequestTDD
+# CellSynchronisationInitiationResponseTDD
+# CellSynchronisationInitiationFailureTDD
+# CellSynchronisationReconfigurationRequestTDD
+# CellSynchronisationReconfigurationResponseTDD
+# CellSynchronisationReconfigurationFailureTDD
+# CellSynchronisationAdjustmentRequestTDD
+# CellSynchronisationAdjustmentResponseTDD
+# CellSynchronisationAdjustmentFailureTDD
+# ResourceStatusIndication
+# AuditRequiredIndication
+
+# CommonMeasurementReport
+#.FN_HDR CommonMeasurementReport
+col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementReport ");
+/* Node B -> CRNC */
+actx->pinfo->link_dir=P2P_DIR_UL;
+
+# CommonMeasurementTerminationRequest
+# CommonMeasurementFailureIndication
+# RadioLinkReconfigurationCommit
+# RadioLinkReconfigurationCancel
+# RadioLinkFailureIndication
+# RadioLinkPreemptionRequiredIndication
+
+# RadioLinkRestoreIndication
+#.FN_HDR RadioLinkRestoreIndication
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkRestoreIndication ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
-#.FN_HDR RadioLinkSetupResponseFDD
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupResponse(FDD) ");
+# DedicatedMeasurementReport
+#.FN_HDR DedicatedMeasurementReport
+col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementReport ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
-#.FN_HDR RadioLinkSetupFailureFDD
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupFailure(FDD) ");
+# DedicatedMeasurementTerminationRequest
+# DedicatedMeasurementFailureIndication
+# DL-PowerControlRequest
+# DL-PowerTimeslotControlRequest
+# CompressedModeCommand
+# UnblockResourceIndication
+# ErrorIndication
+# ErrorIndication
+# CellSynchronisationReportTDD
+# CellSynchronisationTerminationRequestTDD
+# CellSynchronisationFailureIndicationTDD
+# PrivateMessage
+# PrivateMessage
+# InformationReport
+# InformationExchangeTerminationRequest
+# InformationExchangeFailureIndication
+# BearerRearrangementIndication
+# RadioLinkActivationCommandFDD
+# RadioLinkActivationCommandTDD
+
+# RadioLinkParameterUpdateIndicationFDD
+#.FN_HDR RadioLinkParameterUpdateIndicationFDD
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkParameterUpdateIndication(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+# RadioLinkParameterUpdateIndicationTDD
+# MBMSNotificationUpdateCommand
+# UEStatusUpdateCommand
+# SecondaryULFrequencyReport
+# SecondaryULFrequencyUpdateIndication
+
+
#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
proto_item *item;
@@ -265,6 +397,9 @@ BindingID_port = 0;
/* Set dissector */
conversation_set_dissector(conversation, fp_handle);
}
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ set_umts_fp_dl_conv_data(conversation, actx->pinfo->fd->num);
+ }
#.REGISTER_NEW
diff --git a/asn1/nbap/packet-nbap-template.c b/asn1/nbap/packet-nbap-template.c
index 4a44ab97c0..d25b37367b 100644
--- a/asn1/nbap/packet-nbap-template.c
+++ b/asn1/nbap/packet-nbap-template.c
@@ -38,6 +38,7 @@
#include "packet-per.h"
#include "packet-isup.h"
+#include "packet-umts_fp.h"
#ifdef _MSC_VER
/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
diff --git a/epan/dissectors/packet-nbap.c b/epan/dissectors/packet-nbap.c
index 8045d90008..da144affa1 100644
--- a/epan/dissectors/packet-nbap.c
+++ b/epan/dissectors/packet-nbap.c
@@ -46,6 +46,7 @@
#include "packet-per.h"
#include "packet-isup.h"
+#include "packet-umts_fp.h"
#ifdef _MSC_VER
/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
@@ -1520,7 +1521,7 @@ typedef enum _ProtocolIE_ID_enum {
} ProtocolIE_ID_enum;
/*--- End of included file: packet-nbap-val.h ---*/
-#line 58 "../../asn1/nbap/packet-nbap-template.c"
+#line 59 "../../asn1/nbap/packet-nbap-template.c"
/* Initialize the protocol and registered fields */
static int proto_nbap = -1;
@@ -4816,7 +4817,7 @@ static int hf_nbap_RACH_SubChannelNumbers_subCh1 = -1;
static int hf_nbap_RACH_SubChannelNumbers_subCh0 = -1;
/*--- End of included file: packet-nbap-hf.c ---*/
-#line 66 "../../asn1/nbap/packet-nbap-template.c"
+#line 67 "../../asn1/nbap/packet-nbap-template.c"
/* Initialize the subtree pointers */
static int ett_nbap = -1;
@@ -6454,7 +6455,7 @@ static gint ett_nbap_UnsuccessfulOutcome = -1;
static gint ett_nbap_Outcome = -1;
/*--- End of included file: packet-nbap-ett.c ---*/
-#line 73 "../../asn1/nbap/packet-nbap-template.c"
+#line 74 "../../asn1/nbap/packet-nbap-template.c"
/* Global variables */
static guint32 ProcedureCode;
@@ -8463,7 +8464,7 @@ dissect_nbap_E_DCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 227 "../../asn1/nbap/nbap.cnf"
+#line 359 "../../asn1/nbap/nbap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 4, TRUE, &parameter_tvb);
@@ -8481,7 +8482,7 @@ dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_nbap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 194 "../../asn1/nbap/nbap.cnf"
+#line 326 "../../asn1/nbap/nbap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_item *item;
proto_tree *subtree, *nsap_tree;
@@ -27273,7 +27274,7 @@ static const per_sequence_t RL_Specific_DCH_Info_Item_sequence[] = {
static int
dissect_nbap_RL_Specific_DCH_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 237 "../../asn1/nbap/nbap.cnf"
+#line 369 "../../asn1/nbap/nbap.cnf"
address dst_addr, null_addr;
conversation_t *conversation;
@@ -27307,6 +27308,9 @@ BindingID_port = 0;
/* Set dissector */
conversation_set_dissector(conversation, fp_handle);
}
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ set_umts_fp_dl_conv_data(conversation, actx->pinfo->fd->num);
+ }
@@ -33207,7 +33211,7 @@ static const per_sequence_t CommonMeasurementReport_sequence[] = {
static int
dissect_nbap_CommonMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 117 "../../asn1/nbap/nbap.cnf"
+#line 269 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementReport ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -35338,7 +35342,7 @@ static const per_sequence_t RadioLinkSetupRequestFDD_sequence[] = {
static int
dissect_nbap_RadioLinkSetupRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 179 "../../asn1/nbap/nbap.cnf"
+#line 153 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupRequest(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -35814,7 +35818,7 @@ static const per_sequence_t RadioLinkSetupResponseFDD_sequence[] = {
static int
dissect_nbap_RadioLinkSetupResponseFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 184 "../../asn1/nbap/nbap.cnf"
+#line 159 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupResponse(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -36033,12 +36037,13 @@ static const per_sequence_t RadioLinkSetupFailureFDD_sequence[] = {
static int
dissect_nbap_RadioLinkSetupFailureFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 189 "../../asn1/nbap/nbap.cnf"
+#line 165 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupFailure(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkSetupFailureFDD, RadioLinkSetupFailureFDD_sequence);
@@ -37228,12 +37233,13 @@ static const per_sequence_t RadioLinkReconfigurationPrepareFDD_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationPrepareFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 159 "../../asn1/nbap/nbap.cnf"
+#line 201 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationPrepare(FDD) ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkReconfigurationPrepareFDD, RadioLinkReconfigurationPrepareFDD_sequence);
@@ -38846,12 +38852,13 @@ static const per_sequence_t RadioLinkReconfigurationReady_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationReady(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 164 "../../asn1/nbap/nbap.cnf"
+#line 211 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationReady ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkReconfigurationReady, RadioLinkReconfigurationReady_sequence);
@@ -38927,7 +38934,7 @@ static const per_sequence_t RadioLinkReconfigurationFailure_sequence[] = {
static int
dissect_nbap_RadioLinkReconfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 169 "../../asn1/nbap/nbap.cnf"
+#line 224 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -39565,7 +39572,11 @@ static const per_sequence_t RadioLinkDeletionRequest_sequence[] = {
static int
dissect_nbap_RadioLinkDeletionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 143 "../../asn1/nbap/nbap.cnf"
+#line 189 "../../asn1/nbap/nbap.cnf"
+col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest ");
+/* CRNC -> Node B */
+actx->pinfo->link_dir=P2P_DIR_DL;
+
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -39615,12 +39626,6 @@ static const per_sequence_t RadioLinkDeletionResponse_sequence[] = {
static int
dissect_nbap_RadioLinkDeletionResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 148 "../../asn1/nbap/nbap.cnf"
-col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionResponse ");
-/* Node B -> CRNC */
-actx->pinfo->link_dir=P2P_DIR_UL;
-
-
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkDeletionResponse, RadioLinkDeletionResponse_sequence);
@@ -39696,7 +39701,7 @@ static const per_sequence_t DedicatedMeasurementInitiationRequest_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 123 "../../asn1/nbap/nbap.cnf"
+#line 230 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationRequest ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -39892,7 +39897,7 @@ static const per_sequence_t DedicatedMeasurementInitiationResponse_sequence[] =
static int
dissect_nbap_DedicatedMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 128 "../../asn1/nbap/nbap.cnf"
+#line 236 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationResponse ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -40196,12 +40201,13 @@ static const per_sequence_t DedicatedMeasurementInitiationFailure_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 133 "../../asn1/nbap/nbap.cnf"
+#line 242 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationFailure ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DedicatedMeasurementInitiationFailure, DedicatedMeasurementInitiationFailure_sequence);
@@ -40217,12 +40223,13 @@ static const per_sequence_t DedicatedMeasurementReport_sequence[] = {
static int
dissect_nbap_DedicatedMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 138 "../../asn1/nbap/nbap.cnf"
+#line 288 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementReport ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_DedicatedMeasurementReport, DedicatedMeasurementReport_sequence);
@@ -40648,7 +40655,7 @@ static const per_sequence_t RadioLinkRestoreIndication_sequence[] = {
static int
dissect_nbap_RadioLinkRestoreIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 174 "../../asn1/nbap/nbap.cnf"
+#line 282 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkRestoreIndication ");
/* CRNC -> Node B */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -45119,13 +45126,14 @@ static const per_sequence_t RadioLinkParameterUpdateIndicationFDD_sequence[] = {
static int
dissect_nbap_RadioLinkParameterUpdateIndicationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 153 "../../asn1/nbap/nbap.cnf"
+#line 314 "../../asn1/nbap/nbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkParameterUpdateIndication(FDD) ");
/* Node B -> CRNC */
actx->pinfo->link_dir=P2P_DIR_UL;
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_nbap_RadioLinkParameterUpdateIndicationFDD, RadioLinkParameterUpdateIndicationFDD_sequence);
@@ -53010,7 +53018,7 @@ static int dissect_NULL_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre
/*--- End of included file: packet-nbap-fn.c ---*/
-#line 94 "../../asn1/nbap/packet-nbap-template.c"
+#line 95 "../../asn1/nbap/packet-nbap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
@@ -66207,7 +66215,7 @@ void proto_register_nbap(void) {
NULL, HFILL }},
/*--- End of included file: packet-nbap-hfarr.c ---*/
-#line 158 "../../asn1/nbap/packet-nbap-template.c"
+#line 159 "../../asn1/nbap/packet-nbap-template.c"
};
/* List of subtrees */
@@ -67846,7 +67854,7 @@ void proto_register_nbap(void) {
&ett_nbap_Outcome,
/*--- End of included file: packet-nbap-ettarr.c ---*/
-#line 166 "../../asn1/nbap/packet-nbap-template.c"
+#line 167 "../../asn1/nbap/packet-nbap-template.c"
};
@@ -68977,7 +68985,7 @@ proto_reg_handoff_nbap(void)
/*--- End of included file: packet-nbap-dis-tab.c ---*/
-#line 200 "../../asn1/nbap/packet-nbap-template.c"
+#line 201 "../../asn1/nbap/packet-nbap-template.c"
}
diff --git a/epan/dissectors/packet-umts_fp.c b/epan/dissectors/packet-umts_fp.c
index 882bcba06d..33fba4d49f 100644
--- a/epan/dissectors/packet-umts_fp.c
+++ b/epan/dissectors/packet-umts_fp.c
@@ -30,6 +30,7 @@
#include <epan/packet.h>
#include <epan/expert.h>
#include <epan/prefs.h>
+#include <epan/conversation.h>
#include "packet-umts_fp.h"
@@ -181,6 +182,7 @@ static int hf_fp_e_rucch_present = -1;
static int hf_fp_extended_bits_present = -1;
static int hf_fp_extended_bits = -1;
static int hf_fp_spare_extension = -1;
+static int hf_fp_dl_setup_frame = -1;
/* Subtrees. */
static int ett_fp = -1;
@@ -526,7 +528,33 @@ static void dissect_fp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
void proto_register_fp(void);
void proto_reg_handoff_fp(void);
+void
+set_umts_fp_dl_conv_data(conversation_t *conversation, guint32 dl_frame_number)
+{
+ struct _umts_fp_conversation_info *p_conv_data = NULL;
+
+ if(conversation==NULL)
+ return;
+
+ p_conv_data = conversation_get_proto_data(conversation, proto_fp);
+
+ /*
+ * If not, add a new data item.
+ */
+ if ( ! p_conv_data ) {
+ /* Create conversation data */
+ p_conv_data = se_alloc(sizeof(struct _umts_fp_conversation_info));
+ p_conv_data->dl_frame_number = dl_frame_number;
+ p_conv_data->ul_frame_number = 0;
+ conversation_add_proto_data(conversation, proto_fp, p_conv_data);
+ }
+
+ /*
+ * Update the conversation data.
+ */
+
+}
static int get_tb_count(struct fp_info *p_fp_info)
{
int chan, tb_count = 0;
@@ -3220,6 +3248,8 @@ void dissect_fp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item *ti;
gint offset = 0;
struct fp_info *p_fp_info;
+ conversation_t *p_conv = NULL;
+ struct _umts_fp_conversation_info *p_conv_data = NULL;
/* Append this protocol name rather than replace. */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "FP");
@@ -3230,6 +3260,20 @@ void dissect_fp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
top_level_tree = tree;
+ /* Check if we have converstaion info */
+ p_conv = find_conversation(pinfo->fd->num, &pinfo->net_dst, &pinfo->net_src,
+ pinfo->ptype,
+ pinfo->destport, pinfo->srcport, NO_ADDR_B);
+ if (p_conv) {
+ p_conv_data = conversation_get_proto_data(p_conv, proto_fp);
+ if (p_conv_data) {
+ proto_item* item = proto_tree_add_uint(fp_tree, hf_fp_dl_setup_frame,
+ tvb, 0, 0, p_conv_data->dl_frame_number);
+ PROTO_ITEM_SET_GENERATED(item);
+ }
+
+ }
+
/* Look for packet info! */
p_fp_info = p_get_proto_data(pinfo->fd, proto_fp);
@@ -4332,6 +4376,12 @@ void proto_register_fp(void)
NULL, HFILL
}
},
+ { &hf_fp_dl_setup_frame,
+ { "DL setup frame",
+ "fp.dl.setup_frame", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
};
diff --git a/epan/dissectors/packet-umts_fp.h b/epan/dissectors/packet-umts_fp.h
index 030318db5a..076f19443f 100644
--- a/epan/dissectors/packet-umts_fp.h
+++ b/epan/dissectors/packet-umts_fp.h
@@ -105,3 +105,11 @@ typedef struct fp_info
enum fp_link_type link_type;
} fp_info;
+struct _umts_fp_conversation_info
+{
+ guint32 dl_frame_number; /* the frame where this conversation is started from CRNC */
+ guint32 ul_frame_number; /* the frame where this conversation is started from Node B */
+
+};
+
+void set_umts_fp_dl_conv_data(conversation_t *conversation, guint32 dl_frame_number); \ No newline at end of file