wireshark/asn1/rrc/rrc.cnf

907 lines
29 KiB
INI

# 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
UE-RadioAccessCapability-va60ext
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
SysInfoType21 @si.sib21
SysInfoType22 @si.sib22
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 CellUpdateFDD-r11
col_append_str(actx->pinfo->cinfo, COL_INFO, "CellUpdateFDD-r11");
%(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 = (fp_info *)p_get_proto_data(actx->pinfo->fd, proto_fp, 0);
if(fpinf && ((c_inf = (rrc_ciphering_info *)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 GERAN-SystemInfoBlock VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
%(DEFAULT_BODY)s
if (parameter_tvb){
guint8 byte = tvb_get_guint8(parameter_tvb, 0);
if (byte == 0x06) {
if (gsm_a_dtap_handle) {
call_dissector(gsm_a_dtap_handle, parameter_tvb, actx->pinfo, tree);
}
} else {
if (gsm_rlcmac_dl_handle) {
call_dissector(gsm_rlcmac_dl_handle, parameter_tvb, actx->pinfo, tree);
}
}
}
#.FN_BODY GSM-Classmark2 VAL_PTR = &parameter_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 = &parameter_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 GSM-MS-RadioAccessCapability VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
%(DEFAULT_BODY)s
if (parameter_tvb){
de_gmm_ms_radio_acc_cap(parameter_tvb, tree, actx->pinfo, 0, tvb_length(parameter_tvb), NULL, 0);
}
#.FN_BODY InterRATHandoverInfoWithInterRATCapabilities-r3-IEs/interRATHandoverInfo VAL_PTR = &parameter_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 HandoverFromUTRANCommand-EUTRA-r11-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, ENC_BIG_ENDIAN);
curr_bit_offset++;
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_2, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
curr_bit_offset++;
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_3, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
curr_bit_offset++;
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_4, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, ENC_BIG_ENDIAN);
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
actx->created_item = proto_tree_add_unicode_string(tree, hf_index, hnbname_tvb, 0, -1,
tvb_get_string_enc(wmem_packet_scope(), hnbname_tvb, 0, tvb_length(hnbname_tvb), ENC_UTF_8 | ENC_NA));
#.FN_BODY CN-DomainIdentity VAL_PTR = &nas_sys_info_gsm_map
guint32 nas_sys_info_gsm_map;
%(DEFAULT_BODY)s
actx->private_data = GUINT_TO_POINTER(nas_sys_info_gsm_map+1);
#.FN_BODY CN-InformationInfo/cn-CommonGSM-MAP-NAS-SysInfo
actx->private_data = GUINT_TO_POINTER(RRC_NAS_SYS_INFO_CN_COMMON+1);
%(DEFAULT_BODY)s
#.FN_BODY CN-InformationInfo-r6/cn-CommonGSM-MAP-NAS-SysInfo
actx->private_data = GUINT_TO_POINTER(RRC_NAS_SYS_INFO_CN_COMMON+1);
%(DEFAULT_BODY)s
#.FN_BODY CN-InformationInfoFull/cn-CommonGSM-MAP-NAS-SysInfo
actx->private_data = GUINT_TO_POINTER(RRC_NAS_SYS_INFO_CN_COMMON+1);
%(DEFAULT_BODY)s
#.FN_BODY SysInfoType1/cn-CommonGSM-MAP-NAS-SysInfo
actx->private_data = GUINT_TO_POINTER(RRC_NAS_SYS_INFO_CN_COMMON+1);
%(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) {
if (actx->private_data) {
switch (GPOINTER_TO_UINT(actx->private_data)-1) {
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;
}
actx->private_data = NULL;
}
}
/*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 = (rrc_info *)p_get_proto_data(actx->pinfo->fd, proto_rrc, 0);
if((rrcinf == NULL) || (rrcinf->hrnti[actx->pinfo->fd->subnum] == 0)){
expert_add_info(actx->pinfo, actx->created_item, &ei_rrc_no_hrnti);
}
else{
/*If it doesnt exists, insert it*/
if( (cur_val=(gint *)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<<flowd); /*Set the bit to mark it as true*/
g_tree_insert(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]), flowd_p);
}else{
*cur_val = (1<<flowd) | *cur_val;
}
}
}
}
/*Here we try to figure out which HS-DSCH channels are multiplexed*/
#.FN_BODY DL-TransportChannelType-r7 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 = (rrc_info *)p_get_proto_data(actx->pinfo->fd, proto_rrc, 0);
if((rrcinf == NULL) || (rrcinf->hrnti[actx->pinfo->fd->subnum] == 0)){
expert_add_info(actx->pinfo, actx->created_item, &ei_rrc_no_hrnti);
}
else{
/*If it doesnt exists, insert it*/
if( (cur_val=(gint *)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<<flowd); /* Set the bit to mark it as true*/
g_tree_insert(hsdsch_muxed_flows, GUINT_TO_POINTER((guint)rrcinf->hrnti[actx->pinfo->fd->subnum]), flowd_p);
}else{
*cur_val = (1<<flowd) | *cur_val;
}
}
}
}
#.FN_BODY MAC-d-FlowIdentity VAL_PTR = &flowd
%(DEFAULT_BODY)s
#.FN_BODY H-RNTI VAL_PTR = &hrnti_tvb
tvbuff_t *hrnti_tvb;
struct rrc_info *rrcinf;
%(DEFAULT_BODY)s
#.FN_FTR H-RNTI
rrcinf = (struct rrc_info *)p_get_proto_data(actx->pinfo->fd, proto_rrc, 0);
if (!rrcinf) {
rrcinf = wmem_new0(wmem_file_scope(), struct rrc_info);
p_add_proto_data(actx->pinfo->fd, proto_rrc, 0, 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 = (fp_info *)p_get_proto_data(actx->pinfo->fd, proto_fp, 0);
/*If no info found, skip all this*/
if(fpinf == NULL){
return offset;
}
/*Retrieve the start value for the two ciphering domains*/
if (actx->private_data) {
switch(GPOINTER_TO_UINT(actx->private_data)-1){
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 =(rrc_ciphering_info *)g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER(fpinf->com_context_id))) == NULL ){
c_inf = g_new0(rrc_ciphering_info,1);
/*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_new(guint32,1);
*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;
}
actx->private_data = NULL;
}
#.FN_BODY RB-ActivationTimeInfo
fp_info *fpinf;
rrc_ciphering_info * c_inf;
fpinf = (fp_info *)p_get_proto_data(actx->pinfo->fd, proto_fp, 0);
%(DEFAULT_BODY)s
/*If no info found, skip all this*/
if(fpinf == NULL){
return offset;
}
/*This should not happen*/
if( (c_inf = (rrc_ciphering_info *)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
#.FN_BODY UE-SecurityInformation
actx->private_data = GUINT_TO_POINTER(RRC_NAS_SYS_INFO_CS+1);
%(DEFAULT_BODY)s
#.FN_BODY UE-SecurityInformation2
actx->private_data = GUINT_TO_POINTER(RRC_NAS_SYS_INFO_PS+1);
%(DEFAULT_BODY)s
#.END