# rrc.cnf # rrc conformation file # Copyright 2006 Anders Broman # $Id$ #.OPT PER UNALIGNED #.END #.USE_VALS_EXT AverageRLC-BufferPayload DL-DCCH-MessageType DL-TS-ChannelisationCode-VHCR EstablishmentCause E-DCH-MAC-d-FlowRetransTimer HARQMemorySize CommonEDCHSystemInfo/modeSpecificInfo/tdd/tdd128/ccch-transmission-Info/harq-retransmission-timer MBMS-AccessProbabilityFactor PNBSCH-Allocation-r4/numberOfRepetitionsPerSFNPeriod RadioFrequencyBandFDD3 E-PUCH-Info/modeSpecificInfo/tdd128/retransTimerForSchedInfo E-PUCH-Info-TDD128/retransTimerForSchedInfo ReceivedMessageType RLC-BuffersPayload SCCPCH-ChannelisationCode-VHCR SFN-SFN-Drift SIBSb-TypeAndTag SIB-Type SIB-TypeAndTag TDD768-PICH-CCode TDD-PRACH-CCode-LCR-r4 TimerPoll TimerPollProhibit TimerStatusProhibit TrafficVolumeThreshold U-RNTI-Group UL-DCCH-MessageType UL-TS-ChannelisationCode UL-TS-ChannelisationCode-VHCR #.EXPORTS InterRATHandoverInfo InterRATHandoverInfo_PDU ToTargetRNC-Container_PDU TargetRNC-ToSourceRNC-Container_PDU HandoverToUTRANCommand_PDU SysInfoType1_PDU SysInfoType2_PDU SysInfoType3_PDU SysInfoType7_PDU SysInfoType12_PDU MasterInformationBlock_PDU #.OMIT_ASSIGNMENT # Omit System-Information-Container for now it messes up the # MasterInformationBlock @si.mib # : # for some reason UE-RadioAccessCapability-v890ext UL-PhysChCapabilityFDD-r6 GSMCellGroupingList UE-Positioning-GANSS-Data GANSSDecipheringKeys GSM-CellID RRCConnectionRelease-CCCH-va40ext-IEs #.END #.PDU_NEW DL-DCCH-Message @dl.dcch UL-DCCH-Message @ul.dcch DL-CCCH-Message @dl.ccch UL-CCCH-Message @ul.ccch PCCH-Message @pcch DL-SHCCH-Message @dl.shcch UL-SHCCH-Message @ul.shcch BCCH-FACH-Message @bcch.fach BCCH-BCH-Message @bcch.bch MCCH-Message @mcch MSCH-Message @msch SystemInformation-BCH @sysinfo System-Information-Container @sysinfo.cont MasterInformationBlock @si.mib SysInfoType1 @si.sib1 SysInfoType2 @si.sib2 SysInfoType3 @si.sib3 SysInfoType4 @si.sib4 SysInfoType5 @si.sib5 SysInfoType5bis @si.sib5bis SysInfoType6 @si.sib6 SysInfoType7 @si.sib7 SysInfoType8 @si.sib8 SysInfoType9 @si.sib9 SysInfoType10 @si.sib10 SysInfoType11 @si.sib11 SysInfoType11bis @si.sib11bis SysInfoType12 @si.sib12 SysInfoType13 @si.sib13 SysInfoType13-1 @si.sib13-1 SysInfoType13-2 @si.sib13-2 SysInfoType13-3 @si.sib13-3 SysInfoType13-4 @si.sib13-4 SysInfoType14 @si.sib14 SysInfoType15 @si.sib15 SysInfoType15bis @si.sib15bis SysInfoType15-1 @si.sib15-1 SysInfoType15-1bis @si.sib15-1bis SysInfoType15-2 @si.sib15-2 SysInfoType15-2bis @si.sib15-2bis SysInfoType15-2ter @si.sib15-2ter SysInfoType15-3 @si.sib15-3 SysInfoType15-3bis @si.sib15-3bis SysInfoType15-4 @si.sib15-4 SysInfoType15-5 @si.sib15-5 SysInfoType15-6 @si.sib15-6 SysInfoType15-7 @si.sib15-7 SysInfoType15-8 @si.sib15-8 SysInfoType16 @si.sib16 SysInfoType17 @si.sib17 SysInfoType18 @si.sib18 SysInfoType19 @si.sib19 SysInfoType20 @si.sib20 SysInfoTypeSB1 @si.sb1 SysInfoTypeSB2 @si.sb2 HandoverToUTRANCommand @irat.ho_to_utran_cmd InterRATHandoverInfo @irat.irat_ho_info UE-RadioAccessCapabilityInfo @ue_radio_access_cap_info ToTargetRNC-Container @s_to_trnc_cont TargetRNC-ToSourceRNC-Container @t_to_srnc_cont #.FIELD_RENAME HandoverFromUTRANCommand-GSM-r3-IEs/gsm-message/gsm-MessageList gsm-MessageList-r3 HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/gsm-MessageList gsm-MessageList-r6 HandoverFromUTRANFailure/interRATMessage/gsm/gsm-MessageList gsm-MessageList-gsm HandoverFromUTRANCommand-GSM-r3-IEs/gsm-message/single-GSM-Message single-GSM-Message-r3 HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Message-r6 #.END #.FN_BODY NAS-Message VAL_PTR = &nas_message_tvb tvbuff_t *nas_message_tvb=NULL; %(DEFAULT_BODY)s if (nas_message_tvb) call_dissector(gsm_a_dtap_handle,nas_message_tvb,%(ACTX)s->pinfo, tree); #.FN_BODY InterRATHandoverInfo/ue-CapabilityContainer/present VAL_PTR = &ue_radio_access_cap_info_tvb tvbuff_t *ue_radio_access_cap_info_tvb=NULL; %(DEFAULT_BODY)s if (ue_radio_access_cap_info_tvb) call_dissector(rrc_ue_radio_access_cap_info_handle,ue_radio_access_cap_info_tvb,%(ACTX)s->pinfo, tree); #.END #.FN_BODY ActiveSetUpdate col_append_str(actx->pinfo->cinfo, COL_INFO, "ActiveSetUpdate"); %(DEFAULT_BODY)s #.FN_BODY ActiveSetUpdateComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "ActiveSetUpdateComplete"); %(DEFAULT_BODY)s #.FN_BODY ActiveSetUpdateFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "ActiveSetUpdateFailure"); %(DEFAULT_BODY)s #.FN_BODY AssistanceDataDelivery col_append_str(actx->pinfo->cinfo, COL_INFO, "AssistanceDataDelivery"); %(DEFAULT_BODY)s #.FN_BODY CellChangeOrderFromUTRAN col_append_str(actx->pinfo->cinfo, COL_INFO, "CellChangeOrderFromUTRAN"); %(DEFAULT_BODY)s #.FN_BODY CellChangeOrderFromUTRANFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "CellChangeOrderFromUTRANFailure"); %(DEFAULT_BODY)s #.FN_BODY CellUpdate col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdate"); %(DEFAULT_BODY)s #.FN_BODY CellUpdateConfirm-CCCH col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdateConfirm-CCCH"); %(DEFAULT_BODY)s #.FN_BODY CellUpdateConfirm col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdateConfirm"); %(DEFAULT_BODY)s #.FN_BODY CounterCheck col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheck"); %(DEFAULT_BODY)s #.FN_BODY CounterCheckResponse col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheckResponse"); %(DEFAULT_BODY)s #.FN_BODY DownlinkDirectTransfer col_append_str(actx->pinfo->cinfo, COL_INFO, "DownlinkDirectTransfer"); %(DEFAULT_BODY)s #.FN_BODY ETWSPrimaryNotificationWithSecurity col_append_str(actx->pinfo->cinfo, COL_INFO, "ETWSPrimaryNotificationWithSecurity"); %(DEFAULT_BODY)s #.FN_BODY HandoverToUTRANComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverToUTRANComplete"); %(DEFAULT_BODY)s #.FN_BODY InitialDirectTransfer col_append_str(actx->pinfo->cinfo, COL_INFO, "InitialDirectTransfer"); %(DEFAULT_BODY)s #.FN_BODY HandoverFromUTRANCommand-EUTRA col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-EUTRA"); %(DEFAULT_BODY)s #.FN_BODY HandoverFromUTRANCommand-GERANIu col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-GERANIu"); %(DEFAULT_BODY)s #.FN_BODY HandoverFromUTRANCommand-GSM col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-GSM"); %(DEFAULT_BODY)s #.FN_BODY HandoverFromUTRANCommand-CDMA2000 col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANCommand-CDMA2000"); %(DEFAULT_BODY)s #.FN_BODY HandoverFromUTRANFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromUTRANFailure"); %(DEFAULT_BODY)s #.FN_BODY LoggingMeasurementConfiguration col_append_str(actx->pinfo->cinfo, COL_INFO, "LoggingMeasurementConfiguration"); %(DEFAULT_BODY)s #.FN_BODY MBMSAccessInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSAccessInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSCommonPTMRBInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCommonPTMRBInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSCurrentCellPTMRBInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCurrentCellPTMRBInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSGeneralInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSGeneralInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSModificationRequest col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSModificationRequest"); %(DEFAULT_BODY)s #.FN_BODY MBMSModifiedServicesInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSModifiedServicesInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSNeighbouringCellPTMRBInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSNeighbouringCellPTMRBInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSSchedulingInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSSchedulingInformation"); %(DEFAULT_BODY)s #.FN_BODY MBMSUnmodifiedServicesInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSUnmodifiedServicesInformation"); %(DEFAULT_BODY)s #.FN_BODY MeasurementControl col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementControl"); %(DEFAULT_BODY)s #.FN_BODY MeasurementControlFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementControlFailure"); %(DEFAULT_BODY)s #.FN_BODY MeasurementReport col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementReport"); %(DEFAULT_BODY)s #.FN_BODY PagingType1 col_append_str(actx->pinfo->cinfo, COL_INFO, "PagingType1"); %(DEFAULT_BODY)s #.FN_BODY PagingType2 col_append_str(actx->pinfo->cinfo, COL_INFO, "PagingType2"); %(DEFAULT_BODY)s #.FN_BODY PhysicalChannelReconfiguration col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalChannelReconfiguration"); %(DEFAULT_BODY)s #.FN_BODY PhysicalChannelReconfigurationComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalChannelReconfigurationComplete"); %(DEFAULT_BODY)s #.FN_BODY PhysicalChannelReconfigurationFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalChannelReconfigurationFailure"); %(DEFAULT_BODY)s #.FN_BODY PhysicalSharedChannelAllocation col_append_str(actx->pinfo->cinfo, COL_INFO, "PhysicalSharedChannelAllocation"); %(DEFAULT_BODY)s #.FN_BODY PUSCHCapacityRequest col_append_str(actx->pinfo->cinfo, COL_INFO, "PUSCHCapacityRequest"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerReconfiguration col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReconfiguration"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerReconfigurationComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReconfigurationComplete"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerReconfigurationFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReconfigurationFailure"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerRelease col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerRelease"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerReleaseComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReleaseComplete"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerReleaseFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerReleaseFailure"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerSetup col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerSetup"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerSetupComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerSetupComplete"); %(DEFAULT_BODY)s #.FN_BODY RadioBearerSetupFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "RadioBearerSetupFailure"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionReject col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReject"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionRelease col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionRelease-CCCH col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease-CCCH"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionReleaseComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReleaseComplete"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionRequest col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRequest"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionSetup col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup"); %(DEFAULT_BODY)s #.FN_BODY RRCConnectionSetupComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete"); %(DEFAULT_BODY)s #.FN_BODY RRCStatus col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCStatus"); %(DEFAULT_BODY)s #.FN_BODY SecurityModeCommand col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeCommand"); %(DEFAULT_BODY)s #.FN_BODY SecurityModeComplete rrc_ciphering_info * c_inf ; fp_info *fpinf ; col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete"); %(DEFAULT_BODY)s fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp); if(fpinf && ((c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER(fpinf->com_context_id))) != NULL) ){ c_inf->setup_frame = actx->pinfo->fd->num; } #.FN_BODY SecurityModeFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure"); %(DEFAULT_BODY)s #.FN_BODY SignallingConnectionRelease col_append_str(actx->pinfo->cinfo, COL_INFO, "SignallingConnectionRelease"); %(DEFAULT_BODY)s #.FN_BODY SignallingConnectionReleaseIndication col_append_str(actx->pinfo->cinfo, COL_INFO, "SignallingConnectionReleaseIndication"); %(DEFAULT_BODY)s #.FN_BODY SystemInformation-BCH col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-BCH"); %(DEFAULT_BODY)s #.FN_BODY SystemInformation-FACH col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation-FACH"); %(DEFAULT_BODY)s #.FN_BODY SystemInformationChangeIndication col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationChangeIndication"); %(DEFAULT_BODY)s #.FN_BODY TransportChannelReconfiguration col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfiguration"); %(DEFAULT_BODY)s #.FN_BODY TransportChannelReconfigurationComplete col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfigurationComplete"); %(DEFAULT_BODY)s #.FN_BODY TransportChannelReconfigurationFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportChannelReconfigurationFailure"); %(DEFAULT_BODY)s #.FN_BODY TransportFormatCombinationControl col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportFormatCombinationControl"); %(DEFAULT_BODY)s #.FN_BODY TransportFormatCombinationControlFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "TransportFormatCombinationControlFailure"); %(DEFAULT_BODY)s #.FN_BODY UECapabilityEnquiry col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityEnquiry"); %(DEFAULT_BODY)s #.FN_BODY UECapabilityInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformation"); %(DEFAULT_BODY)s #.FN_BODY UECapabilityInformationConfirm col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformationConfirm"); %(DEFAULT_BODY)s #.FN_BODY UEInformationRequest col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationRequest"); %(DEFAULT_BODY)s #.FN_BODY UEInformationResponse col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationResponse"); %(DEFAULT_BODY)s #.FN_BODY UplinkDirectTransfer col_append_str(actx->pinfo->cinfo, COL_INFO, "UplinkDirectTransfer"); %(DEFAULT_BODY)s #.FN_BODY UplinkPhysicalChannelControl col_append_str(actx->pinfo->cinfo, COL_INFO, "UplinkPhysicalChannelControl"); %(DEFAULT_BODY)s #.FN_BODY URAUpdate col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdate"); %(DEFAULT_BODY)s #.FN_BODY URAUpdateConfirm col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdateConfirm"); %(DEFAULT_BODY)s #.FN_BODY URAUpdateConfirm-CCCH col_append_str(actx->pinfo->cinfo, COL_INFO, "URAUpdateConfirm-CCCH"); %(DEFAULT_BODY)s #.FN_BODY UTRANMobilityInformation col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformation"); %(DEFAULT_BODY)s #.FN_BODY UTRANMobilityInformationConfirm col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationConfirm"); %(DEFAULT_BODY)s #.FN_BODY UTRANMobilityInformationFailure col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationFailure"); %(DEFAULT_BODY)s #.FN_BODY TargetRNC-ToSourceRNC-Container/dL-DCCHmessage VAL_PTR = &dl_dcch_message_tvb tvbuff_t *dl_dcch_message_tvb=NULL; %(DEFAULT_BODY)s if (dl_dcch_message_tvb) call_dissector(rrc_dl_dcch_handle,dl_dcch_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree)); #.FN_BODY GSM-MessageList/_item VAL_PTR = &gsm_messagelist_tvb tvbuff_t *gsm_messagelist_tvb=NULL; %(DEFAULT_BODY)s if (gsm_messagelist_tvb) call_dissector(gsm_a_dtap_handle,gsm_messagelist_tvb,actx->pinfo, tree); #.FN_BODY HandoverFromUTRANCommand-GSM-r3-IEs/gsm-message/single-GSM-Message single-GSM-Message-r3 tvbuff_t *gsm_message_tvb=NULL; guint bits_remaining, whole_octets_remaining; %(DEFAULT_BODY)s bits_remaining = 8*tvb_length(tvb) - offset; whole_octets_remaining = bits_remaining / 8; gsm_message_tvb = tvb_new_octet_aligned(tvb, offset, 8*whole_octets_remaining); if (gsm_message_tvb) { add_new_data_source(actx->pinfo,gsm_message_tvb,"GSM Message(aligned)"); call_dissector(gsm_a_dtap_handle,gsm_message_tvb,actx->pinfo, tree); } #.FN_BODY HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Message-r6 tvbuff_t *gsm_message_tvb=NULL; guint bits_remaining, whole_octets_remaining; %(DEFAULT_BODY)s bits_remaining = 8*tvb_length(tvb) - offset; whole_octets_remaining = bits_remaining / 8; gsm_message_tvb = tvb_new_octet_aligned(tvb, offset, 8*whole_octets_remaining); if (gsm_message_tvb) { add_new_data_source(actx->pinfo,gsm_message_tvb,"GSM Message(aligned)"); call_dissector(gsm_a_dtap_handle,gsm_message_tvb,actx->pinfo, tree); } #.FN_BODY GSM-Classmark2 VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb=NULL; %(DEFAULT_BODY)s if (parameter_tvb){ de_ms_cm_2(parameter_tvb, tree, actx->pinfo, 2, tvb_get_guint8(parameter_tvb,1), NULL, 0); } #.FN_BODY GSM-Classmark3 VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb=NULL; %(DEFAULT_BODY)s if (parameter_tvb){ de_ms_cm_3(parameter_tvb, tree, actx->pinfo, 0, tvb_length(parameter_tvb), NULL, 0); } #.FN_BODY InterRATHandoverInfoWithInterRATCapabilities-r3-IEs/interRATHandoverInfo VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb=NULL; %(DEFAULT_BODY)s if (parameter_tvb){ dissect_rrc_InterRATHandoverInfo_PDU(parameter_tvb, actx->pinfo, tree, NULL); } #.FN_BODY EUTRA-RadioAccessCapability/ue-EUTRA-Capability VAL_PTR = &ue_eutra_cap_tvb tvbuff_t *ue_eutra_cap_tvb = NULL; %(DEFAULT_BODY)s if (ue_eutra_cap_tvb && lte_rrc_ue_eutra_cap_handle) call_dissector(lte_rrc_ue_eutra_cap_handle, ue_eutra_cap_tvb, actx->pinfo, tree); #.FN_BODY HandoverFromUTRANCommand-EUTRA-r8-IEs/eutra-Message VAL_PTR = &eutra_message_tvb tvbuff_t *eutra_message_tvb = NULL; %(DEFAULT_BODY)s if (eutra_message_tvb && lte_rrc_dl_dcch_handle) call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree); #.FN_BODY HandoverFromUtranFailure-v860ext-IEs/eutra-Message VAL_PTR = &eutra_message_tvb tvbuff_t *eutra_message_tvb = NULL; %(DEFAULT_BODY)s if (eutra_message_tvb && lte_rrc_dl_dcch_handle) call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree); #.FN_BODY MultiModeRAT-Capability-v860ext/eutraFeatureGroupIndicators VAL_PTR = &eutraFeatureGroupIndicators_tvb tvbuff_t *eutraFeatureGroupIndicators_tvb=NULL; %(DEFAULT_BODY)s if(eutraFeatureGroupIndicators_tvb){ /* Dissect eutraFeatureGroupIndicators */ proto_tree *subtree; gint curr_bit_offset = 0; subtree = proto_item_add_subtree(actx->created_item, ett_rrc_eutraFeatureGroupIndicators); proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_1, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE); curr_bit_offset++; proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_2, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE); curr_bit_offset++; proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_3, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE); curr_bit_offset++; proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_4, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE); curr_bit_offset++; } #.TYPE_ATTR HNBName TYPE=FT_STRING DISPLAY=BASE_NONE #.FN_BODY HNBName VAL_PTR = &hnbname_tvb HF_INDEX = -1 tvbuff_t *hnbname_tvb = NULL; %(DEFAULT_BODY)s proto_tree_add_unicode_string(tree, hf_index, hnbname_tvb, 0, -1, tvb_get_ephemeral_string_enc(hnbname_tvb, 0, tvb_length(hnbname_tvb), ENC_UTF_8 | ENC_NA)); #.FN_BODY CN-DomainIdentity VAL_PTR = &rrc_nas_sys_info_gsm_map_type %(DEFAULT_BODY)s #.FN_BODY CN-InformationInfo/cn-CommonGSM-MAP-NAS-SysInfo rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON; %(DEFAULT_BODY)s #.FN_BODY CN-InformationInfo-r6/cn-CommonGSM-MAP-NAS-SysInfo rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON; %(DEFAULT_BODY)s #.FN_BODY CN-InformationInfoFull/cn-CommonGSM-MAP-NAS-SysInfo rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON; %(DEFAULT_BODY)s #.FN_BODY SysInfoType1/cn-CommonGSM-MAP-NAS-SysInfo rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON; %(DEFAULT_BODY)s #.FN_BODY NAS-SystemInformationGSM-MAP VAL_PTR = &nas_sys_info_gsm_map_tvb tvbuff_t *nas_sys_info_gsm_map_tvb = NULL; guint32 length; proto_item *item; proto_tree *subtree; %(DEFAULT_BODY)s length = tvb_length(nas_sys_info_gsm_map_tvb); if (length) { switch (rrc_nas_sys_info_gsm_map_type) { case RRC_NAS_SYS_INFO_CN_COMMON: item = proto_tree_add_text(tree, nas_sys_info_gsm_map_tvb, 0, length, "CN Common GSM-MAP NAS system information"); subtree = proto_item_add_subtree(item, ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo); de_cn_common_gsm_map_nas_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0); break; case RRC_NAS_SYS_INFO_CS: item = proto_tree_add_text(tree, nas_sys_info_gsm_map_tvb, 0, length, "CS domain specific system information"); subtree = proto_item_add_subtree(item, ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo); de_cs_domain_spec_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0); break; case RRC_NAS_SYS_INFO_PS: item = proto_tree_add_text(tree, nas_sys_info_gsm_map_tvb, 0, length, "PS domain specific system information"); subtree = proto_item_add_subtree(item, ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo); de_ps_domain_spec_sys_info(nas_sys_info_gsm_map_tvb, subtree, actx->pinfo, 0, length, NULL, 0); break; default: break; } } rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON; /*Here we try to figure out which HS-DSCH channels are multiplexed*/ #.FN_BODY DL-TransportChannelType-r5 VAL_PTR = &type gint *flowd_p; gint *cur_val=NULL; struct rrc_info *rrcinf; %(DEFAULT_BODY)s /*TODO: This should probably be done better*/ if(type == 4){ /*If this is type HS-DSCH*/ num_chans_per_flow[flowd]++; if(num_chans_per_flow[flowd] > 1 ){ rrcinf = p_get_proto_data(actx->pinfo->fd, proto_rrc); if((rrcinf == NULL) || (rrcinf->hrnti[actx->pinfo->fd->subnum] == 0)){ expert_add_info_format(actx->pinfo, actx->created_item, PI_SEQUENCE, PI_NOTE, "Did not detect any H-RNTI"); } else{ /*If it doesnt exists, insert it*/ if( (cur_val=g_tree_lookup(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]))) == NULL ){ flowd_p = (guint*)g_malloc0(sizeof(gint)); *flowd_p = (1<hrnti[actx->pinfo->fd->subnum]), flowd_p); }else{ *cur_val = (1< 1 ){ rrcinf = p_get_proto_data(actx->pinfo->fd, proto_rrc); if((rrcinf == NULL) || (rrcinf->hrnti[actx->pinfo->fd->subnum] == 0)){ expert_add_info_format(actx->pinfo, actx->created_item, PI_SEQUENCE, PI_NOTE, "Did not detect any H-RNTI"); } else{ /*If it doesnt exists, insert it*/ if( (cur_val=g_tree_lookup(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]))) == NULL ){ flowd_p = (guint*)g_malloc0(sizeof(gint)); *flowd_p = (1<hrnti[actx->pinfo->fd->subnum]), flowd_p); }else{ *cur_val = (1<pinfo->fd, proto_rrc); if (!rrcinf) { rrcinf = se_alloc0(sizeof(struct rrc_info)); p_add_proto_data(actx->pinfo->fd, proto_rrc, rrcinf); } rrcinf->hrnti[actx->pinfo->fd->subnum] = tvb_get_ntohs(hrnti_tvb, 0); #.FN_BODY START-Value VAL_PTR = &start_val tvbuff_t * start_val; fp_info *fpinf; rrc_ciphering_info * c_inf; int i; guint32 * start; %(DEFAULT_BODY)s /*We base this map on communication context from fp*/ fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp); /*If no info found, skip all this*/ if(fpinf == NULL){ return offset; } /*Retrieve the start value for the two ciphering domains*/ switch(rrc_nas_sys_info_gsm_map_type){ case RRC_NAS_SYS_INFO_CS: /* g_warning("Not implemented"); */ break; case RRC_NAS_SYS_INFO_PS: /*Find the entry for the communication context (taken from FP)*/ if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER(fpinf->com_context_id))) == NULL ){ c_inf = g_malloc0(sizeof(rrc_ciphering_info)); /*Initiate tree with START_PS values.*/ if(!c_inf->start_ps) c_inf->start_ps = g_tree_new_full(rrc_key_cmp, NULL,rrc_free_key,rrc_free_value); /*Clear and initialize seq_no matrix*/ for(i = 0; i< 31; i++){ c_inf->seq_no[i][0] = -1; c_inf->seq_no[i][1] = -1; } g_tree_insert(rrc_ciph_inf, GINT_TO_POINTER(fpinf->com_context_id), c_inf); } /*Retrieve and store the value*/ start = g_malloc(sizeof(guint32)); *start = tvb_get_bits32(start_val,0,20,ENC_BIG_ENDIAN); if(c_inf && c_inf->start_ps) /*Insert the value based on current frame num since this might vary over time*/ g_tree_insert(c_inf->start_ps, GUINT_TO_POINTER(actx->pinfo->fd->num), start); break; default: break; } /*is this dangerous?*/ rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON; #.FN_BODY RB-ActivationTimeInfo fp_info *fpinf; rrc_ciphering_info * c_inf; fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp); %(DEFAULT_BODY)s /*If no info found, skip all this*/ if(fpinf == NULL){ return offset; } /*This should not happen*/ if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER(fpinf->com_context_id))) == NULL ){ return offset; } /*Set the ciphering activation frame information*/ c_inf->seq_no[rbid][fpinf->is_uplink] = activation_frame; #.FN_BODY RB-Identity VAL_PTR = &rbid %(DEFAULT_BODY)s #.FN_BODY RLC-SequenceNumber VAL_PTR = &activation_frame %(DEFAULT_BODY)s #.FN_BODY DL-DCCH-MessageType VAL_PTR = &msg_type %(DEFAULT_BODY)s #.FN_BODY DL-DCCH-Message %(DEFAULT_BODY)s #.FN_BODY HandoverToUTRANCommand %(DEFAULT_BODY)s #.END