UMTS Iub: Refactored U-RNTI resolving logic for dedicated channels
Instead of mapping Scrambling codes to U-RNTIs, now mapping CRNC communication context IDs to U-RNTIs. Change-Id: Id81b7764d2941b742f21094dac391f8658061a80 Reviewed-on: https://code.wireshark.org/review/21495 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
0419add8a1
commit
163d66099d
|
@ -741,6 +741,9 @@ hsdsch_macdflow_ids[num_items-1] = hsdsch_macdflow_id;
|
|||
|
||||
#.FN_BODY UL-ScramblingCodeNumber VAL_PTR = &ul_scrambling_code
|
||||
%(DEFAULT_BODY)s
|
||||
if(ul_scrambling_code != 0 && com_context_id != 0) {
|
||||
wmem_tree_insert32(nbap_scrambling_code_crncc_map,ul_scrambling_code,GUINT_TO_POINTER(com_context_id));
|
||||
}
|
||||
|
||||
#.FN_BODY RACH-ParametersItem-CTCH-SetupRqstFDD
|
||||
address dst_addr, null_addr;
|
||||
|
|
|
@ -71,6 +71,9 @@ static guint32 ul_scrambling_code;
|
|||
static guint32 com_context_id;
|
||||
static int cfn;
|
||||
|
||||
wmem_tree_t *nbap_scrambling_code_crncc_map = NULL;
|
||||
wmem_tree_t *nbap_crncc_urnti_map = NULL;
|
||||
|
||||
#include "packet-nbap-val.h"
|
||||
|
||||
/* Initialize the protocol and registered fields */
|
||||
|
@ -431,6 +434,10 @@ static void nbap_init(void){
|
|||
/*Initialize structure for muxed flow indication*/
|
||||
edch_flow_port_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
|
||||
/*Initializing Scrambling Code to C-RNC Context & C-RNC Context to U-RNTI maps*/
|
||||
nbap_scrambling_code_crncc_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
nbap_crncc_urnti_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
|
||||
for (i = 0; i < 15; i++) {
|
||||
lchId_type_table[i+1] = lch_contents[i];
|
||||
}
|
||||
|
|
|
@ -37,6 +37,11 @@ extern guint8 lchId_type_table[];
|
|||
/* Mapping logicalchannel id to RLC_MODE */
|
||||
extern guint8 lchId_rlc_map[];
|
||||
|
||||
/* Mapping Scrambling Codes to C-RNC Contexts */
|
||||
extern wmem_tree_t *nbap_scrambling_code_crncc_map;
|
||||
/* Mapping C-RNC Contexts to U-RNTIs */
|
||||
extern wmem_tree_t *nbap_crncc_urnti_map;
|
||||
|
||||
#if 0
|
||||
static const value_string lchid_name_resolve[] = {
|
||||
{1,"DCCH"}, /* 1 to 4 SRB => DCCH*/
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#include "packet-per.h"
|
||||
#include "packet-rrc.h"
|
||||
#include "packet-gsm_a_common.h"
|
||||
#include "packet-nbap.h"
|
||||
#include "packet-umts_fp.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
@ -60,7 +61,6 @@ extern int proto_fp; /*Handler to FP*/
|
|||
|
||||
GTree * hsdsch_muxed_flows = NULL;
|
||||
GTree * rrc_ciph_inf = NULL;
|
||||
GTree * rrc_scrambling_code_urnti = NULL;
|
||||
static int msg_type _U_;
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -351,12 +351,6 @@ rrc_init(void) {
|
|||
NULL, /* data pointer, optional */
|
||||
NULL,
|
||||
rrc_free_value);
|
||||
|
||||
/*Initialize Scrambling code to U-RNTI dictionary*/
|
||||
rrc_scrambling_code_urnti = g_tree_new_full(rrc_key_cmp,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -364,7 +358,6 @@ rrc_cleanup(void) {
|
|||
/*Cleanup*/
|
||||
g_tree_destroy(hsdsch_muxed_flows);
|
||||
g_tree_destroy(rrc_ciph_inf);
|
||||
g_tree_destroy(rrc_scrambling_code_urnti);
|
||||
}
|
||||
|
||||
/*--- proto_register_rrc -------------------------------------------*/
|
||||
|
|
|
@ -60,6 +60,5 @@ typedef struct rrc_ciph_info_
|
|||
|
||||
extern GTree * hsdsch_muxed_flows;
|
||||
extern GTree * rrc_ciph_inf;
|
||||
extern GTree * rrc_scrambling_code_urnti;
|
||||
|
||||
#endif /* PACKET_RRC_H */
|
||||
|
|
|
@ -393,16 +393,18 @@ HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Me
|
|||
%(DEFAULT_BODY)s
|
||||
|
||||
#.FN_BODY RRCConnectionSetup
|
||||
guint32 scrambling_code, new_u_rnti;
|
||||
guint32 scrambling_code, new_u_rnti, crnc_context;
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup");
|
||||
%(DEFAULT_BODY)s
|
||||
/* Mapping the U-RNTI assigned to the user to its Uplink Scrambling Code*/
|
||||
scrambling_code = private_data_get_scrambling_code(actx);
|
||||
new_u_rnti = private_data_get_new_u_rnti(actx);
|
||||
if (new_u_rnti != 0 && scrambling_code != 0 && !actx->pinfo->fd->flags.visited) {
|
||||
/* Check if a U-RNTI is already mapped to this scrambling code */
|
||||
if ((guint32 *)g_tree_lookup(rrc_scrambling_code_urnti, GUINT_TO_POINTER(scrambling_code)) == NULL) {
|
||||
g_tree_insert(rrc_scrambling_code_urnti, GUINT_TO_POINTER(scrambling_code), GUINT_TO_POINTER(new_u_rnti));
|
||||
/* Looking for the C-RNC Context mapped to this Scrambling Code */
|
||||
crnc_context = GPOINTER_TO_UINT(wmem_tree_lookup32(nbap_scrambling_code_crncc_map,scrambling_code));
|
||||
if (crnc_context != 0) {
|
||||
/* Mapping the U-RNTI found in this message to the C-RNC context*/
|
||||
wmem_tree_insert32(nbap_crncc_urnti_map,crnc_context,GUINT_TO_POINTER(new_u_rnti));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -79,6 +79,9 @@ static guint32 ul_scrambling_code;
|
|||
static guint32 com_context_id;
|
||||
static int cfn;
|
||||
|
||||
wmem_tree_t *nbap_scrambling_code_crncc_map = NULL;
|
||||
wmem_tree_t *nbap_crncc_urnti_map = NULL;
|
||||
|
||||
|
||||
/*--- Included file: packet-nbap-val.h ---*/
|
||||
#line 1 "./asn1/nbap/packet-nbap-val.h"
|
||||
|
@ -1537,7 +1540,7 @@ typedef enum _ProtocolIE_ID_enum {
|
|||
} ProtocolIE_ID_enum;
|
||||
|
||||
/*--- End of included file: packet-nbap-val.h ---*/
|
||||
#line 75 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 78 "./asn1/nbap/packet-nbap-template.c"
|
||||
|
||||
/* Initialize the protocol and registered fields */
|
||||
static int proto_nbap = -1;
|
||||
|
@ -4841,7 +4844,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 83 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 86 "./asn1/nbap/packet-nbap-template.c"
|
||||
|
||||
/* Initialize the subtree pointers */
|
||||
static int ett_nbap = -1;
|
||||
|
@ -6480,7 +6483,7 @@ static gint ett_nbap_UnsuccessfulOutcome = -1;
|
|||
static gint ett_nbap_Outcome = -1;
|
||||
|
||||
/*--- End of included file: packet-nbap-ett.c ---*/
|
||||
#line 91 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 94 "./asn1/nbap/packet-nbap-template.c"
|
||||
|
||||
static expert_field ei_nbap_no_find_comm_context_id = EI_INIT;
|
||||
static expert_field ei_nbap_no_find_port_info = EI_INIT;
|
||||
|
@ -8448,6 +8451,9 @@ dissect_nbap_UL_ScramblingCodeNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
|
|||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 16777215U, &ul_scrambling_code, FALSE);
|
||||
|
||||
if(ul_scrambling_code != 0 && com_context_id != 0) {
|
||||
wmem_tree_insert32(nbap_scrambling_code_crncc_map,ul_scrambling_code,GUINT_TO_POINTER(com_context_id));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -10068,7 +10074,7 @@ dissect_nbap_AddorDeleteIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|||
|
||||
static int
|
||||
dissect_nbap_CFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2171 "./asn1/nbap/nbap.cnf"
|
||||
#line 2174 "./asn1/nbap/nbap.cnf"
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 255U, &cfn, FALSE);
|
||||
|
||||
|
@ -10321,7 +10327,7 @@ dissect_nbap_AvailabilityStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2136 "./asn1/nbap/nbap.cnf"
|
||||
#line 2139 "./asn1/nbap/nbap.cnf"
|
||||
umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
|
||||
address null_addr;
|
||||
conversation_t *conversation = NULL;
|
||||
|
@ -11543,7 +11549,7 @@ dissect_nbap_Common_E_DCH_Resource_Combination_InfoList(tvbuff_t *tvb _U_, int o
|
|||
|
||||
static int
|
||||
dissect_nbap_Common_MACFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1995 "./asn1/nbap/nbap.cnf"
|
||||
#line 1998 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, maxNrOfCommonMACFlows_1, &common_macdflow_id, FALSE);
|
||||
|
@ -11677,7 +11683,7 @@ dissect_nbap_E_DCH_MACdFlow_Multiplexing_List(tvbuff_t *tvb _U_, int offset _U_,
|
|||
|
||||
static int
|
||||
dissect_nbap_LogicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1649 "./asn1/nbap/nbap.cnf"
|
||||
#line 1652 "./asn1/nbap/nbap.cnf"
|
||||
/* Set logical channel id for this entry*/
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
1U, 15U, &logical_channel_id, FALSE);
|
||||
|
@ -11695,7 +11701,7 @@ dissect_nbap_LogicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
|
|||
|
||||
static int
|
||||
dissect_nbap_MAC_PDU_SizeExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1751 "./asn1/nbap/nbap.cnf"
|
||||
#line 1754 "./asn1/nbap/nbap.cnf"
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
1U, 1504U, NULL, TRUE);
|
||||
|
||||
|
@ -12118,7 +12124,7 @@ static const per_sequence_t CommonMACFlow_Specific_InfoItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_CommonMACFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2002 "./asn1/nbap/nbap.cnf"
|
||||
#line 2005 "./asn1/nbap/nbap.cnf"
|
||||
address dst_addr;
|
||||
transportLayerAddress_ipv4 = 0;
|
||||
BindingID_port = 0;
|
||||
|
@ -12163,7 +12169,7 @@ dissect_nbap_CommonMACFlow_Specific_InfoList(tvbuff_t *tvb _U_, int offset _U_,
|
|||
|
||||
static int
|
||||
dissect_nbap_MACdPDU_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1639 "./asn1/nbap/nbap.cnf"
|
||||
#line 1642 "./asn1/nbap/nbap.cnf"
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
1U, 5000U, &MACdPDU_Size, TRUE);
|
||||
|
||||
|
@ -13384,7 +13390,7 @@ dissect_nbap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
|||
|
||||
static int
|
||||
dissect_nbap_CRNC_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2110 "./asn1/nbap/nbap.cnf"
|
||||
#line 2113 "./asn1/nbap/nbap.cnf"
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 1048575U, &com_context_id, FALSE);
|
||||
|
||||
|
@ -14837,7 +14843,7 @@ dissect_nbap_T_dCH_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
|
|||
|
||||
static int
|
||||
dissect_nbap_TransportFormatSet_NrOfTransportBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1078 "./asn1/nbap/nbap.cnf"
|
||||
#line 1081 "./asn1/nbap/nbap.cnf"
|
||||
guint32 NrOfTransportBlocks;
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -14880,7 +14886,7 @@ guint32 NrOfTransportBlocks;
|
|||
|
||||
static int
|
||||
dissect_nbap_TransportFormatSet_TransportBlockSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1110 "./asn1/nbap/nbap.cnf"
|
||||
#line 1113 "./asn1/nbap/nbap.cnf"
|
||||
guint32 TransportBlockSize;
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -15008,7 +15014,7 @@ static const per_sequence_t TransportFormatSet_DynamicPartList_item_sequence[] =
|
|||
|
||||
static int
|
||||
dissect_nbap_TransportFormatSet_DynamicPartList_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1074 "./asn1/nbap/nbap.cnf"
|
||||
#line 1077 "./asn1/nbap/nbap.cnf"
|
||||
num_items++;
|
||||
|
||||
|
||||
|
@ -15026,7 +15032,7 @@ static const per_sequence_t TransportFormatSet_DynamicPartList_sequence_of[1] =
|
|||
|
||||
static int
|
||||
dissect_nbap_TransportFormatSet_DynamicPartList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1071 "./asn1/nbap/nbap.cnf"
|
||||
#line 1074 "./asn1/nbap/nbap.cnf"
|
||||
num_items = 0;
|
||||
|
||||
|
||||
|
@ -15197,7 +15203,7 @@ dissect_nbap_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
|
|||
|
||||
static int
|
||||
dissect_nbap_T_ul_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1049 "./asn1/nbap/nbap.cnf"
|
||||
#line 1052 "./asn1/nbap/nbap.cnf"
|
||||
transportFormatSet_type = NBAP_DCH_UL;
|
||||
nbap_dch_chnl_info[dch_id].num_ul_chans = 0;
|
||||
|
||||
|
@ -15211,7 +15217,7 @@ dissect_nbap_T_ul_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
|
|||
|
||||
static int
|
||||
dissect_nbap_T_dl_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1053 "./asn1/nbap/nbap.cnf"
|
||||
#line 1056 "./asn1/nbap/nbap.cnf"
|
||||
transportFormatSet_type = NBAP_DCH_DL;
|
||||
nbap_dch_chnl_info[dch_id].num_dl_chans = 0;
|
||||
|
||||
|
@ -15261,14 +15267,14 @@ static const per_sequence_t DCH_Specific_FDD_Item_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_DCH_Specific_FDD_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1043 "./asn1/nbap/nbap.cnf"
|
||||
#line 1046 "./asn1/nbap/nbap.cnf"
|
||||
g_num_dch_in_flow++;
|
||||
|
||||
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_nbap_DCH_Specific_FDD_Item, DCH_Specific_FDD_Item_sequence);
|
||||
|
||||
#line 1046 "./asn1/nbap/nbap.cnf"
|
||||
#line 1049 "./asn1/nbap/nbap.cnf"
|
||||
prev_dch_id = dch_id;
|
||||
|
||||
|
||||
|
@ -15282,7 +15288,7 @@ static const per_sequence_t DCH_Specific_FDD_InformationList_sequence_of[1] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_DCH_Specific_FDD_InformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1039 "./asn1/nbap/nbap.cnf"
|
||||
#line 1042 "./asn1/nbap/nbap.cnf"
|
||||
g_num_dch_in_flow = 0;
|
||||
prev_dch_id = 0;
|
||||
|
||||
|
@ -15576,7 +15582,7 @@ dissect_nbap_T_dCH_ID_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
|
|||
|
||||
static int
|
||||
dissect_nbap_T_ul_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1057 "./asn1/nbap/nbap.cnf"
|
||||
#line 1060 "./asn1/nbap/nbap.cnf"
|
||||
transportFormatSet_type = NBAP_DCH_UL;
|
||||
nbap_dch_chnl_info[dch_id].num_ul_chans = 0;
|
||||
|
||||
|
@ -15590,7 +15596,7 @@ dissect_nbap_T_ul_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_
|
|||
|
||||
static int
|
||||
dissect_nbap_T_dl_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1061 "./asn1/nbap/nbap.cnf"
|
||||
#line 1064 "./asn1/nbap/nbap.cnf"
|
||||
transportFormatSet_type = NBAP_DCH_DL;
|
||||
nbap_dch_chnl_info[dch_id].num_dl_chans = 0;
|
||||
|
||||
|
@ -15646,7 +15652,7 @@ static const per_sequence_t FDD_DCHs_to_ModifyItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_FDD_DCHs_to_ModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1137 "./asn1/nbap/nbap.cnf"
|
||||
#line 1140 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_nbap_FDD_DCHs_to_ModifyItem, FDD_DCHs_to_ModifyItem_sequence);
|
||||
|
@ -18068,7 +18074,7 @@ dissect_nbap_E_DCH_HARQ_Combining_Capability(tvbuff_t *tvb _U_, int offset _U_,
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_DDI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1628 "./asn1/nbap/nbap.cnf"
|
||||
#line 1631 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 62U, &e_dch_ddi_value, FALSE);
|
||||
|
@ -18203,7 +18209,7 @@ static const per_sequence_t E_DCH_LogicalChannelInformationItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_LogicalChannelInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1625 "./asn1/nbap/nbap.cnf"
|
||||
#line 1628 "./asn1/nbap/nbap.cnf"
|
||||
num_items++;
|
||||
|
||||
|
||||
|
@ -18220,7 +18226,7 @@ static const per_sequence_t E_DCH_LogicalChannelInformation_sequence_of[1] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_LogicalChannelInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1618 "./asn1/nbap/nbap.cnf"
|
||||
#line 1621 "./asn1/nbap/nbap.cnf"
|
||||
num_items = 0;
|
||||
|
||||
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -18253,7 +18259,7 @@ static const per_sequence_t E_DCH_MACdFlow_Specific_InfoItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1375 "./asn1/nbap/nbap.cnf"
|
||||
#line 1378 "./asn1/nbap/nbap.cnf"
|
||||
umts_fp_conversation_info_t *p_conv_data = NULL;
|
||||
address null_addr;
|
||||
conversation_t *p_conv;
|
||||
|
@ -18436,7 +18442,7 @@ static const per_sequence_t E_DCH_LogicalChannelToModifyItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_LogicalChannelToModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1613 "./asn1/nbap/nbap.cnf"
|
||||
#line 1616 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_nbap_E_DCH_LogicalChannelToModifyItem, E_DCH_LogicalChannelToModifyItem_sequence);
|
||||
|
@ -18511,7 +18517,7 @@ static const per_sequence_t E_DCH_MACdFlow_Specific_InfoItem_to_Modify_sequence[
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1521 "./asn1/nbap/nbap.cnf"
|
||||
#line 1524 "./asn1/nbap/nbap.cnf"
|
||||
guint32 no_ddi_entries, i;
|
||||
address null_addr;
|
||||
nbap_edch_port_info_t *old_info;
|
||||
|
@ -18653,7 +18659,7 @@ static const per_sequence_t E_DCH_FDD_Information_to_Modify_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_E_DCH_FDD_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1428 "./asn1/nbap/nbap.cnf"
|
||||
#line 1431 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
address dst_addr, null_addr;
|
||||
conversation_t *conversation,*old_conversation = NULL;
|
||||
|
@ -23235,7 +23241,7 @@ static const value_string nbap_PICH_Mode_vals[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_PICH_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 814 "./asn1/nbap/nbap.cnf"
|
||||
#line 817 "./asn1/nbap/nbap.cnf"
|
||||
guint32 PICH_Mode = 0;
|
||||
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
||||
4, &PICH_Mode, TRUE, 0, NULL);
|
||||
|
@ -23350,7 +23356,7 @@ static const per_sequence_t HSDSCH_Common_System_InformationFDD_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_Common_System_InformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2022 "./asn1/nbap/nbap.cnf"
|
||||
#line 2025 "./asn1/nbap/nbap.cnf"
|
||||
/*
|
||||
* 5.1.6 High Speed Downlink Shared Channels
|
||||
* The Data Transfer procedure is used to transfer a HS-DSCH DATA FRAME (TYPE 1, TYPE 2 [FDD and 1.28Mcps
|
||||
|
@ -23511,7 +23517,7 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InfoItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1729 "./asn1/nbap/nbap.cnf"
|
||||
#line 1732 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
|
||||
address dst_addr;
|
||||
|
@ -23614,7 +23620,7 @@ static const value_string nbap_RLC_Mode_vals[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_RLC_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1656 "./asn1/nbap/nbap.cnf"
|
||||
#line 1659 "./asn1/nbap/nbap.cnf"
|
||||
guint32 rlc_mode;
|
||||
|
||||
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -23655,7 +23661,7 @@ static const per_sequence_t PriorityQueue_InfoItem_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_PriorityQueue_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1720 "./asn1/nbap/nbap.cnf"
|
||||
#line 1723 "./asn1/nbap/nbap.cnf"
|
||||
num_items++;
|
||||
|
||||
|
||||
|
@ -23689,7 +23695,7 @@ static const per_sequence_t HSDSCH_MACdFlows_Information_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdFlows_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1680 "./asn1/nbap/nbap.cnf"
|
||||
#line 1683 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
int protocol_ie_id;
|
||||
guint32 i;
|
||||
|
@ -23733,7 +23739,7 @@ dissect_nbap_HSDSCH_MACdFlows_Information(tvbuff_t *tvb _U_, int offset _U_, asn
|
|||
|
||||
static int
|
||||
dissect_nbap_T_hSDSCH_Physical_Layer_Category(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1673 "./asn1/nbap/nbap.cnf"
|
||||
#line 1676 "./asn1/nbap/nbap.cnf"
|
||||
guint32 hsdsch_physical_layer_category;
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -23801,7 +23807,7 @@ static const per_sequence_t HSDSCH_FDD_Information_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1781 "./asn1/nbap/nbap.cnf"
|
||||
#line 1784 "./asn1/nbap/nbap.cnf"
|
||||
/*
|
||||
* Collect the information about the HSDSCH MACdFlows set up conversation(s) and set the conversation data.
|
||||
*/
|
||||
|
@ -23938,7 +23944,7 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InfoItem_to_Modify_sequence
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1870 "./asn1/nbap/nbap.cnf"
|
||||
#line 1873 "./asn1/nbap/nbap.cnf"
|
||||
address dst_addr;
|
||||
transportLayerAddress_ipv4 = 0;
|
||||
BindingID_port = 0;
|
||||
|
@ -23996,7 +24002,7 @@ static const per_sequence_t PriorityQueue_InfoItem_to_Add_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_PriorityQueue_InfoItem_to_Add(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1723 "./asn1/nbap/nbap.cnf"
|
||||
#line 1726 "./asn1/nbap/nbap.cnf"
|
||||
num_items = 1;
|
||||
|
||||
|
||||
|
@ -24131,7 +24137,7 @@ static const per_sequence_t HSDSCH_Information_to_Modify_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1890 "./asn1/nbap/nbap.cnf"
|
||||
#line 1893 "./asn1/nbap/nbap.cnf"
|
||||
/*
|
||||
* This is pretty much the same like if we setup a previous flow
|
||||
*/
|
||||
|
@ -24253,7 +24259,7 @@ static const value_string nbap_HSDSCH_MACdPDUSizeFormat_vals[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdPDUSizeFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1758 "./asn1/nbap/nbap.cnf"
|
||||
#line 1761 "./asn1/nbap/nbap.cnf"
|
||||
/*
|
||||
* Removed 10 Aug. 2012, I'm not sure if this was right, it wrongfully
|
||||
* set some packets as type 2 for HSDHCH modified items.
|
||||
|
@ -24364,7 +24370,7 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InformationResp_Item_sequen
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdFlow_Specific_InformationResp_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1726 "./asn1/nbap/nbap.cnf"
|
||||
#line 1729 "./asn1/nbap/nbap.cnf"
|
||||
num_items++;
|
||||
|
||||
|
||||
|
@ -24780,7 +24786,7 @@ static const per_sequence_t HSDSCH_Paging_System_InformationFDD_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_Paging_System_InformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2100 "./asn1/nbap/nbap.cnf"
|
||||
#line 2103 "./asn1/nbap/nbap.cnf"
|
||||
/*
|
||||
g_warning("HS-DSCH Type 3 NOT Implemented!");
|
||||
*/
|
||||
|
@ -24974,7 +24980,7 @@ static const per_sequence_t HSDSCH_MACdFlows_to_Delete_Item_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdFlows_to_Delete_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1717 "./asn1/nbap/nbap.cnf"
|
||||
#line 1720 "./asn1/nbap/nbap.cnf"
|
||||
num_items++;
|
||||
|
||||
|
||||
|
@ -24991,7 +24997,7 @@ static const per_sequence_t HSDSCH_MACdFlows_to_Delete_sequence_of[1] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_HSDSCH_MACdFlows_to_Delete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1712 "./asn1/nbap/nbap.cnf"
|
||||
#line 1715 "./asn1/nbap/nbap.cnf"
|
||||
num_items = 0;
|
||||
|
||||
|
||||
|
@ -28093,7 +28099,7 @@ dissect_nbap_NI_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|||
|
||||
static int
|
||||
dissect_nbap_NodeB_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 2114 "./asn1/nbap/nbap.cnf"
|
||||
#line 2117 "./asn1/nbap/nbap.cnf"
|
||||
/*Set up and map that maps Node-B ids to CRNC ids, since often you only have one of them present in nbap*/
|
||||
nbap_com_context_id_t *cur_val;
|
||||
|
||||
|
@ -28658,7 +28664,7 @@ dissect_nbap_RACH_SubChannelNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
|||
|
||||
static int
|
||||
dissect_nbap_T_dCH_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1143 "./asn1/nbap/nbap.cnf"
|
||||
#line 1146 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
offset = dissect_nbap_DCH_ID(tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -28680,7 +28686,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 1148 "./asn1/nbap/nbap.cnf"
|
||||
#line 1151 "./asn1/nbap/nbap.cnf"
|
||||
address dst_addr, null_addr;
|
||||
conversation_t *conversation = NULL;
|
||||
umts_fp_conversation_info_t *umts_fp_conversation_info;
|
||||
|
@ -28825,7 +28831,7 @@ static const per_sequence_t RL_Specific_E_DCH_Information_Item_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_RL_Specific_E_DCH_Information_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1263 "./asn1/nbap/nbap.cnf"
|
||||
#line 1266 "./asn1/nbap/nbap.cnf"
|
||||
address dst_addr, null_addr;
|
||||
conversation_t *conversation;
|
||||
umts_fp_conversation_info_t *umts_fp_conversation_info = NULL;
|
||||
|
@ -32392,7 +32398,7 @@ static const per_sequence_t FACH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_FACH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 946 "./asn1/nbap/nbap.cnf"
|
||||
#line 949 "./asn1/nbap/nbap.cnf"
|
||||
address dst_addr, null_addr;
|
||||
conversation_t *conversation;
|
||||
|
||||
|
@ -32510,7 +32516,7 @@ dissect_nbap_FACH_ParametersListIE_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offs
|
|||
|
||||
static int
|
||||
dissect_nbap_T_transportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1065 "./asn1/nbap/nbap.cnf"
|
||||
#line 1068 "./asn1/nbap/nbap.cnf"
|
||||
transportFormatSet_type = NBAP_PCH;
|
||||
nbap_dch_chnl_info[commontransportchannelid].num_dl_chans = 0;
|
||||
nbap_dch_chnl_info[commontransportchannelid].num_ul_chans = 0;
|
||||
|
@ -32555,7 +32561,7 @@ static const per_sequence_t PCH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_PCH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 835 "./asn1/nbap/nbap.cnf"
|
||||
#line 838 "./asn1/nbap/nbap.cnf"
|
||||
|
||||
address dst_addr, null_addr;
|
||||
conversation_t *conversation;
|
||||
|
@ -32702,7 +32708,7 @@ static const per_sequence_t RACH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_nbap_RACH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 746 "./asn1/nbap/nbap.cnf"
|
||||
#line 749 "./asn1/nbap/nbap.cnf"
|
||||
address dst_addr, null_addr;
|
||||
conversation_t *conversation;
|
||||
umts_fp_conversation_info_t *umts_fp_conversation_info;
|
||||
|
@ -41111,7 +41117,7 @@ col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCommit ");
|
|||
actx->pinfo->link_dir=P2P_DIR_DL;
|
||||
|
||||
|
||||
#line 2163 "./asn1/nbap/nbap.cnf"
|
||||
#line 2166 "./asn1/nbap/nbap.cnf"
|
||||
/*
|
||||
* Here we need to signal the CFN value, down to FP so
|
||||
* that lowert layers know when a reconfiguration becomes active
|
||||
|
@ -55210,7 +55216,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 335 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 338 "./asn1/nbap/packet-nbap-template.c"
|
||||
|
||||
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
||||
{
|
||||
|
@ -55310,6 +55316,10 @@ static void nbap_init(void){
|
|||
/*Initialize structure for muxed flow indication*/
|
||||
edch_flow_port_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
|
||||
/*Initializing Scrambling Code to C-RNC Context & C-RNC Context to U-RNTI maps*/
|
||||
nbap_scrambling_code_crncc_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
nbap_crncc_urnti_map = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
|
||||
for (i = 0; i < 15; i++) {
|
||||
lchId_type_table[i+1] = lch_contents[i];
|
||||
}
|
||||
|
@ -68522,7 +68532,7 @@ void proto_register_nbap(void)
|
|||
NULL, HFILL }},
|
||||
|
||||
/*--- End of included file: packet-nbap-hfarr.c ---*/
|
||||
#line 482 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 489 "./asn1/nbap/packet-nbap-template.c"
|
||||
};
|
||||
|
||||
/* List of subtrees */
|
||||
|
@ -70162,7 +70172,7 @@ void proto_register_nbap(void)
|
|||
&ett_nbap_Outcome,
|
||||
|
||||
/*--- End of included file: packet-nbap-ettarr.c ---*/
|
||||
#line 491 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 498 "./asn1/nbap/packet-nbap-template.c"
|
||||
};
|
||||
|
||||
static ei_register_info ei[] = {
|
||||
|
@ -71313,7 +71323,7 @@ proto_reg_handoff_nbap(void)
|
|||
|
||||
|
||||
/*--- End of included file: packet-nbap-dis-tab.c ---*/
|
||||
#line 545 "./asn1/nbap/packet-nbap-template.c"
|
||||
#line 552 "./asn1/nbap/packet-nbap-template.c"
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -45,6 +45,11 @@ extern guint8 lchId_type_table[];
|
|||
/* Mapping logicalchannel id to RLC_MODE */
|
||||
extern guint8 lchId_rlc_map[];
|
||||
|
||||
/* Mapping Scrambling Codes to C-RNC Contexts */
|
||||
wmem_tree_t *nbap_scrambling_code_crncc_map;
|
||||
/* Mapping C-RNC Contexts to U-RNTIs */
|
||||
wmem_tree_t *nbap_crncc_urnti_map;
|
||||
|
||||
#if 0
|
||||
static const value_string lchid_name_resolve[] = {
|
||||
{1,"DCCH"}, /* 1 to 4 SRB => DCCH*/
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
#include "packet-per.h"
|
||||
#include "packet-rrc.h"
|
||||
#include "packet-gsm_a_common.h"
|
||||
#include "packet-nbap.h"
|
||||
#include "packet-umts_fp.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
@ -68,7 +69,6 @@ extern int proto_fp; /*Handler to FP*/
|
|||
|
||||
GTree * hsdsch_muxed_flows = NULL;
|
||||
GTree * rrc_ciph_inf = NULL;
|
||||
GTree * rrc_scrambling_code_urnti = NULL;
|
||||
static int msg_type _U_;
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -18260,7 +18260,7 @@ dissect_rrc_ActivationTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
|
|||
|
||||
static int
|
||||
dissect_rrc_RB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 984 "./asn1/rrc/rrc.cnf"
|
||||
#line 986 "./asn1/rrc/rrc.cnf"
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
1U, 32U, &rbid, FALSE);
|
||||
|
@ -18277,7 +18277,7 @@ dissect_rrc_RB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
|||
|
||||
static int
|
||||
dissect_rrc_RLC_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 990 "./asn1/rrc/rrc.cnf"
|
||||
#line 992 "./asn1/rrc/rrc.cnf"
|
||||
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 4095U, &activation_frame, FALSE);
|
||||
|
@ -18297,7 +18297,7 @@ static const per_sequence_t RB_ActivationTimeInfo_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_RB_ActivationTimeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 962 "./asn1/rrc/rrc.cnf"
|
||||
#line 964 "./asn1/rrc/rrc.cnf"
|
||||
fp_info *fpinf;
|
||||
rrc_ciphering_info * c_inf;
|
||||
|
||||
|
@ -18360,7 +18360,7 @@ dissect_rrc_CipheringModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
|
|||
|
||||
static int
|
||||
dissect_rrc_SRNC_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 763 "./asn1/rrc/rrc.cnf"
|
||||
#line 765 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t * s_rnc_id_tvb = NULL;
|
||||
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
||||
12, 12, FALSE, &s_rnc_id_tvb, NULL);
|
||||
|
@ -18378,7 +18378,7 @@ dissect_rrc_SRNC_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
|
|||
|
||||
static int
|
||||
dissect_rrc_S_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 770 "./asn1/rrc/rrc.cnf"
|
||||
#line 772 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t * s_rnti_tvb = NULL;
|
||||
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
||||
20, 20, FALSE, &s_rnti_tvb, NULL);
|
||||
|
@ -18401,7 +18401,7 @@ static const per_sequence_t U_RNTI_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_U_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 777 "./asn1/rrc/rrc.cnf"
|
||||
#line 779 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_s_rnc_id(actx, 0);
|
||||
private_data_set_s_rnti(actx, 0);
|
||||
guint32 s_rnc_id;
|
||||
|
@ -18487,7 +18487,7 @@ dissect_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
|
|||
|
||||
static int
|
||||
dissect_rrc_NAS_SystemInformationGSM_MAP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 731 "./asn1/rrc/rrc.cnf"
|
||||
#line 733 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *nas_sys_info_gsm_map_tvb = NULL;
|
||||
guint32 length;
|
||||
enum nas_sys_info_gsm_map cn_domain;
|
||||
|
@ -18530,7 +18530,7 @@ dissect_rrc_NAS_SystemInformationGSM_MAP(tvbuff_t *tvb _U_, int offset _U_, asn1
|
|||
|
||||
static int
|
||||
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 715 "./asn1/rrc/rrc.cnf"
|
||||
#line 717 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
|
||||
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -18550,7 +18550,7 @@ static const value_string rrc_CN_DomainIdentity_vals[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_CN_DomainIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 708 "./asn1/rrc/rrc.cnf"
|
||||
#line 710 "./asn1/rrc/rrc.cnf"
|
||||
guint32 nas_sys_info;
|
||||
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
||||
2, &nas_sys_info, FALSE, 0, NULL);
|
||||
|
@ -22209,7 +22209,7 @@ dissect_rrc_SSDT_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
|
|||
|
||||
static int
|
||||
dissect_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 804 "./asn1/rrc/rrc.cnf"
|
||||
#line 806 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t * cell_id_tvb = NULL;
|
||||
proto_item *temp_ti;
|
||||
proto_tree *cell_identity_tree;
|
||||
|
@ -22434,7 +22434,7 @@ dissect_rrc_T_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_
|
|||
|
||||
static int
|
||||
dissect_rrc_H_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 892 "./asn1/rrc/rrc.cnf"
|
||||
#line 894 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *hrnti_tvb;
|
||||
struct rrc_info *rrcinf;
|
||||
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -22443,7 +22443,7 @@ dissect_rrc_H_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
|
|||
|
||||
|
||||
|
||||
#line 897 "./asn1/rrc/rrc.cnf"
|
||||
#line 899 "./asn1/rrc/rrc.cnf"
|
||||
rrcinf = (struct rrc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rrc, 0);
|
||||
if (!rrcinf) {
|
||||
rrcinf = wmem_new0(wmem_file_scope(), struct rrc_info);
|
||||
|
@ -22469,7 +22469,7 @@ dissect_rrc_E_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
|
|||
|
||||
static int
|
||||
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 719 "./asn1/rrc/rrc.cnf"
|
||||
#line 721 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
|
||||
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -27943,7 +27943,7 @@ dissect_rrc_ScramblingCodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
|
|||
|
||||
static int
|
||||
dissect_rrc_UL_ScramblingCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 799 "./asn1/rrc/rrc.cnf"
|
||||
#line 801 "./asn1/rrc/rrc.cnf"
|
||||
guint32 scrambling_code;
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 16777215U, &scrambling_code, FALSE);
|
||||
|
@ -38497,7 +38497,7 @@ dissect_rrc_CellChangeOrderFromUTRAN_r3_IEs(tvbuff_t *tvb _U_, int offset _U_, a
|
|||
|
||||
static int
|
||||
dissect_rrc_GERAN_SystemInfoBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 579 "./asn1/rrc/rrc.cnf"
|
||||
#line 581 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *parameter_tvb=NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -45726,7 +45726,7 @@ dissect_rrc_RLC_Info_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
|||
|
||||
static int
|
||||
dissect_rrc_MAC_d_FlowIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 889 "./asn1/rrc/rrc.cnf"
|
||||
#line 891 "./asn1/rrc/rrc.cnf"
|
||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||
0U, 7U, &flowd, FALSE);
|
||||
|
||||
|
@ -45774,7 +45774,7 @@ static const per_choice_t DL_TransportChannelType_r5_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_DL_TransportChannelType_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 818 "./asn1/rrc/rrc.cnf"
|
||||
#line 820 "./asn1/rrc/rrc.cnf"
|
||||
/*Here we try to figure out which HS-DSCH channels are multiplexed*/
|
||||
guint *flowd_p;
|
||||
guint *cur_val=NULL;
|
||||
|
@ -49248,7 +49248,7 @@ static const per_choice_t DL_TransportChannelType_r7_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_DL_TransportChannelType_r7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 853 "./asn1/rrc/rrc.cnf"
|
||||
#line 855 "./asn1/rrc/rrc.cnf"
|
||||
/*Here we try to figure out which HS-DSCH channels are multiplexed*/
|
||||
guint *flowd_p;
|
||||
guint *cur_val=NULL;
|
||||
|
@ -63181,7 +63181,7 @@ static const per_sequence_t T_single_GSM_Message_r3_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_T_single_GSM_Message_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 548 "./asn1/rrc/rrc.cnf"
|
||||
#line 550 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *gsm_message_tvb=NULL;
|
||||
guint bits_remaining, whole_octets_remaining;
|
||||
|
||||
|
@ -63207,7 +63207,7 @@ dissect_rrc_T_single_GSM_Message_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
|||
|
||||
static int
|
||||
dissect_rrc_GSM_MessageList_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 540 "./asn1/rrc/rrc.cnf"
|
||||
#line 542 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *gsm_messagelist_tvb=NULL;
|
||||
|
||||
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -63467,7 +63467,7 @@ static const per_sequence_t T_single_GSM_Message_r6_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_T_single_GSM_Message_r6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 563 "./asn1/rrc/rrc.cnf"
|
||||
#line 565 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *gsm_message_tvb=NULL;
|
||||
guint bits_remaining, whole_octets_remaining;
|
||||
|
||||
|
@ -88512,7 +88512,7 @@ static const value_string rrc_ReleaseCause_vals[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_ReleaseCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1011 "./asn1/rrc/rrc.cnf"
|
||||
#line 1013 "./asn1/rrc/rrc.cnf"
|
||||
guint32 value;
|
||||
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
||||
8, &value, FALSE, 0, NULL);
|
||||
|
@ -89521,7 +89521,7 @@ static const per_choice_t SecurityModeCommand_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 418 "./asn1/rrc/rrc.cnf"
|
||||
#line 420 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeCommand");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SecurityModeCommand, SecurityModeCommand_choice,
|
||||
|
@ -89663,7 +89663,7 @@ static const per_choice_t SignallingConnectionRelease_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SignallingConnectionRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 440 "./asn1/rrc/rrc.cnf"
|
||||
#line 442 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SignallingConnectionRelease");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SignallingConnectionRelease, SignallingConnectionRelease_choice,
|
||||
|
@ -91770,7 +91770,7 @@ static const per_choice_t TransportChannelReconfiguration_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_TransportChannelReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 460 "./asn1/rrc/rrc.cnf"
|
||||
#line 462 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfiguration");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_TransportChannelReconfiguration, TransportChannelReconfiguration_choice,
|
||||
|
@ -91915,7 +91915,7 @@ static const per_sequence_t TransportFormatCombinationControl_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_TransportFormatCombinationControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 472 "./asn1/rrc/rrc.cnf"
|
||||
#line 474 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportFormatCombinationControl");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_TransportFormatCombinationControl, TransportFormatCombinationControl_sequence);
|
||||
|
@ -92348,7 +92348,7 @@ static const per_choice_t UECapabilityEnquiry_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UECapabilityEnquiry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 480 "./asn1/rrc/rrc.cnf"
|
||||
#line 482 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityEnquiry");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UECapabilityEnquiry, UECapabilityEnquiry_choice,
|
||||
|
@ -92506,7 +92506,7 @@ static const per_choice_t UECapabilityInformationConfirm_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UECapabilityInformationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 488 "./asn1/rrc/rrc.cnf"
|
||||
#line 490 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformationConfirm");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UECapabilityInformationConfirm, UECapabilityInformationConfirm_choice,
|
||||
|
@ -93270,7 +93270,7 @@ static const per_choice_t UplinkPhysicalChannelControl_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UplinkPhysicalChannelControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 504 "./asn1/rrc/rrc.cnf"
|
||||
#line 506 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UplinkPhysicalChannelControl");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UplinkPhysicalChannelControl, UplinkPhysicalChannelControl_choice,
|
||||
|
@ -93613,7 +93613,7 @@ static const per_choice_t URAUpdateConfirm_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_URAUpdateConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 512 "./asn1/rrc/rrc.cnf"
|
||||
#line 514 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdateConfirm");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_URAUpdateConfirm, URAUpdateConfirm_choice,
|
||||
|
@ -94076,7 +94076,7 @@ dissect_rrc_UE_ConnTimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
|
|||
|
||||
static int
|
||||
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 723 "./asn1/rrc/rrc.cnf"
|
||||
#line 725 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
|
||||
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -95961,7 +95961,7 @@ static const per_choice_t UTRANMobilityInformation_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UTRANMobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 520 "./asn1/rrc/rrc.cnf"
|
||||
#line 522 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformation");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UTRANMobilityInformation, UTRANMobilityInformation_choice,
|
||||
|
@ -96681,7 +96681,7 @@ dissect_rrc_ETWSPrimaryNotificationWithSecurity(tvbuff_t *tvb _U_, int offset _U
|
|||
|
||||
static int
|
||||
dissect_rrc_T_eutra_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 634 "./asn1/rrc/rrc.cnf"
|
||||
#line 636 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *eutra_message_tvb = NULL;
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
NO_BOUND, NO_BOUND, FALSE, &eutra_message_tvb);
|
||||
|
@ -96743,7 +96743,7 @@ dissect_rrc_T_r8_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
|
|||
|
||||
static int
|
||||
dissect_rrc_T_ims_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 670 "./asn1/rrc/rrc.cnf"
|
||||
#line 672 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *imsInformation_tvb=NULL;
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
1, 32, FALSE, &imsInformation_tvb);
|
||||
|
@ -96798,7 +96798,7 @@ dissect_rrc_RSR_VCC_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
|
|||
|
||||
static int
|
||||
dissect_rrc_T_eutra_Message_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 640 "./asn1/rrc/rrc.cnf"
|
||||
#line 642 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *eutra_message_tvb = NULL;
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
NO_BOUND, NO_BOUND, FALSE, &eutra_message_tvb);
|
||||
|
@ -97164,7 +97164,7 @@ static const per_sequence_t UEInformationRequest_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UEInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 492 "./asn1/rrc/rrc.cnf"
|
||||
#line 494 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationRequest");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UEInformationRequest, UEInformationRequest_sequence);
|
||||
|
@ -97933,7 +97933,7 @@ static const per_choice_t DL_DCCH_MessageType_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 994 "./asn1/rrc/rrc.cnf"
|
||||
#line 996 "./asn1/rrc/rrc.cnf"
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
|
||||
&msg_type);
|
||||
|
@ -97953,7 +97953,7 @@ static const per_sequence_t DL_DCCH_Message_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 997 "./asn1/rrc/rrc.cnf"
|
||||
#line 999 "./asn1/rrc/rrc.cnf"
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
|
||||
|
||||
|
@ -97967,7 +97967,7 @@ dissect_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|||
|
||||
static int
|
||||
dissect_rrc_START_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 905 "./asn1/rrc/rrc.cnf"
|
||||
#line 907 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t * start_val;
|
||||
fp_info *fpinf;
|
||||
rrc_ciphering_info * c_inf;
|
||||
|
@ -99873,7 +99873,7 @@ dissect_rrc_HandoverFromUtranFailure_v590ext_IEs(tvbuff_t *tvb _U_, int offset _
|
|||
|
||||
static int
|
||||
dissect_rrc_T_eutra_Message_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 646 "./asn1/rrc/rrc.cnf"
|
||||
#line 648 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *eutra_message_tvb = NULL;
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
NO_BOUND, NO_BOUND, FALSE, &eutra_message_tvb);
|
||||
|
@ -107333,7 +107333,7 @@ dissect_rrc_UE_RadioAccessCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
|
|||
|
||||
static int
|
||||
dissect_rrc_GSM_Classmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 596 "./asn1/rrc/rrc.cnf"
|
||||
#line 598 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *parameter_tvb=NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -107352,7 +107352,7 @@ dissect_rrc_GSM_Classmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
|
|||
|
||||
static int
|
||||
dissect_rrc_GSM_Classmark3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 604 "./asn1/rrc/rrc.cnf"
|
||||
#line 606 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *parameter_tvb=NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -108866,7 +108866,7 @@ static const per_sequence_t RRCConnectionSetupComplete_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_RRCConnectionSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 410 "./asn1/rrc/rrc.cnf"
|
||||
#line 412 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_RRCConnectionSetupComplete, RRCConnectionSetupComplete_sequence);
|
||||
|
@ -109047,7 +109047,7 @@ static const per_sequence_t RRCStatus_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_RRCStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 414 "./asn1/rrc/rrc.cnf"
|
||||
#line 416 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCStatus");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_RRCStatus, RRCStatus_sequence);
|
||||
|
@ -109097,7 +109097,7 @@ static const per_sequence_t SecurityModeComplete_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 422 "./asn1/rrc/rrc.cnf"
|
||||
#line 424 "./asn1/rrc/rrc.cnf"
|
||||
rrc_ciphering_info * c_inf ;
|
||||
fp_info *fpinf ;
|
||||
|
||||
|
@ -109156,7 +109156,7 @@ static const per_sequence_t SecurityModeFailure_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 436 "./asn1/rrc/rrc.cnf"
|
||||
#line 438 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SecurityModeFailure, SecurityModeFailure_sequence);
|
||||
|
@ -109249,7 +109249,7 @@ static const per_sequence_t SignallingConnectionReleaseIndication_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SignallingConnectionReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 444 "./asn1/rrc/rrc.cnf"
|
||||
#line 446 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SignallingConnectionReleaseIndication");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SignallingConnectionReleaseIndication, SignallingConnectionReleaseIndication_sequence);
|
||||
|
@ -109347,7 +109347,7 @@ static const per_sequence_t TransportChannelReconfigurationComplete_sequence[] =
|
|||
|
||||
static int
|
||||
dissect_rrc_TransportChannelReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 464 "./asn1/rrc/rrc.cnf"
|
||||
#line 466 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfigurationComplete");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_TransportChannelReconfigurationComplete, TransportChannelReconfigurationComplete_sequence);
|
||||
|
@ -109396,7 +109396,7 @@ static const per_sequence_t TransportChannelReconfigurationFailure_sequence[] =
|
|||
|
||||
static int
|
||||
dissect_rrc_TransportChannelReconfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 468 "./asn1/rrc/rrc.cnf"
|
||||
#line 470 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfigurationFailure");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_TransportChannelReconfigurationFailure, TransportChannelReconfigurationFailure_sequence);
|
||||
|
@ -109445,7 +109445,7 @@ static const per_sequence_t TransportFormatCombinationControlFailure_sequence[]
|
|||
|
||||
static int
|
||||
dissect_rrc_TransportFormatCombinationControlFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 476 "./asn1/rrc/rrc.cnf"
|
||||
#line 478 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportFormatCombinationControlFailure");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_TransportFormatCombinationControlFailure, TransportFormatCombinationControlFailure_sequence);
|
||||
|
@ -109721,7 +109721,7 @@ static const per_sequence_t UECapabilityInformation_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UECapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 484 "./asn1/rrc/rrc.cnf"
|
||||
#line 486 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformation");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UECapabilityInformation, UECapabilityInformation_sequence);
|
||||
|
@ -109916,7 +109916,7 @@ static const per_sequence_t UplinkDirectTransfer_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UplinkDirectTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 500 "./asn1/rrc/rrc.cnf"
|
||||
#line 502 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UplinkDirectTransfer");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UplinkDirectTransfer, UplinkDirectTransfer_sequence);
|
||||
|
@ -110056,7 +110056,7 @@ static const per_sequence_t UTRANMobilityInformationConfirm_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UTRANMobilityInformationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 524 "./asn1/rrc/rrc.cnf"
|
||||
#line 526 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationConfirm");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UTRANMobilityInformationConfirm, UTRANMobilityInformationConfirm_sequence);
|
||||
|
@ -110105,7 +110105,7 @@ static const per_sequence_t UTRANMobilityInformationFailure_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UTRANMobilityInformationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 528 "./asn1/rrc/rrc.cnf"
|
||||
#line 530 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationFailure");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UTRANMobilityInformationFailure, UTRANMobilityInformationFailure_sequence);
|
||||
|
@ -111922,7 +111922,7 @@ static const per_sequence_t UEInformationResponse_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UEInformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 496 "./asn1/rrc/rrc.cnf"
|
||||
#line 498 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationResponse");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UEInformationResponse, UEInformationResponse_sequence);
|
||||
|
@ -116293,7 +116293,7 @@ static const per_choice_t RRCConnectionSetup_choice[] = {
|
|||
static int
|
||||
dissect_rrc_RRCConnectionSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 396 "./asn1/rrc/rrc.cnf"
|
||||
guint32 scrambling_code, new_u_rnti;
|
||||
guint32 scrambling_code, new_u_rnti, crnc_context;
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_RRCConnectionSetup, RRCConnectionSetup_choice,
|
||||
|
@ -116303,9 +116303,11 @@ dissect_rrc_RRCConnectionSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
|
|||
scrambling_code = private_data_get_scrambling_code(actx);
|
||||
new_u_rnti = private_data_get_new_u_rnti(actx);
|
||||
if (new_u_rnti != 0 && scrambling_code != 0 && !actx->pinfo->fd->flags.visited) {
|
||||
/* Check if a U-RNTI is already mapped to this scrambling code */
|
||||
if ((guint32 *)g_tree_lookup(rrc_scrambling_code_urnti, GUINT_TO_POINTER(scrambling_code)) == NULL) {
|
||||
g_tree_insert(rrc_scrambling_code_urnti, GUINT_TO_POINTER(scrambling_code), GUINT_TO_POINTER(new_u_rnti));
|
||||
/* Looking for the C-RNC Context mapped to this Scrambling Code */
|
||||
crnc_context = GPOINTER_TO_UINT(wmem_tree_lookup32(nbap_scrambling_code_crncc_map,scrambling_code));
|
||||
if (crnc_context != 0) {
|
||||
/* Mapping the U-RNTI found in this message to the C-RNC context*/
|
||||
wmem_tree_insert32(nbap_crncc_urnti_map,crnc_context,GUINT_TO_POINTER(new_u_rnti));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116446,7 +116448,7 @@ static const per_choice_t URAUpdateConfirm_CCCH_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_URAUpdateConfirm_CCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 516 "./asn1/rrc/rrc.cnf"
|
||||
#line 518 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdateConfirm-CCCH");
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_URAUpdateConfirm_CCCH, URAUpdateConfirm_CCCH_choice,
|
||||
|
@ -118316,7 +118318,7 @@ static const per_sequence_t URAUpdate_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_URAUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 508 "./asn1/rrc/rrc.cnf"
|
||||
#line 510 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdate");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_URAUpdate, URAUpdate_sequence);
|
||||
|
@ -119797,7 +119799,7 @@ static const per_sequence_t SystemInformation_FACH_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SystemInformation_FACH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 452 "./asn1/rrc/rrc.cnf"
|
||||
#line 454 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-FACH");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SystemInformation_FACH, SystemInformation_FACH_sequence);
|
||||
|
@ -119903,7 +119905,7 @@ static const per_sequence_t SystemInformationChangeIndication_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SystemInformationChangeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 456 "./asn1/rrc/rrc.cnf"
|
||||
#line 458 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationChangeIndication");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SystemInformationChangeIndication, SystemInformationChangeIndication_sequence);
|
||||
|
@ -120084,7 +120086,7 @@ static const per_sequence_t SystemInformation_BCH_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_SystemInformation_BCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 448 "./asn1/rrc/rrc.cnf"
|
||||
#line 450 "./asn1/rrc/rrc.cnf"
|
||||
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-BCH");
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_SystemInformation_BCH, SystemInformation_BCH_sequence);
|
||||
|
@ -127521,7 +127523,7 @@ static const per_choice_t HandoverToUTRANCommand_choice[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_HandoverToUTRANCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1000 "./asn1/rrc/rrc.cnf"
|
||||
#line 1002 "./asn1/rrc/rrc.cnf"
|
||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_HandoverToUTRANCommand, HandoverToUTRANCommand_choice,
|
||||
NULL);
|
||||
|
@ -127662,7 +127664,7 @@ static const per_sequence_t UE_SecurityInformation_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UE_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1003 "./asn1/rrc/rrc.cnf"
|
||||
#line 1005 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CS);
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UE_SecurityInformation, UE_SecurityInformation_sequence);
|
||||
|
@ -128065,7 +128067,7 @@ static const per_sequence_t UE_SecurityInformation2_sequence[] = {
|
|||
|
||||
static int
|
||||
dissect_rrc_UE_SecurityInformation2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 1007 "./asn1/rrc/rrc.cnf"
|
||||
#line 1009 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_PS);
|
||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||
ett_rrc_UE_SecurityInformation2, UE_SecurityInformation2_sequence);
|
||||
|
@ -135061,7 +135063,7 @@ dissect_rrc_T_supportOfInterRATHOToEUTRATDD(tvbuff_t *tvb _U_, int offset _U_, a
|
|||
|
||||
static int
|
||||
dissect_rrc_T_eutraFeatureGroupIndicators(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 652 "./asn1/rrc/rrc.cnf"
|
||||
#line 654 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *eutraFeatureGroupIndicators_tvb=NULL;
|
||||
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
||||
4, 4, FALSE, &eutraFeatureGroupIndicators_tvb, NULL);
|
||||
|
@ -136601,7 +136603,7 @@ dissect_rrc_T_supportOfInter_RAT_PS_Handover(tvbuff_t *tvb _U_, int offset _U_,
|
|||
|
||||
static int
|
||||
dissect_rrc_GSM_MS_RadioAccessCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 612 "./asn1/rrc/rrc.cnf"
|
||||
#line 614 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *parameter_tvb=NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -136914,7 +136916,7 @@ dissect_rrc_UE_RadioAccessCapability_v860ext_IEs(tvbuff_t *tvb _U_, int offset _
|
|||
|
||||
static int
|
||||
dissect_rrc_T_ue_EUTRA_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 628 "./asn1/rrc/rrc.cnf"
|
||||
#line 630 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *ue_eutra_cap_tvb = NULL;
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
NO_BOUND, NO_BOUND, FALSE, &ue_eutra_cap_tvb);
|
||||
|
@ -148557,7 +148559,7 @@ dissect_rrc_ExtSIBTypeInfoSchedulingInfo_List3(tvbuff_t *tvb _U_, int offset _U_
|
|||
|
||||
static int
|
||||
dissect_rrc_HNBName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 702 "./asn1/rrc/rrc.cnf"
|
||||
#line 704 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *hnbname_tvb = NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
||||
|
@ -149148,7 +149150,7 @@ dissect_rrc_SIB_ReferenceList2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
|
|||
|
||||
static int
|
||||
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 727 "./asn1/rrc/rrc.cnf"
|
||||
#line 729 "./asn1/rrc/rrc.cnf"
|
||||
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
|
||||
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
|
||||
|
||||
|
@ -154362,7 +154364,7 @@ dissect_rrc_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|||
|
||||
static int
|
||||
dissect_rrc_T_interRATHandoverInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 620 "./asn1/rrc/rrc.cnf"
|
||||
#line 622 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *parameter_tvb=NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -159716,7 +159718,7 @@ dissect_rrc_ToTargetRNC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|||
|
||||
static int
|
||||
dissect_rrc_T_dL_DCCHmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
#line 532 "./asn1/rrc/rrc.cnf"
|
||||
#line 534 "./asn1/rrc/rrc.cnf"
|
||||
tvbuff_t *dl_dcch_message_tvb=NULL;
|
||||
|
||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||
|
@ -160614,12 +160616,6 @@ rrc_init(void) {
|
|||
NULL, /* data pointer, optional */
|
||||
NULL,
|
||||
rrc_free_value);
|
||||
|
||||
/*Initialize Scrambling code to U-RNTI dictionary*/
|
||||
rrc_scrambling_code_urnti = g_tree_new_full(rrc_key_cmp,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -160627,7 +160623,6 @@ rrc_cleanup(void) {
|
|||
/*Cleanup*/
|
||||
g_tree_destroy(hsdsch_muxed_flows);
|
||||
g_tree_destroy(rrc_ciph_inf);
|
||||
g_tree_destroy(rrc_scrambling_code_urnti);
|
||||
}
|
||||
|
||||
/*--- proto_register_rrc -------------------------------------------*/
|
||||
|
@ -203453,7 +203448,7 @@ void proto_register_rrc(void) {
|
|||
NULL, HFILL }},
|
||||
|
||||
/*--- End of included file: packet-rrc-hfarr.c ---*/
|
||||
#line 377 "./asn1/rrc/packet-rrc-template.c"
|
||||
#line 370 "./asn1/rrc/packet-rrc-template.c"
|
||||
{ &hf_test,
|
||||
{ "RAB Test", "rrc.RAB.test",
|
||||
FT_UINT8, BASE_DEC, NULL, 0,
|
||||
|
@ -210320,7 +210315,7 @@ void proto_register_rrc(void) {
|
|||
&ett_rrc_UL_RFC3095_Context,
|
||||
|
||||
/*--- End of included file: packet-rrc-ettarr.c ---*/
|
||||
#line 427 "./asn1/rrc/packet-rrc-template.c"
|
||||
#line 420 "./asn1/rrc/packet-rrc-template.c"
|
||||
&ett_rrc_eutraFeatureGroupIndicators,
|
||||
&ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo,
|
||||
&ett_rrc_ims_info,
|
||||
|
@ -210419,7 +210414,7 @@ void proto_register_rrc(void) {
|
|||
|
||||
|
||||
/*--- End of included file: packet-rrc-dis-reg.c ---*/
|
||||
#line 450 "./asn1/rrc/packet-rrc-template.c"
|
||||
#line 443 "./asn1/rrc/packet-rrc-template.c"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -84,6 +84,5 @@ typedef struct rrc_ciph_info_
|
|||
|
||||
extern GTree * hsdsch_muxed_flows;
|
||||
extern GTree * rrc_ciph_inf;
|
||||
extern GTree * rrc_scrambling_code_urnti;
|
||||
|
||||
#endif /* PACKET_RRC_H */
|
||||
|
|
|
@ -5036,16 +5036,21 @@ fp_set_per_packet_inf_from_conv(conversation_t *p_conv,
|
|||
}
|
||||
|
||||
/*** Set rlc info ***/
|
||||
/* Trying to resolve the U-RNTI of the user to be used as RLC 'UE-ID' */
|
||||
/* resolving is done based on the 'Uplink Scrambling Code' field found in NBAP */
|
||||
/* Fallback - Using the RNC's NBAP 'Communication Context' for the user as UE-ID*/
|
||||
user_identity = p_conv_data->com_context_id;
|
||||
if (p_conv_data->scrambling_code != 0) {
|
||||
guint32 * mapped_urnti = (guint32 *)g_tree_lookup(rrc_scrambling_code_urnti, GUINT_TO_POINTER(p_conv_data->scrambling_code));
|
||||
/* Trying to resolve the U-RNTI of the user if missing */
|
||||
/* Resolving based on the 'C-RNC Communication Context' field found in NBAP */
|
||||
if (!p_conv_data->urnti && p_conv_data->com_context_id != 0) {
|
||||
guint32 * mapped_urnti = (guint32 *)(wmem_tree_lookup32(nbap_crncc_urnti_map,p_conv_data->com_context_id));
|
||||
if (mapped_urnti != 0) {
|
||||
user_identity = GPOINTER_TO_UINT(mapped_urnti);
|
||||
p_conv_data->urnti = GPOINTER_TO_UINT(mapped_urnti);
|
||||
}
|
||||
}
|
||||
/* Choosing RLC 'UE-ID': */
|
||||
/* 1. Preferring the U-RNTI if attached */
|
||||
/* 2. Fallback - Using the 'C-RNC Communication Context' used in NBAP for the user */
|
||||
user_identity = p_conv_data->com_context_id;
|
||||
if(p_conv_data->urnti) {
|
||||
user_identity = p_conv_data->urnti;
|
||||
}
|
||||
rlcinf->urnti[j + chan] = user_identity;
|
||||
rlcinf->li_size[j+chan] = RLC_LI_7BITS;
|
||||
#if 0
|
||||
|
|
Loading…
Reference in New Issue